# Hacking a Chinese Car Stereo to fulfill my Knight Rider dreams

January 21, 2026 4-minute read

“Vibe coding” has become my latest obsession. It’s that flow state where the tools disappear, and you’re just manipulating logic at the speed of thought. Usually, this happens in a high-end IDE like Antigravity. But lately, I’ve been trying to answer a childhood dream.

Growing up in China before the internet age, my window to the outside world was CCTV-6. Along with Baywatch, one of the first American TV shows I ever watched was Knight Rider. I don’t remember the exact plot lines, but the core concept stuck with me forever: KITT. A car that could talk, think, and do things for you.

Decades later, I’m sitting in my Jeep, wondering: Can I build my own KITT? Can I take the vibe on the road?

I already updated the head unit in my Jeep to an aftermarket unit. It features a K706 (UIS7862S) chipset with an 8-core CPU and 8GB of RAM, essentially making it a reasonably powerful Android tablet hardwired into the dashboard.

## The Objective Link to heading

Turn this car accessory into a legitimate dev environment. I wanted a physical keyboard, a real terminal, and access to my AI coding assistants. I wanted to push code while parked on a trail.

## The Hardware Blocker: Getting Input Link to heading

The first hurdle was mundane but blocking: My Bluetooth keyboard wouldn’t pair. The head unit could see other devices, but refused to connect to my keyboard.

### Attempt 1: The USB Dongle Bypass Link to heading

My first instinct was to blame the cheap Chinese head unit hardware. I grabbed a spare TP-Link USB Bluetooth dongle and plugged it in, hoping to bypass the internal stack entirely.

The device showed up in `lsusb`, but it remained inert. A quick check of the kernel config via `zcat /proc/config.gz` revealed the bad news:

    # CONFIG_BT is not set

The kernel was compiled without generic Bluetooth driver support (`btusb`). Even with root access, I couldn’t load the drivers because they simply didn’t exist in the firmware. I was stuck with the internal hardware.

### Attempt 2: The “Dual Bluetooth” Fix Link to heading

Forced back to the built-in Bluetooth, I tried to diagnose why it was ignoring my keyboard. Standard debugging tools painted a grim picture:

    ❯ hciconfig -a
    # (Empty output - no standard HCI interface found)

    ❯ ps -A | grep -iE "goc|ivt|syu"
    u0_a50 3456 ... com.goc.sdk  # Accessing the proprietary BT chip

The diagnosis was clear: The internal Bluetooth chip is acting in Slave Mode (Client), managed by a proprietary `com.goc.sdk` service instead of the standard Android Bluetooth stack. It’s designed to be a speaker for your phone, not to host a keyboard.

The Fix: Hidden deep in the Factory Settings (password `8888`), there’s a toggle called “Dual Bluetooth”. Enabling this flips the proprietary stack to expose a standard Host interface. Enable that, and suddenly my mechanical keyboard connected instantly.

## The Software: Termux + Claude Link to heading

With input sorted, the software setup was surprisingly straightforward. Termux was the obvious choice for a terminal.

I discovered that Claude Code works on Termux with zero hassle.

The setup was shockingly simple:

    pkg install nodejs git ripgrep
    npm install -g @anthropic-ai/claude-code

Authentication via `claude login` worked out of the box. Now, I have a fully capable coding agent running directly on my dashboard. I can pull a repo, ask Claude to refactor a module, and push the changes—all without opening a laptop.

## Key Insights Link to heading

- Head Units are just Weird Tablets: They have quirks (like Slave-only Bluetooth), but they are standard Android under the hood. `adb root` is your best friend for diagnosing them.
- Check the Kernel Config: Before buying hardware peripherals for embedded Android devices, always check `/proc/config.gz`. If the support isn’t compiled in, you’re dead in the water.
- The Vibe is Portable: With tools like Termux and Claude Code, the “dev environment” is no longer a heavy laptop. It’s anywhere you have a terminal.

## References Link to heading

1. Reddit: Claude Code on Termux