/BlueGenieBMW

Bluetooth audio for BMW with CAN-bus support for steering wheel buttons control. Supported cars should be E90, E91, E92, E93, E82, E81, (also probably 5, 7-series, maybe E46).

Primary LanguageHTMLGNU General Public License v3.0GPL-3.0

BlueGenie BMW

Bluetooth audio for BMW with CAN-bus support for steering wheel buttons control. Supported cars should be E90, E91, E92, E93, E82, E81, (also probably 5, 7-series, maybe E46).

Features:

  • Next / Previous - (CAN-bus) steering buttons
  • OTA over Wi-Fi (hold Volume Down and Previous Song buttons on the steering to go into Dwonload mode)
  • Other possibilities that you can develop:
    • autmoatically enable heated seats if ambient tempreture is low)
    • display car info on your phone, if you make an app ;)


Hardware thingies (BOM):

  • ESP8266 - (Wemos D1 mini) ($3) (they usually come with the black sockets)
  • BK3254 (BT4.1 A2DP audio) - with UART enabled firmware (the ebay ones should be ok) ($2)
  • MCP2515 board with some transciever ($2)
  • https://oshpark.com/shared_projects/qK7vXqp4
  • Audio jack PJ-320D
  • (optional) resistors (2x2.2k & 2x3.3k) for level shifting for longetivity of ESP8266. You can replace them with short wire if you're on a brave side.

Solder the stuff together.

PCB overview

Installation:

  • clone the repository and also run download_libraries.bat from /lib folder :/
  • Import project to https://platformio.org/platformio-ide and flash ESP8266 using USB cable (for the first time).
  • Power it with 5V cigarette charger or get Wemos power shield from ebay.
  • Find K-CAN ("chasis" CAN-bus) - twisted green (CAN HIGH) and orange (CAN LOW) cables behind the radio and splice it and connect to MCP2515.

Some info regarding K-CAN - it is @100kbps





Photos: PCB PCB PCB PCB