Skip to the content
PCBKitNew board
4 layers140 × 100 mmDc usv, the printed circuit board in 3D

A small DC UPS, designed to keep small appliances like consumer network equipment running during power outages

Size
140 × 100 mm
Copper layers
4
Thickness
1.66 mm
Parts
351
Nets
244
Pads
1,184
Tracks, vias
2,597, 808
Pours
67
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
19 Sep 2022
Updated
9 May 2024

Overview

Dc usv is an open-source printed circuit board by TobleMiner, from the TobleMiner/DC-UPS repository on GitHub, published under the CERN-OHL-P-2.0 licence. It is a 4-layer board of 140 × 100 mm with 351 parts on 244 nets, routed with 2,597 tracks and 808 vias.

It is built around the 74HC595, AO4407A and MMBT3904, with the AON7544, P6SMB18CA and 1N4148WS among its other parts. Its parts include 134 resistors, 105 capacitors, 37 transistors, 21 diodes and 9 ICs. It belongs with the power boards of this library.

Main components

12

README

README.md

DC uninterruptible power supply

This repository contains the design files for a DC uninterruptible power supply well suited to run network appliances like small switches, home routes and WLAN access points.

I would not recommend ordering RevC yet as it is still untested.
I would not recommend ordering RevB yet as there are still some issues with the current design. See Rev B issues below.

Render of the device

Features

  • 3 DC outputs
  • Selectable output voltage (9V/12V/12.5V/15V)
  • USB-C power output (5V only, 3A)
  • Builtin, easy to replace batteries (2x Li-Ion 18650)
  • Builtin Prometheus-exporter with comprehensive metrics
  • Open Source firmware (ESP32-based, esp-idf framework)
  • Easy software updates via back USB port

Construction

The mechanical construction of the DC UPS is based on 4 assemblies:

  • Hammond Manufacturing 1455L1201BK aluminum case
  • Main PCB
  • Aluminum core PCB front panel
  • Aluminum core PCB rear panel

The three PCBs have been optimized for manufacturing through JLCPCB.
The main PCB is also designed to be suitable for assembly through JLCPCB.

The relevant fabrication files are located in fab.

For final assembly it is recommended to countersink the screw holes in front and rear panel. This will allow the screws included with the case to sit flush.

Main PCB assembly

When using the JLCPCB assembly service only a very limited number of components needs to be assembled by hand:

  • Battery holder B1
  • OLED display U17

Thermals

For better thermal management I would highly recommend to install a thick, generously sized thermal pad below U4 and L2 contacting the bottom case if using the UPS DC outputs beyond 40W output power.

Firmware

The DC UPS is running Open Source firmware. Firmware source can be found on GitHub here: https://github.com/TobleMiner/dc-ups-firmware

Why?

For a long time I was running the core of my home network (a cable modem, router and switch) off a normal line-interactive AC UPS.
This was never ideal for a number of reasons. First of all the UPS was using sealed lead acid batterys. The UPS did not seem to treat those too kindly and ended up degrading them beyond the point of useful capacity within 2 - 5 years, depending on quality of the battery.
Also I noticed that the UPS was always getting somewhat warm, suggesting high idle power consumption. In this particular setup the core network components only use about 12W. The AC UPS alone already used 10W while idle. Quite the waste of power.
Another worrying factor was overall system reliability. With the AC UPS there were three seperate wall warts in use, each powering a single device. Powering all network compoenents with DC directly this is down to just one wall wart at the power input of the UPS itself.
Additionally I was never quite happy with the monitoring options offered by the AC UPS. While it was equipped with a USB port for monitoring the available metrics were minimal. The DC UPS offers an Ethernet port and hosts a Prometheus exporter offering all kinds of metrics relating to power input and output, temperatures, battery health and battery management internals.
Finally the DC UPS is a lot smaller than available AC UPS options. The following picture shows a comparison between the AC UPS I have been using before and the DC UPS:

Size comparison between AC UPS and DC UPS. DC UPS is way smaller

Rev B issues

Rev B is still more of a prototype than I'd like. This is the list of currently know issues:

  • DCDC U4 startup is too slow on power failure, remove Q13
  • R47 and R48 are too high resistance for effective testing

Parts

351
QtyValueFootprintReferences
33100kRResistor_SMD:R_0402_1005MetricR15, R26, R27, R101, R102, R104, R105, R106, R107, R108, R109, R110, R111, R112, R116, R131 +17
33100nFCapacitor_SMD:C_0402_1005MetricC1, C2, C3, C4, C5, C13, C16, C24, C25, C26, C30, C42, C45, C47, C48, C101 +17
3010kResistor_SMD:R_0402_1005MetricR14, R20, R51, R53, R103, R113, R114, R115, R118, R119, R121, R126, R127, R128, R129, R132 +14
15100nF HVCapacitor_SMD:C_0603_1608MetricC7, C8, C9, C10, C11, C14, C34, C41, C43, C44, C46, C54, C72, C85, C87
1422uFCapacitor_SMD:C_0805_2012MetricC28, C29, C31, C38, C39, C40, C52, C55, C56, C57, C70, C74, C75, C94
111uFCapacitor_SMD:C_0402_1005MetricC12, C17, C18, C27, C60, C62, C63, C64, C83, C97, C98
112N7002Package_TO_SOT_SMD:SOT-23Q11, Q13, Q14, Q15, Q16, Q20, Q22, Q26, Q31, Q34, Q37
105.1kResistor_SMD:R_0402_1005MetricR8, R9, R12, R18, R22, R97, R98, R120, R124, R125
8100RResistor_SMD:R_0402_1005MetricR2, R3, R69, R99, R100, R122, R123, R130
81RResistor_SMD:R_0402_1005MetricR37, R38, R44, R45, R80, R82, R89, R91
8AO4407APackage_SO:SOIC-8_3.9x4.9mm_P1.27mmQ8, Q10, Q19, Q21, Q23, Q32, Q35, Q38
710uFCapacitor_SMD:C_0805_2012MetricC20, C21, C22, C23, C35, C36, C37
7MMBT3904Package_TO_SOT_SMD:SOT-23Q12, Q18, Q28, Q29, Q30, Q33, Q36
610mRResistor_SMD:R_0805_2012MetricR19, R25, R42, R43, R81, R90
4220uFCapacitor_SMD:CP_Elec_6.3x7.7C49, C50, C80, C84
450RResistor_SMD:R_0402_1005MetricR66, R68, R70, R71
4AON7544Package_DFN_FET:DFN-8-FET_3x3mm_P0.65mmQ1, Q3, Q4, Q5
4INA219AxDPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU5, U6, U14, U15
4P6SMB18CADiode_SMD:D_SMBD6, D9, D10, D11
4REDLED_Indicator:LED_Indicator_RED_MHK1373CRBDTD8, D12, D13, D14
3100R 0805Resistor_SMD:R_0805_2012MetricR4, R5, R11
3100kRResistor_SMD:R_1206_3216MetricR75, R85, R96
310MRResistor_SMD:R_0402_1005MetricR6, R10, R13
31N4148WSDiode_SMD:D_SOD-323D1, D2, D3
31nF 500VCapacitor_SMD:C_1206_3216MetricC69, C82, C89
32.2uFCapacitor_SMD:C_0603_1608MetricC6, C53, C103
322nFCapacitor_SMD:C_0402_1005MetricC95, C104, C105
35AFuse:Fuse_1206_3216MetricF2, F3, F4
3LM75BPackage_SO:MSOP-8_3x3mm_P0.65mmU2, U7, U13
3Output 2.0mmConnector_BarrelJack_LCSC:BarrelJack_2.0mm_DC-044BJ1, J2, J3
21.5kRResistor_SMD:R_0402_1005MetricR64, R79
2100pFCapacitor_SMD:C_0402_1005MetricC15, C67
210RResistor_SMD:R_0402_1005MetricR23, R24
212kRResistor_SMD:R_0402_1005MetricR67, R78
218kRResistor_SMD:R_0402_1005MetricR17, R21
218pFCapacitor_SMD:C_0402_1005MetricC58, C76
220pFCapacitor_SMD:C_0402_1005MetricC90, C91
2330RResistor_SMD:R_0402_1005MetricR72, R73
250RResistor_SMD:R_2512_6332MetricR47, R48
256kRResistor_SMD:R_0402_1005MetricR30, R92
2AO3401APackage_TO_SOT_SMD:SOT-23Q2, Q25
2CSD17308Q3Package_DFN_FET:DFN-8-FET_3x3mm_P0.65mmQ6, Q7
2GRNLED_SMD:LED_0603_1608MetricD19, D20
2MMBT5401Package_TO_SOT_SMD:SOT-23Q9, Q24
2MountingHoleToolingHole:ToolingHole_JLCSMTH1, H2
2P6SMB6.8CADiode_SMD:D_SMBD7, D16
2REDLED_SMD:LED_0603_1608MetricD18, D22
2USB_C_Receptacle_USB2.0Connector_USB:USB_C_Receptacle_Palconn_UTC16-GJ6, J9
2YELLED_SMD:LED_0603_1608MetricD17, D21
110AFuse:Fuse_1206_3216MetricF1
110RResistor_SMD:R_1206_3216MetricR88
110uF LVCapacitor_SMD:C_0402_1005MetricC100
112MHz (DNP)Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
11455L1201BKCase:1455L1201BKCASE1
1150kResistor_SMD:R_0402_1005MetricR28
115kRResistor_SMD:R_0402_1005MetricR40
1180kRResistor_SMD:R_0603_1608MetricR34
118650battery-holder-keystone:SMD-1048-dual-18650B1
11mRResistor_SMD:R_1206_3216MetricR1
11uHInductor_SMD:L_Bourns_SRP7028A_7.3x6.6mmL2
12.2uHInductor_SMD:L_Taiyo-Yuden_MD-4040L1
1220kRResistor_SMD:R_0402_1005MetricR36
122kRResistor_SMD:R_0402_1005MetricR55
1300RResistor_SMD:R_1206_3216MetricR7
1390kRResistor_SMD:R_0603_1608MetricR117
139kRResistor_SMD:R_0402_1005MetricR16
14.7uFCapacitor_SMD:C_0402_1005MetricC32
14.7uF HVCapacitor_SMD:C_0603_1608MetricC102
14.7uHInductor_SMD:L_1008_2520MetricL3
14.7uHInductor_SMD:L_Bourns_SRP7028A_7.3x6.6mmL4
1470pFResistor_SMD:R_0402_1005MetricC61
147kRResistor_SMD:R_0603_1608MetricR32
147nF HVCapacitor_SMD:C_0603_1608MetricC19
1680pFCapacitor_SMD:C_0603_1608MetricC33
174HC595Package_SO:SOIC-16_3.9x9.9mm_P1.27mmU11
1750kRResistor_SMD:R_0603_1608MetricR39
1AO3400APackage_TO_SOT_SMD:SOT-23Q17
1B5819WDiode_SMD:D_SOD-123D15
1BAV70Package_TO_SOT_SMD:SOT-23D4
1BQ24715Package_DFN_QFN:QFN-20-1EP_3.5x3.5mm_P0.5mm_EP2x2mm_ThermalViasU3

The 324 most common of 351 parts.

Questions

How big is the Dc usv PCB?

It measures 140 × 100 mm and has 4 copper layers, 1.66 mm thick.

What parts does the Dc usv use?

351 parts, built around the 74HC595, AO4407A, MMBT3904 and AON7544. 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 Dc usv KiCad files?

From the TobleMiner/DC-UPS repository on GitHub, at the commit this page was made from: the board is dc-usv.kicad_pcb and its schematic backpanel/backpanel.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Dc usv design in my own project?

Its repository publishes it under the CERN-OHL-P-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 4 layers82.5 × 65.5 mmOpenHomeSwitch, the printed circuit board in 3D

    OpenHomeSwitch

    TobleMiner/OpenHomelabSwitch

    297 parts11
  • 2 layers121 × 75.5 mmJlctest, the printed circuit board in 3D

    Jlctest

    cjheath/jlcbasic

    JLC Basic parts library for Kicad fetched and converted from EasyEDA

    46 parts5
  • 4 layers194 × 40 mmRobobouoy V4.0, the printed circuit board in 3D

    Robobouoy V4.0

    pnn69/NicE-Buoy

    This device sails autonome to a given location.

    258 parts
  • 4 layers103 × 36 mmRobobuoy Sub v3 0, the printed circuit board in 3D

    Robobuoy Sub v3 0

    pnn69/Kicad_PCB

    Schematics and PCB's designed with Kicad

    160 parts
  • 2 layers166 × 70 mmPrototype, the printed circuit board in 3D

    Prototype

    SteveCooling/MidiKeys

    Will be a complete board with decoders for multiplexed sampling of analog sources and up to 61-key keybeds

    75 parts8MIT
  • 2 layers305 × 100.3 mmSixtyfive, the printed circuit board in 3D

    Sixtyfive

    nicoles/sixtyfive

    a keyboard for me to type upon

    179 partsMIT
  • 4 layers88 × 30 mmOled nametag, the printed circuit board in 3D

    Oled nametag

    TobleMiner/oled-nametag

    A ESP32-based OLED nametag

    123 parts54CERN-OHL-P-2.0