WiFi Water Flow Meter Design
Table
| Rail | Source | Expected Voltage | Tolerance | Measure At | Initial Current Limit | Pass Criteria |
|---|---|---|---|---|---|---|
| VBUS_RAW | J1 USB-C VBUS before F1 | 5.0V | +/-5% | J1 VBUS / F1 pin 1 | 250mA first power | No short to GND |
| VBUS | F1 protected 5V | 5.0V minus fuse drop | +/-5% | F1 pin 2, U2 VIN, U3 IN | 250mA first power | Within 4.75V to 5.25V at light load |
| 3V3 | U2 AMS1117-3.3 | 3.3V | +/-3% typical | U2 VOUT, U1 3V3, U4 VCC | 250mA first power | 3.20V to 3.40V |
| 12V_SENSOR | U3 MT3608 boost | 12.0V | +/-5% target | J2 pin 1, C9 positive | 250mA first power | 11.4V to 12.6V unloaded/light load |
| GND | Common return | 0V | N/A | J1/J2/J3 ground pins | N/A | All grounds continuous |
Table
| Signal | Net | Expected State | Measure At | Notes |
|---|---|---|---|---|
| ESP32 enable | ESP_EN | HIGH near 3.3V after RC delay | U1 EN / SW1 | RESET button pulls LOW |
| Boot strap | ESP_BOOT | HIGH idle, LOW when BOOT pressed | U1 IO0 / SW2 | LOW during reset enters UART bootloader |
| Flash voltage strap | ESP_IO12_BOOT_PD | LOW at reset | U1 IO12 / R5 | Required for normal 3.3V flash boot |
| RS485 direction | RS485_DE_RE | LOW receive idle | U4 DE and ~RE | Firmware drives HIGH for transmit |
| RS485 bus | RS485_A / RS485_B | Biased differential idle | J3 pins | Verify polarity with sensor datasheet |
Table
| Connector | Type | Pins to Verify | Test Method |
|---|---|---|---|
| J1 | USB-C input | VBUS, GND, CC1, CC2 | Confirm 5.1k from each CC to GND and VBUS continuity through F1 |
| J2 | Sensor power | Pin 1 = 12V_SENSOR, Pin 2 = GND | Measure 12V before attaching sensor |
| J3 | RS485 | Pin 1 = RS485_A, Pin 2 = RS485_B | Continuity to U4 A/B and termination R6 |
| J4 | UART programming | 3V3, GND, RXD0, TXD0, BOOT, EN | Check 3.3V logic levels only |
Table
| Interface | Signals | Connector | Tool |
|---|---|---|---|
| ESP32 UART bootloader | 3V3, GND, UART0_RX, UART0_TX, ESP_BOOT, ESP_EN | J4 | PlatformIO / esptool.py |
pio run -t upload from the firmware project.Table
| Test | Components | Input | Expected Output | Pass Criteria |
|---|---|---|---|---|
| Power LED | U2, LED1, R9 | 3.3V rail present | LED1 on | LED turns on with 3V3 |
| WiFi connect | U1, LED2 | Valid SSID/password | LED2 solid after connect | IP printed in serial log |
| RS485 loop/poll | U1, U4, J3 | Sensor/simulator on RS485 | Modbus responses | No Modbus timeout errors |
| Flow activity | U1, LED3 | Nonzero flow reading | LED3 on | LED follows flow > threshold |
| 12V sensor power | U3, J2 | Sensor attached | Stable 12V | 12V remains in tolerance under load |
Table
| Measurement | Location | Expected Value | Instrument |
|---|---|---|---|
| USB input current idle | USB-C power meter | <300mA typical without sensor | USB-C power meter |
| 3V3 rail | U1 3V3 | 3.3V | Multimeter/scope |
| 12V_SENSOR rail | J2 pin 1 | 12V | Multimeter/scope |
| RS485 A/B differential | J3 pins 1/2 | Activity during poll | Oscilloscope |
| EN idle | U1 EN | 3.3V | Multimeter |
| GPIO0 idle | U1 IO0 | 3.3V | Multimeter |
Table
| Test Section | Result | Notes |
|---|---|---|
| Visual Inspection | [ ] Pass / [ ] Fail | |
| Power Rails | [ ] Pass / [ ] Fail | |
| Critical Signals | [ ] Pass / [ ] Fail | |
| Connectors | [ ] Pass / [ ] Fail | |
| Programming | [ ] Pass / [ ] Fail | |
| Functional Validation | [ ] Pass / [ ] Fail |
Prerequisites
1. Visual Inspection
2. Power Rail Verification
3. Critical Signal Verification
4. Connector and Interface Tests
5. Programming and Debug Interface
6. Functional Validation
7. Expected Measurements Reference
Known Bring-Up Notes
Pass/Fail Summary