Old but still good BMW 5 series

Post Reply
jackv8
Posts: 8
Joined: Thu Sep 25, 2025 4:24 pm

Old but still good BMW 5 series

Post by jackv8 »

Hi all! I wanted to share my build I did for my old BMW 5 series. At the very beginning huge thank you to the hudiy team for creating such amazing software. Before I started my build with hudiy I was a bit worried if the screen I chose wouldn't be too much since it's basically full hd but it works like a charm. Everything is super smooth and after update I'm running Android Auto at 1080p and 60 fps settings on which makes way better experience when using it.

Next challenge is to get some vehicle data and display it in a widget. The car has very limited OBD and uses some BMW-specific protocol.
DCIM_39943.jpg
DCIM_39943.jpg (105.22 KiB) Viewed 1091 times
DCIM_39942.jpg
DCIM_39942.jpg (115.73 KiB) Viewed 1091 times
hudiy
Site Admin
Posts: 612
Joined: Mon Jul 14, 2025 7:42 pm

Re: Old but still good BMW 5 series

Post by hudiy »

Thank you for the kind words. We’re happy you enjoy Hudiy. Project looks great!
Hudiy Team
madsv7922
Posts: 7
Joined: Thu Oct 23, 2025 2:38 pm

Re: Old but still good BMW 5 series

Post by madsv7922 »

What screen is used here? Im building something similar for saab!
jackv8
Posts: 8
Joined: Thu Sep 25, 2025 4:24 pm

Re: Old but still good BMW 5 series

Post by jackv8 »

jackv8
Posts: 8
Joined: Thu Sep 25, 2025 4:24 pm

Re: Old but still good BMW 5 series

Post by jackv8 »

I managed to fully program a BMW E60 iDrive controller and control the head unit interface using the Hudiy API. With the iDrive I can control CarPlay, Android Auto and the Hudiy itself. For communication with the iDrive I used a CAN/RS485 HAT from Waveshare. A friend of mine who owns an E60 with this iDrive installed helped me sniff the communication. Luckily, the communication itself is quite simple and works on a polling mechanism to check the controller's status. The whole setup requires only three CAN frames to function (wake up, status request and status response). The whole thing took a few days and fortunately we managed not to damage my friend's car :).

Another cool thing is the iBUS communication. I managed to decode and program all the steering wheel buttons. I can control the volume, skip tracks and answer voice calls. Also via iBUS I was able to extract information about the ambient temperature, engine temperature, RPM and speed.

The coolest thing I've managed to do via iBUS so far is detecting when reverse gear is engaged and fetching data from the parking sensors. It turned out that by spoofing a diagnostic module and sending the right frame to the PDC module, the module sends back readings in centimeters from all sensors. I saw this data in INPA (BMW diagnostic software) and managed to sniff the communication between the software and the PDC module. It took just one frame for the PDC module to recognize me as diagnostic software. For iBUS communication I'm using a USB module that I bought a long time ago for an old Android head unit. This module uses the Melexis TH3122 chip. I display the sensor data on an HTML UI linked to Hudiy as an app. When I shift into reverse, the screen appears automatically and it hides when I shift out of reverse. I also did this using the Hudiy API.

I also managed to integrate a tiny 1.47'' 172x320 screen from Waveshare into the instrument cluster bezel. There was a blank cover for some button in the bezel and it turned out that this display fits the dimensions of the cover perfectly. The tiny screen is connected to a Raspberry Pi Pico 2 via SPI and the Raspberry Pi Pico 2 is connected to the Raspberry Pi 5 and Hudiy via USB.

The screen displays my HTML UI which I prepared specifically for this display and the displaying itself is handled by Hudiy. For now I have screens in HTML to display navigation info, music, a clock and my iBUS data.

Next up, I plan to install a backup camera and further expand the iBUS functionality to extract info like average fuel consumption, fuel level and driving range.
1.jpg
1.jpg (59.7 KiB) Viewed 117 times
3.jpg
3.jpg (84.13 KiB) Viewed 117 times
4.jpg
4.jpg (79.67 KiB) Viewed 117 times
5.jpg
5.jpg (71.99 KiB) Viewed 117 times
6.jpg
6.jpg (74.38 KiB) Viewed 117 times
7.jpg
7.jpg (87.93 KiB) Viewed 117 times
Post Reply