You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+47-1Lines changed: 47 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,7 +30,7 @@ and the [Radxa Zero 3W](https://radxa.com/products/zeros/zero3w/).
30
30
- Enable developer mode
31
31
-**[Google Maps EV Routing](#google-maps-ev-routing)** – allows EV-specific navigation features
32
32
-**Wired USB phone mode** – works without the Bluetooth handshake or Wi-Fi pairing
33
-
-**Support for Google’s Desktop Head Unit (DHU)** – ideal for debugging and development
33
+
-**[Support for Google’s Desktop Head Unit (DHU)](#connecting-to-desktop-head-unit-dhu)** – ideal for debugging and development
34
34
35
35
## Current project status
36
36
After extensive stress testing and continuous development, the project has reached a level of stability that meets its original goals.
@@ -180,6 +180,52 @@ This log can be useful for troubleshooting and diagnosing issues.
180
180
181
181
You can easily download the log file via the [embedded web interface](#embedded-web-interface).
182
182
183
+
## Connecting to Desktop Head Unit (DHU)
184
+
185
+
You can test and use **aa-proxy-rs** with Google's **Desktop Head Unit (DHU)** in two ways:
186
+
187
+
#### 1. Using a physical Raspberry Pi
188
+
189
+
This method allows you to test with actual hardware and `aa-proxy-rs` running directly on the device. The flow then looks like this:
190
+
191
+
**[📱 Android Phone] ⇄ [📶 BT+WiFi] ⇄ [📟 RPi with aa-proxy-rs] ⇄ [🔌 USB] ⇄ [🖥️ PC with DHU]**
192
+
193
+
Steps:
194
+
195
+
- Connect the Raspberry Pi to your PC or laptop running Linux or macOS (depending on where DHU is installed)
196
+
- Pair your Android phone with the Raspberry Pi over Bluetooth
197
+
- After pairing and connection, you should see a USB device appear on your host system. Use `dmesg` to confirm:
198
+
```
199
+
[Mon Aug 25 15:24:43 2025] usb 3-1: new high-speed USB device number 84 using xhci_hcd
200
+
[Mon Aug 25 15:24:43 2025] usb 3-1: New USB device found, idVendor=18d1, idProduct=2d00, bcdDevice= 6.12
201
+
[Mon Aug 25 15:24:43 2025] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
202
+
[Mon Aug 25 15:24:43 2025] usb 3-1: Product: aa-proxy-rs
203
+
[Mon Aug 25 15:24:43 2025] usb 3-1: Manufacturer: My Own
204
+
[Mon Aug 25 15:24:43 2025] usb 3-1: SerialNumber: 0123456
205
+
```
206
+
207
+
- Then launch DHU with:
208
+
`desktop-head-unit --usb=0123456`
209
+
210
+
#### 2. Without Raspberry Pi (host-only testing)
211
+
212
+
If you want to run the `aa-proxy-rs` application itself for development or functional testing — without using a physical Raspberry Pi — you can build and run it **natively** on the same platform where DHU is running (Linux/macOS).
213
+
214
+
In this setup, we recommend using the `wired` option in the config, which enables a USB-based connection between your phone and host machine. The flow then looks like this:
215
+
216
+
**[📱 Android Phone] ⇄ [🔌 USB] ⇄ [💻 PC with aa-proxy-rs] ⇄ [🖥️ DHU]**
217
+
218
+
To make this work, follow these steps:
219
+
220
+
1. In the `aa-proxy-rs` configuration:
221
+
- Enable the `dhu` option
222
+
- Enable the `wired` option and provide your phone's **VID:PID** (vendor ID and product ID)
223
+
2. Compile and launch `aa-proxy-rs` on your host
224
+
3. Connect your Android phone via USB
225
+
*(Note: you may need to unlock the screen after connecting)*
226
+
4.`aa-proxy-rs` should detect and connect to the phone, then wait for DHU to connect
227
+
5. Launch DHU **without any arguments**: `desktop-head-unit`
228
+
183
229
## History and Motivation
184
230
There are many commercial solutions available for wireless Android Auto, such as AAWireless or Motorola MA1. I even bought a
185
231
clone from AliExpress — but unfortunately, it didn’t work in my car (I ended up giving it to a friend who had a compatible vehicle).
0 commit comments