The Crickit FeatherWing is an excellent choice for controlling the motors, sounds, LEDs, and input necessary for many animatronics.
I'll use the Animated Eyeball Doorbell for specific instructions here, but you should be able to apply them to many different cases. Watch out Santa!
Teardown Documentation
It's a good idea to take detailed photos as you teardown the device. The Doorbell wiring is done with JST XH connectors, and has colored wiring, but no indication on the original mainboard as to which plug does what.
If you need to test things or return the device to stock state, it's incredibly helpful to have "before" photos as guidance!
With the peripherals disconnected, it's time to test driving each part from a Crickit and Feather combo.
Use the JST XH pigtails to connect:
- two motors to the motor driver terminals
- speaker to audio out
- pushbutton to signal 1/GND
Be sure to add a jumper across the audio output header pins on the Crickit in order to enable the amplifier output. (Red jumper shown here.)
Since the LED is wired directly to the board you'll need to cut those wires to insert them into signal 4/gnd.
LED Wiring
Note the polarity of the wiring -- gray is + and green is - here.
Clip the wires, then strip some insulation.
If you want to got the extra mile, you can crimp pins and add header shrouding or heat shrink tubing as shown here.
The transplant is complete! Now, the Feather and Crickit can be coded in CircuitPython or Arduino to receive input from the doorbell pushbutton, and then control both motors, play unique sound files, and blink the LED.
Final Touches
Depending on the space inside your animatronic device, you may be able to fit the Crickit inside. If not, you may want to build a custom back to add space, or run the wiring into a separate enclosure.
Here's an example of drilling out a hole in the battery compartment to run the Crickit externally, using zip ties to hold the Crickit in place.
The also allows access to the power, on/off switch, and USB connector for any re-programming.
Text editor powered by tinymce.