Melissa LeBlanc-Williams' CircuitPython Message Board Has Smooth Matrix Portal S3-Powered Animation
Mounted in a neat 3D-printed frame, these four LED matrices team up to become an impressively capable color message scroller.
Maker Melissa LeBlanc-Williams has penned a guide to using an Adafruit Matrix Portal S3 to drive an animated graphical message board, porting the OpenSign project from its original Raspberry Pi target platform to CircuitPython.
"Perhaps you've seen those animated message board signs and perhaps you even wanted one. However, you may have noticed they tend to be fairly pricey and programming them can be complicated," LeBlanc-Williams writes by way of introduction. "This project makes use of the powerful Adafruit Matrix Portal S3 and its large memory capacity to be able to pump out and blend graphics in real time using CircuitPython."
On the hardware side, LeBlank-Williams' project uses a quartet of 16×32 RGB LED matrices connected to an Adafruit Matrix Portal S3, built around an Espressif ESP32-S3 microcontroller with 2MB of static RAM and 8MB of flash storage — plenty for hosting the graphics which will be used to bring life to the scrolling display system.
For software, LeBlanc-Williams turned to an existing project: OpenSign, originally written for turning a Raspberry Pi single-board computer into the driving force behind LED display panels. To get it working with the Matrix Portal S3, LeBlanc-Williams ported it to CircuitPython — making use of the existing bitmaptools and displayio libraries, though dropping support for some of the more advanced features like shadow and text stroke control.
To align the four LED matrices, the project uses a 3D-printed frame with mounting brackets for the LED panels and the Matrix Portal S3 itself. As well as displaying simple scrolling text messages using a selection of fonts, the message board can load graphics and use a variety of scroll directions and animations — including splitting and joining text and imagery vertically and horizontally.
The full project is available on the Adafruit Learn portal, including 3D print files and source code under the permissive MIT license.