Breadboard
docs
Example project · Displays & sensors

LED ticker (32×8 matrix bar)

A message scrolls across the 4-in-1 cascaded MAX7219 bar, pushed over bit-banged SPI at cycle accuracy: a 32×8 framebuffer shifted one column per frame, exactly how the real max7219 drivers do it. Edit the message in the Code tab.

The LED ticker (32×8 matrix bar) circuit as rendered by the simulator

What's on the bench

  • Battery
  • ESP32-C3
  • LED Matrix 32×8 (4-in-1)

The code

This MicroPython script runs on the emulated board every boot; edit it in the Code tab.

from machine import Pin, SoftSPI
import framebuf, time
spi = SoftSPI(baudrate=1000000, sck=Pin(6), mosi=Pin(4), miso=Pin(5))
cs = Pin(3, Pin.OUT, value=1)
buf = bytearray(32)
fb = framebuf.FrameBuffer(buf, 32, 8, framebuf.MONO_HLSB)
def all4(a, d):
    cs(0); spi.write(bytes([a, d]) * 4); cs(1)
for a, d in ((0x0f, 0), (0x0b, 7), (0x09, 0), (0x0a, 3), (0x0c, 1)):
    all4(a, d)
def show():
    for y in range(8):
        cs(0)
        for m in range(4):
            spi.write(bytes([y + 1, buf[y * 4 + m]]))
        cs(1)
MSG = 'BREADBOARD LIVE  *  '
W = len(MSG) * 8
x = 32
print('TICKER')
while True:
    fb.fill(0)
    fb.text(MSG, x, 0)
    show()
    x -= 1
    if x < -W:
        x = 32
    time.sleep_ms(60)