In this post I show one of my latest projects, an electronic autonomous board for playing-back animatronics shows. This board can be used along with Brookshire Software’s Visual Automation Studio (VSA) and can store up to three shows, each one with ten channels (eight servos and two relays).
This project was done to quickly answer a need of customer Oficina de Artes e Decorações and due to the tight schedule, we decided for a solution that allied low-cost with a moderate flexibility. The result is an electronic board which can take a serial stream received from a host computer (running the VSA software) and store it into a serial 32Mbit SPI flash memory (a Macronix MX25L3206). The board also includes an MP3 serial module for playing audio tracks assigned for each show (the audio files are stored into a microSD card which is plugged into the MP3 module).
The SSCR (Serial Servo Controller and Recorder) board is shown below and was designed using an NXP Coldfire v1 32-bit microcontroller (MCF51JM128). This device was chosen due to the large code-base I already had written for the Freescale (now NXP) platform. Besides, the MCF51JM128 also includes an USB port allowing the implementation of a dual communication channel (asynchronous serial and a USB CDC which creates a virtual COM port on the host). The USB stack was not implemented on the first phase but can be implemented if the need arises.
Figure 1 – SSCR board
The board includes 8 5V servo outputs (Futaba compatible) and 8 12V servo outputs (a project I designed a long time ago for the same customer). Along with the servos, there are two relay outputs which can control external loads.
There are three operating modes:
- SSC mode: the board operates as a miniSSC board with selectable addresses (0 up to 100);
- recording mode: the board can store a show into its flash memory, the servos/relays are updated along with the show recording;
- player mode: the board can playback a previously stored show.
There are also three status LEDs for indicating board operation: one LED for recording, another for playback and one for host communication.
During the final development stage some features were added and improved board’s flexibility:
- stand-by soundtrack: along with the show soundtracks, it is possible to include a fourth sound file which is played after an inactivity time. The software includes fade-in and fade-out effects an automatically suspend the soundtrack when a show is started;
- low-power mode: when no show is playing for more than a minute, the servos are automatically powered-down to reduce power consumption and avoid damaging the servo’s mechanisms;
- show priority: it is possible to set a show to interrupt another show that is already playing.
Below we have a picture of a customer’s puppet, during the board’s prototype testing phase.
This project was quickly designed (less than three months, working part-time, from conception to the delivery of the first completely working prototype) and it is always a pleasure to see your work being used on such amazing things as animatronics Christmas shows!