The PCB must be mounted floated, otherwise key presses don't work reliable. Connect pins 3 and 4 on connector P1 for 16-pin button mode. Smaller keypads with less pins may work, but are not tested.
LiquidCrystal Arduino library for I2C LCD displays used for STEM schools. Tested on HD44780 LCD connected to PCF8574 I2C.