Assembly instructions for the RGB cat ears
Find a file
2025-06-15 13:28:42 +02:00
WLED Add WLED config 2025-06-15 13:28:42 +02:00
README.md Add WLED config 2025-06-15 13:28:42 +02:00

Building RGB cat ears

Have you ever looked at your cat ears and thought, "Damn, I wish they had more of a gamer-vibe!"?

No?

You don't even have cat ears?

Sounds like the perfect time to build a pair of WLED-powered, high-density, individually addressable, RGB cat ears. Proven to increase your speed of operation by at least 35%! [citation needed]

What You Need

Required tools

  • 3D Printer or a friend with a 3D printer
  • A computer or Android device with a Chromium browser or the ability to run esptool
  • Soldering iron
  • Scissors or other tool for cutting the LED strip
  • Hot glue gun

Bill of Materials (BOM)

  • 5mm width WS2812B ("Neopixels") 200 LEDs/m LED strip with diffusor ("COB-Style")
    • One pair of cat ears requires exactly 25cm of this strip, which equates to 50 LEDs, so if you are careful with your cuts, then 1m of this RGB strip is enough for four pairs of cat ears
  • ESP32-C3 SuperMini
    • Any WLED-compatible microcontroller will work, but the case is designed for this one
  • Optional: INMP441 I2S Microphone Module for audio reactivity
    • Any WLED-compatible microphone will work, but again, the case is designed for this one
  • Any cable with at least 3 wires to connect the controller box and the LED strip together (should be long enough to reach from your head to your pocket or where you want to keep the controller box)
  • A few wires for internal connections
  • Heat shrink for neater cable connections
  • Any USB Powerbank
  • Any USB cable to connect the powerbank

Build process

3D Printing

  • 3D print the box.stl and lid.stl files
    • I printed them from PLA and without supports
    • The lid will snap onto the box, no screws needed
    • Make sure to test-fit your ESP32 board into the case before starting the final assembly
  • 3D print the cat ears TODO: Link correct cat ear stl
    • I recommend using a semi-transparent filament (perhaps even a glow-in-the-dark one) for a cooler effect

Software

  • Connect you ESP32-C3 board to your PC with a USB cable
  • Since ESP32-C3 support in WLED is still experimental, you will need to use this unofficial web installer instead of the official WLED one or flash the binary by hand using esptool.
    • Depending on if you want to use it with a mic or not, you can choose the version with or without the audio reactive usermod (if you plan to add a mic at a later date, you can still choose the version with the mod right now and just not configure it)
  • The web installer will also guide you through setting up WiFi
    • This is not necessary, and I would also recommend not setting it up and using the access point mode instead (SSID: WLED-AP, Password: wled1234)
  • Connect to the WLED web interface
    • Open the file editor by clicking the pencil ("✏️") button below the color wheel
      • Create a new file called palette0.json with this content:
        {"palette":[0,"5bcffa",36,"5bcffa",37,"f5abb9",110,"f5abb9",111,"ffffff",145,"ffffff",146,"f5abb9",219,"f5abb9",220,"5bcffa",255,"5bcffa"]}
        
    • Click Config on the top navigation bar
      • Choose Security & Updates
        • Choose the file wled_presets_nya.json from the WLED directory under Restore presets and click Upload
        • Choose the file wled_cfg_nya.json from the WLED directory under Restore configuration and click Upload
        • If those predefined files don't work, please refer to Configuration.md in the WLED directory to manually configure everything

Note

If you want to use your entire RGB strip to make multiple cat ears, then set your LED count to the total LED count instead (if you ordered 1m, that would be 200) and adjust the segments in the Test preset to repeat with 10 LEDs each as many times as needed.

Cutting the LED strip

  • You can now temporarily wire up the LED strip (the correct side to connect to will be the one with the female connector, TODO: insert picture) to your ESP32-C3:
    • Connect the white wire to ground
    • Connect the red wire to 5V
    • Connect the green (always the centre one) wire to GPIO2
      • Note that GPIO2 is the default for this controller in WLED, you can change it in the LED configuration if you prefer a different pin
  • Once you have made that connection, you can give the ESP32 power again, the LED strip should now light up in differently colored LEDs of 10 segments each once you activate the Test preset by cycling to it using the "BOOT" button
    • If you want to, you can now connect to the web interface of WLED again and try various colors across the entire length of the strip to make sure the LED strip has no defects
  • One pair of cat ears needs 50 LEDs in total, the test preset that you have uploaded to WLED earlier will make it easy to count them by lighting them up in segments of 10 LEDs each
    • Use a pen to mark the cut at the 50 LED border. You will want to place that mark slightly closer to the side that is connected to the ESP32, as that will leave a larger area to solder on wires to the rest of the strip (since you will not need to solder anything to the output side, the size of the remaining pads there doesn't matter)
  • Remove power from the ESP32 again! It is very important that you completely remove power before cutting to avoid shorting your power supply using your scissors (turning the LEDs off from WLED will not be enough as power will still flow through the strip)
  • Cut the strip at your marked position, a normal pair of scissors will do the trick

Note 1

If you want to use you entire RGB strip to make multiple cat ears and have adjusted your WLED settings as described in the note from the previous section, it will be smarter to start cutting from the end of the strip so you can cut the strips for all your cat ears in succession without having to stop to solder wires onto them.

Note 2

At the end of the strip there is another (male) connector whose purpose it is to daisy chain multiple strips. You won't need it, so its heat shrink can be carefully removed and the wires desoldered. Make sure you don't leave any solder bridges between the three pads behind as those will prevent the strip from working in the best case, or cause a short circuit in the worst case.

Mounting the LED strip to the cat ears

  • Optional: If you want a more uniform look, you may now desolder the original connector from the strip and replace it with your own cable. Otherwise, you can leave it in place for now.
  • Connect the ESP32 with the strip attached to power again, the 5 segments should light up again once you cycle to the Test preset using the "BOOT" button
  • You can use those segments to perfectly align the strip to the cat ears as pictured below: TODO: insert picture
  • Once you have made sure the strip aligns properly, you can remove the protective film from the pre-mounted double sided tape on the back of the strip and stick it in place with that same alignment.
    • I recommend keeping the power on during that time so you can be sure the alignment is correct

Connecting the electronics

  • Now that you have verified everything works and have manufactured all the necessary parts for the case, it's time to put everything together
  • Start by feeding the cable that connects between the cat ears and controller box through the hole in the back of the box
  • Don't forget to put appropriately sized heat shrinks onto the cable now before soldering anything together.
    • For the cat ear side, I highly recommend two heat shrinks, a small one for the cable only, and a bigger one to wrap around the cable and the cat ear body as a strain relief
  • If you have chosen to leave the original connector on the LED strip, you can now either cut the wires of it in a way that leaves enough wire length to join them with your cable or join your cable with a spare male connector (for example, the one you removed from the end of your RGB strip earlier)
    • I don't really recommend keeping the connector, as it might be uncomfortable against your head
  • Also don't forget to use heat shrink on each individual wire when joining wires
  • Then connect the other side of the cable to your ESP32, make sure to leave a minimal amount of bare wire uninsulated to avoid shorting against other pins of the ESP32
    • If your cable has very thin wires, it may be easier to instead first solder thicker wires to your ESP32 and then carefully join them to your cable
  • Once everything is electrically connected and you have verified it still works, use your hot glue run to fix the cable in place and provide strain relief by glueing around the area of the cable hole. Don't be stingy with the hot glue, strain relief is important.
  • Put the lid onto the box
  • You are now done, enjoy your flashy new cat ears

Wiring

  • WS2812B data: GPIO 2
  • WS2812B ground: GND
  • WS2812B power: 5V
  • I2S mic SD: 5
  • I2S mic WS: 6
  • I2S mic SCK: 7
  • I2S mic L/R: GND
  • I2S mic GND: GND
  • I2S mic VDD: 3.3V

Possible future ideas

  • replace WLED with more stable software
  • perhaps custom PCB with:
    • more buttons
    • a 3.5mm jack for the led cable (then one could just order a 3 meter headphone cable and cut it in half for two 1.5m cat ear cables)
      • or alternatively holes next to solder pads for "built-in" strain relief
    • a level shifter (just a single ws2812b led right on the board, or multiple for better effect preview) to allow for more tolerance in the cable length
    • built-in charge controller and boost converter to directly attach a lithium ion battery
  • use custom firmware instead of WLED on an ESP32-C6 or NRF microcontroller to allow for LED operation on the low power core and Bluetooth communication on the high power core only if needed
  • version of the cat ears with an inset for a 2.7mm led strip instead of a 5mm on top like this one