The MiPosaur (so named for its Mobile Inverted Pendulum) is a robotic toy that can react to hand gestures, clapping commands, and its track ball (which it can chase and play with).
It is absolutely packed with tech and sensors, so let's tear one open and see what's inside.
Taking Apart the MiPoball
Begin by removing the battery pack from the MiPoBall. The MiPoball is held together with four thread-cutting screws. Simply remove them and separate the two halves of the ball.
More thread-cutting screws secure two circuit boards inside the two halves of the MiPoball. Remove the screws and the circuit board and the MiPoball is fully disassembled.
What's Inside MiPosaur's Ball?
|Chip on board||Main microprocessor|
|V3UG||Rail-to-rail operational amplifier||Webpage|
The MiPoball Circuit Boards
The main function of the MiPoball is to act as an IR transmitter, sending signals to the MiPosaur. It is controlled by an unknown microchip die that was attached directly to the circuit board and covered in epoxy (indicated in orange below).
The microchip interprets the rotary switch (yellow) position to flash eight infrared LEDs (red) to signal the MiPosaur. It also uses a tilt switch (not shown) to detect movement and turns the circuit off if not used for a certain period of time.
Linear voltage regulators (pink), an op-amp (green), and an assortment of transistors used to flash the LEDs are also present on the circuit board.
The two circuit boards inside the MiPoball
More About the Selector Switch
The MiPoball has a six-selector rotary switch that flashes eight infrared LEDs to send messages remotely to the MiPosaur. The blue handle is connected to a four contact wiper that electrically connects to a series of varying length staggered concentric copper arcs on a circuit board below. This method allowed the designers to inexpensively create a six-position selector switch to control six behaviors for the dinosaur for a fraction of the cost of a pre-built rotary switch.
Taking Apart MiPosaur
As with any teardown, begin by removing the power source. MiPosaur's body is held together with visible and hidden screws on the right side of the body. Begin by removing the visible screws and then pry loose the blue covers to reveal two hidden screws.
Lift the right leg and side of the body from the rest of MiPosaur. Carefully detach the wire harness connections that connect the right motor and right shaft encoder to the main circuit board. The main circuit board is secured to the battery compartment with four screws. Temporarily remove those four screws to allow you to unplug all of the discrete wire housing connectors. The connectors are color-coded, so you do not have to label them for reassembly.
Continue to remove all visible screws leading to the top of MiPosaur's head where additional circuitry is located.
See the video below for a teardown:
What's Inside MiPosaur?
|Mic5203-5 (LA50)||Low Drop Out (LDO) 5.0 V regulator||Datasheet|
|Nuvoton ARM-M0-based microcontroller||$1-$2||Datasheet|
|KNRF51822_A24||Bluetooth module||$5||Module | Datasheet|
|M688 R993E1 L1333|
|Chip on board||Gyroscope / accelerometer|
The NM05716LDN Microcontroller (Orange)
The heart of the MiPosaur is the Nuvoton NM05716LDN microcontroller. Inside the microcontroller is a 32-bit Arm-Cortex-M0 microprocessor.
While Nuvoton does not offer a datasheet for this particular part number at their website, there are similar product datasheets, application notes, and SDKs available. Additionally, it is the same microcontroller used in the MiP Robot that has been hacked and documented at several places on the internet including Sparkfun, Make, and Hackaday. So if you cannot find resources for MiPosaur, expand your search to include MiP (Mobile Inverted Pendulum).
5-pin Programming Interface (Red)
The main circuit board of the MiPosaur is relatively hacker-friendly. In the top-left corner, there is a 5-pin header that is left-to-right (GND, ICE_RST, ICE_CLK, ICE_DAT, 3.3V) that allows connecting a JTAGICE programming / debug tool (manual).
Bluetooth Module (Bright Green)
The MiPosaur Bluetooth module can be used to command the MiPosaur. WowWeeLabs was kind enough to include a complete command set in their GitHub repository for your hacking pleasure. As an example, sending 0x71, 0x20, 0x0A, should instruct the MiPosaur to drive forward at half speed for 70ms.
RGBW LED (Dark Red)
A RGBW LED is used to indicate MiP's mood.
Chip-On-Board (Light Blue)
Epoxy blobs like the one shown here indicate that the integrated circuit die was glued directly onto the board. After the die is attached to the underlying board, wires are usually thermosonically bonded in place and a blob of epoxy is applied to protect it from damage. This is usually done as a cost-saving measure, although it also effectively discourages reverse engineering. MiPosaur is a self-balancing robot and there are no gyroscopes or accelerometers visible anywhere else in the robot. My best guess is that the blob is covering one such sensor.
Power Supply (Purple)
Several ICs supply MiPosaur with power:
- An "LA50" Low Drop Out regulator
- n "SS12" Schottky barrier rectifier next to an unmarked inductor
- Another surface mount device that is likely a 3.0 V linear regulator as it is connected directly to one of three electrolytic capacitors on the opposite side of the circuit board
In addition to the surface mount resistors and capacitors that are ubiquitous on circuit boards these days, a large portion of the circuit board is made of transistors that perform various functions. Some of the transistors are used as an H-bridge to drive the motors while others drive MiPosaur's IR LEDs.
MiPosaur has IR detector circuits in its head that serve multiple functions. First, they detect the signals sent by the MiPoball that tell MiPosaur to perform various actions. Second, they function as proximity detectors. MiPosaur has several IR LEDs in its head that transmit IR light. When your hand is near MiPosaur's head, IR light from the LEDs reflects off of your hand and into the IR detectors. This gives MiPosaur proximity detection and primitive gesture detection.
Other Things Inside MiPosaur
Speaker and Microphone
MiPosaur has a speaker that allows it to roar and create other noises. The quality of the audio is the only thing I didn't like about MiPosaur.
A microphone is present to detect "clapping." Clapping creates voltage spikes inside the microphone which are then amplified by a transistor to create digital pulses that can be interpreted by the IC to command MiPosaur.
Motors and Encoders
MiPosaur balances on two wheels that are driven by motors with optical encoders. The motors are controlled by the transistors on the main circuit board which are, in turn, controlled by the main integrated circuit. Attached to the main drive shafts of the motors are quadrature encoder wheels and circuitry to provide the microcontroller with feedback about the motors' rotation.
Quadrature encoder animation courtesy of Creative Robotics Ltd
There is an incredible amount of engineering inside of MiPosaur for the price. And the MiPosaur is designed in a way that makes it easy to take apart and put back together. Combined with the available GitHub repository of information, it appears that the designers went out of their way to allow MiPosaur to be hacked while still providing a durable and easy to repair toy.
Thanks for checking out this Teardown Tuesday! Come back next week for another teardown.
Next Teardown: Powerline Adapter