Skip to content

ESP32 DotStar Methods

Shlomo Zippel edited this page Jan 8, 2023 · 2 revisions

These methods all use DMA behind the scenes for async transfer, and most of the SPI buses support multiple pin outputs. Here is a summary of available buses and their supported bit width:

MCU Spi1 Spi2 Spi3
ESP32 1x, 2x, 4x 1x, 2x, 4x 1x, 2x, 4x
ESP32-S2 - 1x, 2x, 4x, 8x 1x
ESP32-S3 - 1x, 2x, 4x, 8x 1x, 2x, 4x
ESP32-C3 - 1x, 2x, 4x -

For all of the following methods if a Spi bus number isn't specified then Spi2 will be used by default. A default speed of 10Mhz will be used

Spi bus names

The older ESP32 parts (ESP32, ESP32-S2) used different names for the SPI buses. For example ESP32 used Hspi and Vspi for Spi2 and Spi3, respectively. ESP32-S2 used Fspi and Hspi for Spi2 and Spi3. The newer parts (ESP32-S3, ESP32-C3) dropped these names and is only using the numbered buses. We will always use the numbered buses to avoid the ambiguity

Parallel data

Please note that the current implementation doesn't transpose the output for parallel output methods. Hopefully coming soon

DotStarEsp32DmaSpi#Method

DotStarEsp32DmaSpi#2BitMethod

DotStarEsp32DmaSpi#4BitMethod

DotStarEsp32DmaSpi#8BitMethod

Clone this wiki locally