From 0b3783dac09e8d8550dfdc2beca63d571b8420e6 Mon Sep 17 00:00:00 2001 From: mikkeli Date: Fri, 9 Oct 2026 17:04:40 +0900 Subject: [PATCH] BOM: add Waveshare UPS Power Module (C) 15-19 V in, 3S 21700 pass-through UPS with an INA219 that the car unit sees on I2C bus 7 at 0x41 (read-only check: 12.34 V, idle). Bench test held the Orin >=20 s across a supply swap. Notes the 20 V PD caveat and the intended ignition-off shutdown via battery current direction. Co-Authored-By: Claude Opus 5.5 --- docs/BOM.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/docs/BOM.md b/docs/BOM.md index 1e9b20c..e21ea78 100644 --- a/docs/BOM.md +++ b/docs/BOM.md @@ -54,6 +54,28 @@ type: reference - Supply voltage should be ~4.0 V for reliable operation. - DO NOT hot-plug while powered. +## Waveshare UPS Power Module (C) + +[wiki](https://www.waveshare.com/wiki/UPS_Power_Module_(C)) + +| Field | Value | +|-------|-------| +| **Purpose** | Keep the Orin running through cranking and short power losses, and give time for a clean shutdown at ignition off | +| **Input** | 15–19 V DC (Waveshare recommends a 19 V / 2.37 A adapter). ⚠ A PD trigger at the standard 20 V level is above the rated maximum | +| **Output** | Input voltage when powered (pass-through); battery voltage (9–12.6 V) when not | +| **Battery** | 3 × 21700 Li-ion in series (not included); charging stops when full and resumes below 12 V | +| **Monitoring** | INA219 on I²C. On the car unit it is **bus 7 (40-pin header), address `0x41`** | +| **Holdover (bench, 2026-10-09)** | ≥ 20 s across a supply swap, enough to ride through cranking | + +### Notes + +- First read-only check (2026-10-09, on input power, charged): bus 12.34 V, shunt ≈ 0 mV (idle). Chip at power-on defaults (config `0x399f`, + calibration unprogrammed), so read current from the **shunt-voltage register** (0x01, 10 µV/LSB) rather than the current register. +- Ignition-off shutdown (not built yet): on input loss the battery current turns clearly negative (discharging). A small service watches the + INA219, waits out a grace period longer than a crank (30–60 s), then runs `systemctl poweroff`, with low battery voltage as a hard backstop. + The shunt value is unconfirmed; check the schematic before converting shunt mV to amps. +- No GPIO or shutdown signal on the module; the BOOT button may be needed to wake a battery that stopped outputting (FAQ). + ## RTC backup battery **Status: optional, low priority.** Battery choice settled (CR2032); footprint/R560 still to verify against NVIDIA's schematic.