REVERSE-ENGINEERING THE PEUGEOT 207’S CAN BUS

Here’s a classic “one thing led to another” car hack. [Alexandre Blin] wanted a reversing cam for his old Peugeot 207 and went down a rabbit hole which led him to do some extreme CAN bus reverse-engineering with Arduino and iOS. getting an expensive bezel, a cheap HDMI display, an Arduino, a CAN bus shield, an iPod touch with a ghetto serial interface cord that didn’t work out, a HM-10 BLE module, an iPad 4S, the cam itself, and about a year and a half of working on it intermittently, he finally emerged poorer by about 275€, but victorious in a job well done. A company retrofit would not only have cost him a lot more, but would have deprived him of everything that he learned along the way.

Adding the cam was the easiest part of the exercise when he found an after-market version specifically indicated for his 207 model. The original non-graphical display had to make room for a new HDMI display and a fresh bezel, which cost him much a lot more than the display. Besides displaying the cam image when reversing, the new display also needed to show all of the other enjoyment system information. This couldn’t be obtained from the OBD-II port but the CAN bus looked promising, although he couldn’t find any details for his model initially. but with over 2.5 million of the 207’s on the road, it wasn’t long before [Alexandre] hit jackpot in a French university student project who used a 207 to study the CAN bus. The 207’s CAN bus system was sub-divided in to three separate buses and the “comfort” bus supplied all the data he needed. To decode the CAN frames, he used an Arduino, a CAN bus shield and a python script to picture the data, checking to see which frames changed when he done certain functions — such as changing volume or putting the gear in reverse, for example.

The Arduino could not drive the HDMI display directly, so he needed additional hardware to complete his hack. While a Raspberry Pi would have been ideal, [Alexandre] is an iOS developer so he naturally gravitated towards the Apple ecosystem. He connected an old iPod to the Arduino by means of a serial connection from the Dock port on the iPod. but using the Apple HDMI adapter to connect to the display broke the serial connection, so he had to put his thinking cap back on. This time, he used a HM-10 BLE module connected to the Arduino, and replaced the older iPod Touch (which didn’t support BLE) with a a lot more modern iphone 4S. once he had all the bits and pieces working, it wasn’t too long before he could wrap up this long drawn upgrade, but the final result looks as good as a factory original. check out the video after the break.

It’s great to read about these kinds of hacks where the hacker digs in his feet and doesn’t give up until it’s done and dusted. and thanks to his in-depth post, and all the code shared on his GitHub repository, it must be easy to replicate this the second time around, for those seeking to upgrade their old 207. and if you’re trying to find inspiration, check out this great Homemade Subaru Head unit Upgrade.

Leave a Reply

Your email address will not be published. Required fields are marked *