As mentioned in the Furby Hacking post the Furby is powered with a motor and cam system with different actions at different points in the rotation. The position of the cams is determined by a simple spring switch that is closed once per revolution. Then the relative position is determined using an optical sensor consisting of an LED, phototransistor and some buffers. So to control all this from the Edison I need to provide power to the 74HC14 chip, turn on the LED, monitor the gear position sensor and drive the motor.
As mentioned I've already removed the Furby's brain and voice box. I did think about if I could use all or part of the H-Bridge as a level shifter to pass the signals to the TB6612FNG board. However due to the tiny surface mounted resistors not really having appropriate values I decided instead to remove all of those transistors to avoid any unintended behaviour such as shorting the power rails. I also removed the wires for the back sensor as those were directly attached to the board rather than being jumpered. That allowed me to work on the board completely separate from the mechanics.
The Furby has a surprisingly sophisticated power setup. It has raw 6v from the batteries, 5.13v used by the main processor, 4.86v used by the EEPROM and a switched 6v used by the audio and IR sensors.
One thing that is missing from the schematic is what powers the 74HC14 which is used for the driving the LED and processing the opto-sensor signal. I checked and it was connect to the 6v line.
The Edison has an even more complex setup. The key thing here is that the 3.3v line can only source 100mA so I'd have to be very careful if I wanted to use that to drive any part of the Furby.
So my chosen approach is to power the Furby from its own battery connectors. The voltages will be slightly lower than design as I'm using a 5v supply rather than 6v but are still well within the range of the 74HC14 and sensor components.
The Edison will be powered from the J21 connector so that I can connect an audio card to the USB.
I've broken down a second powerbank into it's constituent components. It's interesting to see that there is just a single MP3401A chip and a few discrete components.
The home switch is the simplest part of the circuit. I confirmed that one side was grounded and soldered a wire onto the COB header so that I could test it. To test, I added an LED and resistor connected to the positive supply.
The LED for the opto-sensor is linked to the inverting buffer. I checked the schematic and the LED was connected to +Vcc but as suspected the orientation was reversed. I tried to get it to light and there was nothing so I pondered if it was an IR LED. So I soldered a second LED in parallel. This also produced no result (retrospectively this could be due to different junction voltages) so I unsoldered the original LED and replaced with a white LED. My theory was that the sensor might be only sensitive to a specific wavelength so the white would cover the most options, it also allowed be to visually check that it was on.
The output of the phototransistor is fed into a Schmitt Trigger inverting buffer in the form of a 74HC14. The Schmitt trigger cleans up the signal to a nice square wave so it will be easy to detect a rising edge with the Edison. As suspected the schematic for the transistor was reversed.
To test the photo-transistor I wired an LED and resistor in series. The Furby was re-assembled and the slotted disk was rotated. The LED turned on and off as desired. When this is run from the motor it flashes faster than the eye can see so I'll have to ensure that the signals are processed fast enough.
As mentioned the H-Bridge transistors were removed. This provided some spare sockets to attach a connector. A right angled connector was used as there was not a lot of vertical space. I plan to us the PWM option on the motor driver board so that the motor runs more slowly. The process for that is the same as [Upcycle It] Interactive Race Car Driver - Powering Motors
Whilst testing the motor, I realised the eyelids on this Furby were closing but not re-opening, I discovered that the rubber coated cam was slipping on the back of the eyelids so I used a knife to score the plastic. That now works as correctly.
The driver is a complex part of the project so there's going to be another week of work on this. The main item is connecting up the sound to the Furby's speaker.