Hacking the HD44780 16×2 character display for arbitrary pixel generation #Displays #ReverseEngineering @MisterHW
Many projects have used 16×2 character displays for output. They often include limited capability for special characters. Helge Wurst (@MisterHW) describes a potential way to drive HD44780-style 16×2 character LCDs in graphics mode by using a synchronized updating scheme and complementary special characters.
Although many controller manufacturers offer multiple CGROM variants (font sets) with special characters, there aren’t 2^40 different unique ones (128 GB) to display arbitrary 5×8 pixel blocks – needless to say the 40 bit character code might as well represent the pixel information itself.
If one could swap out a character before each line were serialized and sent to the column drivers however, each of 8 horizontal lines making up a 5×8 pixel character could be loaded from one of 32 characters. This subdivides the representation of an 5×8 arbitrary pixel block into 8 consecutively selected LUT characters.
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.