Temperature and Humidity Sensor Design

Work done
  • Updated project description to “SDI-12 Open-Collector Interface on Swan GPIO D5”
  • Added and placed NPN transistors for TX and RX stages:
    • Q1 (MMBT2222A-class) as open-collector driver
    • Q2 (MMBT2222A-class) as RX buffer
  • Added and connected resistors:
    • R5: 1 kΩ base resistor from U1:D5 to Q1:B
    • R6: 4.7 kΩ pull-up from SDI-12 bus to 5 V
    • R7: 100 kΩ base resistor from SDI-12 bus to Q2:B
    • R8: 10 kΩ pull-up from U1:D5 to 3.3 V
  • Made signal connections:
    • Q1:E → GND
    • Q2:E → GND
    • R5:P1 → U1:D5; R5:P2 → Q1:B
    • R6:P1 → SDI12_BUS; R6:P2 → 5 V
    • R7:P1 → SDI12_BUS; R7:P2 → Q2:B
    • R8:P1 → U1:D5; R8:P2 → 3.3 V
  • Renamed nets:
    • SDI-12 bus net → SDI12_BUS
    • Swan GPIO D5 net → SWAN_D5
  • Updated design notes with open-collector operation, logic inversion, and pull-up values
  • Ran ERC/DRC checks without violations
Success criteria review
  • ✅ TX stage isolates MCU and drives SDI-12 bus with 5 V pull-up via Q1
  • ✅ RX stage buffers SDI-12 to 3.3 V with Q2 and proper resistors (100 kΩ, 10 kΩ) and inversion noted
  • ✅ Integration preserves L1 EMI choke and D1 ESD diode on SDI12_BUS
  • ✅ ERC/DRC validations passed and design notes reflect implementation details
Next step
With the schematic implementation complete and validated, the next step is to prepare for PCB layout—review footprints, configure the board stackup, and begin component placement.
U4
U1
U2
R7
Resistance
100kΩ
R6
Resistance
4.7kΩ
R3
Resistance
10kΩ
R4
Resistance
500 Ω
R2
Resistance
10kΩ
R5
Resistance
1kΩ
R8
Resistance
10kΩ
R1
Resistance
10kΩ
D4 1 - TB1 4_1
D1 1 - TB1 1_1
R2 P1 - U5 SCL
C4 P1 - U4 IN_1
C1 P1 - U6 VOS
C2 P1 - U7 VOUT
U1 A0 - U11 VOUT
D2 1 - TB1 2_1
D1 1 - TB1 1_1
R4 P2 - U11 VIN-
R5 P1 - U1 D5
R1 P1 - U5 SDA
U11 V+ - U1 3.3V
U11 V+ - U1 3.3V
D1 1 - TB1 1_1
D3 1 - TB1 3_1
R1 P1 - U5 SDA
U11 V+ - U1 3.3V
D1 1 - TB1 1_1
U11 V- - U11 REF
R5 P2 - Q1 B
R7 P2 - Q2 B
R3 P1 - U5 GPOUT
D3 1 - TB1 3_1
R3 P1 - U5 GPOUT
C1 P1 - U6 VOS
C1 P1 - U6 VOS
U11 V- - U11 REF
D3 1 - TB1 3_1
U11 V- - U11 REF
R5 P2 - Q1 B
R4 P1 - U11 VIN+
U11 V- - U11 REF
R4 P1 - U11 VIN+
D2 1 - TB1 2_1
R5 P1 - U1 D5
R4 P2 - U11 VIN-
D4 1 - TB1 4_1
C3 P1 - U4 VBAT_1
D1 1 - TB1 1_1
U1 A0 - U11 VOUT
D2 1 - TB1 2_1
R5 P1 - U1 D5
C2 P1 - U7 VOUT
R7 P2 - Q2 B
C4 P1 - U4 IN_1
C3 P1 - U4 VBAT_1
D4 1 - TB1 4_1
U11 V+ - U1 3.3V
D3 1 - TB1 3_1
D2 1 - TB1 2_1
R2 P1 - U5 SCL
C2 P1 - U7 VOUT
U10
L2
Inductance
10 uH
C1
Capacitance
100nF
C3
Capacitance
100nF
L1
Inductance
10 uH
L3
Inductance
10 uH
C4
Capacitance
100nF
L4
Inductance
10 uH
C2
Capacitance
100nF
U7
D2
GND
GND
D3
Q1
U3
GND
Q2
D1
GND
D4
U9
U11
TB1
U6
U5
U8

No files yet

Documents

    Documents are markdown text files which describe project goals, capture details, or even simulation outputs.

    Assets

    No assets added.

    ag telemetry prototype

    ag telemetry prototype thumbnail
    SDI-12 Open-Collector Interface on Swan GPIO D5

    Properties

    3.3

    V

    Latest ERC/DRC checks have been run via @review; see Reviews panel for any remaining violations or warnings related to SDI-12 interface changes.

    flowchart TD Charger["LiIonSolarChargerBlock"] Gauge["BatteryGauge"] Reg3V3["Regulator3V3"] Reg5V["Regulator5V"] BW["BluesWirelessNotecard"] MCU["SwanMCU"] BLE["BLEProvisioningModule"] SDI["SDI12Interface"] Loop4_20["FourToTwentyMilliampInterface"] DI["DigitalInputInterface"] PC["PulseCountingInterface"] TB["TerminalBlock12Position"] Charger --> Gauge Charger --> Reg3V3 Charger --> Reg5V Reg3V3 --> BW Reg3V3 --> MCU Reg3V3 --> BLE Reg3V3 --> SDI Reg3V3 --> Loop4_20 Reg3V3 --> DI Reg3V3 --> PC Reg3V3 --> TB Reg5V --> TB BW --> MCU BLE --> MCU Gauge --> MCU MCU --> SDI MCU --> Loop4_20 MCU --> DI MCU --> PC SDI --> TB Loop4_20 --> TB DI --> TB PC --> TB

    50000

    hours

    100

    Agriculture

    Ultra-low-power solar agricultural telemetry node with duty-cycled sensing and cellular uplink

    Solar + Li-Ion Battery

    Mermaid

    BOM Component Selections and Power Budget Solar Input: - Panel: 1.2 W, 6 V nominal (I_max ≈ 0.2 A) - Use single-panel input to MCP73871 solar-friendly Li-ion charger (U4). - Front-end protection: TPS25210 (U8) for reverse-polarity and inrush control, LTC4365 (U9) and TPS25962 (U10) for OV/UV and eFuse-style protection. Battery and Gauge: - Cell: Single-cell Li-ion/LiPo, nominal 3.7 V, capacity TBD (e.g., 2000–5000 mAh depending on deployment). - Charger: MCP73871-2CCI/ML (U4), configured for solar input via VPCC and PROG pins. - Fuel gauge: BQ27441-G1 (U5) on I2C with pull-ups (R1–R3). Regulators: - 3.3 V rail: TPS62840DLCR (U6), high-efficiency buck, selected for ultra-low quiescent current to minimize standby drain. - 5 V rail: TPS61030PWP (U7), boost converter for 5 V sensor/IO needs, duty-cycled to reduce average consumption. Protection and I/O Conditioning: - ESD: 0603ESDA-MLP7 (D1–D4) on SDI-12, 4–20 mA, Digital Input, and Pulse Counting lines. - EMI filters: 10 uH generic inductors (L1–L4) inline with each sensor channel. - Current sense: 500 Ω shunt (R4) for 4–20 mA loop, instrumentation amplifier INA333AIDGKR (U11). Terminal Block: - Phoenix Contact 1875522 (TB1) 12-position, 3.81 mm pitch for SDI-12, 4–20 mA, Digital Input, Pulse Counting, and expansion. Core Compute and Connectivity: - MCU: Blues Swan Feather 3.0 (U1) as main microcontroller. - Cellular: Blues Note NBNA (U2) for cloud uplink. - BLE: Raytac MDBT50Q-P1MV2 (U3) for provisioning. Power Budget (from 1.2 W, 6 V Panel): - Panel electrical limits: P_max = 1.2 W, V_nom = 6 V, I_max ≈ 0.2 A. - Assuming MPPT/charger efficiency ~85% and Li-ion battery voltage ~3.7 V: usable battery charge power ≈ 1.0 W. - Resulting average charge current into battery: I_charge_avg ≈ 1.0 W / 3.7 V ≈ 270 mA (best-case full sun). System-Level Budgeting Notes: - Daytime: allow higher system activity (MCU + Notecard + radio + sensors) while surplus panel power is available. - Night / low-irradiance: system primarily runs from battery; MCU and radios heavily duty-cycled with regulators kept in low-IQ modes. - Design target: average system consumption over 24 h kept well below the panel’s daily energy harvest at deployment site (weather and latitude dependent). - Panel and battery sizing margins to be revisited once detailed per-mode current profiling is available (sleep, sample, transmit, fault conditions). SDI-12 Interface: - SDI-12 bus is implemented as an open-collector bus on net SDI12_BUS. - TX path: Q1 (MMBT2222A NPN) has emitter at GND, collector on SDI12_BUS, and base driven from Swan GPIO D5 (net SWAN_D5) via R5 = 1 kΩ. When SWAN_D5 is driven high, Q1 sinks current and pulls SDI12_BUS low; when SWAN_D5 is low or high-Z, SDI12_BUS is released. - Bus pull-up: R6 = 4.7 kΩ from SDI12_BUS to 5 V defines the idle high level for the SDI-12 line. - RX path: Q2 (MMBT2222A NPN) has emitter at GND, base connected to SDI12_BUS via R7 = 100 kΩ (net SDI12_RX_BUF), and collector tied to Swan GPIO D5 (net SWAN_D5) with R8 = 10 kΩ pull-up to 3.3 V. - Logic behavior: When SDI12_BUS is high (idle), Q2 base is biased, Q2 conducts, and pulls SWAN_D5 low against R8, so the RX stage inverts the SDI-12 line. When SDI12_BUS is pulled low, Q2 turns off and R8 pulls SWAN_D5 high. - Firmware considerations: Swan D5 is shared for TX and RX. Firmware must account for the inverted polarity on SWAN_D5 when receiving SDI-12 (e.g., by inverting bits in software or configuring an inverted UART/bit-bang routine) and must ensure direction control so D5 never actively drives the bus high. - Open-collector operation: Only open-collector (or open-drain) devices are allowed to pull SDI12_BUS low. No device may drive SDI12_BUS high; the bus high level is solely defined by R6 to 5 V (on the field side) and R8 to 3.3 V (on the MCU side via Q2’s transistor action). This preserves SDI-12 multi-drop compatibility and prevents contention with external sensors’ open-collector drivers. - Voltage domains: SDI12_BUS is at 5 V logic high for compatibility with SDI-12 sensors, while Swan D5 operates at 3.3 V. The Q1/Q2 transistor stages and resistors (R5, R6, R7, R8) provide level shifting and protect the MCU from the 5 V bus.

    Battery

    Cellular

    Arduino

    Pricing & Availability

    Distributor

    Qty 1

    Arrow

    $21.25–$23.22

    Digi-Key

    $81.26–$85.25

    LCSC

    $177.63

    Mouser

    $27.41

    TME

    $6.22

    Verical

    $18.39–$23.26

    Controls