UPS Watcher

Firmware 0.1.0: a NUT (Network UPS Tools) server for APC UPSes on an M5Stack Core Basic with the USB Module (MAX3421E). Plug the UPS's USB cable into the module and Home Assistant, upsc, upsmon or any NUT client can read it on port 3493. Source, docs and licence (MIT) on GitHub.

1. Install the firmware

  1. Use Chrome or Edge on a desktop (Web Serial is needed; Safari and Firefox do not have it).
  2. Connect the Core's USB-C port to the computer.
  3. Click Install below and choose the Core's port (usually USB Serial or CP2104 / CH9102).
This browser cannot flash devices. Use Chrome or Edge on a desktop computer. The page must be opened over https.

Installing replaces whatever firmware the Core had and erases its settings. A Core that already runs UPS Watcher can update itself instead: Update on its web page, with the -update.bin file from the latest release.

2. Set the USB Module's switches

The USB Module v1.2 has two tiny DIP switches on its PCB, next to the MAX3421 chip. They ship off, which leaves the module disconnected. For the Core Basic:

SwitchSet toMeaning
SS SelectCH1, CH2 or CH3G13 / G5 / G0, the firmware finds whichever you chose
INT SelectCH1G35 (CH2 = G34 also works if you set it in Settings)

The original USB Module without switches is wired to G5 / G35 and needs nothing.

3. Set it up

  1. The screen shows AP UPS-Watcher-XXXX. Join that Wi-Fi network from a phone; the setup page opens by itself (or browse to http://192.168.4.1). Pick your network and type its password.
  2. It reboots onto your network as http://ups-watcher.local/: live status, every NUT variable, the event log, settings and firmware updates.
  3. In Home Assistant add the Network UPS Tools integration with host ups-watcher.local, port 3493. Or upsc ups@ups-watcher.local.

Buttons: A previous page, B backlight, C next page. Hold A + C for six seconds to forget the Wi-Fi settings and reopen the setup hotspot.