The overview, with examples running, is on the board page.
The Arduino Uno R4 WiFi
The Uno R4 with a 12 by 8 LED matrix on the board to draw on, and WiFi.
What it is
The same Renesas RA4M1 as the Uno R4 Minima, an Arm Cortex-M4 at 48 MHz, on the same Uno outline with the same headers, so an Uno shield and an Uno circuit move across. Three things are added:
- A red LED matrix, twelve across and eight down.
- WiFi. On the real board this is an ESP32-S3 module the RA4M1 talks to over a serial line.
- A Qwiic socket, which is drawn and not modeled.
The headers, the L LED on pin 13, Serial on USB and Serial1 on pins 0
and 1 are all the Minima's.
The LED matrix
Ninety-six LEDs cannot have a pin each. The board wires them to eleven pins of the RA4M1 that reach no header hole, charlieplexed: every LED sits between two of the eleven and lights when one is driven HIGH and the other LOW, with the rest let go. So the picture is never on the pins all at once. The library lights one pin's worth at a time, a millisecond each, faster than an eye can follow, and the board part does what an eye does: an LED lit within the last 25 milliseconds is in the picture.
Draw on it with Arduino_LED_Matrix.h, Mokxi's own header under the name the
tutorials use:
#include "Arduino_LED_Matrix.h"
ArduinoLEDMatrix matrix;
void setup() { matrix.begin(); }
renderBitmap(bitmap, 8, 12)shows eight rows of twelve bytes, 1 for lit.loadFrame(frame)shows three 32-bit words: ninety-six bits, most significant first, row by row from the top left.loadSequence(frames)andplay(loop)run an animation of four-word frames, the fourth word being how many milliseconds to show each, from the timer interrupt;next()steps it by hand andsequenceDone()says when a single play has finished.clear()andend().
Which two pins each LED sits between is Mokxi's own rule, not checked against
the board's schematic. The library and the board part share it, so anything
drawn through the library appears where it should; a sketch that drives the
eleven pins itself, from the real board's table, would light LEDs in other
places. ArduinoGraphics.h text and the Arduino gallery's ready-made frames
are not here.
WiFi
WiFiS3.h is the R4 WiFi's network library, and here it is the same WiFi API
every WiFi board in Mokxi uses: WiFi.begin, WiFi.status, WiFi.localIP,
WiFi.RSSI. The board joins Mokxi's simulated network, with the network name
and password as properties of the board. There is no ESP32-S3 in the model:
the sketch's calls reach the network directly, where the real board would
send them over the serial line to the module. There is no radio, no 802.11 and
no real internet; Simulated WiFi says what is faithful and what
is not.
WiFiS3.h and Arduino_LED_Matrix.h do not compile for the Minima, which has
neither.
What is not modeled
- The ESP32-S3 itself, its serial link and its own USB bridge.
- The Qwiic connector, and the second I2C bus it is on.
ArduinoGraphics.htext on the matrix.- Everything the Minima leaves out.
Starter project
Uno R4 WiFi heart draws a beating heart on the matrix with the L LED
flashing in time, and the WiFi examples join the simulated network with a dot
walking along the matrix while they do.