frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: I made a matrix chat client for my 2001 BMW's stock infotainment system

1•linster•2h ago
I made a Matrix chat client for my 2001 BMW infotainment system using Kotlin, Jetpack Compose, a Rasbperry Pi, and a custom PCB I designed to plug into the factory wiring harness: https://e39.dev/hmi/Matrix/Matrix.html

I used Compose MPP cross-compiled to a Raspberry Pi (running Raspbian) to make my own Infotainment system from scratch. It works on the 2001-vintage factory BMW display with a retractable screen that has a cassette deck behind it.

I then wrote a Matrix Chat Client for the system. The only input device (no touch screen) is a rotary knob that can be pressed. The knob events are sent via the car's IBUS serial bus, which I integrated into the Compose MPP UI state https://e39.dev/hmi/WidgetFramework/KnobListener.html

I've been working on this project since January 2021, when Compose MPP was at the Milestone 2 release.

The Matrix page has a great video of the system in action on the bench-top car-surrogate I made. The homepage, https://e39.dev/, shows an overview of the whole system, and also has writeups on the other features I made, such as the Open Street Map viewer that I also made from scratch.