HD44780 backpack (SPI and UART)

Even though they're quite dated now, I often quite like using "HD44780" (or compatible) LCD modules in projects I build.

They're fairly easy to drive, inexpensive and very readily available.

However, there are a few attributes which are less convenient:

To work around this, I designed a small "backpack", which provides the following:

Image of the KiCAD PCB editor, showing a rectangular PCB

The board can be built either for SPI mode by omitting the CH32V203 (an STM32F0 would also work), or for UART / I2C / CANbus modes by adding it.

For driving the HD44780, the 74HC595 works very well.

It provides an 8-bit interface to the LCD (I prefer the 8-bit mode to the 4-bit mode of the HD44780, as there's no risk of the upper/lower nibbles getting out of sync), and maps nicely onto the existing signals defined by the Common Display Connector

The D7 to D0 outputs are latched on the positive edge of the latch pin (pin 12), and the HD44780 loads the data on the negative edge, making it easy to provide plenty of setup and hold time for the data.

A few notes on the schematic:

Schematics / PCB are attached: