Good morning friends. It is time for me to discuss Winston, et ut ‘the animatronic formerly known as Teddy Ruxpin.’
First, a bit of background storytelling …
I am a 50-year-old technology professional. I grew up in the 1970s playing with Erector sets and building robots out of cardboard boxes, tape, and string. In the early 1980’s I learned BASIC programming on TRS-80 computers. My hobby building graduated to model rockets and remote-controlled airplanes constructed from balsa wood, paper covering, epoxy, and lots of butyrate dope.
The 80s were a wonderful time for the toy industry. When Teddy Ruxpin came out in 1985, I was 16, well beyond the age of its target audience. Worlds of Wonder released Teddy at just the right time to ride the zeitgeist of the era. Cute cartoons such as The Smurfs and Care Bears were popular. Teddy Ruxpin soon got his own cartoon. While it was certainly a marketing tool, the cartoon fueled imaginations about what the toy “could be.” This imagination continued into 2012 with the release of the film Ted.
The original Teddy Ruxpin, though, was simply a cassette player that drove 3 servos, which in turn controlled the eyes, nose, and mouth of the teddy bear. The cassette tapes were inspired technology with the audio track recorded on the right audio channel and data stream for servo control on the left channel. While making a neat storyteller for young children, this toy was limited in what it could do.
Fast-forward to today …
Most of my professional life has revolved around mansplaining technology to the masses. I have served as a nuclear mechanic aboard submarines in the US Navy, written technical documentation for IBM, and trained customers, salespersons, and service teams. I build and service my demonstration units, which I use for training and trade shows.
Re-enter Teddy …
Many hobbyists have posted websites and videos about repairing (http://dreeyoreshospital.net/index.html) and hacking Teddy (https://www.tinkernut.com/portfolio/alexa-ruxpin-raspberry-pi-alexa-teddy-bear/). Tinkernut’s Alexa hack was truly inspired, but I chose to install Mycroft so that I had control over customizations and wake word response. The Alexa and Google SDKs do not make wake-word enablement very easy. I am assuming that they redacted this feature in response to concerns over cutting into sales of their own devices. Having to press a button to wake an animatronic invades upon my suspension of disbelief.
Thus, I now give you Winston, an upcycled Teddy Ruxpin that can respond and play. The focus of this upcycling was to create a clean build using standardized components and software. I chose to go with an RPi 3B+ and Arduino Nano 33 IoT for flexibility and future expansion. The Arduino is certainly overkilling in the current implementation, but the IoT enhancements allow for remote control of the animatronic.
- Gutted the animatronic and replaced the old 5-wire Servo servos with new 9g 3-wire servos and connected the eyes, nose, and mouth directly to the servos with horns and pushrods. The original setup used rubber wheels.
- Replaced the 8 ohm, ½-watt speaker with an 8 ohm, 1-watt speaker. It is a 3-inch round speaker, so it was a direct replacement.
- Added a MEMS microphone through I2S input.
- Built a prototype HAT for the RPi. I added a 3-watt i2s amplifier (mono output) and an Arduino Nano33 IoT. The Arduino runs the servos.
- Added a barrel connector power jack and connected it to the power rail. This allows me to use a 5V/10A supply with a secure connection. The micro-USB connection is too weak for use with an animatronic.
- Raspberry Pi 3B+ with 1 GB, 16 GB microSD card
- Picroft, stable version. During setup, choose the Google Voicehat.
- Customized Arduino sketch. The eyes blink on a timer routine, and the nose/mouth move according to a digital audio stream that I tap off the i2s output. This is being modified to accept serial input via TX/RX directly from the RPi.
- BerryLan: I installed this software to allow me to connect Winston to a new wifi network without having to open the enclosure and attach a monitor and keyboard. Unfortunately, the network management modules required for BerryLan are causing problems and constantly changing the MAC address/IP address. It makes SSH sessions painful.
- Winston.cdoebler: (in development) this skill enhances the basic personality of the AI. My goal is to have Winston be able to reply using the speaker’s name in response. The initial implementation will use a single variable. A future enhancement will use voice recognition.
- Control-furby.cdoebler: this skill enables Winston to issue high-frequency audio commands to 2012/2013 Furbies. Examples of the commands include sleeping and singing.
- Chess.cdoebler: (in development) this skill interfaces the AI with PyChess. You can then play chess with Winston by telling him your move. He will reply with his move. An enhancement of this concept is to have Winston instantiate a GUI chessboard via XDMCP to a remote Xserver, such as Xming. Then you can play chess on a computer board. Winston can verbalize his move as well as moving the piece himself. Another variation involves using a physical chessboard that can move its pieces.
- More-cowbell.cdoebler: this skill plays Blue Oyster Cult’s “Don’t Fear the Reaper” through Winston’s speaker. The Furbies are instructed to sing along, and a cowbell clanging Jolly Chimp monkey to activated remotely (IoT switch).
What is to come?
Once I finish developing the enclosure software to have a more sophisticated mouth movement and finish a few skills in development, I will shoot a demo video. I just received a box of 6 Teddy Ruxpins. I will build these into the next generation of Winston and document the entire build process.