I am trying to figure out how to manipulate the UNO R4 WiFi LED matrix at low levels. I've started to dabble with this primarily for my own edification, with no specific practical goal in mind.
I did find this 2023 topic, which provided much useful information,* and I have been skimming through the Arduino_LED_Matrix.h code, where I found the turnLed() function (turns one LED on or off). Unfortunately, when using turnLed() to turn on one LED, all other LEDs in the matrix are turned off.
The circuit diagram reveals why the LEDs cannot be independently addressed, but it seems like it should be possible to turn on specific groups of LEDs at the same time. For example, if Pin 9 ("ROW10") is set LOW and all other pins/rows set HIGH, should that light up LEDs 91, 93, and 95 (simultaneously)?
My main question is to ask whether there is a "quick & dirty" way to individually/independently set the states of the matrix pins 0–10 (which evidently also have designators P003...P213 elsewhere in the circuit schematics). For my example above, I would evidently need to make P212 LOW, and the other ten HIGH. Is there some register or other method available to do this?
Unfortunately, the source code for turnLed() is a bit inscrutable to the uninitiated, so it does not provide clues that I can use.
*I concede that I have not yet read through the linked article on Charlieplexing— studying this material should clear up some general issues (such as the fact that manipulating pin mode from OUTPUT to INPUT is also part of the multiplexing technique), but I don't think it will answer my main question above; how to directly manipulate the state (and mode) of the eleven matrix pins.




