This adapter enables Bluetooth functionality in classic BMW cars while keeping the dashboard and head unit original by reverse engineering and emulating the CD changer interface.

All info can be found in the build logs.

In this project I reverse engineer the interface of my BMW CD changer and replace it by my own Bluetooth PCB to play music from my phone :).
To make the experience fit your profile, pick a username and tell us what interests you.
We found and based on your interests.
This adapter enables Bluetooth functionality in classic BMW cars while keeping the dashboard and head unit original by reverse engineering and emulating the CD changer interface.
All info can be found in the build logs.
After a little bit more than a year I am happy to announce that the project is finally finished. And I know I've said that before, but this time it is really true. The latest version of the circuit board has been running like a charm, no noise, and no thermal shutdowns. Since I received a lot of interest during the development I have added a shop section to my website in case you would like to buy one.
This is just a short update. Remember my last post where I presented the final design? Well, I should not have called it final before testing it in the car itself 😉. While doing so I discovered a whine played over the speakers that rose and fell with the RPM of the car. With more and more cars faking engine sounds over the speakers, you could call this a feature instead of a bug. In any case, it's not what I wanted, so back to the drawing board.
Continuing the journey to implement Bluetooth audio on my old BMW, an updated version of the PCB has arrived. In this post we will take a look at the design of the circuit board, and test if the overheating and sound quality issues are fixed with this latest iteration of the design.
As discussed in the previous log I removed the ESP32 Pico from my design and replaced it by a conventional ESP32 module. Because I was not yet able to do a lot of testing on my first design, the rest of the PCB remained unchanged. The good news is that thanks to the easier assembly of this second iteration I finally got a working board. So let's see what we can learn from further testing.
Even though my prototype was working quite well, there are still some issues. One of them is that the Bluetooth module gives audible pops on pausing and restarting playback. Another one is that I can't communicate to the Arduino if the music is paused or not and therefore can't put this on the head unit display. Partly for these reasons, and partly to learn, I started on my own PCB.
Parked in front of my house is an old BMW E36 325i. When I bought it, it came loaded with cassette tapes from the previous owner, like a time capsule from a different era. Although I quite like Johnny Cash and Kenny Rogers, it gets repetitive after a while. So I set myself to work to make my car Spotify enabled.
Create an account to leave a comment. Already have an account? Log In.
Become a member to follow this project and never miss any updates