Skip to the content
4 layers81.8 × 60.4 mmWIFI UPS, the printed circuit board in 3D

A custom PCB uninterruptible power supply and network diagnostic node using ESP32-C3.

Size
81.8 × 60.4 mm
Copper layers
4
Thickness
1.6 mm
Parts
19
Nets
26
Pads
64
Tracks, vias
56, 0
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
15 Aug 2026
Updated
1 Sep 2026

Overview

WIFI UPS is an open-source printed circuit board by HarshBotre, from the HarshBotre/IoT-Enabled-WiFi-Router-UPS repository on GitHub. It is a 4-layer board of 81.8 × 60.4 mm with 19 parts on 26 nets, routed with 56 tracks and 0 vias.

It is built around the MP1584EN and XIAO ESP32C3. Its parts include 5 diodes, 4 resistors, 4 ICs, 2 capacitors and 2 connectors. It belongs with the radio and wireless and power boards and the ESP32 and RISC-V boards of this library.

Main components

2

README

README.md

IoT Smart WiFi UPS & Network Monitor

A custom 2-layer PCB designed to provide seamless battery backup for a 12V WiFi router, featuring an onboard ESP32-C3 microcontroller for live network health diagnostics and battery telemetry.

3D PCB Render

The Core Problem

Standard router UPS devices blindly supply power. When the internet drops, users cannot tell if the ISP went down or if the local router lost power. This project solves that by maintaining power while actively pinging external DNS servers to log true ISP outages.

Hardware Architecture

  • Microcontroller: Seeed Studio XIAO ESP32-C3
  • Power Path: Seamless OR-ing logic via 1N5822 Schottky diodes
  • Battery Management: TP4056 with DW01A protection IC and 3x 18650 Lithium-ion cells in parallel
  • Voltage Regulation: MP1584EN (Buck) stepping down to 5V; XL6009 (Boost) stepping up to 12V
  • PCB Design: Fully routed DRC-compliant 2-layer board designed in KiCad

Software & Telemetry

  • Battery Monitoring: ESP32 ADC reads battery percentage via a 100kΩ/33kΩ voltage divider.
  • Network Diagnostics: Continuous ICMP ping sweeps to 8.8.8.8 to track latency, jitter, and packet loss.
  • Dashboard Integration: Designed to push state changes to a live web browser interface.

Repository Structure

  • /Hardware: KiCad schematic, PCB layout, and manufacturing Gerbers.
  • /Firmware: C++ logic for the ESP32-C3 network and battery telemetry.
  • /Docs: Schematic PDFs and visual assets.

Parts

19
QtyValueFootprintReferences
31N5822Diode_THT:D_DO-201AD_P15.24mm_HorizontalD1, D2, D3
2220Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR1, R2
2LEDLED_THT:LED_D3.0mmD4, D5
1100Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR3
1100Capacitor_THT:C_Disc_D5.0mm_W2.5mm_P2.50mmC1
133Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR4
1470 C_PolarizedCapacitor_THT:CP_Radial_D6.3mm_P2.50mmC2
1BatteryConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalBT1
1F Barrel-JackConnector_BarrelJack:BarrelJack_HorizontalJ1
1FuseFuse:Fuseholder_Cylinder-5x20mm_Schurter_0031_8201_Horizontal_OpenF1
1KL6009misc_footprints:XL6009_moduleU3
1MP1584ENmisc_footprints:MP1584_buck_moduleU4
1Screw_Terminal_01x02TerminalBlock:TerminalBlock_MaiXu_MX126-5.0-02P_1x02_P5.00mmJ2
1TP4056_MICRO-USB_CHARGER_-_1ATP4056_MICRO-USB_CHARGER_-_1A:MODULE_TP4056_MICRO-USB_CHARGER_-_1AU2
1XIAO_ESP32C3XIAO_ESP32C3:MODULE_XIAO_ESP32C3U1

Similar boards

  • 2 layers40 × 30 mmEsphome xiao base, the printed circuit board in 3D

    Esphome xiao base

    0rax/esphome-xiao-base

    XIAO base board PCB & configuration for ESPHome based sensors.

    10 parts5CERN-OHL-S-2.0
  • 2 layers148 × 61 mmIrrigation controller, the printed circuit board in 3D

    Irrigation controller

    adriencarbonaro/irrigation-controller

    Irrigation System Controller

    40 parts2
  • 2 layers82.7 × 51.9 mmHollow Alarm, the printed circuit board in 3D

    Hollow Alarm

    NLEVEL-GIT/Hollow-Alarm

    An Alarm with Hollow Knight features

    11 parts1
  • 2 layers22 × 77.4 mmNB001, the printed circuit board in 3D

    NB001

    uwrov/nanofloat

    18 parts1
  • 2 layers55.5 × 38 mmExiFlexBoard, the printed circuit board in 3D

    ExiFlexBoard

    2525mura/ExiFlex

    15 parts
  • 2 layers34.9 × 56.5 mmHome Automation v1, the printed circuit board in 3D

    Home Automation v1

    aayu0-0/SEEED-RS485-Extension-Board-reverse-engineering-project

    SEEED RS485 Extension Board reverse-engineering project

    64 parts
  • 2 layers150 × 100 mmMemento, the printed circuit board in 3D

    Memento

    AID-IOT/IOT-Memento-Design

    A keepsake PCB built at the AICTE IDEA Lab, Poornima College of Engineering. It is a working board as well as a memento: a Seeed XIAO ESP32C3 drives four WS2812B LEDs and reads a BMP280 pressure/temperature sensor, and…

    13 partsMIT
  • 2 layers48.5 × 48.6 mmHandle bar, the printed circuit board in 3D

    Handle bar

    basic-bitch-foundation/Traffic

    18 parts

Questions

How big is the WIFI UPS PCB?

It measures 81.8 × 60.4 mm and has 4 copper layers, 1.6 mm thick.

What parts does the WIFI UPS use?

19 parts, built around the MP1584EN and XIAO ESP32C3. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the WIFI UPS KiCad files?

From the HarshBotre/IoT-Enabled-WiFi-Router-UPS repository on GitHub, at the commit this page was made from: the board is Hardware/WIFI UPS.kicad_pcb and its schematic Hardware/WIFI UPS.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the WIFI UPS design in my own project?

Its repository states no licence, so its author keeps all rights: ask HarshBotre before reusing the design.