WiFi Water Flow Meter Design
Table
| Function | ESP32-S3 Pin | Net | Notes |
|---|---|---|---|
| UART0 TX | TXD0 / GPIO43 | UART0_TX | Programming/debug TX to J3 |
| UART0 RX | RXD0 / GPIO44 | UART0_RX | Programming/debug RX from J3 |
| Boot | IO0 | ESP_BOOT | Pulled high by R4; SW2 pulls low for download mode |
| Enable / Reset | EN | ESP_EN | Pulled high by R3; C4 reset delay; SW1 pulls low |
| RS485 RX | IO17 | RS485_RX | From MAX3485 RO |
| RS485 TX | IO18 | RS485_TX | To MAX3485 DI |
| RS485 Direction | IO7 | RS485_DE | Drives MAX3485 DE and nRE together; high = transmit, low = receive |
| I2C SDA | IO8 | I2C_SDA | SHT31 humidity/temperature sensor SDA; R22 pull-up |
| I2C SCL | IO9 | I2C_SCL | SHT31 humidity/temperature sensor SCL; R23 pull-up |
| WiFi LED | IO10 | WIFI_LED | Drive high to turn D5 on through R13 |
| Flow LED | IO11 | FLOW_LED | Drive high to turn D6 on through R14 |
| Charger CHG | IO5 | CHG_STATUS | BQ24074 open-drain charge status; low = charging |
| USB Power Good | IO6 | USB_PGOOD | BQ24074 open-drain PGOOD; low = valid USB input |
| Strap | IO46 | ESP_GPIO46_STRAP | Pulled low by R5 for download boot compatibility |
MCU
Pin Assignments
External Interfaces
RS485 Flow Sensor
SHT31 Humidity/Temperature Sensor
Battery Charger Status
Firmware Tasks