STM32Duino library for RGB, Monochrome and Two-color led matrix panels
See video and dmd_multicolor example for details.
The main difference from 0.x.x versions is a new panel template format. The documentation will coming. You can get a brief explanation of the new templates from the comments of the DMD_Panel_Templates.h file.
The main improvement of the 0.9.x versions is the support of the Raspberry Pi Pico and another RP2040-based boards. Version 0.9.4 added Turkish font examples and some bugfixes.
The library initially started out as STM32 port of Freetronics DMD library (https://github.com/freetronics/DMD). Now it has grown into a separate project with support for different types of monochrome, two-color and RGB panels.
One of the important features of the library is support of Adafruit GFX format fonts: https://learn.adafruit.com/adafruit-gfx-graphics-library/using-fonts. Using Adafruit fontconvert
utility allows users to convert and display on DMD matrix Truetype fonts, including Unicode fonts with national characters of almost any language. The library includes Cyrillic and Turkish fonts. For using of national fonts, see the examples dmd_rg.ino
and dmd_rgb_turk.ino
(Turkish)
This code branch is further development of DMD_STM32 library. The code was totally rewritten, the library received a modular structure with a DMD_STM32a base class and several child classes for various matrices and connection types.
Description | Interface | Pixels | Scan | Code module |
---|---|---|---|---|
Monochrome P10 panels | HUB12 | 32x16 | 1/4 | DMD_Monochrome_SPI.h DMD_Parallel.h |
Indoor RGB | HUB75 | 32x16 | 1/8 | DMD_RGB.h |
32x32 | 1/16 | |||
64x32 | 1/16 | |||
64x64 | 1/32 | |||
80x40 | 1/20 | |||
128x64 | 1/32 | |||
Outdoor RGB | HUB75 | 32x16 | 1/2 1/4 1/8 | DMD_RGB.h |
Two-color indoor | HUB08 | 64x32 | 1/16 | DMD_RGB.h (work as RGB) |
RGB with FM6126a driver | HUB75 | 64x32 | 1/16 | DMD_RGB_6126a.h |
RGB with FM6353/6363 S-PWM drivers | HUB75 | 128x64 | 1/32 | DMD_RGB_6353.h |
64x32 | 1/16 |
The set of supported matrices is constantly updated.
Adding a new panels to the library
If your panel is not supported by the library yet, please feel free to open an issue using template
This library works with Arduino IDE 1.6-1.9, Arduino IDE 2.x versions are not tested.
Adafruit_GFX library
DMD_STM32a project requires Adafruit_GFX library version prior to 1.8.0 (v1.7.0 is OK) https://github.com/adafruit/Adafruit-GFX-Library/releases/tag/1.7.0
STM32
The only Roger Clarks's repo https://github.com/rogerclarkmelbourne/Arduino_STM32 is supported for STM32 based boards on Arduino IDE.To support STM32F4 boards you need custom version of repo: https://github.com/board707/Arduino_STM32/tree/lto_for_c6
Raspberry Pi Pico
This code requires Earle Philhower core https://github.com/earlephilhower/arduino-pico
For detailed info about matrix connection see Wiki:
Russian:
English translation:
See the examples for recommended pin combinations.
No documentation available (hopefully yet). See examples.
Sometimes wiring can be tricky so here I will put links to useful PCB-boards for use with this code (are not affiliated with the DMD_STM32)
(30 Nov 2023 - v1.1.0) - Add support of panels with FM6353/6363 S-PWM drivers
(25 Mar 2023 - v1.0.4) - Add support of panels with FM6126a chip
(12 Feb 2023 - v1.0.0) - New panel template model with multiparameter specialization
(12 Dec 2022 - v0.9.2) - Monochrome panels support for RP2040-based boards (Parallel connection mode)
(16 Sep 2022 - v0.9.0) - Add support of RP2040-based boards (RGB modes only) and using the DMA in the RGB modes for STM32F4 boards
(10 Jul 2022 - v0.8.0) - Add support of STM32F4 blackpills - STM32F401CC & STM32F411CE (Custom STM32 repo required! see below)
(19 Feb 2022 - v0.7.0) - Add support of "Outdoor" RGB panels with 1/2 1/4 1/8 scans
For full version history see CHANGES.txt
This software is experimental and a work in progress. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND.