The Robosapien was originally powered by four 1.5V size "D" cells, two in each foot. The weight in the foot is needed for stability during walking. If no weight is placed in the feet, the Robosapien will fall over during walking. The weight of a "D"-cell varies from 135g-200g, depending on battery chemistry and amp-rating.
The robot will now be powered from 5V USB. The connection can be made as follows:
- Connector marked "L-SW-GND-C" on the main-PCB:
- use "GND" as USB-GND
- "C" connected the batteries on the left foot with the ones in the right foot, it can be disconnected now.
- On/off switch panel on the back plate : solder 5V from Digistump to "IN" on switch PCB.
By making the connections in this way, the power button on the back will still be functional. VCC = supply voltage for most of the circuitry = 3.3V. U1 on the main PCB generates VCC from VDD. VDD = supply voltage for motor driver and speaker = 5V.
The easiest way to probe the original protocol is at the back of the main board, at the connector named "HEAD". Remove this PCB, solder your probes to "GND" (black wire of "HEAD"-connector) and "IROUT" (white wire of "HEAD"-connector).
The IR-protocol is quite simple. The default state of the IR-OUT signal is high. The message starts with a low pulse that lasts 6.26ms and is followed by databits 7 downto 0.
- 0-bit = 0.843ms H + 0.843ms L
- 1-bit = 3.512ms H + 0.843ms L
Using this information, you should be able to figure out that the screen capture shows the 0xCE command.
According to Aibohack, the protocol uses 1200baud. I noticed quite a lot of jitter between bits. Pulses of 909ms wide are not uncommon.
IROUT electrical connection
The IROUT-signal on the main PCB is 3V3-logic. The Digistump is 5V-logic. Care must also be taken to avoid latchup when the Robosapien is powered off while the Digistump is on.
IROUT has been pulled up to VCC with a 1K-resistor. A BAT46W-schottky diode is used to connect to the Digistump. The anode of the BAT46WJ is connected to IROUT. The cathode is connected to the Digistump GPIO (i.e. the P0-pin).
The IROUT-waveforms look ok.
- 5 minutes after startup, the Robosapien goes to sleep. In sleep mode, no commands can be executed. The "WAKE UP" must be sent to wake the unit up. The Robosapien's wake-up routine is the same as when you power it up. It's quite noisy. You don't want to do this more than once a day.
- Robosapien's manual : "After approx. 2 hours of uninterrupted sleep, he'll power himself off to save energy".
Challenge: "How to keep the Robosapiens on indefinitely while keeping it still & quiet?"
Response: Sending 0xEF once a minute keeps the Robosapiens on.