Towards an HD44780-Based Video Mode
github.com
github.com
There is no demo for what this article talks about; it kind of ends in a cliffhanger and it seems the author hasn't quite gotten to the implementation stage yet.
I have a few of those displays, for a hobby server "front panel" project. (3 CrystalFontz with buttons and USB, and an Adafruit RGB-backlight one plus USB backpack.) I only got as far as using the small set of software-defined characters to do a charts/bars:
https://www.neilvandyke.org/lcdbling/lcdbling-20190121.jpg
https://www.neilvandyke.org/lcdbling/lcdbling-horizontal-bar...
I was planning to use one for my GPU server, and then another for a self-contained simple admin console for a home network router (no needing SSH/Web to do basic admin functions, nor needing to find a sufficiently trustworthy separate device for that).
You can get 5.25" drive bay mounts for some of the CrystalFontz ones, including room for D-pad, OK, and Cancel buttons. And besides their display and input features, some of them can hook into ATX motherboards, and a perform watchdog function, to reboot a frozen box.
If you're buying CrystalFontz units that aren't factory-sealed, beware that they might've had downstream firmware put on them (that's how I got a FireEye one, and a Honeywell one, accidentally). A CrystalFontz person told me that the stock firmware can only be put on at the factory, but I haven't verified this (and I do have a sealed unit from the factory now, which I suppose might be cloned).
(Oh, if you're playing with the Adafruit ones, IIRC, the one I have seemed to be doing some kind of nonvolatile storage write for each color change, at least the way I knew to change the color. If that's the case, I don't know whether or how soon a write cycle limit on that would be hit.)
https://m.youtube.com/watch?v=nxFad7Rxw7Q
However that demo is quite old (2013?) so I could be misunderstanding something
Those modules are just bricks with a display on them that you can control using a parallel interface. Because of their simplicity, they are/were also very popular with micro controller hobbyists long before Arduino was a thing.
The HD44780 (and clones) are very widely used controllers on those modules. They can be connected in 4 bit or 8 bit parallel mode, you can send over characters that it should display (using a built in raster font) or some special command sequences for e.g. clear the display, set the cursor position, ... kind of like a very simple terminal.
The displays with 4 rows instead of 2 typically just had 2 of those controllers in them that you needed to interface to. One for the bottom 2 rows and one for the top.
Some variants of the controller clones can load a custom font lookup table. By breaking a graphical image up into blocks and loading those into the font lookup table, you can use the device as a very hacky graphics display.
Alternatively, if you rely on semi-documented internals and get the timing just right, you can swap out the data while it is drawing a character and splice your graphics together that way using the built in font. This will also get you a more decent refresh rate. Both variants are discussed here.
The 4x20 displays do not use two controllers. They are just a single controller configured for 2x40 mode, except the display is laid out differently. Logically, the rows are ordered 0, 2, 1, 3 on those, for this reason, and horizontal scroll is funny.
Although I did know that modules with 4 rows exist, those where pretty much Unobtanium for me at the time and I jumped at every forum thread that mentioned them, trying to find out how I could get my hands on one. IIRC I once saw a post on a German phpBB Forum (roboternetz.de? mosfetkiller.de?) with grainy pictures where somebody had such a module and couldn't get it to work. Someone else responded that those controllers only supports 2 rows with 20 characters maximum and modules with more characters or rows simply have 2 on them ("see, there are 2 black blobs on the rear..."). I remembered that from there. From my experience, I guess they won't be very happy if I dig up the ~20 year old thread and post a response now :-).
https://twitter.com/misteraddons/status/1283620207978741761?...