Skip to content

Latest commit

 

History

History
101 lines (70 loc) · 2.72 KB

README.md

File metadata and controls

101 lines (70 loc) · 2.72 KB

micropython-max7219

MicroPython driver for MAX7219 8x8 LED matrix

CI status

What is it?

This library provides support for the MAX7219 8x8 LED matrix on ESP8266 with MicroPython. It uses framebuf internally to provide drawing primitives and text support. You can chain several matrices the way you like: if you use two 4x 8x8 matrices, you can have one of the left, and the other on the right giving you a 64x8 area, or have one on top of the other to have a 32x16 display!

Tested on ESP8266 and ESP32 systems.

Connecting on ESP8266

ESP8266 MAX7219
5V VCC
GND GND
GPIO13 (HWSPI #1 MOSI) DIN
GPIO14 (HWSPI #1 SCK) CLK
GPIO15 CS

Connecting on ESP32

ESP32 MAX7219
5V VCC
GND GND
GPIO13 (HWSPI #1 MOSI) DIN
GPIO14 (HWSPI #1 SCK) CLK
GPIO15 CS

Examples

Using 10000000 as baudrate is recommended as greater values don't seem to work well...

Single 8x8 matrix (8x8 pixels)

from machine import Pin, SPI
import max7219

spi = SPI(1, baudrate=10000000)
screen = max7219.Max7219(8, 8, spi, Pin(15))
screen.text('A', 0, 0, 1)
screen.show()

Single 4x 8x8 matrix (32x8 pixels)

from machine import Pin, SPI
import max7219

spi = SPI(1, baudrate=10000000)
screen = max7219.Max7219(32, 8, spi, Pin(15))
screen.text('ABCD', 0, 0, 1)
screen.show()

Two 4x 8x8 matrices (left/right, 64x8 pixels)

from machine import Pin, SPI
import max7219

spi = SPI(1, baudrate=10000000)
screen = max7219.Max7219(64, 8, spi, Pin(15))
screen.text('ABCDEFGH', 0, 0, 1)
screen.show()

Two 4x 8x8 matrices (top/bottom, 32x16 pixels)

from machine import Pin, SPI
import max7219

spi = SPI(1, baudrate=10000000)
screen = max7219.Max7219(32, 16, spi, Pin(15))
screen.text('ABCD', 0, 0, 1)
screen.text('EFGH', 0, 8, 1)
screen.show()

Credits

This library is based on:

Thank you for the inspiration!