@Johan-Simons I previously used a similar I2C I/O expander with my Arduino - it worked well.
In case you are interested, the expander break out I used was http://www.gravitech.us/i2c16gpex.html which uses a PCA9535 chip which provides similar capability to the MCP23008 but with 16 I/O pins rather than 8. Also, the documentation on PCA9535 says:
Think I've just encountered a variant of this. My current onion has an external USB drive that I am using as extroot with /overlay, as per the tutorials I.e. pivot-overlay. All was fine.
I've just done a firmware upgrade and "lost" my external drive. In fact I was able to initially get it back by manually mounting the USB drive and all my old data was present. What I had to do to fix it was re-install the tools needs to create the external drive then just recreate the fstab using the block detect and edit. On reboot all the data is back.
Except that the onion is now saying that it is running the previous version of the firmware...
So not sure what's going on. As I understood it, using pivot-overlay should have updated the firmware but everything else shouldn't have been touched. That clearly didn't happen. Should one unmount any external drive before doing a firmware upgrade?
It's less popular since that LCD will requires minimum of 6 data pins (in 4-bit mode) or 10 pins (in 8-bit mode.) Then you'll have to add power, backlight power, and contrast adjust.
This is why people are adding that I2C daughter card (usually $2 or less) to save the extra effort.