A CARD IN A SPARE PCIE SLOT PRESSES YOUR PC POWER BUTTON FOR YOU, FROM ANYWHERE

A PCIe x1 card that presses your desktop's power button from Home Assistant, powered by the slot's standby rail so it works with the machine switched off.

by scavenrage

FULL CAD BOM FIRMWARE DOCS

AutomationOpen-hardware

Built withESP32Raspberry Pi

difficulty
●●●●○
time
a weekend
license
CERN-OHL-P-2.0
repo
repo ACTIVE88 stars
1
Jump to section

COMPAREE VERDICT

This is an open hardware answer to remote PC power that does not involve a Raspberry Pi hanging off a USB port or a relay bodged onto the motherboard. It takes 3.3 volts from the PCIe slot's auxiliary rail (pin B10), which stays live in standby, so the card is awake when the PC is off and needs no extra cable. Two MOSFETs pulse the motherboard's power and reset headers for 300 milliseconds, exactly like a finger on the case button, and a sense pin on the switched 3.3 volt rail reports whether the machine is actually running, so Home Assistant knows the real state instead of guessing. The passthrough headers mean the physical buttons keep working. The catch is that this is an SMD build: the README gives a short 10-step assembly list, the BIOS settings you need (ErP off, Power on by PCI-E on) and a checklist to verify before the first flash, but no photo walkthrough — you still have to match PWR_SW and RESET to your motherboard's front panel header. If your board does not use a standard front panel connector, you are on your own. Gerbers, BOM and pre-built firmware binaries are all in the repo, and a standard HASL board works, with ENIG gold fingers recommended for durability. If you can solder an ESP32 module and SMD parts and have a use case that justifies a weekend, this is a neat, well-documented way to do it.

GOOD TO KNOW

  • —Full schematic, PCB layout and bill of materials published on OSHWLab under CERN-OHL-P-2.0, EasyEDA source files included.
  • —Zigbee firmware is in the repository, built for the ESP32-H2-MINI-1-N4 module.
  • —Short 10-step assembly list, required BIOS settings and a pre-flash checklist are in the README; no photo-by-photo guide, so you match the front panel pins to your motherboard yourself.
  • —Licence is CERN-OHL-P-2.0, a permissive open hardware licence: commercial use and closed modifications are allowed, as long as the licence notice and attribution are kept.
  • —Two-layer, 1.6 mm board; ENIG recommended for durable gold fingers, HASL works fine electrically.
  • —No case or enclosure files — the card sits bare in the slot.

Parts to buy

7 items

From our check of the build. Exact quantities and part numbers are in the creator’s BOM.

  • PCB (ENIG or HASL, 1.6 mm)Find
  • ESP32-H2-MINI-1-N4 moduleFind
  • Two N-channel SOT-23 MOSFETsFind
  • Passives and an LEDFind
  • Right-angle headers for H1/H3Find
  • UART header for the first flashFind
  • Cables to the front panel header and case buttonsFind

BUILDS OF THE WEEK

Five open-source builds worth your weekend, every week.

Checked like this one: what’s really in the repo, what it costs, how hard it is. One email, unsubscribe anytime.

Can I build this?

Printnothing required — this is a PCB project
Buythe PCB (ENIG or HASL, 1.6 mm), ESP32-H2-MINI-1-N4 module, two N-channel SOT-23 MOSFETs, passives and an LED per the BOM, right-angle headers for H1/H3, a UART header for the first flash, and cables to the front panel header and case buttons
Toolssoldering iron plus hot air or reflow for the SMD parts, a USB-UART adapter and esptool for the first flash, a multimeter to check sense polarity, EasyEDA Pro (or the OSHWLab web view) for the source files, and a Zigbee coordinator with Home Assistant ZHA
Skillsintermediate PCB assembly, reading schematics to identify motherboard headers, and Zigbee device pairing — this is not a kit with instructions
Timea weekend: half a day for PCB assembly, an hour to identify the correct front panel pins on your motherboard, and the rest for firmware flashing and Zigbee pairing
Cost$$ — a two-layer PCB, one ESP32-H2-MINI-1-N4 module and a handful of SMD parts; the author publishes no price, so check current prices for the BOM on OSHWLab
SafetyYou are working inside a mains-powered PC. Power down and unplug before installing. The card itself is low voltage (3.3V), but the machine it controls is not.

This build involves mains voltage — for adults comfortable with electrical work only.

Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.

More builds like this

All projects

Gallery

github.com
github.com
github.com

Start here

Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.

  1. 1.Review the schematic and BOM, then grab the ready Gerbers from hardware/Gerber_PCB.zip in the repo (Interactive schematic, PCB view and BOM — read both before ordering parts.)
  2. 2.Order the PCB (1.6 mm, ENIG or HASL) from any PCB fab using the Gerbers in hardware/Gerber_PCB.zip(Specify 1.6 mm thickness. ENIG gives more durable gold fingers, but the author says HASL works equally well electrically; if you choose ENIG, remove the solder mask over the finger area on both layers.)
  3. 3.Source the ESP32-H2-MINI-1-N4 module and passives from the BOM(Everything you need is listed in hardware/BOM.xlsx and on OSHWLab.)
  4. 4.Flash the Zigbee firmware through the U9 UART header after assembly (Use the pre-built files in binaries/ with esptool.py, or build with ESP-IDF; later updates can go over the air via Zigbee OTA.)
  5. 5.Identify the PWR_SW and RESET pins on your motherboard's front panel header(Consult your motherboard manual — not every board labels them the same way, and some use non-standard pinouts.)
  6. 6.Wire the card's output headers to the motherboard and the case buttons in parallel(The passthrough headers mean the physical buttons keep working; test them before you close the case.)
  7. 7.Pair the card with your Zigbee coordinator and add it to Home Assistant(Set ErP Ready to Disabled and Power on by PCI-E to Enabled in the BIOS first. It should then appear as a switch with power state feedback; if it does not, check the sense pin is reading the switched 3.3V rail.)

KNOWN ISSUES

  • Not every motherboard breaks out PWR_SW and RESET to a standard header — some laptops and SFF builds wire the button directly to the board, and this card will not work.
  • The README targets motherboards with a standard front panel connector (JFP1 or equivalent). If your case or board uses a proprietary connector, you will need to make an adapter.
  • The firmware is built for the ESP32-H2-MINI-1-N4 module specifically — if you substitute a different ESP32 variant, you will need to recompile and possibly rewrite the Zigbee stack.
  • Order at 1.6 mm thickness. ENIG gold fingers are recommended for durability, but a standard HASL board works electrically — if you choose ENIG, remove the solder mask over the finger area on both layers.
  • The sense pin reads the slot's switched 3.3V rail to detect whether the PC is on. The firmware assumes HIGH means on — check the polarity with a multimeter before the first flash and flip one comparison in pc_sense.c if your board reads the other way.
  • The assembly list is short — use the interactive OSHWLab schematic/PCB view to check component placement before you reflow.

Does this work with laptops?

No. Laptops do not expose a PCIe slot you can plug a card into, and they do not break out the power button to a header you can intercept.

Can I use this to wake a PC from sleep, or does it only work from full shutdown?

The README documents power-on from full shutdown (S5): the card is powered from the 3.3Vaux rail, which stays live in standby. It simulates a power-button press, so from sleep it behaves like your case button does on that board.

Why Zigbee instead of WiFi?

The ESP32-H2 deliberately has no WiFi radio — only Bluetooth LE and 802.15.4. That makes it a pure Zigbee device that cannot be reached from the internet unless you expose Home Assistant itself, which is a different security boundary.

What happens if the card loses power while the PC is running?

Nothing. The card only switches the power button header; it does not interrupt the PC's own power rails. If the standby rail fails, the card goes dark but the PC keeps running.

Can I reset the PC remotely, or is it power-only?

The card has a separate RESET output that pulses the motherboard's reset header for 300 ms. In Home Assistant it shows up as a switch that turns itself back off after the pulse.

Community builds

No community builds yet — be the first, we feature the best ones.

Discussion1

FROM THE COMPAREE TEAM

The sense pin on the switched 3.3V rail is the detail that makes this more than a toy — it reports whether the PC is actually running instead of assuming the last command worked. Have you built a remote power project that guessed wrong?

CompareeTEAM2mo agoedited

Practical notes from our verification: the repository contains the Zigbee firmware, prebuilt binaries you can flash with esptool, Gerbers, a schematic and a BOM, with an interactive schematic, PCB view and BOM on OSHWLab. The README has a ten-step assembly sequence and a 'Before you build' checklist, and both are worth reading first. Two settings trip people up: in the BIOS you need ErP Ready disabled and Power on by PCI-E enabled, otherwise the card has no standby power to work with. For the PCB, order 1.6 mm thickness; the author recommends ENIG for durable gold fingers but says HASL works equally well electrically. Before the first flash, the README asks you to confirm the sense polarity with a multimeter — the firmware assumes high means the PC is on, and if your board reads the other way you flip one comparison in the code. The passthrough headers keep the case's own power and reset buttons working alongside the card. Correction (4 October 2026): we re-checked this page line by line against the project's own repository, documentation and videos, and fixed errors in earlier versions.

scavenrage

scavenrage published this as an open hardware project under CERN-OHL-P-2.0 to get full remote power management of a desktop PC as part of a voice-controlled smart home, with no external relay module, no extra power cable and no visible hack. The design uses the PCIe slot's standby rail so it needs no extra cable, and the sense pin gives real power state feedback instead of guessing.

GitHub

Star the project on GitHub

DISCLAIMER

  • Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
  • Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
  • Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.