CAN bus module

I think the Flipper Zero would be fantastic as a CAN bus hacking tool. There’s a couple ways this could be accomplished. Most STM32 chips have integrated CAN support, so if those lines happen to be exposed to the Flipper Zero GPIO, it could be as simple as connecting two GPIO lines to a cheap eBay MCP2551 module. Alternatively, if the CAN bus of the STM32 is not exposed, a cheap eBay MCP2515 board can be used with SPI communication to the Flipper Zero. Most importantly, I’d like to put work into developing software for robust CAN bus sniffing. Desired features include filtered sniffing of certain CAN PIDs to read vehicle metrics, automated capture halving and replay to narrow down and identify packets for controlling a vehicle feature, and forwarding the Flipper Zero as a standard CAN transceiver on Linux systems (ala udev can0). I’m hoping to accompany this functionality with an open library of user-found CAN packets for known vehicles so the car hacking functionality can be as close to plug-n-play as possible.

14 Likes

In addition to this, I would like to determine the board footprints of common cheap eBay MCP2551 or MCP2515 and create 3D models for Flipper “hats” that contains space for the transceiver, a OBD-II connector, and pins to sit in the Flipper Zero. The Flipper Zero is small enough to fit where most OBD-II connectors exist: under the dash of the car!

Edit: 3D models for 3D printing!

5 Likes

I do like this idea, in fact, I think CAN interface is desperately missing on the Flipper and since the STM32WB55 does not have a built-in controller there should exist a module to allow this.

With regards to that, I want to highlight two things:

  • CAN FD support - This might require use of MCP2517
  • I would like to have a total control over the message and the bus itself from the Arduino compatible code. A good example of this flexibility is the FlexCAN for Teensy4 (https://github.com/tonton81/FlexCAN_T4)
1 Like

Did this end up going anywhere? I have a Carloop (carloop.io) and thought it would be fun to build an app to interact with CAN via the Carloop. But I’m pretty new to all this (I’m a decent coder, but not a lot of experience with hardware). Any pointers or suggestions on where to start would be appreciated.

Carloop is pretty cool, although I’m not sure there is a ton of activity on it anymore. A lot of people I know have switched to the Macchina. (https://www.macchina.cc/) Are you trying to interface between the flipper and carloop?

Very interesting project, have any of you had any progress? I think I will try to work on it a little bit.
またね

Hi, new here, ordered my flipper zero and while waiting for it decided to look around here. I would love a can bus sniffer of flipper zero as it is important for my business specificly interested in j1939 protocol.

2 Likes

couldnt you run it through a scanner like autel or something of that nature?

Sounds like a cool idea, this as a option, i just got a BT/WiFi odb2 plugin adaptor for 9 bucks that also supports can and most cars except some VAG ranges cause they have their own standard/connectors , mobile torque app works great, also for scanning cars etc. But if just tapping into 2 wires of the canbus could be enough to inject stuff, it would be a cool feature.

Well… https://youtu.be/RcUsavWxwoc?si=YDd274T6EbTCEzoW

Note that this never came to fruition because it was my failed proposal for getting a Flipper dev kit before the initial launch.

MatthewKuKanich has since created CAN Commander which does what I hoped to do and more.