board::mini

by bmc::labs

The ultimate vehicle-hacking platform

View all updates Apr 02, 2021

Showcase - Eavesdropping on a Motorcycle Dashboard

by Florian Eich

We talk a lot about vehicle hacking, so it’s probably about time we showed you some of that…

Introducing mini::bike

We’ve been working on this for a few weeks, now. It’s basically an extension board for the mini::base with an IC for Keyword Protocol 2000, which is part of the OBD-II standard and was quite widely used before the broad adoption of CAN. (Don’t quote us on that. It’s complicated.) The hardware of mini::bike is actually very simple, but it’s extremely helpful when working with this protocol. The rendering above (which includes a Molex connector that’s common in vehicle applications) should give you some idea of what it might look like in a final product.

Why is it called mini::bike, you ask? While you can still find Keyword Protocol 2000 in use by early OBD connectors in cars from the late 90s—and I can personally attest to the fact that it was used in Mercedes-Benz C-class automobiles up through 2005, give or take—you are most likely to find it in motorcycles, snowmobiles, and jet skis these days.

The Use Case

Let’s say you have a Suzuki GSX-R 1000, and you want to eavesdrop on the communication between the engine control unit (ECU) and the dashboard. First, pull over and get off the bike. Never hack a two-wheeled vehicle while riding it! (The same rule applies to jet skis, by the way. For obvious reasons.) To accomplish this, your setup might look a lot like the one in the image below, except that there’d probably be a vehicle involved. A vehicle, and less weird white furniture…

Lab setup for the mini::bike showcase

The lab setup above doesn’t show much. There’s no running engine and no peripherals doing anything. But it does show a mini::stack consisting of a mini::base and a mini::bike, wired with open lines through a breadboard to both the ECU and the dashboard.

The Example

The first step—the one we are documenting here and the one for which we are providing sample code in our GitHub repository—is to dump out the communication from the bus to the serial console:

And there you go. You just dumped status information from the bus of your Suzuki to your serial console. From here, you could use the mini::stack to convert the information to a CAN signal and send it out to another device, such as a data logger.

Be Advised

Our boards do not have an automotive certification. While they are built to last, and the engineering is solid, the components are not "automotive grade." What we have presented above is a laboratory example and is not fit for real-world application. Nor should you try to use this hardware on the open road (even if your vehicle has four wheels). Always be aware that vehicles are dangerous, and make sure you don’t harm yourself or others when tinkering with them.

About the Author

Florian Eich

cdbrkfxrpt


$1,383 raised

of $12,000 goal

12% Funded

Pledge Now

$65

Early Bird board::mini Starter Bundle

Everything you need to get started with the board::mini ecosystem, including one mini::base, one mini::out breakout board, and one out::cable for connecting the latter to an ST-Link/V2 adapter (not included).


$49

Early Bird mini::base

An STM32F103 microcontroller board featuring a CAN transceiver with a hardware filter and ESD protection, a microSD card slot, a 24 V power supply, an atmospheric conditions sensor, a USB Type-C port, and much more. Ready to be combined with one of our expansion boards.


$19

mini::out

A simple breakout board for the mini::base. It includes two 12-pin headers for IO access, a JTAG connector and a reset button for flashing the firmware, and a spring loaded clamp that provides CAN bus connectivity and up to 24 V of power. Comes with a custom out::cable programming cable for connecting your mini::out to an ST-Link/V2 adapter (not included).


$35

Early Bird mini::grid

Supports GPS L1 C/A code and quad-band GSM connectivity. Antennas can be connected via U.FL connectors, and a nano-SIM-card slot is located on the back. A pair of Binder subminiature connectors carries power and data to and from mini::grid.


$25

Early Bird mini::pit

Based around the ESP32-WROOM-U, which supports both WLAN 802.11 b/g/n and Bluetooth LE, base::pit also adds a second CAN bus with transceiver, filter, and ESD protection. A pair of Binder subminiature connectors carries power and data to and from mini::pit.


$75

board::mini Starter Bundle

Everything you need to get started with the board::mini ecosystem, including one mini::base, one mini::out breakout board, and one out::cable for connecting the latter to an ST-Link/V2 adapter (not included).


$59

mini::base

An STM32F103 microcontroller board featuring a CAN transceiver with a hardware filter and ESD protection, a microSD card slot, a 24 V power supply, an atmospheric conditions sensor, a USB Type-C port, and much more. Ready to be combined with one of our expansion boards.


$39

mini::grid

Supports GPS L1 C/A code and quad-band GSM connectivity. Antennas can be connected via U.FL connectors, and a nano-SIM-card slot is located on the back. A pair of Binder subminiature connectors carries power and data to and from mini::grid.


$29

mini::pit

Based around the ESP32-WROOM-U, which supports both WLAN 802.11 b/g/n and Bluetooth LE, base::pit also adds a second CAN bus with transceiver, filter, and ESD protection. A pair of Binder subminiature connectors carries power and data to and from mini::pit.

Credits

bmc::labs

solid engineering. sustainable code.


Sebastian Kruse

Florian Eich

Camilla Lotti

Jannik Schütz

See Also

Subscribe to the Crowd Supply newsletter, highlighting the latest creators and projects: