Well, this is very embarrassing to assume but, after doing some math, I realized my first approach of storing all symbols and transitions into a big array it's just a huge, massive absurd.

Each symbol, like "A" or "a" uses 32 bytes (16x16 LEDs) of storage memory. Therefore, just to store the whole alphabet and all digits, it would take (26 letters lowercase + 26 letters uppercase + 10 digits) 62 * 32 bytes, that equals 1984 bytes. So far, so good, since Arduino has ( 32kb - 5kb that is used by the bootloader) approximately 27Kb of storage memory available to our code. The problem is that each symbol transition (lets say, to scroll a character to one side) takes 16 frames to happen. In other words, to slide a symbol "A" to the left, bringing a "B" symbol from the right, takes (16x32) 480 bytes of storage. Now the absurd: if we have 62 symbols and considering that all transitions happen towards one single side (which isn't our case since it would be nice to have the text scrolling up/down/left/right), they can transit on 62² different possible combinations. That would take, at least, (3844*480bytes) 1801Kb of storage, more than sixty! times the available storage space. So, in short, storing transitions was never a feasible option, I just hadn't realized it yet.

To fix that, I embedded all the necessary functions to make symbol transitions into the Arduino. As I said before, it compromises the speed that the Arduino can paint/refresh each frame (since it requires quite a lot of bit "polishing") but the outcome was still acceptable.

I also included a buzzer to the circuit, so I can feedback the commands sent through the remote control, specially when I'm not looking at the board. I dit not use Arduino's Tone library since it collides with the IR receiver's library (both use the same timer interrupt). Instead, I used PWM over the analogWrite function to control the buzzer.

I also used a very handy library for storing/retrieving information on the Flash memory available at http://arduiniana.org/libraries/flash/ .

Now I'm working on building a plastic case for holding the whole circuit. Planning on doing it with a 3D printer.

New wiring diagram:

 undefined

Necessary library for handling stuff on the Flash memory: Flash.zip

Source code