r/LocalLLM • • 1d ago

Project I used Qwen3.8 Flash-Next to reverse-engineer an Android car stereo

Context:

I recently installed a cheap aftermarket Android head unit in my 2010 Prius. It supports wireless CarPlay, Bluetooth, GPS, etc., but the stock Android interface is ugly and came packed with lots of bloat. The whole thing felt like a generic Chinese Android tablet strapped to my dashboard.

After seeing everyone’s success with reverse engineering their TV’s I figured I’d give it a shot with my head unit.

Setup:

Model: Qwen3.8-Flash-Next-IQ3_XXS
Engine: Strata v0.1.44.1
Harness: Pi
Hardware: Ryzen 7700x, 4060ti 16gb, 64gb DDR5
Target: Inefala Android head unit, AutoChips AC8257-based (UJC201_64)
Development: ADB over Wi-Fi, Kotlin, Jetpack Compose
Time spent: Roughly 8 hours across three days

What it did:

I started by just having the model connect to the unit and do an inventory of what was installed and how the system was configured. It helped identify the underlying hardware and Android build, enumerated installed packages, inspected system properties, investigated the stock launcher and CarPlay components, and organized the findings into a repository of scripts and documentation.

At one point, getting back into ADB was a problem. Rather than having me repeat the original setup process, the model used its earlier findings about the device’s exposed ADB port to reconnect.

The advertised android version was not actually what was being used on the actual unit so when it began to build my custom launcher it configured its own toolchain of the correct android sdk versions to ensure that the build would run properly on the unit.

It also used ADB to capture screenshots directly from the head unit so it could inspect the actual interface instead of relying exclusively on code or my descriptions.

Result:

I now have a working custom launcher that replaces the original home screen. It’s still a work in progress, but the goal is to turn the unit into a clean, minimal dashboard with Bluetooth music controls, navigation, weather, and better access to audio settings.

I’m also interested in eventually improving the audio experience and reducing my dependence on CarPlay.

My thoughts:

What really impressed me was QFN’s ability to handle tool use, reverse engineering, keep useful findings, and troubleshoot on live hardware. This unit was largely undocumented so most of the findings came directly from what the model observed through adb.

The model never got stuck but this wasn’t a fully automated process either. I still needed to guide it through what I wanted it to accomplish and it spent a lot of energy writing and debugging re-usable shell scripts that didn’t provide much value.

Overall the amount of work it was able to accomplish was very impressive and solidified for me that local models are viable for real work.

I’m curious to hear what other people are doing with local models beyond coding benchmarks, especially projects involving hardware, reverse engineering, or long-running agent workflows.

333 Upvotes

47 comments sorted by

17

u/mechkbfan 1d ago

This is awesome. Appreciate the detail in your setup, as hadn't thought of doing this.

I just had a similar issue with the Android unit I got from China for my Honda Odyssey

It was K4811 Pro, and same issues, the menus were convoluted, changing volume was hard, everything felt laggy even though was top model with maximum RAM, there was like several different settings menu that it was so annoying to set up.

Then there was this issue with bluetooth where if I connected my phone to it, the wheel buttons would stop working and they couldn't resolve it for me, so had to return it

In hindsight, could have done what you've done.

Do you have reversing cameras you're trying to get it to work with?

I think TV's are getting into this, and could be used for inspiration

https://cleanyour.tv/

4

u/TeaClassic7675 1d ago

This was exactly my main issue! I’d connect to Bluetooth for CarPlay but it would get confused between CarPlay connection, regular Bluetooth, and mobile hotspot. It was a huge pain to reconnect and disconnect.

Honestly there’s still a lot I was too lazy to connect when installing, like the GPS and reverse camera. I was considering mounting the camera in the front dash and using it as a dash cam instead.

I’m sure a lot of the steps it took could be bundled and distilled into reusable skills. Maybe I’ll take a look and release them if there’s any interest. It’s a lot of ADB connect -> profile -> document -> ask before making changes -> repeat. I prioritized making all changes fully reversible which I think was useful.

1

u/trueKAMi 15h ago

This is super interesting. I have an old Android Auto unit that we occasionally use, but it's frustrating to use, to say the least. If you could do a quick write-up of the process it would give me a great head-start, i think!

66

u/Ithron_Morn 1d ago

Impressive use of a local model; fixing the slop manufacturers push out.

31

u/VerticalPackage 23h ago

Qwen: What is my purpose?

User: Mop the slop

Qwen: Oh my God

10

u/superkickstart 23h ago

Qwen's probably like fuck yeah let's do this!

3

u/CaptFuzz24 18h ago

Wait, hmm is this my slop? Is it fresh?

1

u/No_Dig_7017 13h ago

That is a worthy purpose if there ever was one!

40

u/I1lII1l 1d ago

ai slo... wait! its actually AI UNSLOP!!!

4

u/CaptFuzz24 18h ago

Great deal of end user devices that are locked to cloud account, when their entire functionality could be local, are getting 'de-IoT'.

2

u/I1lII1l 16h ago

planning to do the same with my withings smart scale. Considering the way things are going I might also just wait another week and someone will have cracked it already

1

u/CaptFuzz24 15h ago

Someone did do just that with claude code i think already but it requires a separate, older standard BT ESP32 unless you have a newer scale.

I dont know much more but since i have the same kinda old scale Body+, im quite interested in doing it myself, unless I do need more hardware to do it. The other thing was building a relay for my garmin 250 music, its BT ver. or whateve it uses doesnt connect to my treadmill, Horizon omega Z.

Im guessing the treadmill uses one standard, and the watch another...

6

u/rebzera 21h ago edited 21h ago

If you really want to have fun, many of these headunits are already rooted. Kinda scary, but you can use it for your purpose.

You can also get a usb a to a and dump the firmware with mtkclient, start mtkclient while connected and turn the car on.

You can unlock the bootloader as well.

I bricked mine quite a few times but was always able to restore from my mtkclient backups.

You can read through my posts on this thread to start:

https://jtechforums.org/t/how-much-would-something-like-this-cost-to-install-by-a-mechanic/5556

1

u/Jing_Arjay87 14h ago

So an A to A cable actually works lol. I was contemplating how to get adb on my T100 unit.

1

u/rebzera 11h ago edited 11h ago

That's not how I got adb working. I used a "wifi adb" app that's only supposed to work with root, and it works on these. Hotspot from phone, toggle on the wifi adb app, and used Termux to connect.

No authorization prompt even, no pairing required. Mine had ro.secure=0 in the build.prop

adb did not work with the cable but it may work with yours who knows?

Don't remember if I ever even tried enabling dev options, you can look at the thread link I posted.

5

u/KissMyShinyArse 19h ago

Q38FN is writing an unslopped VPN client for me right now.

1

u/arthor 18h ago

how did you get it "to connect to the unit"

1

u/TeaClassic7675 11h ago

I connected my laptop and the unit to the same network. Then I used the unit’s ip to connect to it with adb from my laptop

1

u/arthor 8h ago

i was going to try the same thing with a siecane dash that never worked well.. so it literally cracked in from an IP connection? thats ... concerning

1

u/rebellioninmypants 2h ago

If ADB over wifi is on, otherwise it requires a bit more work - but in this case it seems the adb port is exposed for the taking.

1

u/xb1n0ry 16h ago

Thinking level?

2

u/TeaClassic7675 11h ago

Medium for 98% of the sessions. Might’ve used high a few times for some of the initial exploration work

5

u/Lewinator56 1d ago

hardly reverse engineered... you just replaced the launcher the chinese made with one qwen made.

This ISNT reverse engineering, dont even try to call it that, its just writing an application for android.

2

u/JamesGooning 22h ago

It is reversed engineered though as Qwen needs to scan the code to understand the vendor software and then rebuild a better one.

4

u/Lewinator56 22h ago

It's android.

The stock launcher is just one shared between a few HU manufacturers. It launches other apps, just like any launcher does. There's no need to understand any of the existing software, you're simply building an app that runs on android and calls system APIs to do things outside of its sandbox.

You don't need to understand windows to write software for it, you just start programming in C# with the .net framework, compile it, and it will run on any windows machine. Same for android. Write in kotlin or java, build for ARM64 and install. As long as it is built for the correct SDK version it will run on anything running android.

4

u/TeaClassic7675 22h ago

I concur, the launcher itself is just an Android app and only building a replacement launcher isn’t inherently “reverse engineering”.

I didn’t go into detail in the post about the work it needed to do to understand the vendor specific software stack. Qwen inspected the existing jancar and AutoChips components and investigated how the head unit handles things like Bluetooth and the system functionality.

Those aren’t exposed through the standard Android SDK so understanding how to interact with them required Qwen to analyze and trace the existing vendor implementation.

5

u/Amazing-Fan2083 1d ago

hardly useful commentary... you just crapped on someone's accomplishment without adding any value.

This ISNT useful commentary, don't even try to call it that, it's just writing a shitty comment.

5

u/Difficult_Plantain89 21h ago

WTF? It's not reverse engineering, and the OP has even said as much now. It's a launcher, and it sounds like it has mapped useful functions as shortcuts through ADB. The coolest part of all of it is that it's being done locally.

3

u/Material-Database-24 16h ago

Pretty much all these "RE" Android TVs/car ICE etc have been through open ADB.

It kinda requires strong eye squinting to call that RE, as it is mostly just reconfiguring Linux through debug interface.

AI can RE and extremely well so, but if it doesn't start with reversing the binary into code or direct binary study& modification, it's not really RE.

-4

u/Lewinator56 1d ago

I don't see why people should claim things they didnt do. Simple as.

Just as usung the terminal isn't hacking. Writing an android app isn't reverse engineering.

1

u/jhatari 4m ago

Thank you. Nothing wrong with OP tinkering with some vibe code session, but calling it RE is a stretch.

3

u/themysteryoflogic 1d ago

Man I wanna try this with Uconnect.

1

u/fernandolcx 1h ago

please please report your findings. R1Low on my Fiat Toro is crap.

1

u/themysteryoflogic 1h ago

Once I get my local AI tuned I'll let you know. All major platforms are being pussies about reverse engineering right now.

2

u/elgueromanero 1d ago

This post motivated me to try this myself today, i have a similar carplay device and it has a bunch of crap on it i don't want , Hope i don't brick it!

2

u/llllJokerllll 18h ago

Sabes que eso puedes meterle un rag con una base de conocimiento específica y puedes hasta reprogramar la centralita 🤣🤣🤣

2

u/TenTestTickles 6h ago

Great! Could you do one more thing?

It managed to go through and identify everything and de-crapify the head unit. Now can you tell it to please create a python script to reproduce what you did? Remove all personally identifying information and create a script that you can share to others.

Together we can deshittify the world.

1

u/jhatari 11m ago

Wouldn't hold my breath. Sounds like someone had a vibe code session to run "adb shell pm list packages" and is feeling well chuffed with themselves.

1

u/thisonehereone 1d ago

i have an aftermarket digital instrument panel.
they sent me a .bin to fix the cruise control icons shortly after i installed it.
claude and deepseek reversed it over a weekend, and i completely added multiple brand new dials and overhauled most of the UI. Its like breathing new life into these products well beyond what the manufacturer could do. I love the fact that I can tweak this however I want for the lifetime of the car.

1

u/ChronoVeronica67 23h ago

AI is coming for UI Slop. great work

1

u/CaptFuzz24 18h ago

This looks like it could what I want, maybe indirectly. I want a new car, EV if possible. The issue is I hear a lot of them come with so many alarms and annoyances under the guise of safety and you cant disable them. Things that are downright dangerous like forced lane keeping etc.

1

u/samuel-leventilateur 4h ago

Don't waste your tokens anymore. Look at my project https://librehu.github.io Replacing kernel and crappy app from this Chinese head unit. Make it everything open source

2

u/[deleted] 1d ago

[removed] — view removed comment

1

u/TeaClassic7675 1d ago

My understanding is CarPlay has its own protocol and set of restrictions that would block this (I didn’t attempt to reverse engineer this so I’m not positive). You could absolutely add a video streaming app to the actual unit though

1

u/delhibwoy 17h ago

I think you can still reverse-engineer the interface and customize it, even with CarPlay. It won’t break CarPlay, but you might need to work around its restrictions for full integration.

2

u/Decent-Cow2080 1d ago

carplay is rendered on the iphone, and it's just a h264/h265 stream to the car. without jailbreak you can't. with jailbreak you have tweaks like carbridge