Something's Burning. When Your Servo Smells like Failure.

Something's Burning. When Your Servo Smells like Failure.

A servo
A servo

What you need to move a little Detour flag: a servo. It's a small motor-like device with a shaft.

Often there's a horn or arm on the shaft: something like this: 

Girl in a jacket

This kind of servo is not to be confused with Tom Servo, of MST3K fame, or maybe it is, a little. 

Tom Servo

The first time you try to send a servo a signal, sitting at a long table in Cambridge Hackspace, a big guy working across from you raises his head, sniffs loudly, dramatically, and says, "Smells like failure. Something's burning."

You look down. It's your servo.

But that's getting ahead of the story.

A servo, as mentioned earlier, can be positioned by sending it a coded signal ("coded signal" sounds much better than just "code.")

Change the coded signal, and the angular position of the shaft changes.

Servos are common in robots, in radio-controlled cars, in animatronic puppets, and in a whole mess of other mechanical devices.

A servo is a simple machine: it consists, basically, of a DC motor, a gear train, a potentiometer, an integrated circuit, and an output shaft.

Of the three wires that stick out from the motor casing, one is for power, one is for ground, and one is a control input line.

Here's how your servo arrived.

As your smoking servo demonstrated, controlling a servo is not easy. It's difficult to figure out what exact code will cause the servo to rotate the exact amount you want it to. Part of the problem: the documentation can be sketchy. Much of it reads like it's been poorly translated from the Chinese, because it has.

Before your project started smoking you were trying to figure out the "coded signals" to send to the servo. There are a few servo projects online, but it isn't easy to cobble them together -- at least without a solid understanding of embedded hardware code. 

So after opening a few Hackspace windows to clear the burning machine smell, you try to improvise: adjusting the code, connecting the servo, and looking for wisps of smoke.

You do not have much success. Apparently the demo code you are using is telling the servo to go further than it could. So the motor was struggling against the limit, and heating up.

You take some blind stabs at making minor changes to the code. As you do, you keep one hand on the servo, so you can feel it starting to warm up.

This allows you to disconnect it before the smoke starts.

It is tough to act before the telltale burning-machine smell starts spreading. Opening a window helps to mask your bumbling a little bit.

Eventually over the next few days, you take your quandary to Particle's Community site, which turns out to be one of the liveliest in the Maker world. Soon a Canadian engineer, Gustavo, jumps in with some solid advice.

The air starts to clear, literally and figuratively.

Custom, Bespoke Project #1

Next - Servo Code