Evil Genius Labs
Custom Electronic Art
Custom Electronic Art
For fast shipping to the US, you can buy from our Tindie store.
For free shipping worldwide, you can contact us to order and have them shipped to you directly from the PCB manufacturer. It takes a few weeks, and they require PCBs be ordered in multiples of three.
This is a shield/breakout for NodeMCU-32S Board that makes it easy to control addressable RGB LEDs, such as WS2811, WS2812 (Adafruit NeoPixels), SK6812, APA102 (Adafruit DotStars), and SK9822. The NodeMCU-32S Board is an excellent Wi-Fi and Bluetooth development board based on the ES32. This shield supports 16x parallel output.
I made this shield because I was hand-wiring this same layout on perma-proto boards, which was time-consuming and unprofessional looking.
The shield includes two 74HCT245 level shifters, which are the most well-regarded high speed level shifter I’ve found. They shift the 3.3V logic level of the ESP32 to the 5V expected by addressable RGB LEDs. These projects often work fine without a level shifter, until they don’t.
Sixteen digital output pins (0, 2, 3, 4, 5, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23) are run through the level shifter.
The shield also includes places for data line resistors as recommended when driving LEDs. A large capacitor should be connected across the power and ground connections near the LEDs. The 70 mil 5V and GND traces should be rated for up to 6 amps. That’s enough for about 100 LEDs at max output (solid white, full brightness). A barrel connector can be added to connect a power supply, but most are only rated for 2.5A (~50 LEDs at max output). For larger quantities, power should be connected directly to the LEDs, and/or brightness should be limited in software.
Parts that are not included, but are required to assemble:
Open source example firmware and web application: https://github.com/jasoncoon/esp32-fastled-webserver
Note: Double-check the position, alignment, and orientation of each component very carefully before soldering!
If you’re new to soldering, I highly recommend reading through a good soldering tutorial, such as the ones by Adafruit and SparkFun.
I used this 3D printed vise to hold the PCB while soldering.
I also built one of these DIY flexible soldering helping hands.
Insert the SN74HCT245N Level Shifter chip into the holes in the top side of the board, where indicated. Be sure the notch is correctly aligned toward the 0.1uF capacitor, as indicated with the markings on the PCB.
Flip the board over and solder one pin on the chip, pressing down on the PCB to ensure the chip is seated firmly.
Make sure the chip is still seated properly before proceeding to solder the rest of the pins.
Insert the 0.1uF capacitor, flip over and solder.
Insert 300 Ohm to 500 Ohm resistors in each set of holes for each output you plan to use. Bend one leg 180 degrees around, flat against the resistor body, and insert it vertically.
Flip the board over and solder each leg of each resistor.
Trim all the leads with a pair of wire cutters. Flush diagonal cutters work best.
Insert the power barrel jack.
I used a twist tie through the corner mounting holes to hold it in while I flipped the PCB over and soldered it in.
The pads are very large, and connected to large ground and power planes on the board, so they might take a while to heat up before the solder starts to flow around the leads.
I use pre-assembled 3 pin JST-SM connectors to connect the LEDs.
If possible, use a vise to hold the PCB vertically, and a helping hands tool to hold the wires as they’re soldered.
With a small amount of solder on the tip of the iron, heat the wire right on the bottom of the pad.
Melt a fair amount of solder on the wire and pad. The insulation on the wire may start to melt as the wire heats up. If so, push the wire through the hole, from the top towards the bottom, to ensure no wire is left exposed on top.
Repeat this process for the other wires.
I used the NodeMCU-32S to hold the female headers correctly aligned while I soldered.