Close
0%
0%

OrangePi-Based NUT UPS Monitor Server

NUT-Based UPS Monitor Server running on OrangePi Zero 3 (via USB)

Similar projects worth following
UPS Monitoring Appliance with Orange Pi Zero 3

This project is a compact, self-contained UPS monitoring server built around the Orange Pi Zero 3. Housed in a custom 3D-printed case, it includes an integrated backup battery, allowing the system to remain operational even if all external UPS units or mains power fail.

Running Network UPS Tools (NUT), the server manages multiple UPS devices over USB, providing real-time monitoring, remote access via a Node.js proxy, and a web-based CGI dashboard. Designed for reliability and minimal footprint, it serves as a dedicated power management appliance for homelabs, small server rooms, or embedded applications.

Key features:

3D-printed enclosure with integrated battery backup.

Multi-UPS monitoring and control via NUT.

Web and API access for real-time status.

Automated recovery from USB faults.

A robust, low-cost solution for critical power monitoring.

As I started to expand my homelab, i wanted a way to monitor the various UPSs without the need to buy dedicate HW and avoid proprietary solutions. I decided to use an OrangePi Zero 3 (a bit overkill for this project, but the future expandability is nice). In addition to just monitoring, the system is configured to send shutdown commands to the mapped devices. Replace the names of the UPS's and the device IPs in the commands.

The system has a dedicate battery so that, should power go down, this has longer power on time to hopefully outlive the outage and then handle everything automatically.

Below you'll find all the instructions to configure the OrangePI Zero 3 with this system - this is inteded for use with an Ubuntu-based image. 

In the files you'll find the 3Ds (Solidworks) for the 3D printed box and the dimensions of other parts used. 

So far this has been working with no downtime for over a month, so decided to share it.

Feedback is greatly appreciated!

LICENSE

This project is licensed under the Creative Commons Attribution 4.0 International (CC BY 4.0) License.

You are free to:

  • Share — copy and redistribute the material in any medium or format.

  • Adapt — remix, transform, and build upon the material for any purpose, even commercially.

Under the following terms:

  • Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.

Full license text:
https://creativecommons.org/licenses/by/4.0/

Example attribution:
"Based on work by [Your Name or Project Name] licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)"

wizard.sh

.sh file for automatic installation of packages and services - this is an alternative to doing all the steps manually, but the configurations still need to be done manually. Edit the IP to the one you'll assign to the server - placeholder is 192.168.1.24

x-sh - 2.90 kB - 05/03/2025 at 11:31

Download

SolidworksFiles.zip

3D files for the various parts and the Holder box to be 3D Printed

x-zip-compressed - 5.46 MB - 05/03/2025 at 11:29

Download

UPS server Assembly.pdf

PDF file of how the parts should be assembled

Adobe Portable Document Format - 81.40 kB - 05/03/2025 at 11:28

Preview

  • 1 × OrangePi Zero 3
  • 1 × Rocker Switch 21 mm
  • 1 × Mini DC-DC Boost 3 to 5 V module
  • 1 × 1700 mAh LiPO Battery
  • 1 × USB 5 V 1A 18650 TP4056

View all 9 components

  • 1
    Connect the UPS's via USB to the OrangePi
  • 2
    Verify the UPS Connection

       ```bash

       lsusb
       ```

       You should see an output similar to:

       ```
       Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
       Bus 001 Device 019: ID 09ae:2012 Tripp Lite
       ```

  • 3
    Install NUT

       ```bash

       sudo apt update
       sudo apt install nut nut-client nut-server
       ```

View all 30 instructions

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates