WowWee MiP Quick Teardown

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.
MiP TeardownMiP TeardownMiP TeardownMiP Teardown

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.
MiP TeardownMiP Teardown

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.
MiP TeardownMiP Teardown

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.
MiP TeardownMiP TeardownMiP TeardownMiP TeardownMiP Teardown

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.
MiP TeardownMiP TeardownMiP TeardownMiP Teardown

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.
MiP TeardownMiP Teardown

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.
MiP TeardownMiP TeardownMiP Teardown

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.
MiP TeardownMiP Teardown

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.
MiP TeardownMiP TeardownMiP Teardown

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.
MiP Teardown


Submitted by Garrett on Sun, 05/11/2014 - 00:03.

but most importantly, did it

but most importantly, did it work when you put it back together?

Of course, the video at the

Of course, the video at the top of the post was taken after putting it back together :)

Hi there, I'm Andy from

Hi there,

I'm Andy from WowWee. Thanks for the teardown, it was interesting to see some opinions of our product from an experienced hacker.

The UART port provides a full control protocol which we will be releasing very soon (if you are interested I can provide a pre-release version).

We will also be releasing Android and iOS control SDKs in the coming months.

Hello Andy, I have plans to

Hello Andy,

I have plans to work with MiP as well, and have access to those protocols would help me a lot! Is there any way I could have then too?

Hear, hear....Have you by

Hear, hear....Have you by any chance released the protocols etc... I'm an old retired software eng. and would love to timker with my !MIP........Great article by the way...'...

Is this, perhaps, what

Is this, perhaps, what you're looking for?

https://github.com/WowWeeLabs/MiP-BLE-Protocol

Given that it has 2x IR

Given that it has 2x IR Transmitters, do you know if it can or can be made to control other WoWWee Robots ?
I'd love it if it could "Talk" / "Command" my other Robots.

Yes it can, if you look in

Yes it can, if you look in our SDK we have a command for sending IR commands, but we don't provide an easy way do it nor instructions on it. If you have a bit of a play around I think you should be able to do it.

The UART port allows control

The UART port allows control using their protocol - not sure if it's published anywhere. The EZ-Builder Software supports the protocol. Connect your EZ-B v4 to the MIP UART1 and control it from the software. You can get the software for free here: http://www.ez-robot.com/EZ-Builder

HI Andy i hope to see the

HI Andy i hope to see the sdk too,will it be for also windows
i have 2 wowwee MIP robots plus about 25 other wowwee robots and about 240 robots to hack and restore

MIP is getting really

MIP is getting really interesting - particularly if as Jim says we can uart to it with EZ-Builder ! Can anyone else verify the EZ-Builder functionality?

I'm interested in finding a

I'm interested in finding a way of providing user control of the MiP from within Scratch as I can see a really cool application for kids to learn coding and algorithm design by solving problems with the robot in the real-world as opposed to using a PC screen as their feedback mechanism.

Has anyone built a scratch extension that either communicates with the MiP directly using its comms protocol or hooks into EZBuilder as a bridging mechanism?

For anyone interested, I think this is the protocol you can use to build your own MiP control apps:

https://github.com/WowWeeLabs/MiP-BLE-Protocol

Hi there, We would love to

Hi there,

We would love to link to any scratch examples you've come up with for MiP, please send us a pull request on the GitHub.

i love my mip and it is just

i love my mip and it is just amaizing

I have MiP and have also

I have MiP and have also fitted a spark fun breakout to access the UART. I would like to connect an arduino or raspberrypi directly to these pins. Does any one know what baud rate I should use?

Hi there, Andy from WowWee

Hi there,

Andy from WowWee here.

We have just added a new section which details all the UART specifications for connecting to MiP. You can have a look at our official documentation here:
https://github.com/WowWeeLabs/MiP-BLE-Protocol

Hello there, I'm working

Hello there,

I'm working with robotics and interdisciplinary art and found MiP very interesting in order to obtain a more organical response from the machines, having this on mind I will try to add some functionality to MiP's arms and maybe an upgrade of motors.

Andy, could you support with more documentation about those wheel motors?

You can see an example of my work here : https://www.youtube.com/watch?v=5uCxNtAvNU8

Thanks in advance.

ai

dose anyone know what to do

dose anyone know what to do if your mip dosnt talk. but without taking it apart

Sounds like it's faulty. MiP

Sounds like it's faulty. MiP should make sounds when your connected and playing with him. Battle mode is the best test.

You can check the volume level in the settings, perhaps it's turned down low.

Hi, I think one of the MiP

Hi, I think one of the MiP wheels is broken since it doesn't turn to one side, but maybe it could be the engine. Do you know how can I try to check how to verify is the wheel is broken?

If the MiP can still stand

If the MiP can still stand up, the motor is probably fine. It has to run the motors in both direction very quickly in order to stay balanced.

Could you find out what kind

Could you find out what kind of motor is?
I read your writing that the motor is a brushed hobby DC motor
But could you let me know the data of motor?
Kind of torque, rpm..etc

I just bought a mip today

I just bought a mip today and it won't balance. Everything else seems to work... leds, sounds, etc. The motors are getting power, but it seems like the gyro isn't working. After powerup, the LED turns blue, makes a sound, and it tries to balance but falls immediately. I've tried on a flat, level tile surface and carpet.

The solders on the gyro are very barely connected. Can someone confirm which solder points should be connected?
Thanks

I need to ask something i

I need to ask something i just bought a mip and after i say goodbye it repeats me it was creep.can you tell me how come it can talk?

Thanks for the tear down,

Thanks for the tear down, picked up a broken one of these. Issue with it was that the ribbon was shorting out at the sensor board connection. That part looks pretty poorly designed, but made for a cheap Mip for me :-)

Hello, Does anybody here

Hello,

Does anybody here experienced poor Bluetooth connection between MiP and an Android device ? I have 3 MiP, each with fresh batteries, and all lost connection within a minute or so. Maybe it comes from my Android device bluetooth witch is not powerfull enought (Lenovo Tab2 A7-10F, Xperia Z1C) ?

This is often a flaky

This is often a flaky Bluetooth driver on the Android side.

Perhaps you could try with a different Android device ? or try upgrading your Android device to the latest version.