Building SCADA Sensor Node
Started implementing a plan
Goal: Complete SCADA Sensor Node v2.1 schematic + PCB per KiCad reference and PCB_DESIGN_SPEC v2.1, preserving Heltec internal 3V3 isolation.
Completed so far:
- Parsed KiCad schematic reference + PCB design spec; extracted connector pinouts, ADC/mux/temp wiring, and mechanical/ground strategy.
- Set project metadata for dual-rail constraint (Heltec 3V3 pins must stay NC vs board +3V3 from U1 AP2112K-3.3).
- Set PCB baseline: 200 mm × 140 mm, 2-layer; recorded 1.6 mm thickness intent in properties.
- Schematic cleanup: removed legacy R53/R54; set R_SENSE1/R_SENSE2 to 47k/10k; added TP9/TP10; corrected TP4/TP5 metadata.
- Core digital wiring done: Heltec↔ADS131M08 SPI (CS/SCLK/MOSI/MISO/DRDY/SYNC), main I2C (SDA/SCL), OneWire (OW_DATA), relay GPIO (RELAY1–6), TMP102 ALERT→ULN2003A IN7 and ULN2003A O7=FAN_CTRL, relay outputs RELAYx_OUT.
- Removed incorrect connector variants and attempted to re-add correct J_VIB1/2/3, J_AIN6, J_FAN; however, tool state is inconsistent (designators not found after re-add), requiring reconciliation.
Implementation plan (remaining):
1. Reconcile connector desync: locate existing fan and vibration connectors currently present (e.g., the J_FAN referenced by net portals) and either rename them to J_VIB1/2/3, J_AIN6, J_FAN or re-add with unique designators; then verify with schematic query that the designators exist and pins match intended counts.
2. Wire vibration connectors to TCA9548A branches: connect each J_VIBx pin 1→+3V3, pin 2→GND, pin 3→MUX_SDAx, pin 4→MUX_SCLx; connect U4 channels 0–2 to MUX_SDA0/1/2 and MUX_SCL0/1/2; connect R19–R24 as 4.7k pullups to +3V3 on each branch SDA/SCL.
3. Complete TCA9548A configuration: connect U4 A0/A1/A2→GND and ~RESET→+3V3; mark unused channels 3–7 as intentional NC where appropriate.
4. Complete TMP102 configuration: connect U7 ADD0→GND (addr 0x48) and confirm ALERT pullup (R39=10k to +3V3) and TMP_ALERT net connectivity.
5. Finish ADS131M08 analog channel wiring per reference:
- Connect CT1–CT4 front ends (burden/bias/filter/clamp parts already present: R1–R4, R9–R16, C10–C13, D1–D4, VBIAS network R7/R8/C9) to U2 AIN0–AIN3 pins, and ensure test points TP4 etc. align with CTxN nodes.
- Connect pressure inputs J_PRESS1/2 via their series/filter/clamp networks to U2 AIN4P/AIN5P; tie AIN4N/AIN5N→GND.
- Connect spare diff input J_AIN6 to U2 AIN6P/AIN6N with any required filter caps (C_F6P/C_F6N) and keep TP9 on AIN6P.
- Connect 5V_SENSE divider (R_SENSE1/R_SENSE2) to U2 AIN7P with TP10; connect AIN7N→GND.
6. Verify/repair Heltec boot pulldowns: confirm R_BOOT45/R_BOOT46 are pulldowns to GND on the correct Heltec GPIO nets (currently appear associated with FLOW2_SIG and DIN2_SIG); rewire if needed to match “boot pulldown to GND” intent.
7. Run schematic completeness review: resolve remaining floating pins, explicitly mark intentional NC (Heltec NC pins 2–3 on J_HELTEC_L, unused mux channels), and ensure no orphan nets.
8. Implement PCB mechanical features in layout: add 4× M3 mounting holes (3.2 mm), 2× DIN slots (4.2×25 mm), and define Heltec keepout + antenna keepout regions.
9. Implement copper/ground strategy on PCB: bottom continuous GND plane; top GND pour; top-layer analog island around ADS131M08 with single star via at AGND pin; keep analog traces inside island and limit vias per spec.
10. Prepare for routing: place components (group analog front end around U2, keep mux branches near J_VIBx, keep fuses/relays near edge connectors); then instruct user to run Auto-Layout routing and perform airwire/DRC checks, fixing any issues found.
Task completed.
0:38
reconciling connector desync and wiring analogs...
4:57
Added 5 components
0:11
Added 4x 282837-4 as J_VIB1, J_VIB2, J_VIB3, J_AIN6 (Pins: 4, 3, 2, 1)
Added 1x 282837-3 as J_FAN (Pins: Pin_1, Pin_3, Pin_2)
Updating connections...
70d 14:21:06
Welcome 👋
Flux helps you build PCBs faster with an AI teammate!
Create your account to collaborate, stay updated, fork your own version, and get instant answers from our AI agent.