Episode 6 of 10 · 20 Sep 2026 · 6 min read
The day a motor listened to a fly
It moved in step with the fly. Then everything that could look broken did.
Real hardwareOne bare servo, then two. No leg yet.
Morning: one leg, on paper
By 20 September the fly had been walking on screen for a week, and the robot had a plan (Episode 5). That morning I told the team what the day was for:
“Today I’m starting to build one leg and a servo, so we can test how the wiring can send a signal to move the leg.”
Before touching any hardware, the team wrote the bridge: a small program that watches the fly’s left front leg and turns it into two angles. One for the hip, from how far forward or back the foot is. One for the knee, from how high the foot lifts.
It was tested with a pretend USB port first: 624 commands, not one error. By the afternoon it was ready, with nothing on the other end yet.
Evening: the first flash
Nothing was bought for this step. The servo, the thumb-sized computer, a battery holder with three AA batteries and a cable I’d soldered myself were already on the bench. The only new thing was the program on the little board, and it ran clean on its first upload.
At 22:14, one bare servo on my desk followed the fly’s hip, live and in step.
“Perfectly. It’s working!!”
Why it looked broken first
For a while before that it didn’t look like it worked at all, for two real reasons.
The first: there were two flies. The start-up script runs one fly on my Mac and another on my PC, with the same settings but separate clocks. The web page was showing one, and the motor was following the other.
The second: the bridge started in slow motion, eight times slower than the fly, and with no limit on how far behind it could fall. Every eight seconds of fly, the motor lost about seven. Setting it to real time fixed that.
The rule we kept: point the page and the bridge at the same fly, and read the name the bridge prints when it connects.
A guess, then the meter
Next came two MG90S servos, one for the hip and one for the knee. Before powering them, I was asked a question: with both moving, what will the batteries read?
“It would sag to 4.1 volts, I guess.”
The meter said 3.9. But the guess was better than it looks. I had worked from 4.87 volts, the batteries’ reading with nothing connected. With two servos plugged in and resting, they already sat at 4.7. The drop I expected was 0.77 volts; the real drop was 0.80. The idea was right; the starting number had moved.
Two servos pulled the batteries far below what a servo needs
3.9 volts is almost a volt below what these servos need. The battery holder was finished for this build that night.
The lazy servo
One of the two servos looked sluggish. The team explained it with a neat drawing: both servos share the same two wires, so they can’t see different voltages, so the difference must be in the commands.
“The difference you see is the COMMAND, not the volts.”
The test was simple: swap the two servos between their sockets. If the command is the cause, the sluggishness stays with the socket. If the servo is, it moves with the servo.
“It’s the servo.”
The weakness followed the servo. One of a cheap pair was simply weaker, and the low batteries made it show. Later that night one socket looked dead too, but that was the safety rule below, not the socket. What’s still open is whether the weaker servo copes once it gets a proper 5 volts.
Snapping back
Last job of the night: measure how far each joint can safely turn, using a small keyboard tool. Press a key, the servo moves. Half a second later, it snapped back to the middle.
It was the safety rule doing its job. The tool only spoke when a key was pressed, and people think slower than half a second. The fix was a heartbeat: the tool now repeats the last command five times a second.
Every range number taken before the fix was thrown away. The numbers on the screen had kept climbing the whole time, because they were what the tool had asked for, not where the servo was.
When something looks broken, first check you’re watching the same fly. Then swap parts instead of arguing.
A week later the whole printed leg moved with the fly. That’s Episode 9.