2x16 HD44780 LCD with animated graphics

This is a test to see if the CGRAM can be updated fast enough and be used for more than simple bar graphs.
[url]- YouTube

There are only 8 characters that can be used at a time so I thought it would be useful to have an 8 char line of smooth scrolling text.

Wow that’s a cool trick!
I wonder if you can arrange the custom chars in such a way so eventhough they repeat it would still look random enough to fake a zooming starfield effect on the whole screen?

It probably wouldn’t look random enough but it could be mirrored to give 8x2 and look like a real zoom effect.

I also had an idea to make a mini platform game by using some of the CGROM chars to fill in other areas so it uses the full screen. Underscore and dash would be perfect platforms for 4 levels high. A player sprite would need 4 chars to be able to smooth transition the entire screen then the enemy would take the other 4.

This is a test of scrolling text which is the main purpose.
[url]- YouTube

Wow! This is better than what I expected.

I would love to see the code

Awesome! I take it your swapping out the custom character data on the fly? That is what I did for the scroll arrows for LCDLiveText as the LCD is updated with the new characters automatically. The number of custom characters that can be defined is limiting though.

The entire 64byte CGRAM gets dumped at once every frame. The characters already on the display are updated immediately but it’s fast enough that it isn’t really noticeable. The update is more visible with the vertical scroll but still looks smooth. I wish there were more than 8 characters.

Everything is on the wiki now.
(link removed)

I usually use SPI with these so I just added it as that. The init, high level and low level sections can replaced with whatever driver method is used. Only the SetCGRAM function would need adjusted for the specific send command/data method.

300 points, thanks :slight_smile: