A community-driven effort to revive and maintain OpenAuto Pro, an Android Auto head unit application for Raspberry Pi. BlueWave Studio shut down without releasing source code or providing updates, leaving paid customers with broken software as Android Auto evolves.
OpenAuto Pro was a commercial product built on top of the open-source openauto and aasdk projects by f1xpl. BlueWave Studio added a Qt/QML-based UI, Bluetooth telephony, OBD-II gauges, FM radio, screen mirroring, wireless Android Auto (Autobox) support, and a plugin API on top of the open-source Android Auto protocol implementation.
When BlueWave Studio ceased operations, they did not release the source code or provide any path forward for customers who had paid for licenses. The software has since broken due to Android Auto protocol changes in newer Android versions.
- Fix Android Auto compatibility with current Android versions
- Rebuild from source using the open-source openauto/aasdk as a foundation
- Restore full functionality including the proprietary features BlueWave added
- Release as open source so this never happens again
| Asset | Count | Status |
|---|---|---|
| QML UI files | 162 files | Complete UI layer with full directory structure |
| SVG icons | 88 files | Complete |
| Python scripts | 5 files | Hotspot, cursor, RTC, launcher configs |
| Protobuf API definition | 34 messages | Api.proto fully reconstructed |
| C++ binary (autoapp) | 27 MB | Stripped ARM (armhf) ELF — needs Ghidra for decompilation |
| Shared libraries | 2 files | libaasdk.so + libaasdk_proto.so (stripped) |
Namespace structure: f1x::openauto::autoapp::
androidauto— AA connection, handshake, video/audio/input/sensor/bluetooth servicesautobox— Wireless Android Auto dongle supportbluetooth— A2DP, telephony, phonebook, device managementmirroring— ADB-based screen mirroringobd— OBD-II gauge supportaudio— Equalizer (LADSPA/PulseAudio), FM radio (RTL-SDR), music libraryui— QML controllersapi— External plugin API (protobuf over socket)system— Gesture sensor, temperature sensor, day/night mode, WiFi
Key dependencies:
- Qt 5.11 (Quick, QML, Multimedia, DBus, X11Extras)
- Boost 1.67 (filesystem, system, log, thread, regex, etc.)
- libusb, protobuf, OpenSSL 1.1
- PulseAudio, ALSA, BlueZ/KF5BluezQt
- Broadcom VideoCore (RPi GPU)
- libgps, libi2c, librtlsdr, libxdo
original/ # Assets extracted from the v16.1 binary
qml/ # Complete QML UI source
applications/ # Per-app UI (android_auto, autobox, music, settings, etc.)
components/ # Reusable components (gauges, bars, camera views)
controls/ # Custom controls (buttons, sliders, popups, keyboards)
widgets/ # Home screen widgets
images/ # SVG icons
scripts/ # Python helper scripts
proto/ # Recovered protobuf API definitions
tools/ # Extraction and analysis tools
docs/ # Project documentation
- f1xpl/openauto — Original open-source Android Auto head unit (frozen since 2018)
- f1xpl/aasdk — Android Auto SDK library (frozen since 2018)
- Extract QML UI from binary
- Recover protobuf API definitions
- Extract SVG icons and scripts
- Catalog binary dependencies and architecture
- Decompile core binary with Ghidra (ARM analysis)
- Map BlueWave modifications vs. upstream openauto
- Document Android Auto protocol changes since 2018
- Set up ARM cross-compilation environment
- Get upstream openauto building
- Integrate recovered QML UI
- Implement BlueWave's API layer using recovered proto definitions
- Identify exact protocol version mismatch
- Update aasdk for current AA protocol
- Test with modern Android phones
- Reimplement proprietary features (Bluetooth telephony, OBD, etc.)
- Port to newer Qt version
- Support newer Raspberry Pi models (Pi 4, Pi 5)
- Modernize build system (CMake)
This project is based on reverse engineering of a commercially purchased product from a defunct company (BlueWave Studio) that provided no source release, no refunds, and no continuing support. The original open-source foundation (openauto, aasdk) is GPL-licensed.
All recovered assets in this repository were extracted from a legitimately purchased copy. The Android Auto protocol implementation is not certified by Google.
This project needs help! If you're a former OpenAuto Pro user, a C++ developer familiar with Qt, or someone who knows the Android Auto protocol, please get involved.
TBD — The upstream openauto/aasdk are GPLv3. The recovered QML and protobuf definitions are from BlueWave Studio's proprietary additions. Given the circumstances (abandoned product, no source release, no support), we believe this reverse engineering effort is justified. We welcome legal guidance on the appropriate license.