Skip to content

This project allows to use Arduino Leonardo or Arduino Pro Micro as an intelligent UPS controller.

Notifications You must be signed in to change notification settings

abratchik/HIDPowerDevice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HID UPS Power Device Library for Arduino

This library allows an Arduino board with USB capabilities to act as a HID-compliant UPS according to USB HID specifications. The library is useful if you want to build a smart UPS or other power device, which can report its state to the PC host or perform power on/power off operations as necessary for your project.

For more information about USB HID specs please read https://www.usb.org/sites/default/files/pdcv11.pdf

Supported Arduinos

  • Leonardo

  • (Pro)Micro

Setup & Usage

Setup is very simple. Just clone this repository to Arduino libraries, then upload the sketch UPS.ino from the /examples folder. Once upload is completed successfully you will find HID Device Battery in your system.

You migth need to change bCapacityMode from 2 (%) to 1 (mWh) if you want Windows to report battery capacity percentage on laptops that already has a battery installed (see #11).

Additional setup step on Linux hosts

Copy linux/98-upower-hid.rules file to the /etc/udev/rules.d/ folder , then reboot. This is required for Linux device manager (udev) to recognize the Arduino board as UPS.

Tested on Operating Systems

  • Mac OSX 10.14.6 Mojave

  • Ubuntu 18.04.05 LTS

  • Windows 10

License

Copyright (c) Alex Bratchik 2020. All right reserved.

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

About

This project allows to use Arduino Leonardo or Arduino Pro Micro as an intelligent UPS controller.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages