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:
This kind of servo is not to be confused with Tom Servo, of MST3K fame, or maybe it is, a little.
The first time I tried to send a servo a signal, I was sitting at a long table in Cambridge Hackspace.
A big guy working across from me raised his head. He sniffed loudly, dramatically.
"Smells like failure," he said. "Something's burning."
I looked down. It was my servo.
But that's getting ahead of the story.
A servo, as I mentioned earlier, can be positioned by sending it a coded signal (I like the sound of that: a "coded signal." 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 my servo arrived.
As my 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 translated from the Chinese, because it has.
Before my project started smoking I was trying to figure out the "coded signals" to send to the servo. There were a few servo projects online, but it wasn't easy to cobble them together -- at least without a solid understanding of embedded hardware code.
So after we opened a few Hackspace windows to clear the burning machine smell, I tried to improvise: adjusting the code, connecting the servo, and looking for wisps of smoke.
I did not have much success. Apparently the demo code I was using was telling the servo to go further than it could. So the motor was struggling against the limit, and heating up.
I took some blind stabs at making minor changes to the code. As I did, I kept one hand on the servo, so I could feel it starting to warm up.
This allowed me to disconnect it before the smoke started.
It was tough to act before the telltale burning-machine smell started spreading. Opening a window helped mask my bumbling a little bit.
Eventually over the next few days, I took my quandary to Particle's Community site, which turns out to be one of the liveliest in the Maker world. Soon a Canadian engineer, Gustavo, jumped in with some solid advice.
The air started to clear, literally and figuratively.