Skip to content

Repository files navigation

S77_RGB

This is a variant of the 38c3 LED coaster by the good people of c3re that I created for my new friends of the Section 77 hackspace that so graciously gave refuge to me at 38c3.

Main differences:

  • The LEDs sit directly on the board. Looks better but is a bit harder to solder this way, as the pins are very close to each other and form bridges easily.
  • Support for header-based stacking of PCBs.
  • DC power jack. The inner conductor is the positive pole. This is good enough for small to midsized towers, depending on the rating of the power jack.
  • Direct support for INMP441 based microphones (needs ESP32 controller).
Top Bottom Tower
PCB top PCB bottom 50 stack tower

Building

Parts

All boards:

  • 100 Ohm resistor (R1)
  • 8x WS2812D-F5 RGB LEDs. A good source for them is LCSC (delivery is discounted after ordering boards from JLCPCB, they are sister companies).

Lowest or single board:

  • ESP controller, preferably an ESP32, like the WeMos D1 Mini PRO or the S2 Mini.
  • BS170 or similar transistor (Q1)
  • 2x 10 kOhm resistors (R2, R3)

Resistors can be through-hole or SMD (1206).

Vertical interconnection

PCBs are stacked by soldering pin sockets (top/LED side) and headers (bottom/silkscreen side) to J1 and J2, alternating (e.g. one level the socket is on J1, the next on J2, then J1 again...). The solder bridges over J1/J2 must be set accordingly, both left bridges if the socket is in J1, both right bridges if the socket is in J2 (also shown on the silkscreen)).

Possible parts:

PCB stacking

Power considerations

Very small towers (up to maybe 10 levels, depending on USB supply) can usually be powered through the USB connector. Larger towers can be powered through the DC jack and very large towers should be powered differently, like through crimp-on ring terminals on the brass standoffs. Use an appropriate fuse in this case, the polarity of the standoffs are printed on the silkscreen.

Microphone

An INMP441 based microphone breakout board can be directly soldered to the parts side of the PCB.

Firmware

The WLED software is a good firmware for the project, refer to the WLED website for installation instructions.

If the microphone is fitted, use the following pin settings in the WLED firmware, depending on the ESP32 module used:

Function D1 Mini S2 Mini
LED IO16 IO16
Mic I2S SD IO26 IO5
Mic I2S WS IO5 IO12
Mic I2S SCK IO21 IO33

Flashing WLED on the ESP32 S2

As the web installer of WLED currently doesn't seem to support the ESP32 S2 and I found it very difficult to come by information on how to do it manually, I include a short description here. Flashing the S2 is done in 3 parts: the bootloader, the partition table and the WLED firmware.

  • Download the missing parts. The WLED firmware is easily available at the latest release on the WLED page, but the bootloader and partition table are very well hidden in release 0.15.0-b2 here and here

  • Get a working version of esptool, like through pip in Python

  • Execute the following steps:

    • Connect the S2 with a USB cable. Don't provide any other power to it while doing so.
    • Bring the S2 into the ROM bootloader by tapping the RESET switch while holding down the BOOT0 switch. A COM port should appear in the system. If not you might need an INF file on Windows
    • esptool flash_erase
    • esptool write_flash 0x01000 S2_bootloader.bin
    • esptool write_flash 0x08000 S2_partitions_4M.bin
    • esptool write_flash 0x10000 WLED_0.15.3_ESP32-S2.bin

    Manually reset the S2 again without holding BOOT0 and you should be good to go.

About

Stackable RGB LED plate

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors