| Crates.io | waveshare-ups-hat-e |
| lib.rs | waveshare-ups-hat-e |
| version | 0.1.3 |
| created_at | 2025-12-20 03:50:25.148661+00 |
| updated_at | 2025-12-24 22:31:34.807273+00 |
| description | A crate to monitor the status of a Waveshare UPS HAT E on a Raspberry Pi |
| homepage | |
| repository | https://github.com/int08h/waveshare-ups-hat-e |
| max_upload_size | |
| id | 1995978 |
| size | 86,251 |
A Rust library for monitoring the Waveshare UPS HAT (E) on Raspberry Pi via I2C.
Output from the ups_monitor example demonstrating the type of information available:

use waveshare_ups_hat_e::UpsHatE;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut ups = UpsHatE::new();
let battery = ups.get_battery_state()?;
println!("Battery: {}% ({} mV, {} mA)",
battery.remaining_percent,
battery.millivolts,
battery.milliamps);
println!("Remaining: {} mAh, {} min",
battery.remaining_capacity_milliamphours,
battery.remaining_runtime_minutes);
let power = ups.get_power_state()?;
println!("Charging: {:?}, Activity: {:?}",
power.charging_state,
power.charger_activity);
println!("USB-C: {:?}, PD: {:?}",
power.usbc_input_state,
power.usbc_power_delivery);
let vbus = ups.get_usbc_vbus()?;
println!("VBUS: {} mV, {} mA, {} mW",
vbus.millivolts,
vbus.milliamps,
vbus.milliwatts);
let cells = ups.get_cell_voltage()?;
println!("Cells: {:?}", cells);
Ok(())
}
| Method | Description |
|---|---|
get_battery_state |
Voltage, current, capacity, remaining runtime |
get_power_state |
Charging state, USB-C input, power delivery mode |
get_cell_voltage |
Individual cell voltages (4 cells) |
get_usbc_vbus |
USB-C voltage, current, power |
get_communication_state |
Communication status with BQ4050 and IP2368 chips |
get_software_revision |
Firmware revision of the UPS microcontroller |
is_battery_low |
Check if battery voltage is below threshold |
is_power_off_pending |
Check if a power-off has been initiated |
force_power_off |
Initiate power-off in 30 seconds (cannot be canceled) |
Licensed under either of Apache License, Version 2.0 or MIT License at your option.
Copyright (c) 2025 Stuart Stock, all rights reserved.