A scrolling text library for the Arduino UNO R4 WiFi/Minima LED Matrix display. Display smooth, readable scrolling text with support for ASCII characters (A-Z, 0-9), serial input, and correct LED orientation.
Easy to Use - Simple API with just three methods: begin(), setText(), and update()
ASCII Support - Displays uppercase/lowercase letters (A-Z) and numbers (0-9)
Smooth Scrolling - Optimized scroll speed (80ms delay) for readable text
Serial Input - Update scrolling text in real-time via Serial Monitor
Correct Orientation - Fixed mirroring issue for proper text display
- Download this repository as a ZIP file (Code → Download ZIP)
- In Arduino IDE: Sketch → Include Library → Add .ZIP Library...
- Select the downloaded ZIP file
- Restart Arduino IDE
Clone the repository directly into your Arduino libraries folder:
Windows:
cd Documents\Arduino\libraries
git clone https://github.com/bharanidharanrangaraj/ArduinoMatrixScroller.gitmacOS/Linux:
cd ~/Documents/Arduino/libraries
git clone https://github.com/bharanidharanrangaraj/ArduinoMatrixScroller.gitThen restart Arduino IDE.
- Download this repository
- Copy the
MatrixScrollerfolder to your Arduino libraries directory:- Windows:
Documents\Arduino\libraries\ - macOS:
~/Documents/Arduino/libraries/ - Linux:
~/Arduino/libraries/
- Windows:
- Restart Arduino IDE
- Arduino UNO R4 WiFi or Arduino UNO R4 Minima
- The built-in 12×8 LED Matrix display
Arduino_LED_Matrix(included with Arduino UNO R4 board package)
#include <MatrixScroller.h>
MatrixScroller scroller;
void setup() {
scroller.begin();
scroller.setText("HELLO WORLD");
}
void loop() {
scroller.update();
}#include <MatrixScroller.h>
MatrixScroller scroller;
void setup() {
Serial.begin(115200);
scroller.begin();
scroller.setText("HELLO UNO R4");
}
void loop() {
scroller.update();
if (Serial.available()) {
String text = Serial.readStringUntil('\n');
text.trim();
if (text.length() > 0) {
scroller.setText(text);
}
}
}To use:
- Upload the sketch to your Arduino UNO R4
- Open Serial Monitor (115200 baud)
- Type your message and press Enter
- Watch it scroll on the LED matrix!
Constructor - creates a new MatrixScroller instance.
MatrixScroller scroller;Initializes the LED matrix. Call this once in setup().
void setup() {
scroller.begin();
}Sets the text to scroll. Automatically adds spacing after the text.
Parameters:
text- String to display (supports A-Z, a-z, 0-9, and spaces)
scroller.setText("ARDUINO R4");Updates the scrolling animation. Call this repeatedly in loop(). The scroll speed is automatically managed (80ms between frames).
void loop() {
scroller.update();
}- Letters: A-Z (uppercase and lowercase)
- Numbers: 0-9
- Spaces: Supported
- Other characters: Displayed as spaces
The library uses a custom 5×7 pixel font stored in the FONT array. Each character is rendered column by column as the text scrolls horizontally across the 12×8 LED matrix. The scrolling speed is optimized at 80ms per frame for smooth, readable text.
- Display Resolution: 12 columns × 8 rows
- Font Size: 5 columns × 7 rows per character
- Character Spacing: 1 pixel between characters (6 total stride)
- Scroll Delay: 80ms between frames
- Orientation: Correctly mapped to prevent mirroring
This issue has been fixed in the library. The text should display correctly with the proper orientation.
The scroll speed is set to 80ms (SCROLL_DELAY constant in MatrixScroller.h). You can modify this value and recompile if needed.
Make sure you're using supported characters (A-Z, a-z, 0-9, spaces). Other characters will render as spaces.
Ensure you have:
- Arduino UNO R4 WiFi or Minima
- Latest Arduino UNO R4 board package installed
Arduino_LED_Matrixlibrary available
The examples folder contains:
- SerialScroll - Interactive serial input demo
Access examples in Arduino IDE: File → Examples → MatrixScroller
This library is open source. Feel free to use, modify, and distribute.
- v1.0.0 - Initial release
- Scrolling text support for A-Z, a-z, 0-9
- Serial input functionality
- Fixed LED orientation/mirroring
- Optimized scroll speed
Contributions are welcome! If you find bugs or have feature suggestions, please open an issue.
Built for the Arduino UNO R4's innovative 12×8 LED Matrix display. Special thanks to the Arduino community.
Enjoy scrolling!