| Property | Value |
|---|---|
| SoC / board | Freescale i.MX6 Dual/Quad, SABRE-SD (sabresd_6dq, model SABRESD-MX6DQ) |
| OS | Android 4.4.2 KitKat (API 19) |
| ABI | armeabi-v7a (apps need minSdk ≤ 19, no arm64/x86 native libs) |
| Kernel | ~3.0.35, board-file based — no device tree |
| Root | Rooted (SuperSU + exploit apps). ro.adb.secure=0 |
| Vendor apps | com.adayo.*, com.haoke.*; launcher com.adayo.ui.launcher |
| Display outputs | 2 video outputs (LVDS + HDMI) driving 4 physical dash panels |
| Companion MCU | UART /dev/ttymxc3 @115200 — bridges to the vehicle CAN bus |
| Cellular | Quectel LTE module inside the TBox (not driven by Android) |
The head unit runs the infotainment UI only. Anything safety- or vehicle-related goes through the companion MCU (see canbus) or the TBox (see connectivity).
A value is broadcast on the CAN bus, picked up by the RL78 MCU, and passed over UART to Android, where an app reads it. State-of-Charge, for example: BMS → CAN → MCU → UART → Android → MQTT (see CAN bus and the signal reference).
Commands travel the other way — Android → MCU → CAN — which is how, for instance, the A/C is switched on.