Imported from GitHub: VasilKalchev/PXLstick · commit da7b729 · license MIT
Description
Board for driving WS281x lights with ESP32 running Aircoookie's WLED firmware
README
PXL stick v1.1

Release v1.1 is a fix for v1.0, but was not fabricated at the time of release.
:memo: Check the latest release note of this version for a possible update on the fabrication status.
WLED firmware
[!NOTE] If you haven't heard of WLED, it's best to check it out first.
Characteristics
The board is intended for mounting on some kind of vertical stick, that has a WS281x LED strip on it.
- Runs a custom build of WLED on a ESP32-WROOM-32E module.
- Physically controllable through 2 user configurable touch buttons and a rotary encoder for brightness and color.
- It also has an infrared receiver for further flexibility.
- Equipped with an I2S mic to enable WLED's audio reactive effects.
- Level shifted WS281x data signal.
- Narrow form factor: 25x100mm
How to use it?
1. PCB fabrication
The release includes Gerber and drill files, generated according to JLCPCB's instructions. Other fabricators may have different Gerber and drill files requirements, in which case you'll have to generate the files manually, according to their specification.
If you have made modifications to the PCB and want to regenerate the exports - you can use the scripts provided in /hw/export/.
2. Assembly
INMP441 mic

There are two footprints for the INMP441 mic. U3 is for its 9-terminal LGA_CAV package (located on the back of the PCB) and A1 is for its breakout board (can be soldered on either side). When using the breakout board - don't solder C7, R9 and R10.
Optional peripherals
- IR receiver (U2, R8, C6)
- rotary encoder (RE1, R2, R3, R4, C3, C4, C5)
- microphone (U2/A1, R9, R10, C7)
- power status LED (D1, R1)
3. Wiring and mounting
The board is powered with 5V by soldering wires to the through-hole pads marked with "5V" and the symbol for ground (located below ESP32-WROOM-32E).
WS281x's data wire is soldered to the through-hole pad marked with the LED graphic.
Recommended rotary encoder's knob diameter is 20mm.
Holes H1 and H2 are used for mounting the board with 2mm screws.
4. Firmware binary
The release includes a custom WLED build compiled with a rotary encoder "usermod" and preconfigured. If you're not planning on using the rotary encoder, you can use the official build.
If you want to customize your build further - you can use my fork of WLED which includes the configuration for the custom build.
5. Flashing
Flashing the firmware for the first time requires connecting to the board through a USB to serial adapter.
The programming pins are exposed on the left side of the board. You can avoid soldering a pin header and just put a header or jumper wires through the plated holes.
[!TIP] If you get an error while flashing firmware - try putting ESP32 in bootloader mode manually.
This is done by momentarily pulling pin "EN" low (restart) while pin "BOOT" is pulled low. Pins "EN" and "BOOT" are exposed as pads, "EN" is located to the left of the ESP32 module and "BOOT" is to the right. Shorting these pads - pulls the pins low.
Method A: Flashing directly with Espressif's esptool
- Follow the instructions to install esptool.
- Flash WLED's bootloader:
esptool.py write_flash 0x0 ./esp32_bootloader_v4.bin
- Flash the firmware binary:
esptool.py write_flash 0x10000 ./WLED_XXX.bin
If you experience issues - try erasing the flash first:
esptool.py erase_flash
[!NOTE] This method is taken from WLED's documentation web site.
Method B: Flashing with WLED's web installer and performing an OTA update
You can avoid installing esptool by using WLED's web installer to flash WLED's official firmware and then performing an OTA update with the provided custom binary.
6. Configuration
You can now continue with WLED's getting started guide to configure your board.
[!TIP] After connecting the board to your Wi-Fi network you can apply the provided base configuration by going to "Config" > "Security & Updates" > "Restore configuration" and uploading the provided base configuration file (after that, you'll have to configure the Wi-Fi again).
Board connections:
| Function | GPIO |
|---|---|
| WS281x | GPIO 4 |
| "square" | GPIO 32 |
| "triangle" | GPIO 33 |
| "circle" | GPIO 14 |
| RE 1 | GPIO 27 |
| RE 2 | GPIO 16 |
| RE BTN | GPIO 17 |
| LED | GPIO 2 |
| IR receiver | GPIO 23 |
| INMP441 SD | GPIO 15 |
| INMP441 WS | GPIO 13 |
| INMP441 SCK | GPIO 25 |
No comments yet. Be the first to ask about this board.