Holdings

Latest

Bottega Suite Sep 2026 · 207 commits

44 projects · 39 repositories

LED Matrix Driver

A 128×64 RGB LED panel driver in SystemVerilog on an iCE40

Specified Private Sheet 39 of 47

Description

A SystemVerilog driver for a custom 128×64 RGB LED matrix on a Lattice iCE40UP5K. An STM32 streams frames over SPI; the FPGA double-buffers them, applies gamma correction, and drives the panel with 8-bit binary code modulation at 120 Hz or better, with global dimming.

The repository carries the timing and multiplexing analysis, cocotb testbenches with a Python reference oracle, and the full open-source build flow — yosys, nextpnr and icestorm.

Features

  • 8-bit binary code modulation at ≥120 Hz refresh with global dimming
  • Double-buffered frame ingest over SPI from an STM32
  • cocotb testbenches with a Python panel model as the reference oracle
  • Fully open-source toolchain: yosys, nextpnr-ice40, icestorm, Verilator

Construction

  • SystemVerilog
  • iCE40
  • cocotb
  • Python
  • yosys

Project resources

This is a pre-production site. All content is subject to finalisation, and nothing stated here is binding until the site is live.