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

difficulty
●●●●
time
a weekend
license
CERN-OHL-P-2.0
repo
repo ACTIVE67 stars

WHAT YOU’LL NEED

  • 3D printer + filamentprintable parts — files are in the repo
  • Electronic partsfull list with part numbers in the repo BOM
  • Dev board / microcontrollerruns the project firmware

Partner

Run your scrapers in the cloudThis build needs data collection that runs 24/7. Apify's free plan includes $5 in credits every month — no card needed.Try Apify free
1

COMPAREE VERDICT

This is one of the few open hardware answers to remote PC power that does not involve a Raspberry Pi hanging off a USB port or a relay bodged onto the motherboard. The design is clever: 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 expert build. There is no assembly guide, no photos of the wiring to the front panel header, and no first-boot checklist — you read the schematic, work out which pins are PWR_SW and RESET on your motherboard, and hope you did not reverse them. If your case uses a non-standard header or your motherboard does not break out those pins, you are on your own. You also need a free PCIe slot and a board that supports edge plating, which adds cost and lead time. But if you have the board layout experience to read a two-layer schematic and a use case that justifies a weekend, this is the only design I have seen that does it properly without enterprise hardware.

NOT IN THE REPO

  • 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.
  • No assembly guide or first-boot walkthrough — you are expected to read the schematic and work out the front panel wiring yourself.
  • Licence is CERN-OHL-P-2.0, which permits commercial use but requires attribution and sharing modifications under the same licence.
  • Two-layer board, gold fingers recommended for the PCIe edge connector; order from any fab that supports edge plating.
  • No case or enclosure files — the card sits bare in the slot.

Can I build this?

Printnothing required — this is a PCB project
BuyPCB with gold-plated edge fingers from JLCPCB or PCBWay, ESP32-H2-MINI-1-N4 module, two N-channel MOSFETs, passives per the BOM on OSHWLab, and dupont or JST connectors for the front panel headers
Toolssoldering iron, multimeter to verify the standby rail is actually on pin B10, EasyEDA or KiCad to open the source files, and a Zigbee coordinator (Zigbee2MQTT or 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$$ — dominated by the PCB with edge plating (typically $20–40 for five boards) and the ESP32-H2 module ($4–6)
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.

A desktop 3D printer that prints in full colorPartner · Kickstarter
A desktop 3D printer that prints in full color

HeyGears G1: 10M+ colors and transparent parts in one print, plus UV printing on flat objects. Figures, parts and labels — no painting.

See how it prints

Gallery

https://github.com/scavenrage/PCIe-PC-Power-Control-ESP32-H2
https://github.com/scavenrage/PCIe-PC-Power-Control-ESP32-H2
https://github.com/scavenrage/PCIe-PC-Power-Control-ESP32-H2

Start here

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

  1. 1.Open the EasyEDA project on OSHWLab and export the Gerber files (The schematic and BOM are here too — read both before ordering parts.)
  2. 2.Order the PCB with gold-plated edge fingers from JLCPCB or PCBWay(Specify 1.6 mm thickness and ENIG (gold) finish for the edge connector; lead time is typically 5–7 days.)
  3. 3.Source the ESP32-H2-MINI-1-N4 module and passives from the BOM(The module is the expensive part; AliExpress or LCSC are the usual sources.)
  4. 4.Flash the Zigbee firmware to the ESP32-H2 before soldering it to the board (Use esptool.py or the Arduino IDE; once it is soldered down, you cannot easily reprogram it.)
  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(It should 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.
  • If your case uses a non-standard front panel connector (Dell and HP are notorious for this), you will need to make an adapter or replace the connector entirely.
  • 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.
  • Gold-plated edge fingers are not a standard PCB option at every fab; if you order without them, the card may not make reliable contact in the slot.
  • The sense pin reads the switched 3.3V rail to detect whether the PC is on, but not every motherboard provides that rail on the PCIe slot — verify yours does before you build.
  • There is no schematic annotation or assembly guide — you are expected to cross-reference the PCB layout with the BOM and work out component placement yourself.

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?

It works from both. The card pulses the power button header, which wakes the machine from sleep (S3) or powers it on from shutdown (S5), depending on the BIOS settings.

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. Whether that does anything depends on your BIOS — some boards disable the reset button entirely in software.

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?

CompareeTEAM19d ago

Practical notes from our verification: the repository contains the Zigbee firmware and links to the OSHWLab project where the schematic, PCB and BOM live, but there is no assembly guide, no photos of the completed wiring to the motherboard header, and no first-boot checklist. The single biggest mistake will be ordering the PCB without specifying gold-plated edge fingers — standard HASL finish will not make reliable contact in the slot, and you will spend a weekend debugging phantom disconnects. The second is wiring the front panel header backwards; the passthrough design means the case buttons will still work even if you reverse PWR_SW and RESET, but Home Assistant will think the machine is off when it is on. Test the sense pin with a multimeter before you close the case.

scavenrage

scavenrage published this as an open hardware project under CERN-OHL-P-2.0 after building it to solve the problem of remote power control without enterprise hardware or a Raspberry Pi bodged onto the motherboard. 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.