TREE(74): training modules, entity profiles, 2890 references, keyword indices SPROUT(42): knowledge pages, project docs, curated source material SEED(164): daily notes, raw session logs, unprocessed material Updated AUDIT_MANIFEST.json with growth classifications.
186 lines
7.3 KiB
Markdown
186 lines
7.3 KiB
Markdown
---
|
||
pageType: source
|
||
id: source.android-head-unit-openclaw
|
||
title: android-head-unit-openclaw
|
||
sourceType: local-file
|
||
sourcePath: /home/topher/.openclaw/workspace-crash-bot/projects/android-head-unit-openclaw.md
|
||
ingestedAt: 2026-05-02T21:15:37.137Z
|
||
updatedAt: 2026-05-02T21:15:37.137Z
|
||
status: active
|
||
growth: sprout
|
||
---
|
||
|
||
# android-head-unit-openclaw
|
||
|
||
## Source
|
||
- Type: `local-file`
|
||
- Path: `/home/topher/.openclaw/workspace-crash-bot/projects/android-head-unit-openclaw.md`
|
||
- Bytes: 6684
|
||
- Updated: 2026-05-02T21:15:37.137Z
|
||
|
||
## Content
|
||
````text
|
||
# OpenClaw on Android Head Unit
|
||
|
||
## Overview
|
||
Running OpenClaw as a voice AI assistant on a standalone Android head unit (Topway TS10) in a 2014 Hyundai Sonata Hybrid. The head unit is connected to the car's CAN bus via a Simplesoft CAN decoder box, enabling deep car telemetry + hands-free voice AI.
|
||
|
||
## Hardware
|
||
|
||
### Head Unit — Topway TS10
|
||
| Spec | Detail |
|
||
|------|--------|
|
||
| SoC | Unisoc UIS7862 — 8-core (2×A75 + 6×A55) @ 1.8GHz |
|
||
| GPU | Dual-core ARM Mali-G52 |
|
||
| Bluetooth | 5.0 |
|
||
| Resolution | 1280×720 |
|
||
| Firmware | VOVOL XC90 20230 variant |
|
||
| **RAM** | **4GB** ✅ |
|
||
| **Storage** | **32GB** ✅ |
|
||
|
||
### CAN Decoder — Simplesoft HY-SS-04
|
||
| Spec | Detail |
|
||
|------|--------|
|
||
| Model | HY-SS-04 |
|
||
| Brand | Simplesoft |
|
||
| Software | V3.01.101BYPT (DC:20230627) |
|
||
| P/N | K0090 |
|
||
| Compatible | Hyundai Sonata 8 (2011-2014), Sonata 9 (2015-2017), Kia Sportage/Sorento/Cadenza |
|
||
| Serial Protocol | TTL 3.3V UART, **38400 baud**, 8N1 |
|
||
| Output format | 6-byte CAN frame dumps (e.g. `46 32 02 01 01 XX`) |
|
||
| Harness | 16-pin OEM-style plug, no wire cutting needed |
|
||
| Head unit setting | Factory Settings → CAN bus config → select "Simplesoft" |
|
||
|
||
**Protocol note:** The decoder outputs raw CAN message bytes over UART. Steering wheel buttons produce specific byte sequences (e.g. VOL+ → `46 32 02 01 01 DB`). The head unit firmware decodes these into control actions.
|
||
|
||
### Car — 2014 Hyundai Sonata Hybrid
|
||
| Spec | Detail |
|
||
|------|--------|
|
||
| CAN Bus | High-Speed CAN (OBD2 pins 6=CANH, 14=CANL) |
|
||
| OBD2 Port | Standard 16-pin DLC; pins 6/14 = HS CAN bus |
|
||
|
||
### Connectivity Path
|
||
```
|
||
Sonata CAN Bus (pins 6/14)
|
||
↓ 2-wire raw CAN
|
||
Simplesoft HY-SS-04 CAN Decoder
|
||
↓ UART 38400 8N1 (TX line)
|
||
Topway TS10 Head Unit (Android)
|
||
↓ WiFi (phone hotspot)
|
||
OpenClaw Gateway on media server (100.91.1.57)
|
||
↓
|
||
Qdrant / Skills / Tools / Home Assistant
|
||
```
|
||
|
||
## Use Cases
|
||
|
||
1. **Wake word voice assistant** — "Hey [wake word]" → hands-free AI
|
||
2. **Home Assistant control** — "open garage door", "turn on porch light" from driveway
|
||
3. **CAN bus telemetry** — speed, RPM, fuel level, door status, TPMS via decoder serial stream
|
||
4. **Steering wheel button trigger** — intercept factory steering wheel controls → OpenClaw wake
|
||
5. **Commute briefing** — weather, calendar, traffic on demand
|
||
6. **Message handling** — read/respond to Discord/Signal by voice, hands on wheel
|
||
7. **Navigation intents** — trigger maps with voice
|
||
8. **Check engine code read** — "do I have any error codes?" via OBD2
|
||
|
||
## Setup Steps
|
||
|
||
### Phase 1 — Android Side
|
||
- [ ] Confirm RAM size (Settings → About)
|
||
- [ ] Enable ADB: Factory Settings → password `adbon`
|
||
- [ ] Enable Wireless ADB (see StarMusa88 TopWay guide)
|
||
- [ ] Sideload OpenClaw Assistant APK (`adb install`)
|
||
- [ ] Connect head unit to WiFi (phone hotspot)
|
||
- [ ] Point OpenClaw Assistant to gateway URL (media server via Tailscale)
|
||
- [ ] Validate wake word + voice response
|
||
|
||
### Phase 2 — CAN Bus Side
|
||
- [x] Identify CAN decoder: Simplesoft HY-SS-04 confirmed
|
||
- [x] Confirm serial protocol: 38400 baud 8N1
|
||
- [ ] Tap UART TX from decoder (need FTDI/CH340 adapter + laptop)
|
||
- [ ] Capture serial stream while driving (speed, doors, steering buttons)
|
||
- [ ] Map byte sequences to physical signals (speed formula, door bits, button codes)
|
||
- [ ] Write OpenClaw skill to parse serial → structured telemetry
|
||
- [ ] Map to voice queries: "what's my speed", "fuel level", "any doors open"
|
||
|
||
### Phase 3 — Integration
|
||
- [ ] Steering wheel button intercept → OpenClaw wake trigger
|
||
- [ ] CAN telemetry → voice responses
|
||
- [ ] OBD2 code reading on demand
|
||
- [ ] TPMS voice readout
|
||
- [ ] Home Assistant联动 on driveway arrival
|
||
|
||
## CAN Bus / Serial Sniffing Plan
|
||
|
||
**Equipment needed:**
|
||
- USB-UART adapter (FTDI FT232RL or CH340) — 3.3V TTL
|
||
- 4 dupont wires (F/F jumper cables)
|
||
- Laptop with serial terminal (PuTTY, SerialMonitor, or `screen /dev/ttyUSB0 38400`)
|
||
|
||
**Steps to sniff decoder output:**
|
||
1. Remove head unit (or pull it out enough to access the harness)
|
||
2. Find the 4-pin connector from HY-SS-04 to head unit
|
||
3. Identify pins: typically +12V (red), GND (black), TX (white/yellow), RX (green)
|
||
4. Connect FTDI adapter: GND→GND, TX→RX (cross), 3.3V if powered separately
|
||
5. Open serial terminal at 38400 8N1, no flow control
|
||
6. Power the decoder (start car or have battery on)
|
||
7. Watch data scroll — press steering buttons, open/close doors, drive
|
||
|
||
**What to look for:**
|
||
- Steering VOL+ : `46 32 02 01 01 DB` (from XT9218c research, likely same format)
|
||
- Speed: some byte position scales with kph/mph
|
||
- Doors: 1 byte with bit flags for each door
|
||
- RPM: some byte position, formula: `val * X` or `val / Y`
|
||
|
||
## CAN Bus Resources
|
||
- **comma.ai/opendbc** — open-source DBC files, check Sonata coverage
|
||
- **2015 Hyundai C-CAN DBC** — close baseline for 2014 (Scribd)
|
||
- **iDoka/awesome-automotive-can-id** — Hyundai Genesis 2015 CAN IDs (partial overlap)
|
||
- **CSS Electronics OBD2 DBC** — standard OBD2 PIDs (Mode 01)
|
||
- **XDA Forums CAN decoder research** — Simplesoft serial protocol confirmed at 38400 baud 8N1
|
||
|
||
## Key References
|
||
- OpenClaw Android docs: docs.openclaw.ai/platforms/android
|
||
- OpenClaw Assistant (voice app): github.com/yuga-hashimoto/openclaw-assistant
|
||
- Topway TS10 ADB Guide: github.com/StarMusa88/TopWay-Android-Headunit-ADB-Guide
|
||
- XDA Forums TS10: xdaforums.com/t/new-topway-ts10-uis7862-6gb-ram-128gb-head-unit-q-as.4227947/
|
||
- Simplesoft HY-SS-04 info (Skyfame): skyfame.com
|
||
- Hyundai Sonata OBD2 pinout: pinoutguide.com/CarElectronics/hyundai_obd_2_pinout.shtml
|
||
- Hyundai CAN bus forum: hyundai-forums.com/threads/tapping-into-can-bus.160677/
|
||
- YT9218c CAN protocol (similar): xdaforums.com/t/yt9218c-8227l-steering-wheel-controls-and-canbus-hardware-support.3953011/
|
||
|
||
## TTS: VOICEVOX
|
||
- **VOICEVOX** selected for local TTS — runs on media server alongside Ollama
|
||
- GitHub: github.com/VOICEVOX/voicevox
|
||
- Different ports on same host as Ollama — fully local, no cloud TTS
|
||
- OpenClaw Assistant routes TTS through VOICEVOX API
|
||
|
||
## Status
|
||
- [x] Project file created
|
||
- [x] Confirmed: 2014 Hyundai Sonata Hybrid, HS CAN (pins 6/14)
|
||
- [x] Confirmed: Simplesoft HY-SS-04 decoder, 38400 baud 8N1 UART
|
||
- [x] TTS: VOICEVOX selected (local, runs on media server)
|
||
- [ ] Confirm head unit RAM size
|
||
- [ ] Enable ADB access
|
||
- [ ] Sideload OpenClaw Assistant
|
||
- [ ] Gateway connectivity test
|
||
- [ ] Wake word validation
|
||
- [ ] UART sniff decoder output (capture steering/speed/door bytes)
|
||
- [ ] Map byte sequences to physical signals
|
||
- [ ] Write OpenClaw skill for serial telemetry parsing
|
||
- [ ] Steering wheel button → OpenClaw wake
|
||
- [ ] CAN telemetry → voice integration
|
||
|
||
````
|
||
|
||
## Notes
|
||
<!-- openclaw:human:start -->
|
||
<!-- openclaw:human:end -->
|
||
|
||
## Related
|
||
<!-- openclaw:wiki:related:start -->
|
||
### Referenced By
|
||
|
||
- [README](sources/readme.md)
|
||
<!-- openclaw:wiki:related:end -->
|