Skip to content

Latest commit

 

History

History
149 lines (113 loc) · 5.21 KB

File metadata and controls

149 lines (113 loc) · 5.21 KB

Hardware Validation — 2026-07-18

This document records the hardware configuration and live observations from the Raspberry Pi Zero 2 W UPS node validated on 2026-07-18. Values below are point-in-time operational readings, not calibration certificates.

Validated Configuration

Component Verified configuration
Raspberry Pi Raspberry Pi Zero 2 W
Power monitor INA3221, I2C bus 1, address 0x40
Battery telemetry INA3221 channel 1
19 V output telemetry INA3221 channel 2
Shunts Two identical FL-2C 20 A / 75 mV shunts (0.00375 ohm)
Display ST7735, effective 128x160 portrait orientation
Display fonts Ubuntu and Ubuntu Mono from fonts-ubuntu
Installed package ups-pi-node 0.2.2-6
Network mode Wi-Fi client with fallback hotspot available

INA3221 channel 3 is currently unused.

Power Topology

The Raspberry Pi is powered independently from the measured 19 V output:

DC power supply -> DC buck converter -> dedicated UPS -> Raspberry Pi

Power is soldered to the marked pads on the underside of the Raspberry Pi USB power connector. Verify the pad labels and polarity with a multimeter before connecting the Pi. Do not infer pad polarity from cable color or connector position.

The INA3221 VS pin is connected to Raspberry Pi physical pin 1 (3.3 V). A polarized connector such as XT30 reduces the risk of an accidental reversed connection. Its polarity must still be verified when the connector pair is assembled for the first time.

Raspberry Pi Power Header Reference

These are physical pin numbers on the 40-pin header:

Rail Physical pins Notes
3.3 V 1, 17 INA3221 VS is connected to pin 1
5 V 2, 4 Direct 5 V rail; do not confuse with pin 1
GND 6, 9, 14, 20, 25, 30, 34, 39 All are common ground

The INA219 IC supports a 3.0-5.5 V supply and the INA3221 supports 2.7-5.5 V, so either IC can operate from 5 V. Supply capability alone does not make arbitrary INA219 and INA3221 modules pin-compatible. Before a contact-for-contact module replacement, check the module silkscreen or schematic for VS/VCC, GND, SDA, SCL, and any I2C pull-ups. Raspberry Pi GPIO uses 3.3 V logic.

The supply ranges come from the official Texas Instruments INA219 and INA3221 datasheets.

INA3221 Wiring And Channel Map

Raspberry Pi connection:

INA3221 pin Raspberry Pi physical pin Signal
VS / VCC 1 3.3 V
GND 6 Ground
SDA 3 BCM GPIO2 / I2C1 SDA
SCL 5 BCM GPIO3 / I2C1 SCL

Measured paths:

Channel 1: charger/relay side -> FL-2C -> battery positive
Channel 2: 19 V source side   -> FL-2C -> 19 V load side

For each channel, IN+ is on the source side and IN- is on the load side. This gives positive current for battery charging and for current delivered by the 19 V output. The configured shunt resistance is derived from the marking:

R = 0.075 V / 20 A = 0.00375 ohm

The high-current path must pass through the FL-2C terminals. Only Kelvin sense wires go to the INA3221 inputs. The two installed shunts have the same rating, so both shunt_ohms and output_shunt_ohms are 0.00375.

Live Readings

Two snapshots were observed while validating channel 2 and the portrait display:

Snapshot Battery 19 V output State
Channel 2 bring-up 12.128 V, +213.33 mA 18.960 V, +394.67 mA, 7.483 W AC present
Portrait UI check 12.160 V, +213.33 mA, 2.594 W 18.984 V, +1994.67 mA, 37.867 W CHARGE, AC present, battery 86%

The second output-current reading reflects the load present at that moment. It must not be used as a fixed expected value. Both helper snapshots were returned without hardware_error or display_error.

Display

The physical panel is portrait. The driver configuration retains the controller dimensions 160x128 with rotate = 1; the resulting luma display bounds are 128x160. The renderer detects those bounds and uses a stacked layout:

+------------------+
| UPS NODE   AC OK |
+------------------+
| BATTERY          |
| voltage/current  |
| charge and state |
+------------------+
| 19V OUTPUT / CH2 |
| voltage/current  |
| power            |
+------------------+

Landscape bounds still select the two-column layout automatically.

Network And Service Check

At initial validation the node received 192.168.88.10 by DHCP. After a later hotspot-to-client reconnect on the same day it received 192.168.88.40 and the old address stopped responding. The preferred address is therefore the mDNS hostname:

http://zero2.local/

Both DHCP addresses are observations, not permanent configuration. Reserve a lease in the router when a stable numeric address is required. The fallback hotspot remains available at 10.42.0.1 when the node cannot join a known network.

Post-upgrade checks confirmed:

  • ups-pi-node-helper.service: active;
  • ups-pi-node.service: active;
  • web root: HTTP 200;
  • INA3221 backend: active, channels 1 and 2 returning data;
  • display initialization and rendering: no reported error.