Arduino UNO R4 WiFi + ESP32-S3 | Real-Time Message & Emoji Display
This project implements an interactive WiFi-controlled message and emoji display system using the Arduino UNO R4 WiFi. By leveraging the board's dual-chip architecture (Renesas RA4M1 + ESP32-S3), the system allows users to wirelessly send scrolling text and animations to the LED matrix via a smartphone browser.
It operates without an internet connection by hosting its own local Access Point (AP), making it perfect for educational demonstrations, IoT learning, and portable signage.
- Web-Based Control: Host a local web server to control the display from any phone or PC.
- Real-Time Messaging: Send text updates instantly to the LED matrix.
- Emoji Support: Display animated emojis like Happy, Cry, and Heart loops.
- Adjustable Speed: Control the text scrolling speed via a slider on the web interface.
- Standalone Operation: Works via the ESP32-S3 Access Point mode (No router required).
The system utilizes the unique "2-in-1" architecture of the Arduino UNO R4 WiFi:
- Main Processor (Renesas RA4M1):
- Arm Cortex-M4 running at 48 MHz.
- Handles the display logic, matrix rendering, and animation loops.
- Wireless Module (ESP32-S3):
- Dual-core, 240 MHz WiFi & Bluetooth module.
- Operates in Access Point (AP) mode to host the web interface.
- Communicates with the RA4M1 via the onboard logic level shifter (TXB0108DQSR).
- Display:
- Onboard 12x8 LED Matrix (or external 8x32 matrix via GPIO).
To run this project, you need the Arduino IDE and the following libraries:
WiFiS3: For configuring the ESP32-S3 AP and server.ArduinoGraphics: For bitmap rendering.Arduino_LED_Matrix: For controlling the R4's onboard matrix.
- Clone this repository.
- Open the
.inofile in Arduino IDE. - Install the required libraries via the Library Manager.
- Select Arduino UNO R4 WiFi as your board.
- Upload the code.
- Power on the Arduino UNO R4 WiFi.
- On your phone/laptop, search for WiFi networks.
- Connect to the SSID:
UNO_Matrix. - Open a web browser and navigate to:
[http://192.168.4.1] - Use the interface to:
- Type a message and click Send.
- Click emoji buttons to trigger animations.
- Adjust the slider to change scroll speed.
- Initialization: RA4M1 initializes the Matrix; [cite_start]ESP32-S3 starts the Access Point.
- Connection: User connects to WiFi and requests the web page.
- Input Parsing: The web server parses GET requests (Message, Speed, Emoji).
- Display Update: Data is sent to the RA4M1, which updates the LED Matrix in a non-blocking loop.
- β Ultra-low latency
- β Smooth animations
- β Multi-user capable
- β Accurate input mirroring
These results align with the findings of the original project report.
MIT License
Copyright (c) 2025
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files...