Dellie The Lab

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.

The simulated fruit fly walking on a pale floor towards a drop of sugar, seen from the side, with a small window showing his brain and nerve cord lit up
Simulation · the fly on screenHe walks, and a small program watches one of his six legs: the left front one. Everything in this episode starts there.

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.”

Denis, to the team · 20 Sep, 12:52 (lightly tidied)

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!!”

Denis, to the team · 20 Sep, 22:14 (lightly tidied)

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.

Fly on the MacThe web page I watched
Fly on the PCThe bridgeThe servo on my desk
Drawing · what was really runningSame settings, two different animals. The page and the motor were never watching the same fly.

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.”

Denis, to the team · 20 Sep, 22:36 (lightly tidied)

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

Volts at the battery holder

Nothing connected4.87
Two servos, resting4.70
One servo moving4.20
Both moving3.90
What an MG90S needs4.80
Chart · measured with a multimeterThe bars start at 3.5 volts. The first reading is from 5 September, the rest from the night of 20 September.

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.”

Drawing · the AI’s explanation, redrawn, 20 Sep, 22:46Both servos hang on the same two wires, so the AI concluded the difference had to be the commands. Confident, tidy, and wrong about the cause. Two minutes later a swap proved it.

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.”

Denis, to the team · 20 Sep, 22:49 (lightly tidied)

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.