EHU32 - Bluetooth audio integration retrofit for older Opel/Vauxhall vehicles #693
PNKP237
started this conversation in
Show and tell
Replies: 1 comment
-
Cool project! |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Long story short, my previous vehicle had a solid bluetooth A2DP/HFP integration - I was able to control the bluetooth audio source with steering wheel buttons and see the audio metadata on the vehicle's center console display.
Once I got an older car ('09 Opel Astra H GTC) I found that not being able to immediately see what's being played and having no control upon the audio source is annoying and needless to say, handling a phone (not to say looking at it) while driving isn't exactly safe.
Thanks to ESP32-A2DP library and ESP-IDFs TWAI driver I was able to put together EHU32 (as in Entertainment Head Unit), which serves to extend the functionality of the factory radios and displays since I wanted to preserve the original look of the vehicle's interior.
EHU32 is compatible with most 2000's Opel vehicles like Vectra C, Astra H, Corsa D, Meriva A or Signum.
Once the factory headunit is powered up and ESP32 detects certain messages being transmitted over vehicle's CAN bus, the A2DP service is started (courtesy of ESP32-A2DP) and text is being printed over CAN to the vehicle's display, such as status messages and audio metadata. Steering wheel buttons, which are otherwise only useful when playing audio from CDs, now allow the driver to navigate through the playlist on the source device.
Apart from audio features it is also able to show diagnostic data in real time (coolant temperature, speed, RPMs and battery voltage) on the integrated display, otherwise accessible either through diagnostic mode of the display (clunky to use) or with external diagnostic dongles. EHU32 allows the user to switch between modes by simply pressing and holding buttons on the radio panel (which otherwise have no use in Auxiliary input mode). I have also implemented a simple macro to simulate button presses in order to enable AC with a single press of the AC menu button (because the option to switch the AC compressor is buried within a menu).
Needless to say, it is the ESP32-A2DP library that gave me the initial idea for this, since without it I wouldn't be able to extract AVRC data. The whole experience developing EHU32 has taught me a lot about FreeRTOS and CAN as well. So thank you, @pschatzmann and everyone contributing, for your hard work on this library.
While the picture by itself does not mean much, the audio is streamed over bluetooth and the AVRC metadata is transmitted over the CAN bus to the vehicle's display.
Beta Was this translation helpful? Give feedback.
All reactions