Adafruit has been building a number of Feathers around the Raspberry Pi Foundation’s RP2040 microcontroller, each with a different set of peripherals squeezed into the Feather’s small form factor. This iteration of the Feather is aimed at making portable “props” with interactive lights and sound. Really any interactive device with lights and sound can benefit from this compact and capable development board.
The first thing to notice about this Feather are the six screw-down terminals at one end of the board. Two of these terminals connect to an I2S audio amplifier (MAX98357), allowing you to connect a 4 to 8-ohm speaker and get 3W of audio output power. Screw-down terminals are nice for this application since speakers rarely come with connectors. Three of the pins provide ground, power, and a buffered digital output meant for driving NeoPixels. The buffered output allows the data pin to operate at a higher voltage than the RP2040’s 3.3V output, usually either the LiPo battery voltage or the USB voltage. The power pin, buffer, and amplifier can be turned off by another of the RP2040’s GPIO pins to conserve power. The final position in the terminal block is connected directly to a GPIO pin for the suggested use of a momentary switch.
In addition to the row of screw-down terminals, there is a three-position header with power and GPIO for a three-pin servo connection. The power on the servo connector is the same as on the screw-down terminals. This Feather has the standard features found on most new Feathers: there is a Stemma-QT connector for adding I2C based devices, and a LiPo battery connector with a battery charging chip that will charge the battery whenever the Feather is plugged into USB power. That’s not all for peripherals, however. There is also an LIS3DH three-axis accelerometer, opening up the possibility of motion-activated lights and sound.
We followed Adafruit’s guide to set up the programming environment. The Prop-Maker Feather can be programmed in either CircuitPython or Arduino IDE. Installing CircuitPython requires holding the boot button and resetting the board to get it into bootloader mode. The board will then mount itself as a USB drive onto which you can drag and drop the CircuitPython firmware. Preparing the board for Arduino IDE involves adding a third-party board manager URL to your preferences and then selecting the appropriate board. There is one hitch to using Arduino IDE with this Feather, however, and it is that the Arduino pin numbers do not perfectly match the ones printed on the board itself. Refer to the pinout diagram in the guide to find the chip’s GPIO pin numbers, which should be used in Arduino IDE.
Adafruit has written example programs for both CircuitPython and Arduino IDE that endeavor to demonstrate ALL of the Prop-Maker Feather’s features at once. To see every bit of its output, you will need a NeoPixel strip, button, speaker, and servo. Connecting fewer devices will be fine too. The guide for the example program diagrams the hookups and explains how to install needed libraries. There is an error in the instructions for the Arduino IDE version of the example program: there are two header files called “boot.h” and “hithere.h” that are available on Adafruit’s GitHub repository but don’t come with the example code in the guide. You can download those files and put them in the directory where you have saved the example code to get it working. (The author has alerted Adafruit to the issue.) There is a lot to unpack in the example code that we can’t go into here, but it is a good place to start to figure out coding this particular Feather.
In all, this is a very versatile Feather for making interactive gizmos. It has certainly captured this reviewer’s imagination. Be sure to check out the example applications that will show at the bottom of Adafruit’s guide, like the light saber project.