The Adafruit Sparkle Motion Stick is a miniature board with a lot of sparkly features.
PrettyPins PDF on GitHub.
- USB-A port - This is used for both powering and programming the board. You can power it by plugging it into a USB A port on a computer, USB A power supply (like a phone charger) or USB A battery pack. It is a 5V 2A input - you can use off-the-shelf USB battery packs for portable operation. It is connected to a 2 Amp resetting fuse to protect from overcurrent drive.
- 5V - This pin, located in the bottom right corner terminal block on the board, is the output from the 5V regulator. Its meant to power your 5V pixels.
- Power LED - The green LED, located in the bottom left corner on the front of the board (labeled 5 for 5V on the board silk), indicates when the board is powered up.
- GND - This is the common ground for all power and logic.
The processor on the Sparkle Motion Stick is an ESP32 mini module. The classic ESP32 has the best WLED support. Comes with 4 MB of flash, dual core 240MHz Tensilica, WiFi, Bluetooth LE and Bluetooth Classic support.
On the right edge of the board are two NeoPixel output signals. Both signals are level shifted to 5V and are on 0.1" spaced breakout pads.
- 21 - GPIO21, available as D21 in CircuitPython and 21 in Arduino
- 22 - GPIO22, available as D22 in CircuitPython and 22 in Arduino.
There are two LEDs you can control in code.
-
NeoPixel LED - This addressable RGB NeoPixel LED, labeled Neo on the board, can be controlled with code. It acts as a status LED in CircuitPython and is connected to GPIO18. It is available in CircuitPython as
board.NEOPIXEL
, and in Arduino asPIN_NEOPIXEL
. -
Red LED - This little red LED, labeled 4 on the board, is on or blinks during certain operations (such as pulsing when in the bootloader), and is controllable in code. It is available in CircuitPython as
board.LED
, and in Arduino asLED_BUILTIN
or4
.
-
Boot button - This button can be read as an input in code. It is connected to pin GPIO0. It is available as
board.BUTTON
in CircuitPython, andBUTTON
in Arduino. Simply set it to be an input with a pullup. This button can also be used to put the board into ROM bootloader mode. To enter ROM bootloader mode, hold down boot button while powering up the board. When in the ROM bootloader, you can upload code and query the chip usingesptool
.
The IR Receiver on the top center of the board makes it easy integrate a remote control into your project.
IR - GPIO10. Available as board.IR
in CircuitPython, and 10
in Arduino. It is connected to ADC2.
In the center of the board is an I2S microphone, great for adding audio reactivity to your WLED projects. It uses three data pins:
- WS - GPIO12
- DATA - GPIO13
- BCLK - GPIO14
You can use the microphone with WLED and Arduino. There is no I2S input support in CircuitPython at this time.
The CH343 USB to serial converter communicates between the ESP32 and your computer over USB. It is a full-speed USB device interface and is USB 2.0 compatible. It has an auto-reset circuit that works perfectly with any ESP32 uploading tool. Sometimes these chips require drivers to be installed on your computer's operating system. We have a Learn Guide detailing how to install these drivers.
Page last edited May 22, 2025
Text editor powered by tinymce.