Reverse-Engineering the Peugeot 207’s CAN bus

Here’s a classic “one thing led to another” car hack. [Alexandre Blin] wanted a reversing camera 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. Buying an expensive bezel, a cheap HDMI display, an Arduino, a CAN bus shield, an iPod touch with a ghetto serial interface cable that didn’t work out, a HM-10 BLE module, an iPad 4S, the camera 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 camera was the easiest part of the exercise when he found an after-market version specifically meant 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 more than the display. Besides displaying the camera image when reversing, the new display also needed to show all of the other entertainment 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 provided all the data he needed. To decode the CAN frames, he used an Arduino, a CAN bus shield and a python script to visualize the data, checking to see which frames changed when he performed 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 via 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 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 detailed post, and all the code shared on his GitHub repository, it should be easy to replicate this the second time around, for those looking to upgrade their old 207. And if you’re looking for inspiration, check out this great Homemade Subaru Head Unit Upgrade.

Continue reading “Reverse-Engineering the Peugeot 207’s CAN bus”

Google Glass hack for Apple fanboys can be had right now

google-glass-for-apple-iphone

If you’re a follower of Apple hardware the upcoming Google Glass release probably doesn’t interest you much. But the concept is universally cool. If you want to have your own one-eyed voice-activated computer running iOS, then this is the hack for you. [John] calls it the Beady-i, and posted a step-by-step article on how he put it together.

The headpiece is shown on the left. It’s a combination of a pair of glasses with projection screens built-in, and a gaming headset. [John] cut off one of the lenses, and removed the remaining arm of the glasses. That arm was replaced with the frame of a gaming headset, which now wraps around the back of his neck to make sure the lopsided display isn’t going to fall off.

By combining the electronics from both the glasses and the headset, and terminating the connections with a docking plug he’s got what he was after. The lens displays what is shown on the screen, and the gaming headset lets him hear the device’s sound in one ear and register input using the microphone.

Hardware jailbreak eases reboot pains

This device can jailbreak an iPhone. It doesn’t require a computer and it can either reboot a phone that was one-time-boot jailbroken using the blackra1n exploit, or jailbreak a factory fresh unit. We wouldn’t say this solves the tethering problem caused by blackra1n (needing to return to a computer to reboot the phone), but it certainly does ease the pain. We saw some info about the board layout but no parts list or firmware. See the demo after the break and leave a comment if you have more information on the parts or code.

Continue reading “Hardware jailbreak eases reboot pains”

Linux iPhone sync draws near

linux-iphone-sync-support

[Emuboy] lets us know about some software advances that will make iPhone and iPod Touch syncing possible under Linux. Apple made big changes to how the iPhone syncs compared to legacy iPods. Locking out all communications other than through iTunes was surely part of their motivation. This has left Linux users out in the cold with shoddy sync capabilities which should be coming to an end. If successful, syncing will be be possible with phones that have not been jailbroken.

One of the biggest hurdles in reverse-engineering the new protocol is the non-standard way in which the devices communicate over USB. The usbmuxd developers have been working to implement communications and now have a Release Candidate for the 1.0.0 version. Along with testing of this package, libgpod is now being updated to play nicely with the new database format and hash of the iPhone.

This isn’t quite at the plug-and-play level of convenience yet but if you’re comfortable working with Linux packages you should be able to get this working and help report any bugs you might find. But if you’re tired of open source playing cat and mouse with Apple you can always switch over to a device based on Android.

External GPS for iPod and iPhone

ipod_touch_gps

Ever wish your iPod touch or older generation iPhone had GPS capability? Now it can by using a Bluetooth GPS module along with the roqyGPS app.

In April we saw a pretty creative way to add GPS to an iPod by using a homebrew accessory. The new app is a better solution because it utilizes the larger screen and more functional UI of the iPod touch. We’re glad to see this come along because we’d rather not upgrade to the iPhone 3G just to get GPS support. roqyGPS has a fairly long supported hardware list, which should make it relatively inexpensive to pick up a GPS module either on sale or second-hand.

We’ve got a video of the release candidate after the break. As always, we’d like to hear from anyone already using this so please leave your thoughts in the comments.

Continue reading “External GPS for iPod and iPhone”

Rotating Lego dock take two

lego_ipod_stand_number_2

Last week we saw a rotating iPhone dock built from Lego. This week we’re happy to put up another example of a dock made of these popular building blocks. Thank goodness this one takes into account all of the sudden jolts that our desk is prone to by incorporating shock absorbing springs. The design is very sleek with a jazzy red scheme and a less-is-more attitude. We are a bit concerned about our expensive hand held falling out but then again that’s what the springs are for. Who can be the first to put together a step-by-step guide for building this one?

[via Engadget]

Rotating iPhone dock from Legos

lego_rotating_iphone_dock

Hot on the heels of the aluminum dock and the Lego camera mount, [Steve] sent in his iPhone/iPod Touch dock made out of Lego bricks. It’s very stylish with a black and grey theme but we think the function makes this DIY spectacular. In the design [Steve] has included the ability to rotate the cradle so that the iPhone can be presented either vertically or horizontally. A step-by-step guide is not yet available but resourceful Lego lovers should be able to build this using his flickr set.