Note: This board is still in development, and documentation is currently sparse.
The RVL controller board is a custom board that runs the RVL Firmware, and is intended for use as both a development board and an LED controller. This board features:
- ESP32 dual core processor
- Compatible with 3 or 4 pin 5V LED strips supported by FastLED
- Solder jumper for switching between 3 and 4 pin headers (optional)
- Can be powered from USB, or can be "backfed" power from the LED strip connected to it
- 3.3V to 5V level translation on LED control pins
- An LCD and tiny 5-way joystick for controlling the device directly
- A 16-pin header, with GPIO, UART, JTAG, I2C, and ADC pins exposed
- Can be programmed using JTAG + OpenOCD or UART + esptool.py
- JTAG is the recommended way to interact with this device. The experience is a lot smoother, and you can also debug the device with breakpoints/variable inspection.
- RVL Firmware includes a script that is preconfigured to use JTAG+OpenOCD with this device and the FTDI C232HM-DDHSL-0 MSSPE cable
The GPIO header has the following layout:
TMS | TCK | GND | 26 | 25 | 18 | 23 | VCC |
TDI | TDO | RXD | TXD | 27 | 5 | 19 | GND |
Each pin has the following functionality*:
Pin | Functions |
---|---|
TMS | GPIO14, ADC2_CH6, TOUCH6, RTC_GPIO16, MTMS, HSPICLK, HS2_CLK, SD_CLK, EMAC_TXD2 |
TDI | GPIO12, ADC2_CH5, TOUCH5, RTC_GPIO15, MTDI, HSPIQ, HS2_DATA2, SD_DATA2, EMAC_TXD3 |
TCK | GPIO13, ADC2_CH4, TOUCH4, RTC_GPIO14, MTCK, HSPID, HS2_DATA3, SD_DATA3, EMAC_RX_ER |
TDO | GPIO15, ADC2_CH3, TOUCH3, MTDO, HSPICS0, RTC_GPIO13, HS2_CMD, SD_CMD, EMAC_RXD3 |
GND | Ground (shown as EN in the photo, but has been changed in the most recent revision) |
RXD | GPIO3, U0RXD, CLK_OUT2 |
26 | GPIO26, DAC_2, ADC2_CH9, RTC_GPIO7, EMAC_RXD1 |
TXD | GPIO1, U0TXD, CLK_OUT3, EMAC_RXD2 |
25 | GPIO25, DAC_1, ADC2_CH8, RTC_GPIO6, EMAC_RXD0 |
27 | GPIO27, ADC2_CH7, TOUCH7, RTC_GPIO17, EMAC_RX_DV |
23 | GPIO23, GPIO23, HS1_STROBE, VSPID/VSPIMOSI |
18 | GPIO18, GPIO18, HS1_DATA7, VSPICLK |
19 | GPIO19, GPIO19, U0CTS, VSPIQ/VSPMISO, EMAC_TXD0 |
5 | GPIO5, GPIO5, HS1_DATA6, VSPICS0, EMAC_RX_CLK |
VCC | 3.3 volt power (limited to 500mA total including CPU) |
GND | Ground |
*This data comes from the ESP32 WROOM datasheet.
Here is the front of the board:
Here is the back of the board:
Here is the board running with a WS2812b LED strip attached
And here is a video of an art piece I designed the lighting for using an older version of this board at Burning Man 2019: