Hacking the RoboPanda...By Andr0id <flaH>CLICK HERE for my other projects...This is for information purposes only, read at your own risk! The Guts....After some Google searches it became obvious that the RoboPanda was not the most hackable robot “toy”; however, the fact that I was able to get a hold of one from Target cheap prompted this project. Playing with the RoboPanda lasted about 4 min before I decided to perform open Panda surgery. Once some of the case was removed this is what I have found: After
removing the back of the head I found a small PCB, 3 motors, an IR
sensor, motor sensors of some sort, a speaker, some LEDs, and some
proximity
sensors in the form of copper tape with leads attached to them. Here
is a view from the other side. Here
is what the inside looks like after the back cover is removed. You will see the main
micro controller as
well as a slew of wires running from it to each arm, leg, stomach, and
several
to the head. Here
is a close up shot of the PCB with all of the connection. Except for two, I had to
remove those as they
were attached to the back cover.So far I have removed the back cover to the head and the back. From what I can tell so far we have a 4.5V power lead coming from each leg. (Each leg has 3 C size bat in them). The back cover also has a bat compartment with 4 AA batteries. This would be the 6V supply. It seems the two 4.5V supplies are for all of the motors (there are 10 motors total!) All of the sensor leads that are attached to copper tape on the inside of various locations of the bear (i.e. the head, legs, harms, sides, stomach, and back) are Grey wires. After removing the connectors and the main controller board I found more cool stuff! ![]() That small board to the left of the main PCB is a digital tilt sensor with X and Y axis leads! Also, the small yellow box just above the main PCB is a ball switch. After
removing the main PCB I found another board under it.
This is the motor control board.
I notice on the main PCB that there is a
ribbon cable this board plugs into that provide control for the bottom
7
motors.![]() This is what the motor controller board looks like. ![]() Next I took off the belly cover. (Sorry for the bad photos, but it’s just to give you an idea anyway) As you can see we have yet another PCB. All of the sensors plug into this board. We also have a ribbon cable that runs from this to the main PCB. I wonder what interesting things we can use this for. This
is a close up view of the sensor PCB.The RoboPanda RFID Reader... Now
this is COOL. What
we have here is the inside of the belly cover.
To the left is one of
those sensors with the
copper tape I’ve been talking about.
To
the right is a RFID reader! Yes,
this
bear has a feature so that it recognizes when its
“pet” stuffed bear is close
to it. This is done
via a RFID tag in
the pet bear. Since
this peaked my
interest and I knew I would not use it in my hacked RoboPanda I removed
it and
did a little playing around.![]() ![]() The RoboPanda RFID sensor and RFID tag I removed (cut) from the stuffed bear. Here is the front and back view of the RoboPanda RFID sensor and RFID Tag. The tag is in the same plastic back that it came in after I cut it out of the stuffed bear. (poor bear) There are three leads coming from the reader. Vdd, GND, and “RF RF-ADF”. After a extreme stab in the dark, (Because I know NOTHING about RFID) I guessed that the RF-ADF was a serial connection. So instead of testing any kind of theory out the logical way I just jumped into what I had hoped was how things were. And guess what, it seems I was right for once. I took one of my (Board of Education) Basic Stamp proto boards and hooked the RFID reader to it. Of course I hooked GND to Vss, Vdd to power, and the “RF-ADF” to Pin 0 of my basic stamp.![]() You will notice the pinout is:
I loaded the following code into the Basic Stamp. This reads the serial input from RFID reader and outputs it to the debug screen on my computer. Now, it took a few tries and I’m still not convinced its right because like I said, I don’t know anything about RFID, however, I got consistant results. Assuming 2400 Baud, 8-bit, No Parity, Inverted My first few tests just showed the number 48 over and over again. Then I realized that is a header of some sort, so I read more data. So my code waits for a ‘48’, then reads two more packets of info before it starts to get the ‘48’ again. If I do all of this in a loop then as long as the RFID Tag is there it repeates the results over and over again. Thus, the ‘48’ seems to be confirmed as the header. Here is the basic stamp code: ' {$STAMP BS2}
The results of this code are: 12288 12336 What do these numbers mean? Dunno. If I combine them to 1228812336 then I get HEX 493E3030, is that the ID number? You tell me, I would love to know, but for now it is consistant and makes for a great wireless RFID lock. The RoboPanda Motor Controller Board…Here is a close up of the controller board: ![]() So, the red and black wires on the left are 4.5V supply voltage. The 7 connectors in the top middle go to each of the seven motors. The ribbon cable on the bottom is the cable running to the main micro controller. Each pin represents a direction of a motor. For example, if I run a jumper from GND to the yellow wire of the ribbon cable, the right leg motor will move forward, if I run a jumper from GND to the orange wire next to it, then the right leg motor will move backward. And so on. That is where I am at right now. I wanted to make my basic stamp control the motors but it does not matter if my basic stamp pin is HIGH, or LOW, the result is the same, the motor moves regardless of what state the pin is in. I can use a simple transistor so the pin is just a switch, but this motor controller is already built to handle a micro controller directly so I’m just tired and not thinking as to how this is done yet. I will keep updating this page as I move forward. |