Found that you can actually run a 35B Qwen model on a Pi with very impressive intelligence and stability. Built connectors for car ODB to read all about car internals, and manufacturer's cloud service for stuff like changing AC or opening/ locking doors. Gave it info such as the full car manual. And then hooked it up with my other agents in our discussion room!
So now it can answer car questions such as "when should I add oil and what kind of oil?" and help you fully offline, and when online talk with the agent family that includes all the most powerful models so they know how the car is, plan new features and develop itself with them.
For example, if car breaks and can't move the car agent informs my agent family and they can already look for a suitable train ticket without me needing to check things or do something.
Qwen 4B and 9B should be faster and better reasoning than Gemma 4 E4B. Other good options for that much RAM are Gemma 4 12b and 31b. Gemma 4 E4B would be better for native audio, but OP is using Whisper for STT so prob doesn't matter
The 12B and 31B models will be useless on a Pi 5; maybe the 12B can be persuaded to run, but it may not manage more than one token per second. It only manages 17GB/s memory bandwidth (I have seen a suggestion that the 4GB model manages more).
But yes — some sort of small reasoning-oriented model (Ornith?) seems a better candidate than Qwen 35B.
(Don't get me wrong, I think the 35B model is ace… just seems like at least an unusual choice here)
Qwen3.5-4B would be a good (better?) candidate. It uses a gated, deltanet hybrid, so your KV cache stays nearly flat as context grows, important for RAM-constrained environments like the Pi.
You get a bluetooth device that plugs into the odb port, or a patch cord that you connect to your raspberry pi. There are fancier ones with more features, that can do more than just report signals like watch for certain signals or changes.
I'm currently integrating one for simple diagnostic readouts to integrated small touchscreen. The main goal being a retro looking display that mainly dumps ODB data/monitors, but also reads maps data to show a "waypointer" a la crazy taxi. (This is proving difficult)
Respectfully, I don't think this is....real?
-I mean, getting the absolute basic bits like diag codes converted from the odb 2 data to some program w/ a graphic interface is about as far as people get, if they can get passed the power and power on/off conundrums.
-If you get that far, How in the lord's name did you manage to seemingly....MITM the vehicles cloud service (climate/locks/remote start) using raspian or whatever? IE; how are you able to establish a TLS connection (yeah, like that lingo?) from the raspberry to the manufacturer API? I think the manufacturer would be interested, as you have functionaley made another key to the car.
-A more important question....what purpose does this serve? IE; the cloud connection/controller is in the car. I can't imagine it's easier to connect to the rasp shell (is it on 24/7?) to connect to the car app to turn on the ac.
- I assume you have one of the "big boy" ones with more WAM. THat said.....are you implying by saying "the pie can actually run qwen" that you are running it locally? if so.....erm...I need reciepts. Cuz idk what that even means nowadays.
Maybe i'm just jaded because my "crazy, crazy taxi style waymarker + ODB2" monitor isn't progressing, but this is...fishy
I've had many drives with the carwatch and the list of verified features is long. Today we tested manufacturer cloud integration for lots of data and e g door locking through it. V0.3 came out today, progress is rapid.
I have no idea on OP, but as far as a waypointer, have been in the area of building bespoke automotive telemetry solutions for a while now (including reversing some existing tools), I would wager that something like the Freematics One+ could do it easily if you combine the IMU with the GPS data (I've managed to get good data for something similar this way). The Freematics dongle does suck in comparison to even the now gone STN2120 as it artificially bottlenecks PID data retrieval on the CAN by the boneheaded design of the STM32 coprocessor firmware, but it probably would work well for your use case.
EDIT: I've actually got a couple cars with the One+ B, doing that sort analysis/data capture, so speaking from actual experience here.
Yes Qwen runs local. Manufacturer cloud workw via existing integrations (they have many) in Home Assistant. The Pi makes a secure tunnel to my home assistant running on a Mac mini at home, and then reads data and gives commands like the manufacturer's mobile app does.
It's all in the repo and this feature has been proven on several test drives, feel free to check it out. What would be great if you can add your cars cloud to your HA and use it with CarWatch, so we could have expand device coverage. I have only 2 cars and they are both MB - the nice thing is you can view both cars on CarWatch, one just does not have OBD port on :)
You could hook it up with different tools, like real time information:
Oil + GPS + Web Search --> "LLM > You have 50 Km of autonomy. You can go today to this cheaper oil station, at 20 km, on your GPS road, instead of the one near your home. The one at 10Km is closed as well due to a local strike, I will avoid it too"
You can of course script all the scenarios + only use a TTS model. However, when plugging different systems together, I feel that it's the sweet spot where LLM is shining --> no need to pre-plan every scenarios that the user will ask, it can be done on the fly
Fair warning, I have found local models and frontier models to be very bad at the specifics when it comes to cars.
Small differences like month and year model can impact oil capacity, oil weight and things like that, the details that matter quite a bit.
But I found frontier models couldn't even get things like what engine was in a 1994 Nissan Skyline, one of the more infamous and talked about cars on internet forums for decades, with dedicated fan databases that would have been scraped.
Questions like "what air filter do I need for my 1994 Suzuki Swift?" are hit and miss.
> This seems to be trained(? or referencing) on the specific cars' owner's manual.
OEM maintenance recommendations and part numbers can change making the manual inaccurate. Ex: GM switched their recommended oil[1] for LT1 motors (Corvette and Camaro) along with the part number for the oil filter[2]. They can also sometimes be thoroughly confusing and full of meaningless buzzwords[3]
Yeah referencing is the way to go, as even finetuning probably captures style more than concrete facts. I know with large context windows we don't really RAG anymore, but for owner's manual lookup with a smaller model it seems ideal.
Something every LLM user ends up learning is that they're far better used as search and summarization tools than as knowledge databases in themselves.
Just a few hours ago I gave ChatGPT my window sticker and the installation manual for a new suspension setup. I asked for new hardware that would typically be replaced during this install, like torque-to-yield bolts and fasteners. I also asked for new oil filters. I got a comprehensive grid of the exact part numbers needed in a nice dense table. sol 5.6 high is my daily driver.
So far so good, hasn’t failed me yet. It’s done a stellar job chasing down parts for my cub cadet lawn mower too. Sorted out mid year model revisions and everything. I just gave it the sticker under the seat.
For prompts that needs fact-checking, I like these days to use Perplexity directly instead these days. It's way faster than the default websearch tool + give a link to the reference directly.
The setup here would be that your Sol would talk with CarWatch asking about the state of different car parts, service indicators and CarWatch would give a prioritized replacement list, and Sol could explore the detailed setup of your current car so the new suspension would be configured best. They could both ask you for more info on what type of driving you're planning.
So local and cloud agents figuring out the best solution together with none of your time needed.
I've been very impressed by it's intelligence and lack of hallucinations. The dynamic Q3 is a good balance between accuracy and size keeping the 35B just below 16 GB. It is not supposed to know everything, it is your car. It actively disengages from off topic chatter (too slow for that anyway), better spend that time feeling the car.
It keeps itself grounded on sensor input. One principle per wheel. assert only what you can sense, claim only what is verified, label anything interim loudly, and report failure plainly with no silver lining. Everything above those four patches is just suspension.
> . The dynamic Q3 is a good balance between accuracy and size keeping
I'm having a hard time understanding how you find any sort of accuracy in Q3, when I use it with BF16 and it's hardly usable due to drastic hallucinations and inability for system prompt following. But, if it works for you, that's pretty good! Guess I'm jealous :)
Yes, I'd love to! How? haha I'm robdel12 on pretty much everything (twitter, github, threads). Personal site w/email link https://robertdelu.ca/ I'd rather not put my email out here :p
It's unfortunate that a 16GB raspberry pi is so incredibly expensive now. Fascinating how we've scope creeped over the years from the original $30 or $35 raspberry pi SBC to this.
You can buy a pi 4 1GB for $49 CAD which is pretty close to the original price, especially accounting for USD:CAD conversion and inflation in the last 12 years. That's a much more normal price for something with all the I/O pins of a raspberry pi. I would never in my life even think of trying to run a LLM of that size on one (spending $300+ on the board just to do so), it's really just a weird use...
If the agent could read info like the manual and had a memory system logging vehicle operation data, this seems like it would get pretty useful over time
What's the point in having it use an offline LLM if it still requires an internet connection to send all your chat messages through the "Groupmind" paid service?
Seems like the real purpose of this project was to plug Groupmind and whatever else the author made.
You can chat with it offline, it serves a dashboard and a chat interface. Carwatch is all open source and free.
Groupmind.one is a free service where you can have a private room or many to work with your multiagent team. I made an app for Play Store called CodeWatch which gets you in your room with native smartwatch and android apps, so you can do all your dev work from the watch by speaking, tapping approve and also merging GitHub PRs. Actually I didn't put a price on that either - it's approved and online but I have a better version whose review process still on. Anyway the watch and eink apps are pretty cool and ofc I use them constantly myself so could charge like $3 per month at some point.
But you can make your own discussion rooms too, I made an IDE agent kit on GH that let's your agent talk via many routes, like locally stored files.
But yeah obviously I'm plugging my stuff as I'm so excited by it. I never thought a soapbox sized raspberry could sound like an intelligent and reasonable... car. I see a future that everyone's agents create together with humans. Make one yourself,customize to your style and let's get them talking. amazing time we are living!
Maybe it's different in the People's Republic of Europe or wherever, but either that's a translation error or I don't understand, but I would be interested to see how quickly the EPA gets mad when Claude tells you to recover your R134a to the atmosphere.
Greetings from the republic.. yeah I part time live in Berlin where we had 41'C (that is like 106 F ?) end of June, and have been watching them reconsider their attitude to AC.
Anyway here I meant activating heating / cooling before you step in the car, as determined by your agent family who understand you well and not requiring any "AC on!" commands from you. i live in Finland and preheating is very useful in the winter
I think you should provide better use case scenarios that make clear why this project is useful.
I can already change AC and lock doors with two buttons, why it should be better to do it by voice? Pressing those buttons is way faster.
I guess the manual RAG is useful, what I am saying is that use cases aren't clear from your post or README. As it is, one reads it as "cool, LLM in a car", and skips it.
At one point, every machine on earth is going to be its own agent, asking and answering questions and expressing concerns. Its like a good example of that, but I think the utility of it needs to be clear, by making some action a lot more convenient or even better, by solving a structural impossibility - what is it that you can do with an agent mounted in a car that you otherwise can't? That seems like a much stronger use case to me.
- People that didn't read the manual (actually almost all of us), like: explain a warning signal
- Or integrate different systems together:
`I saw that on your GPS you want to go to this place, but in 2 hours it will be snowing heavily there. Please remember to bring your snow chains'
Exactly right! Yes now adding use cases where you actually need an agent in the car. Proactively informing the agent team about car status and them performing follow up actions based on my schedule and preferences too is one basic set up where an agent is needed.
78 comments
[ 0.26 ms ] story [ 39.9 ms ] threadSo now it can answer car questions such as "when should I add oil and what kind of oil?" and help you fully offline, and when online talk with the agent family that includes all the most powerful models so they know how the car is, plan new features and develop itself with them.
For example, if car breaks and can't move the car agent informs my agent family and they can already look for a suitable train ticket without me needing to check things or do something.
I guess it is only 3B active which helps a lot but is Gemma 4 E4B not more practical?
The 12B and 31B models will be useless on a Pi 5; maybe the 12B can be persuaded to run, but it may not manage more than one token per second. It only manages 17GB/s memory bandwidth (I have seen a suggestion that the 4GB model manages more).
But yes — some sort of small reasoning-oriented model (Ornith?) seems a better candidate than Qwen 35B.
(Don't get me wrong, I think the 35B model is ace… just seems like at least an unusual choice here)
It was a very tight fit!
https://www.amazon.com/s?k=obd+bluetooth+adapter
Respectfully, I don't think this is....real?
-I mean, getting the absolute basic bits like diag codes converted from the odb 2 data to some program w/ a graphic interface is about as far as people get, if they can get passed the power and power on/off conundrums.
-If you get that far, How in the lord's name did you manage to seemingly....MITM the vehicles cloud service (climate/locks/remote start) using raspian or whatever? IE; how are you able to establish a TLS connection (yeah, like that lingo?) from the raspberry to the manufacturer API? I think the manufacturer would be interested, as you have functionaley made another key to the car.
-A more important question....what purpose does this serve? IE; the cloud connection/controller is in the car. I can't imagine it's easier to connect to the rasp shell (is it on 24/7?) to connect to the car app to turn on the ac.
- I assume you have one of the "big boy" ones with more WAM. THat said.....are you implying by saying "the pie can actually run qwen" that you are running it locally? if so.....erm...I need reciepts. Cuz idk what that even means nowadays.
Maybe i'm just jaded because my "crazy, crazy taxi style waymarker + ODB2" monitor isn't progressing, but this is...fishy
"""
Unverified against the real car — it will confirm or refute itself on the next drive
"""
Looks like a ton of this is aspirational.
For your project -- do you really need the car's GPS positioning? Could go with a dedicated GPS antenna, like the freematics dongle
EDIT: I've actually got a couple cars with the One+ B, doing that sort analysis/data capture, so speaking from actual experience here.
It's all in the repo and this feature has been proven on several test drives, feel free to check it out. What would be great if you can add your cars cloud to your HA and use it with CarWatch, so we could have expand device coverage. I have only 2 cars and they are both MB - the nice thing is you can view both cars on CarWatch, one just does not have OBD port on :)
the Mermaid diagram doesn't even render.
Why does it need to be hooked up to the car for you to ask it which type of engine oil the manual recommends?
What is the point?
Oil + GPS + Web Search --> "LLM > You have 50 Km of autonomy. You can go today to this cheaper oil station, at 20 km, on your GPS road, instead of the one near your home. The one at 10Km is closed as well due to a local strike, I will avoid it too"
You can of course script all the scenarios + only use a TTS model. However, when plugging different systems together, I feel that it's the sweet spot where LLM is shining --> no need to pre-plan every scenarios that the user will ask, it can be done on the fly
Small differences like month and year model can impact oil capacity, oil weight and things like that, the details that matter quite a bit.
But I found frontier models couldn't even get things like what engine was in a 1994 Nissan Skyline, one of the more infamous and talked about cars on internet forums for decades, with dedicated fan databases that would have been scraped.
Questions like "what air filter do I need for my 1994 Suzuki Swift?" are hit and miss.
OEM maintenance recommendations and part numbers can change making the manual inaccurate. Ex: GM switched their recommended oil[1] for LT1 motors (Corvette and Camaro) along with the part number for the oil filter[2]. They can also sometimes be thoroughly confusing and full of meaningless buzzwords[3]
[1] https://www.corvetteactioncenter.com/tech/knowledgebase/arti...
[2] https://www.corvetteactioncenter.com/tech/knowledgebase/arti...
[3] https://bobistheoilguy.com/forums/threads/6th-gen-camaro-lt1...
Something every LLM user ends up learning is that they're far better used as search and summarization tools than as knowledge databases in themselves.
Mine, too.
Did you fact-check the output?
I've found the bot to be particularly bad at stuff like producing accurate lists of parts to replace during automotive projects.
That car is a ridiculously-common Honda Odyssey with an engine that is even more-common.
I do sincerely wish you good luck with your suspension project.
So local and cloud agents figuring out the best solution together with none of your time needed.
It keeps itself grounded on sensor input. One principle per wheel. assert only what you can sense, claim only what is verified, label anything interim loudly, and report failure plainly with no silver lining. Everything above those four patches is just suspension.
I'm having a hard time understanding how you find any sort of accuracy in Q3, when I use it with BF16 and it's hardly usable due to drastic hallucinations and inability for system prompt following. But, if it works for you, that's pretty good! Guess I'm jealous :)
I wouldn't fully trust LLMs with this :p BUT this project is still really freaking sweet.
Any/all work!
Release 0.3 out today!
https://www.adafruit.com/product/1914?src=raspberrypi
Seems like the real purpose of this project was to plug Groupmind and whatever else the author made.
[1] https://github.com/ThinkOffApp/CarWatch#local-vs-online-the-...
Groupmind.one is a free service where you can have a private room or many to work with your multiagent team. I made an app for Play Store called CodeWatch which gets you in your room with native smartwatch and android apps, so you can do all your dev work from the watch by speaking, tapping approve and also merging GitHub PRs. Actually I didn't put a price on that either - it's approved and online but I have a better version whose review process still on. Anyway the watch and eink apps are pretty cool and ofc I use them constantly myself so could charge like $3 per month at some point.
But you can make your own discussion rooms too, I made an IDE agent kit on GH that let's your agent talk via many routes, like locally stored files.
But yeah obviously I'm plugging my stuff as I'm so excited by it. I never thought a soapbox sized raspberry could sound like an intelligent and reasonable... car. I see a future that everyone's agents create together with humans. Make one yourself,customize to your style and let's get them talking. amazing time we are living!
Maybe it's different in the People's Republic of Europe or wherever, but either that's a translation error or I don't understand, but I would be interested to see how quickly the EPA gets mad when Claude tells you to recover your R134a to the atmosphere.
Anyway here I meant activating heating / cooling before you step in the car, as determined by your agent family who understand you well and not requiring any "AC on!" commands from you. i live in Finland and preheating is very useful in the winter
I can already change AC and lock doors with two buttons, why it should be better to do it by voice? Pressing those buttons is way faster.
I guess the manual RAG is useful, what I am saying is that use cases aren't clear from your post or README. As it is, one reads it as "cool, LLM in a car", and skips it.
Prove it.
- People that didn't read the manual (actually almost all of us), like: explain a warning signal
- Or integrate different systems together: `I saw that on your GPS you want to go to this place, but in 2 hours it will be snowing heavily there. Please remember to bring your snow chains'
Video from today:
https://x.com/petruspennanen/status/2093404279000141869