Fun Party LED Drinks Coaster
This is a fun LED battery powered drinks coaster for parties - has 11 different selectable patterns. Created with WS2812b LED strip and Raspberry Pi Pico microcontroller.
Supplies
WS2812b LED Strip - 60 pixels per meter - requires 36 LEDs - about 60cm of strip.
Rasperrby Pi Pico Microcontroller
TP4056 Lithium Battery Charger module either USB C or USB Micro
EEMB 3.7V Lipo Battery - ~1200mAh - size no bigger than roughly 58mm x 38mm x 6mm
SPDT ON-Off Miniature Slide Switch
6mm x 6mm x 5mm Momentary Tactile Push Button
Dupont Male / Female wires (Red, Green and Black)
Wires various lengths / colours
Wire cutter/stripper
Glue / Masking Tape
Soldering Iron
3D Printer - Clear or Natural and Brown, Black (or any colour) PLA
LED Base Construction
Print off the LED Base plate in Black or Brown - or any colour PLA
Cut 6 strips of WS2812b LED - each strip should contain 6 Pixels and be about 10cm long.
The strips should be self adheasive - place them in the base as per picture
*IMPORTANT* - make SURE that the orientation is correct - the data line needs to alternate so that it is "Zig Zagigng" up and down. There is a small arrow on the data line that shows the direction.
Downloads
LED Wiring
Cut 3 short lengths of dupont wire (female end) for the data in, +5v and Ground lines and feed them through the hole in the base. (The data wire should be slightly longer as it needs to reach over to the start of the strip)
Solder the green wire to the "Din" spot on the first LED strip.
Solder the Red wire to the nearest +5v spot and do the same for the ground wire - See Diagram
Cut 5 approx 21mm wire lengths and solder these to the top and botton of each strip
Cut 10 more approx 21mm wire lengths for the +5v and ground connections - solder these in place as per diagram and pictures.
Pico Setup
Hold the Boot Select button while connecting the Pico to your computer and update it to the latest MicroPython Firmware by dragging in the .uf2 file downloaded from here:
https://www.raspberrypi.com/documentation/microcontrollers/micropython.html
Download and install "Thony" from here:
Copy the neopixel code into Thony and save it as "neopixel.py" onto the Pico
Copy the main Python Code into Thony and save is as "main.py" (naming it as "main" will make it autostart on power up)
You can play around with the colours (lines 25 - 36) and colour order (line 89) if you like.
Use an RGB colour chart (eg: https://www.rapidtables.com/web/color/RGB_Color.html) to experiment.
Component Base Construction
3D print out the Components base - I used clear, but you can use any colour you like really.
Test fit the components into the sections of the base as per the pictures to make sure that everything fits correctly - you might need to do some filing especially round the holes for the switches to make them move freely.
Wire the components up as per the diagrams and pictures.
- Battery+ wire (Red) to the charge module B+ point
- Battery- wire (Black) to the charge module B- point
- Charge module Out+ to one of the outer on/off switch poles
- Charge module Out- to the Pico Gnd point (38)
- On/Off Switch middle pole to the Pico Vsys connection (39)
- Select Button connection to Gnd on Pico (3)
- Select button connection to GP1 on Pico (2)
- Use a Male end Dupont wire (Green) to connect to GP0 on Pico (1)
- Use a Male end Dupont wire (Red) to connect to V3V out on Pico (36)
- Use a Male end Dupont wire (Black) to connect to Grd on Pico (8)
Fit all the components into the base and secure the wires - I used small bits of masking tape to keep them in place, but you could use hot glue or something else. Use a spot of glue to secure the switches in place.
Test everything by connecting the data ground and power Dupont wires to the LED base.
The Pico should instantly start making a pattern on the LEDs. Pressing the button should cycle through the patterns.
Downloads
Diffuser Panel and Final Construction
3D Print out the deffuser panel in clear PLA. I used a "Grid" infill pattern in the slicer - but you can play around with other infills to give a slightly different effect.
Once you are happy that everything is working as it should, glue the diffuser onto the LED base.
(Tricky part!) Carefully contain the wires inside the base and glue the parts together.
Downloads
Party On!
Just a final note (disclaimer!) to say that this is not water proof! Spilling a drink on it might bork it... also 3D printed PLA is kindof hard to clean food / liquids off so be warned :)
With that said.... Party on!