Skip to content

Modernizing my 2005 BMW by adding oodles of connectivity and custom electronics.

Notifications You must be signed in to change notification settings

qcasey/BMW-Control-Center

Repository files navigation

BMW Control Center

An embedded computer, an Arduino PCB, and an Android tablet walk into a bar car...

./fitmet.jpeg ./sensors.png

I am modernizing my 2005 vehicle by adding oodles of connectivity and custom electronics. So far, I've successfully implemented:

  • Bluetooth Audio with hotspot tethering
  • Programmable wireless LTE, pushing state over MQTT
  • Arduino based custom PCB measuring battery voltages, switching relays, and tracking GPS location
  • K-Bus, controlling radio/windows/locks/other auxiliaries
  • CAN Bus, recording ECU data like speed, RPM, pressure
  • Hardwired 4K dash camera with 1TB SSD
  • Prometheus exported on /metrics for recording time series data
  • IP namespaces and write-on-update state control, limiting wireless data
  • Android tablet running a customized build of LineageOS
  • 3D printed cases, bezels, and shims
  • Android apps providing "Tesla-like" control over all the above

These primary features culminate into an app controlled, privacy preserving, monolith of a smart-car-computer system.

Stack

It's all primarily written with:

  • Go API for vehicle state
  • React Native clients for remote system control
  • C with PlatformIO + Arduino
  • MQTT
  • Python for handling exported album artwork
  • Containizered Mosquito and Prometheus instances on a home server
  • Various Unix tools

My design goal is to steal all the ideas modern automakers have fleshed out the past two decades, learning everything I can while writing my own take.

Hardware

Control App

./media.png

Infrequently Asked Qs

What makes this specific to BMW?

Great question, me. The KBus is a proprietary complement to the more universal CAN bus, and is unique to BMWs and Minis. Probably Rolls-Royce as well.

The KBus is such a critical component, and the design is specific to my model, it would be less useful on any other vehicle.

About

Modernizing my 2005 BMW by adding oodles of connectivity and custom electronics.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published