esp32-r50-kbus
esp32-r50-kbus copied to clipboard
K-bus/I-bus to Bluetooth bridge for Mini/BMWs. Developed on esp-idf 4.0.2 and a 2006 Mini Cooper. Main goal was to get AVRCP control from steering wheel to iPhone; going forward looking to make it a p...
ESP32 K-bus Interface
Table of Contents
- About the Project
- Hardware
- Software
- Getting Started
- Prerequisites
- Building
- Installing
- Roadmap
- License
About
K-bus/I-bus to Bluetooth bridge for Mini/BMWs. Developed on esp-idf 4.0.2 and a 2006 Mini Cooper. Main goal was to get AVRCP control from steering wheel to iPhone; going forward looking to make it a platform for emulating K-bus devices.
Hardware
See hardware folder
Software
Getting Started
Clone, build, and flash.
Prerequisites
Install esp-idf and the ESP32 btstack port by following the respective instructions.
Building
Hardware
TBD
Software
- Clone this repo and its submodules
git clone --recursive https://github.com/jmederos/esp32-r50-kbus.git - After installing prequisites, run the helper script
./tools/build.shto compile ./tools/flash_monitor.shto load onto ESP32 and runidf.py monitorNote: Helper scripts in tools folder assume a WSL Ubuntu install w/ESP32 on Windows COM4
Installing
- Use OEM CD changer pre-wiring in R50 behind right side panel in trunk.
R50 Support Docs
Roadmap
| Feature | Status | Notes |
|---|---|---|
| Software POC: control phone via AVRCP w/o A2DP advertised. | 👌🏽 | Although part of the BT spec, example implementations on AVRCP-only are hard to come by. |
| Hardware POC: acquire + test k-line transceivers. | 🙌🏽 | |
| K-bus proof concept, pickup MFL messages. | 👍🏽 | Works in vehicle, works in mockup w/Navcoder + iPhone streaming to a BT headphone amp. |
| Write to radio head unit display | 🥳 | Seems to work, now let's do scrolling display |
| SDRS Emulation | 👍🏽 | Functional, didn't really like the fact that FiiO BT amp didn't shutdown with car; will stick to aux input + TEL display updates for now. |
| Write to radio head unit display | 🥳 | Seems to work, now let's do scrolling display |
| AMS instead of AVRCP | Didn't know this was a thing, seems like a better bet; btstack + esp-idf is a little clunky. | |
| ANCS Support & update radio display w/push notification | 🤞 |
See the open issues for a list of proposed features (and known issues).
References
- iPod ↔ Sirius IBus adapter - Referenced for SDRS packet logs (my car isn't equiped with one.)
- Hack The IBus
License
Distributed under the MPL 2.0 License. See LICENSE for more information.