HUB75_I2S_CFG::i2s_pins _pins= ĭma_display = new MatrixPanel_I2S_DMA(mxconfig) #define E_PIN -1 // required for 1/32 scan panels, like 64圆4px. For example, in your sketch have something like the following: If you want to change the GPIO mapping at runtime, simply provide the wanted pin mapping as part of the class initialization structure. Refer to the '*default-pins.hpp' file within the applicable platforms folder. Or just add it into platformio.ini lib_deps section. Library also tested to work fine with PlatformIO, install into your PlatformIO projects' lib/ folder as appropriate. Install this library from the Arduino Library manager.Dependancy: You will need to install Adafruit_GFX from the "Library > Manage Libraries" menu.Please use an alternative library if you bought one of these. ICN2053 / FM6353 based panels - Refer to this library, which is a fork of this library ( discussion link).RUL5358 / SHIFTREG_ABC_BIN_DE based panels are not supported.FM6126A AKA ICN2038S, FM6124 (Refer to PatternPlasma example on how to use.).Please do not raise issues with respect to panels not supported on the list below. Ones interested in internals of such matrices could find this article useful.ĭue to the high-speed optimized nature of this library, only specific panels are supported. 32x16 pixel 1/4 Scan LED Matrix 'Indoor' Panel using an ingenious workaround as demonstrated in the Four_Scan_Panel example.'Four scan' panels where four rows/lines are updated in parallel. 64圆4 pixel 1/32 Scan LED Matrix 'Indoor' Panel.Often also referred to as 1/16 'scan panel' as every 16th row is updated in parallel (hence why I refer to it as 'two scan') 64x32 (width x height) 'Indoor' panels, such as this typical RGB panel available for purchase.'Two scan' panels where two rows/lines are updated in parallel. To enable PSRAM support on the ESP32-S3, refer to the build options to enable.įor all other ESP32 variants (like the most popular ‘original’ ESP32), only internal SRAM can be used, so you will be limited to the ~200KB or so of 'free' SRAM (because of the memory used for your sketch amongst other things) regardless of how many megabytes of SPIRAM/PSRAM you may have connected. Please do not use PSRAM as the DMA buffer if using QUAD SPI (Q-SPI), as it's too slow. 13Mhz, which will limit the real-world number of panels that can be chained without flicker. However, due to bandwidth limitations, the maximum output frequency is limited to approx. Please use the 'Memory Calculator' to see what is typically achievable with the typical ESP32.įor the ESP32-S3 only, you can use SPIRAM/PSRAM to drive the HUB75 DMA buffer when using an ESP32-S3 with OCTAL SPI-RAM (PSTRAM) (i.e. " What's the price for those features?" - It's memory, you pay it all by precious MCU's internal memory (SRAM) for the DMA buffer.Ī typical 64x32px panel at 24bpp colour uses about 20kB of internal memory. RISC-V ESP32's (like the C3) are not supported as they do not have the hardware 'LCD mode' required for this library. Original ESP32 - That being the ESP-WROOM-32 module with ESP32‑D0WDQ6 chip from ~2017.Adafruit GFX API - Library can be built with AdafruitGFX, simplified GFX or without a GFX API at all.CIE 1931 luminance correction (aka natural LED dimming) implemented.Variable color depth - Up to TrueColor 24 bits output is possible depending on matrix size/refresh rate required.Full screen BCM - Library utilizes binary-code modulation to render pixel color depth / brightness over the entire matrix to give reasonable colour depth.Fast - Updating pixel data involves only bit-wise logic over DMA buffer memory, no pins manipulation or blocking IO.Low CPU overhead - Pixel data is sent directly with the use of hardware-backed DMA, no CPU involvement.The library uses the DMA functionality provided by the ESP32's 'LCD Mode' for faster output.'Four scan' panels are also supported - but please refer to the Four Scan Panel example.referred to as 'two scan' panels within this library's documentation. This library 'out of the box' (mostly) supports HUB75 panels where TWO rows/lines are updated in parallel.This is an ESP32 Arduino/IDF library for HUB75 / HUB75E RGB LED panels.Panel driver chips known to be working well.HUB75 RGB LED matrix panel library utilizing ESP32 DMA
0 Comments
Leave a Reply. |