Skip to content

Commit d7a0a6a

Browse files
committed
README.md: add DHU section
1 parent 24a5095 commit d7a0a6a

File tree

1 file changed

+47
-1
lines changed

1 file changed

+47
-1
lines changed

README.md

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ and the [Radxa Zero 3W](https://radxa.com/products/zeros/zero3w/).
3030
- Enable developer mode
3131
- **[Google Maps EV Routing](#google-maps-ev-routing)** – allows EV-specific navigation features
3232
- **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
3434

3535
## Current project status
3636
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.
180180

181181
You can easily download the log file via the [embedded web interface](#embedded-web-interface).
182182

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+
183229
## History and Motivation
184230
There are many commercial solutions available for wireless Android Auto, such as AAWireless or Motorola MA1. I even bought a
185231
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

Comments
 (0)