As a morale boosting exercise, Bob the Builder was brought into our office. The idea being that if someone was having a bad day then Bob could help them through it. The model we received has a story book with it and you can read along with Bob by pressing the numbered patches on his body. Bob's voice is bright and chirpy and, above all, all so British. About five minutes after having Bob quite a few people started muttering about making Bob say something else, this just goes to show the danger of lobbing an electronic toy in amongst a mob IS Professionals - the desire to hack things became strong.
So off to google we went to see if anyone else had managed to do the job already. After a bit of a search around we found no hits on hacking a Bob the Builder toy, someone had hacked a talking fish but that was not what we were after. After failing to find anything on Google we did a bit of exploratory surgery by unpicking the stitching. Pulling out the electronic voice box revealed a bit of a setback, the electronics that controlled the voice were sealed under a blob of black epoxy. Evidently, there was no simple way to modify the existing hardware to bend it to our will. Another method needed to be found.
As it happened, not long before Bob turned up we had been digging into our diesel generator voice notification machine with the view to reprogramming it. The voice recorder part of the machine was the APR9600 made by APlus Inc. This chip can provide up to eight short messages, is programmable on the fly and does not need any MPU to perform these functions. In short, the chip was an ideal fit for what we wanted to do. By paralleling the existing switch points used to trigger the original speech segments and switching the speaker outputs between the original chip and the new one we could give Bob a whole new personality but, more importantly, we could keep the original Bob intact which is something we needed to do. We had a plan...
Sourcing the APR9600 was surprisingly difficult but we managed to locate one place that sold them locally which saved us importing one from overseas. We needed a container of some sort to hold the circuitry, given the APR9600 is a 28 pin DIP, an old film canister made a reasonable sized container to provide protection for the circuitry. A piece of veroboard was cut to fit into the canister, the very few passive components required for the operation of the APR9600 fitted fairly easily into the restricted space. The circuit is almost exactly the same as the example given in the applications notes for a eight segment recorder, the only difference is that the input is fed via an external active source (clamped by a couple of paralleled diodes) instead of an electret microphone. The APR9600 is a wonderful device, it handles all the anti-aliasing filtering, AGC, digitisation, storage and playback of the sound samples by itself, the passive components are only there to set the sample rate and the AGC time constant. Once the circuit was built, it was tested on the bench - interestingly enough, the first segment of the APR9600 appears to be factory programmed someone saying some Taiwanese - probably as a factory test. After a short debug the device was fully operational and was mounted into the film canister. A hole in the bottom of the canister was made to allow the wiring to be run out, the canister top had a 3.5mm socket mounted on it to allow input signals to be sampled. A hole was also cut into the canister top to allow access to the record/playback switch which was wedged on top of the IC inside the film canister. With the lid on the film canister, everything was held tightly in place, we were now ready to perform the operation on Bob to install the new hardware...
Since we had already done the exploratory surgery getting access to the electronics was simple. The original PCB had a lot of spare pads on it, possibly it is a generic board that had a toy specific module soldered to it. Regardless, the extra pads came in very handy, making it simple to tap into the power supply and switch inputs. One wrinkle that occurred during the installation was the discovery that the original circuit used an active high signal to activate the sound segments whereas the APR9600 uses active low signals. This was not unexpected and needed to be worked around by using some NPN transistors to act as inverters, the base of the transistor was wired to the existing switch via a 10kOhm resistor and the collector was wired to the appropriate pin on the APR9600, finally the emitter was wired to ground. The transistor provides the active low signal required by the APR9600 while leaving the active high to trigger the existing circuitry. Finally, a double pole, double throw slide switch was installed on the speaker lines. This allows the sound output to be switched between the original circuitry and the new APR9600. Once the wiring was completed and tested the original speaker box was reassembled and both it and the film canister were put back into Bob's body. The interior of Bob is quite roomy so there was no problem fitting the new container into the body.
There we have it, Bob is now able to be programmed to say what ever we choose and can be reprogrammed quite simply. If need be, his old personality can be restored simple by sliding a switch.
If you have any questions, suggestions or buckets of money you can contact me by mailing the address: blymn at internode dot on dot net
Below are the images from Bob's operations. Click on the images to see a slightly bigger version.
|Here's Bob looking chirpy before his operation||The voice box is accessed by undoing the stitching on this pocket|
|Which reveals the voice box sewn inside another covering||The actual voice of Bob, I guess there must be non-English Bobs given the sticker|
|Damn autofocus... the vertical PCB holds the chip for Bob - just a black blob||The Evil Bob voice circuitry, this fits snugly into a film canister on the left|
|All the circuitry installed in the film canister, the record/playback switch is simply wedged on top||With the lid on the film canister, the lid holds the jack for sound input and has a hole to access the record/playback switch|
|Side view of the film canister, all the wiring is run out a hole cut in the bottom of the canister||The joining of Bob and his evil twin. Upper right is the lashed on inverter board. The switch switches between normal and evil.|