// clang-format off // upload_speed 921600 // board lolin32 #ifndef _WEMOS32MATRIX_H #define _WEMOS32MATRIX_H #include #define HAS_LED NOT_A_PIN // no LED // LED Matrix display settings #define HAS_MATRIX_DISPLAY 1 // Uncomment to enable LED matrix display output #define LED_MATRIX_WIDTH 64 // Width in pixels (LEDs) of your display #define LED_MATRIX_HEIGHT 16 // Height in pixels (LEDs ) of your display // Pin numbers work fine for Wemos Lolin32 board (all used pins are on 1 side of the board) // Explanation of pin signals see https://learn.adafruit.com/32x16-32x32-rgb-led-matrix/new-wiring #define MATRIX_DISPLAY_SCAN_US 500 // Matrix display scan rate in microseconds (1ms is about 'acceptable') #define LED_MATRIX_LATCHPIN 13 // LAT (or STB = Strobe) #define LED_MATRIX_CLOCKPIN 32 // CLK #define LED_MATRIX_EN_74138 12 // EN (or OE) #define LED_MATRIX_LA_74138 14 // LA (or A) #define LED_MATRIX_LB_74138 27 // LB (or B) #define LED_MATRIX_LC_74138 25 // LC (or C) #define LED_MATRIX_LD_74138 26 // LD (or D) #define LED_MATRIX_DATA_R1 33 // R1 (or R0) // CLK: The clock signal moves the data bits from pin R1 ("red") in the shift registers // LAT: The latch signal enables LEDs according to the shift register's contents // Line Selects: LA, LB, LC, LD select which rows of the display are currently lit (0 .. 15) // OE: Output enable switches the LEDs on/off while transitioning from one row to the next /* How it works: 1. clock out 8 bytes for columns via R1 and CLK (8 * 8 bit -> 64 columns) 2. OE disable (LEDs off) 3. select line to lit with LA/LB/LC/LD hex coded (4 bit -> 16 rows) 4. latch data from shift registers to columns 5. OE enable (LEDs on) 6. repeat with step1 for next line */ #define DISABLE_BROWNOUT 1 // comment out if you want to keep brownout feature #endif