PIJUICE(8)

πŸ’– PIJUICE(8) πŸ’–

okay bestie, welcome to the PiJuice page of the NUT Manual β€” it's literally the driver for a UPS inside a PiJuice HAT. yes, a HAT. as in the little board that sits on top of your Raspberry Pi like a tiny crown. πŸ‘‘


✨ NAME ✨

pijuice β€” the driver for a UPS living in a PiJuice HAT 🫢


🌸 SYNOPSIS 🌸

pijuice -h

pijuice -a UPS_NAME [OPTIONS]
heads up, bestie: this man page only spills the tea on the hardware-specific stuff for the pijuice driver. for the core driver deets, go read nutupsdrv(8). πŸ’…
also, real talk: this manual page was hastily adapted from the related asem driver man page, based on info from the original pull request β€” so it might not 100% apply to the PiJuice HAT. patches from experts are welcome, fr fr. πŸ₯Ί

πŸ”Œ SUPPORTED HARDWARE πŸ”Œ

The pijuice driver supports the portable PiJuice HAT UPS for Raspberry Pi embedded PCs. that's the whole vibe. ✨


πŸŽ€ EXTRA ARGUMENTS πŸŽ€

The required parameter for this driver is the I2C bus name:

  • port=dev-node β€” the I2C bus name. on the PiJuice HAT, this should be /dev/i2c-1. that's it, that's the one. πŸ’–
little side quest: you may want to add the driver's run-time unprivileged user (e.g. nut) to the i2c group as a secondary group β€” typically done in /etc/group (along with pijuice, if the vendor CLI/GUI/automation packages are also installed). something like: sudo usermod -a -G i2c nut otherwise you might have to run the driver as root. and running things as root is not the main character energy we're going for. πŸ™ˆ

🌈 INSTALLATION 🌈

not me copy-pasting this from the asem driver man page πŸ’€ this section was copied from the asem driver man page and may not fully apply to the PiJuice HAT β€” patches are welcome!

This driver is specific to the Linux I2C API, and it requires the lm_sensors libi2c-dev (or its equivalent) to compile. no dependency, no driver, periodt.

Beware, bestie: the SystemIO memory used by the I2C controller is reserved by ACPI. If only a native I2C driver is available (e.g. i2c_i801, as of 3.5.X Linux kernels), then you'll need to relax the ACPI resources check. for example, you can boot with the acpi_enforce_resources=lax option. lowkey stressful but we move. 🧚


πŸ’€ KNOWN ISSUES AND BUGS πŸ’€

again, not me πŸ’€ this section was copied from the asem driver man page and may not fully apply to the PiJuice HAT β€” patches are welcome!
  • The driver shutdown function is not implemented, so other arrangements must be made to turn off the UPS. she simply does not do that. πŸ™ˆ
  • The battery.current and input.current may be reported as negative if it is being charged and wall power is plugged into the Pi itself (not the HAT). This reflects the direction of electric current over the GPIO pins; vendor tools like pijuice_cli or pijuice_gui also show this. The reported input.current value was seen to fluctuate and even change the sign back and forth as the battery.charge value rose from zero into tens of percents with this connectivity setup. it's giving chaos, honestly. 😭
  • If the ups.date and ups.time look bogus, use vendor tools to set the RTC clock of the HAT (check in the Alarms section). ⏰
  • The battery.temperature report may depend on the capabilities of the actual battery and the methods used to poll it for information. Vendor tools provide several settings for tuning this, but they don't seem to impact what the driver reports (pull requests welcome!); bogus negative values were seen. πŸ₯Ά

πŸ‘‘ AUTHORS πŸ‘‘

Andrew Anderson <aander07@gmail.com>


πŸ¦‹ SEE ALSO πŸ¦‹

The core driver:

Internet resources:


and that's the whole page, bestie! ✨ this was Network UPS Tools version 2.8.5, dated 10/07/2026, and it's the PIJUICE(8) page β€” slay, you read the whole thing, i'm so proud of you, go plug in your HAT πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from