Small side project. We want a local readout next to a cleanroom door: an ESP32 reads a differential pressure transmitter (4-20 mA through a 165 ohm shunt into the ADC), sends the value to Hermetry, and shows it on a 20×4 LCD with the usual PCF8574 I2C backpack so people can see it without opening a dashboard. The Hermetry side is done.
The LCD shows the first and third rows as solid blocks and nothing else. Backlight is on. Code:
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
void setup() {
Wire.begin(21, 22);
lcd.init();
lcd.backlight();
lcd.print("dP: 12.4 Pa");
}
Backpack VCC is on the 5V pin, SDA/SCL straight to 21/22. I’ve swapped the display for a second one, same result. Wrong pins somewhere?