Wearable Light Display
I will walk you through how to create your own wearable light display box. The array of NeoPixels illuminates a card displaying custom patterns and designs. Here I have several smiley-face icons illuminated. A single face can be illuminated to show others your mood or current feelings. Other cards can show a name, message, business logo, or anything you can design.
Supplies
This project will require several tools and parts.
Tools:
- 3D printer or 3D printing service
- Soldering iron (with solder, flux, and other essential supplies)
- Hot Glue and dispense (Glue gun or glue pen) (Other glues may also work)
- PC (to program the board)
- Scissors
Parts
- (3) TL9210AF260Q Tactile Switch
- TL9210AF260Q E-Switch | Switches | DigiKey
- (1) Panel Mount Slide Switch
- DIYhz Slide Switch Panel Mount 3 Solder Lug Pin ON/Off 2 Position 50Pcs: Amazon.com: Industrial & Scientific
- (15) WS2812B RGB LEDs
- ALITOVE 100pcs WS2812B Addressable 5050 Smart RGB LED Pixel Light on Black Heat Sink PCB Board 5V DC Compatible with Arduino, Raspberry Pi - Amazon.com
- (2) 3D Printer Fillament
- White or a transparent material will be needed for the LED holder/diffuser and the display cards
- Any color and be used for the display case, it must be a rigid material
- Here I am using white PLA, Transparent TPU, and Metalic Gray PLA at 1.75mm
- (1) Flexible Clear Plastic Sheet
- Amazon.com: Mifflin Flexible Clear Plastic Sheet (8x10 x 0.03 inch, 5 PK), ATR-Processed Transparent Plexiglass, Lightweight & Thin, Picture Frame Glass Replacement, General Household Use, Easy Cut : Arts, Crafts & Sewing
- (1) Adafruit Feather:
- Overview | Introducing Adafruit Feather | Adafruit Learning System
- Any feather will work, I am using the Feather nRF52840 Sense. Some have additional capabilities like BLE, Wifi, LoRa, and sensors. The Feather sense board comes with several sensors and BLE to later add other cool features to this project.
- I designed the case to fit the Feather form, but other boards that can fit inside and be powered by a 3.7 v Battery can be used (Seeed Xiao boards for example), the feather boards do have a built-in charging circuit, and circuit python is used to program them, but an Arduino code can do the same thing.
- (1) Lipo Battery
- Lithium Ion Polymer Battery - 3.7v 500mAh : ID 1578 : $7.95 : Adafruit Industries, Unique & fun DIY electronics and kits
Get the 3D Printed Parts
Print the Pixels.stl in a white filament that can diffuse the light.
The design cards were design to have the lower parts be lit while the thicker parts block light. This can be done two ways.
- Print in white or transparent material, then paint the top surface a darker color to block the light.
- Print the bottom layers in white/transparent, then switch to a darker material at some point during the printing of the cards when the bottom layers are done.
Both options give the same effect.
I used standard print settings for this project.
- 210° Nozzle Temperature
- 60° Bed Temperature
- Brim
- Generated Supports
- Printed on an Ender 6 3D printer
Attached the LEDS to the Diffuser Board
Use hot glue to fix each pixel to a notch in the diffuser board. Make sure the directions of the pixels flow the same way.
Next Solder jumper wire from pixel to pixel. Leave about 2.5 inches of jumper wire at the first pixel for soldering to the Feather board's pins. Each row should be wired down to the next row then across in the opposite direction, and so on. This will allow you to programmatically select individual pixels to light up and address them as pixel 1 through 15.
Assemble All Parts
Solder jumper wire to the buttons and slide switch before placing them in the top of the case. Then place them in wire first. Hot glue the Feather board into its notch on the bottom of the case.
Solder one pin of each button together, then solder their end to the Feather ground pin. Solder the other pin on the three buttons to pin 10, 9, and 6 on the Feather respectively.
The batter goes directly the board's battery input terminal. My boards terminal was removed to save space, so I just soldered directly to the positive and negative battery pins.
The switch has its center pin soldered to enable, and one of its others to ground. This will engage the Feather's enable pin to turn off the device.
The first pixel (one of the corner pixels depending on how you arranged them) has its 'in' pins soldered to the Feather's corresponding 3v, D12, and ground.
I am experimenting with displaying the wiring using the 3D parts assembly in Fusion 360. I hope it is clear what goes where.
Trace the outline of the inside perimeter of the case top onto the acrylic sheet then cut it out with scissors. Apply a little bit of hot glue inside the top before adding the acrylic cover to it. Be careful too much glue will ooze on the surface of the clear cover.
Program the Feather Board
We will be using CircuitPython to bring this device to life.
Please read here if you are new to CircuitPython programming. Welcome To CircuitPython | Welcome to CircuitPython! | Adafruit Learning System
The two attached file should be placed in the CIRCUITPY (or some similar name) folder that appears when you plug your Feather into your PC. The code name code.py will be what is run, so to run the other file switch its name to code.py.
code.py is the main program for the smileys card. It has the buttons programmed to toggle through colors, dim levels, and light an individual pixel.
Be sure to go to the following link to get the latest CircuitPython library bundle. Other than the built-in libraries, you will need to add the neopixel.mpy and adafruit_debouncer.mpy files from the library bundle. Copy them into your board's lib folder.
Wear It
We are done. I hope you enjoy your wearable light box. Please share any remixes to the designs. You can copy the card dimensions and use them in Fusion 360 to create your own designs to interchange.