E39-Rpi HMI
The Jetpack Compose HMI is a desktop Linux app I wrote that runs on my development laptop as well as the RPi Raspbian image.
It interfaces with the hardware by:
- BlueZ-DBus to have a bluetooth pairing wizard implemented in the HMI
- PipeWire to forward BT audio to the speakers. (Laptop Speakers on the dev machine, Audio out on the RPi to BMW Radio Aux in)
- Serial port for incoming IBUS messages.
The HMI uses the Compose MPP WindowManager hints to maximize itself without a titlebar on the RPI. On the dev laptop, it is convenient to work with alongside IntelliJ.
The HMI Window has screens managed by the navigator. When I started in 2021, there weren’t that many off-the-shelf screen navigation libraries to choose from, so I wrote my own.
I made my own widget design system that allows all the Compose UI to be controlled by the rotary knob on the BMW display.
Screenshots
Sitemap (Hardware)
- Hardware
- Hardware
- Test Boards
- Video Output
- Test Bench
- Sled
- Mainboard