The WowWee MiP ("mobile inverted pendulum") robot is the first of its kind on the mass market. It's a toy robot that does what most other toy robots do: it rolls around your living room floor, making squawks and beeps and bumping into things, and being really cute in general. However, the MiP does it with style. The mechanical design is not inherently stable. If the MiP is turned off, it will not stand upright on its own wheels (a handy stand is provided for display). Instead, an onboard sensor suite and powerful ARM Cortex processor keep it teetering upright just like any self-respecting science fiction robot (or slightly less self-respecting tourists on Segways).

Researchers and hobbyists have been building devices like this for a number of years, but it's always exciting to see a niche technology make it to mainstream (much like the quadcopter boom in the past couple years). Robotics hobbyists pay close attention to the toy market, because a lot of technology can be hacked back into customized designs.

While I usually spend a lot of time focusing on electronic devices that don't move, thankfully my girlfriend was keeping track of the MiP and made sure I got one for my birthday. It's easy to use and comes with a lot of built-in activity and game modes, and uses Bluetooth LE to communicate with a phone for even more functions like direct driving. It has a speaker, microphone, and IR sensors for collision avoidance. The self-balancing function is very stable, and it's possible to clip on a tray and stack items for the MiP to carry (up to something like a can of soda). Since it will still balance with various loads attached, I assume that it wouldn't require any complicated tuning to maintain balance with different modifications installed.

Of course, I was curious what made the MiP tick. A lot of information resides with the UC San Diego Coordinated Robotics Lab, who developed the first MiP devices and partnered with WowWee to make it accessible to the public. But I needed to see for myself...and my girlfriend promised she wouldn't be upset (it was probably her plan all along, so she could see inside the MiP too).

First order of business was to remove the wheels. The wheels have an inner lip that prevents the case from being split, so the wheels must be removed first, but the hub screws are not easily accessible. The plugs in the center of the hubs have to be pried out, and they're glued in very firmly. You're not going to take apart the MiP without making it very evident that it was taken apart...maybe the glue could be softened some way. The plugs are only cosmetic, and will not affect future operation of the MiP.



The wheels will come off very easily once the central screws are removed, leaving the rest of the MiP open for disassembly. All the case screws are on the back, though be careful when opening since there are some cables attached to both halves.



Immediately visible on the "can I hack this?" front is a blue connector plainly marked with "UART1" and serial pinouts. This seems like a good start, depending on what the firmware inside the MiP's processor is doing. Also visible is a Bluetooth LE module, containing a CC2450 wireless module.



Continuing with disassembly, all the wiring is easily disconnected (no desoldering necessary) and plugs are of different sizes and color-coded so there is very little chance of mixing them up during assembly.



The control board and motor module can be removed completely as a standalone assembly. The motor module appears to use small brushed DC hobby motors, some (not much) gearing, and quadrature encoders. It's nice to see some actual bearings used on the wheel axles, too.



The bottom of the motor module has a small sensor board, which I didn't remove since it is glued in place. This is where the accelerometer/gyro sensor would be located. I also found some really squirrely soldering here, which made me unwilling to dig into that area to pull off a part number.



The control board is actually not that complex in design; it's been approached in a straightforward manner and the quality is pretty good for WowWee and great for toy electronic products as a whole. The upper half contains the main processor and wireless modules, while the bottom half has the motor bridge drivers and an epoxy blob sound module. It's interesting to note that a significant portion of the PCB is devoted to H-bridge drivers built from discrete components, rather than one of the many cheap dual H-bridge ICs available today. I'm not deep inside the toy industry, but I have to doubt they saved money with the discrete transistor drivers.



It was hard to read the markings on the processor chip, so I rubbed some chalk pencil over the engraved lettering. It's an ARM Cortex M0 chip from Nuvoton, the Mini51 series I believe...yes, it's an off-brand Chinese ARM, but I was surprised to find that Digikey distributes this chip and there are full English datasheets available. So there is at least some hope this could be tinkered with.



The head contains two IR transmitters (one for each eye) and one IR receiver. It's plain to see that the IR receiver is probably your standard 38KHz IR TV remote receiver module, and the IR LEDs are sending out modulated signals. In practice, I find the object detection and avoidance pretty good, but their advertised hand gesture detection is difficult to get working. The top of the head also includes a microphone, which it seems is only used for detecting hand claps to start some of the modes.



Overall, I was fairly impressed with the quality of components inside the MiP, and while it doesn't seem immediately open to hacking, the potential is there. A few unpopulated headers are there which could be used for reprogramming, and the UART connector might allow a general control protocol or access to sensors...no way to know at this point. At some of the trade shows this year, MiPs were spotted with active add-ons, so perhaps hackability is built into upcoming versions of the product. At bare minimum, it's a very entertaining toy and a great demo of inverted pendulum control as a stable robot platform with good agility and self-balancing extra loads.

