16x2 I2C LCD Interface
Custom Bus Configuration
To optimize PCB and jumper routing, the I2C bus is bound to custom GPIOs instead of the ESP32 defaults (GPIO 21/22):
- SDA:
GPIO 17 - SCL:
GPIO 19 - I2C Address:
0x27
Wire.begin(LCD_SDA_PIN, LCD_SCL_PIN);
lcd.init();
Screen Layout Matrix
Row 0: [G][a][s][:][ ][1][4][5][ ][T][:][2][3][.][8]
Row 1: [H][:][4][8][.][2][ ][ ][ ][M][:][1][ ][ ][1][8]
- Line 1: Real-time Gas measurement followed by Temperature in °C.
- Line 2: Relative Humidity %, Motion flag (
1active,0idle), and the 20-second sleep countdown timer (18,17, …00).