Citroën C-ZERO Electric Car Gets a Detailed Battery Gauge

Pierre Muth's electric car didn't provide much information about its battery status, so he hacked the CAN bus and added a new gauge.

An interesting consequence of the transition from ICE (internal combustion engine) cars to electric cars is how enthusiasts approach modification. 30 years ago, a gearhead might have swapped out their camshaft or equipped a supercharger to squeeze more power out of their engine. But those same gearheads are still trying to figure out what they can tinker with on electric cars. Electronics gurus, on the other hand, feel more at home with electric cars. Pierre Muth proved that when he outfitted his Citroën C-ZERO with a supplementary gauge that displays detailed battery information.

The Citroën C-ZERO is a rebadged Mitsubishi i-MiEV electric city car. Unlike many of the high-performance electric cars that we see in the US, the Citroën C-ZERO is quite slow. It tops out at 81mph and does 0-60 in around 15 seconds. Its range is a mere 81 miles. As a European city car, those numbers are acceptable. But they do give drivers the motivation to keep close tabs on the state of their batteries. When it makes a significant difference to range, drivers tend to lighten up their right feet.

Like many lower-priced electric cars, the Citroën C-ZERO doesn't provide the driver with much data on the batteries or power draw. But the car's computer does monitor that data behind the scenes. That data transmits over the CAN (Controller Area Network) bus according to a proprietary protocol. Luckily for owners of the Citroën C-ZERO, the folks over at myimiev.com managed to reverse-engineer that protocol. With that information, any Citroën C-ZERO owner can access their car's CAN bus to gather data or even inject new commands.

In this case, Muth's only goal was to monitor the CAN bus to find information about the batteries. He wanted the current battery output and a recent history of that output, maximum and minimum voltages for all 80 battery cells, and the current battery charge percentage.

He gathered that information using an Arduino Micro development board paired with an MCP2515-based CAN bus shield. The Arduino shows the battery data on a small OLED screen with an SSD1305 driver. Those reside inside of a beautiful 3D-printed enclosure that Muth designed in Autodesk Fusion 360 to mimic his Absurd Notifier device we covered previously.

The new gauge mounts to Muth's dashboard, giving him an up-to-date readout with all of his battery information.

Cameron Coward
Writer for Hackster News. Proud husband and dog dad. Maker and serial hobbyist. Check out my YouTube channel: Serial Hobbyism
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles