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.
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
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.