The Sparklepony exists due to an acute shortage of fabulousness in this world. Have you ever felt you were born in the wrong dimension? One where Tron suits are not suitable for business meetings and that platform boots+fur bikini ensemble you wear to burning man every year just gets you laughed at anywhere else? The Sparklepony daughterboard exists to fill your needs.
Activate the Sparklepony's super powers and transport yourself to a world where your glowing orb exudes fabulousness and photons in equal amounts. Do you need to conduct a rave at your next standup meeting? Do you need to add some spice to your morning subway ride? Need to answer the phone in the coolest way possible? Now you can.
Do not look directly into the Sparklepony at maximum brightness unless you like moderate discomfort and pulsing spots of blindness.
- On-board MP28164 high-efficiency, single-inductor, buck-boost converter with 4.2A switches.
- Leds powered by Wiphone battery. (No external power required.)
- On-Board 3.3V to 5V logic conversion for communication between esp32 processor (3.3V) and LEDs (5V).
- Frosted plastic cover for a nicer look and colour diffusion.
- 60 LEDs (12x5 grid array).
- 60x XT9822-D20 LEDs.
- Red: 620-625 nm wavelength, 300-5000 mcd brightness
- Green: 520-530 nm wavelength, 400-700 mcd brightness
- Blue: 460-470 nm wavelength, 100-3000 mcd brightness
|DB Pin #||Pin Name||Arduino Pin||Description|
|12||VBAT||Supply voltage for power stage. Input VBAT and output 5.0V for LEDs.|
|14||3.3V||3.3V reference voltage for 3.3V to 5V logic conversion.|
|2,11,13||GND||This pin is connectoned to System GND.|
|8||DATA||13||Input data Pin for LEDs|
|10||CLOCK||14||Control signal Input clock data.|
|16||EN||EXTENDER_PIN(11)||On/off control. Pull EN high to enable;pull EN down disable.|
The XT9822-D20 is an addressable RGB LED employing a 2-wire communication protocol consisting of a clock and a data line. There are three LEDs inside: red, green, and blue. Color and brightness of each LED can be controlled independently. Colors are 8-bit (256 colors) and brightness 5-bit (32 levels).
LED numbering moves from bottom to top, left to right when facing the LED side of the PCB, as shown in the diagram below.
The MP28164 is a high-efficiency, low quiescent current, buck-boost converter used to convert the battery voltage to 5V needed for stable operation of XT9822-D20 LEDs.
BSS138 Based Voltage level Shifter¶
The WiPhone uses 3.3V logic and XT9822-D20 LEDs runs at 5V. The data and clock lines include a bi-directional logic level converter based on a BSS138 transistor.
By default, daughterboard support is turned off in firmware. To use an LED board with the WiPhone firmware, uncomment
#define LED_BOARD in Hardware.h
The LED board pin definitions and configuration can be seen in code below.
63 64 65 66 67 68 69 70 71 #if defined(LED_BOARD) #include "src/drivers/APA102/APA102.h" #define LED_BOARD_DATA 13 #define LED_BOARD_CLOCK 14 #define LED_BOARD_COUNT 60 #define LED_BOARD_BRIGHTNESS 1 extern APA102<LED_BOARD_DATA, LED_BOARD_CLOCK> ledBoard; // can be any LED strip, actually, with APA102 LEDs #define LED_BOARD_ENABLE EXTENDER_PIN(11) #endif
Be careful to make sure your animations don't run too hot, and if they do, you can always lower the brightness
#define LED_BOARD_BRIGHTNESS 1 (see Warning below).
Setting all the LEDs on white and turning the brightness up all the way up will result in damage to your board and may result in injury and/or fire !
After enabling support for LED board in firmware and uploading new firmware to WiPhone. We can see example app at :
Tools -> Development -> LED Microphone
This LED microphone example app drives the LED array similarly to a VU meter, based on sound level received at microphone.