DIY Motion Control Headset for Arduino

headsetThis is the motion control headset I put together for controlling my Dalek dome. It tracks the motion of the wearer’s head around 3 axes, though I only use two for the the Dalek.

The basis of the headset is a protective face shield I had lying around, similar to the 3M Professional Faceshield. An old welding helmet might work too. The shield part is discarded keeping the adjustable part that fits to your head, with the pivot points on either side.

In place of the shield I bent a piece of 1/16″ X 3/4″ aluminum strip with one of my 128 Position Absolute Encoder modules mounted in the middle. This has a flat 16 x 2 lego strip mounted to the shaft, with rubber bands attached to the ends. When in use the rubber bands are attached to cuphooks within the Dalek’s neck, which keep the lego and the shaft of the sensor at a constant angle relative to the Dalek, while still allowing a lot of movement of the operators head.

Mounted to one side of the headset with staples is a piece of plastic liberated from the top a a Tidy Cat container. These are the staple-gun type staples, stapled from the inside and bent over. Onto this plastic is mounted one earpiece and the microphone from a set of gaming headphones. This particular kind came apart in such a way that they could be reassembled through a hole in the plastic, so no glue was needed. The full adjustment of the microphone is retained – the earpiece is disconnected.

On top of the earpiece is mounted the rear half of the internals of a Wii Nunchuck. This half of the board contains the accelerometers. I chopped the joystick part off before I realized there would be space for it, so that could be kept and perhaps used for manual override routines. The half-nunchuck is held on with hot glue. The white block you can see above the board was added for strength.

Connection to the Arduino is via I2C bus, as used by the Nunchuck through its standard cable, though I replaced the connector with a 4 pin molex as the wii standard and wiichuck combination was unreliable in the wild. The encoder is connected to the nunchuck by a ribbon cable, soldered to the pins where the nunchuck wires attach.

The encoder tracks left-right rotation and is mapped directly to the position of the dome which uses an identical encoder on a direct drive. The nunchuck reports angular position for “tilt” (nod) and “roll” (sideways nod). I use the tilt for the eye position with some math to map the nunchuck angle to the eye encoder value. I’m not using the “roll” value at the moment.

If you have a herd of video-gaming kids in your house, cats who chew cables and you never throw anything out, you probably have most of the donor parts to make one of these lying around.

Parts list:

  • 128 Position Absolute Encoder module
  • full face shield or welding helmet such as 3M Professional Faceshield or SAS Safety 5140
  • a Wii Nunchuck (chewed will probably work)
  • Aluminum strip 1/16″ X 3/4″ from the metal stock rack at your hardware store
  • some ribbon cable from an old computer
  • optional for sound: microphone on a bendy headset mount
  • lid from a Tidy Cat bucket
  • 16 x 2 bump Lego strip
  • two rubber bands
  • two cuphooks

Wiper Motor Servo for Big Robots


Wiper motors are big, cheap and powerful. Lots of torque. They are great for powering large robotic components. Out of the box – or scrapyard – they do need some modification. They are wired to go in one direction only, with two speeds. They have some position switching in them, which is designed to keep [...]

Arduino Shield for Head Following Dalek Dome

Fred's brain. Click to zoom in.

Fred’s brain. Click to zoom in.

Fred’s new brain is built on the Sparkfun Arduino ProtoShield Kit, though other protoshields would work too. It would make a good basis for other animatronic or robot projects as it is designed to be plug-in.

Wired onto this are

four I2C connectors, with terminating pullup resistors. Two [...]

Linux traffic control with gigabit bond and vlan interfaces

Loss and Latency Improved by Traffic Control

Linux (CentOS6) traffic control features of iproute2 are not active by default, and are usually implemented to aid traffic flow over lower bandwidth WAN connections such as aDSL. In this article I will describe how I implemented them on high end systems with multiple gigabit interfaces with bonded interfaces (often also known and LACP, LAG [...]

Fredalek at Maker Faire


Fredalek will be at the Bay Area Maker Faire in San Mateo, May 18-19. Come and be exterminated! We had a great time there last year, so we are back again this year. This is a wonderful event for anyone interested in gadgets, doodads, making things or experiencing indoor lightning. We’ll be exhibit 1278. Follow [...]