Hacks & Buildsrobotsaiopen-sourcehardware
Bot Reborn Gives a $4 Silverlit Toy Robot 200 ms Reflexes With a 0.8B Qwen Model That Picks a Move Instead of Writing a Word
A maker wired a 29.87-yuan Silverlit Maze Breaker to an FT232H and an Android phone, then put a fine-tuned Qwen3.5-0.8B decision model in front of the chat model. It scores six moves, acts only above 0.8, and answers in 203 to 220 ms on a Mac mini.

“I said ‘back up’, and the robot backed up right away — too fast,” the builder, who goes by beasaltfish, wrote in the post about its reflexes. “The phone on its back is heavy, the center of gravity shifted, and the whole thing went over.”
That robot started as a Silverlit Maze Breaker, a line-following toy bought on Xianyu, a Chinese marketplace app, “for 29.87 yuan — about $4,” according to the build story. “At 30 yuan, breaking it wouldn’t hurt.” The idea came from Mario Zechner’s “How to build a shitty robot”, and the route is his: cut the toy’s own chip out of the loop, run four wires from an FT232H board to the motor driver and steering coil, and let a phone in Chrome flip those pins over WebUSB. The phone listens, plays sound and shows a face. A Node server on a computer on the same Wi-Fi does the thinking.
Thinking is the slow part. Every sentence used to go microphone, speech-to-text, chat model, text-to-speech, motor. That’s fine when a kid asks a science question during homework. It’s useless for driving. “By the time you say ‘stop’, the car is already moving,” he writes. “If it has to wait for the chat model to finish thinking, it has already hit the table leg.”
So he put a decision model in front of the chat model. It gets the robot’s last line, the person’s line, and one multiple-choice question: is the person telling the robot to make one simple move it can carry out right away? The answers are stop, forward, backward, left, right, keep_going and pass. The model “doesn’t write a word; it just tells you the probability of each answer.”
He trained it by following Unsloth’s decision-model guide on Qwen3.5-0.8B: LoRA, 60 steps, 490 training rows and 164 test rows. “The whole run took about half an hour on a free Google Colab GPU and cost nothing.” The phrase bank was distilled with Claude Code, and pass is deliberately the biggest class, stuffed with lines like “I can’t stop laughing” and “i turned left at the light today.” The model and its dataset are public.
It scores 86.6%, 142 of 164. On a Mac mini M4, the server log shows 3.6 seconds for the first call while the model loads, then 203 to 220 ms for every request after it. That clock runs from transcript to move and doesn’t count the speech-to-text in front of it. The ESP32 firmware for a lighter body is written but, in his words, “not yet on the car.”
The pattern here is going to show up in a lot more than toy cars. Anything with a voice front end and a physical consequence (a smart lock, a garage door, a robot vacuum heading for the stairs) has the same two-speed problem, and a tiny local model answering multiple choice is a cheap first line in front of the expensive one. The rule that makes it safe is boring, too: when unsure, hand off. What isn’t solved yet is the body. The phone that made all of this easy is the thing knocking it over, and the next build swaps it for a board that costs a few dollars.