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.
See hardware folder
Clone, build, and flash.
Install esp-idf
and the ESP32 btstack
port by following the respective instructions.
TBD
- 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.sh
to compile ./tools/flash_monitor.sh
to load onto ESP32 and runidf.py monitor
Note: Helper scripts in tools folder assume a WSL Ubuntu install w/ESP32 on Windows COM4
- Use OEM CD changer pre-wiring in R50 behind right side panel in trunk.
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).
- iPod ↔ Sirius IBus adapter - Referenced for SDRS packet logs (my car isn't equiped with one.)
- Hack The IBus
Distributed under the MPL 2.0 License. See LICENSE
for more information.