

FailDeadly
Fail Secure. Fail Deadly.
- Size
- 70 × 25 mm
- Copper layers
- 4
- Thickness
- 1.57 mm
- Parts
- 101
- Nets
- 73
- Pads
- 308
- Tracks, vias
- 422, 275
- Pours
- 20
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 21 Jul 2026
- Updated
- 4 Sep 2026
Overview
FailDeadly is an open-source printed circuit board by yvoronkin, from the yvoronkin/FailDeadly repository on GitHub. It is a 4-layer board of 70 × 25 mm with 101 parts on 73 nets, routed with 422 tracks and 275 vias.
It is built around the SN74LVC1G17DBVRE4, SN74LVC1G14DBV and AP2112K-3.3, with the LTV-817S, MT9700 and SN74LVC2G02DCUR among its other parts. Its parts include 42 capacitors, 30 resistors, 10 ICs, 4 connectors and 3 transistors. It belongs with the computers and single-board computers boards and the STM32 boards of this library.
Main components
10SN74LVC1G17DBVRE4
SOT-23-5-40℃~+125℃ 1 1 1.65V~5.5V 10uA 32mA 32mA 4.6ns@3.3V,15pF 74LVC Power-off isolation、Level shifting Schmitt trigger Unidirectional SOT-23-5 Buffers, Drivers, Receivers, Transceivers ROHSTexas InstrumentsBuffers, Drivers, Receivers, TransceiversSN74LVC1G14DBV
SOT-23-5-40℃~+85℃ 1 1 1.16V~3.33V 1.65V~5.5V 10uA 2.3V 32mA 32mA 390mV~1.87V 550mV 6.5ns@2.5V,50pF 74LVC Schmitt trigger 电源关断保护、噪声抑制功能 SOT-23-5 Inverters ROHSTexas InstrumentsInvertersAP2112K-3.3
SOT253.3V 600mA CMOS Low Dropout Linear Regulator with EnableDiodes IncorporatedUncategorisedLTV-817S
SMD-4P-55℃~+110℃ 1 1.2V 100mV@20mA,1mA 200mW 35V 3us 4us 50% 50mA 50mA 5kV 600% 6V DC Phototransistor SMD-4P Transistor, Photovoltaic Output Optoisolators ROHSLite-OnTransistor, Photovoltaic Output OptoisolatorsMT9700
SOT-23-5-40℃~+85℃ 1 2.4V~5.5V 2A 80mΩ Active High High Side Switch Short-Circuit Protection(SCP)、Overcurrent Protection(OCP)、Over Temperature Protection SOT-23-5 Power Distribution Switches ROHS西安航天民芯Power Distribution SwitchesSN74LVC2G02DCUR
VSSOP-8-0.5mm-40℃~+125℃ 1.2V、1.9V、2.3V、2.4V、3.8V 1.65V~5.5V 1.7V~2V 10uA 2 2 32mA 32mA 4.4ns@5V,50pF 700mV~800mV 74LVC Series 750mV Local shutdown mode NOR Gate VSSOP-8-0.5mm Logic Gates ROHSTexas InstrumentsLogic GatesUSBLC6-2P6
SOT-666-6-40℃~+125℃ 150nA 17V 2 3.5pF 5.25V 5A@8/20us 6V ESD IEC 61000-4-2 Unidirectional SOT-666-6 ESD and Surge Protection (TVS/ESD) ROHSSTMicroelectronicsESD And Surge Protection (TVS/ESD)IRLML6401
SOT-23-55℃~+150℃ 1 P-Channel 1.3W 125pF 12V 15nC@5V 180pF 4.3A 830pF 85mΩ@1.8V 950mV P-Channel SOT-23 MOSFETs ROHSKEXINMOSFETsAH180-WG-7-P
SC-59-40℃~+85℃ 2.5V~5.5V SC-59 Hall Switches ROHSDiodes IncorporatedHall SwitchesBAT54A
SOT-231 Pair Common Anode 200mA 2uA@25V 30V 600mA 800mV@100mA SOT-23 Schottky Diodes ROHSNexperiaSchottky Diodes
README
README.md
FailDeadly
Fail secure. Fail deadly.
A tamper-responsive USB root-of-trust prototype for servers without a suitable hardware trust anchor.

What is FailDeadly?
FailDeadly is an open hardware security device designed to make selected server secrets physically ephemeral. It keeps key material in MCU SRAM and monitors the server enclosure with Hall-effect sensors. When the expected magnetic field changes, a hardware-controlled path first provides the device with a short window to signal the host, then removes power from the MCU. Once SRAM loses power, the secret is gone.
The project began as a practical response to older servers where TPM 2.0 was unavailable. It is not intended to emulate every TPM feature. Instead, it explores a narrower security property: tying access to a secret to the machine's continued physical integrity.
[!WARNING] FailDeadly deliberately values confidentiality over availability. Tampering, sensor failure, power-system failure, or a false positive may permanently destroy volatile key material. The project is experimental, has not been independently audited, and must not be treated as production-ready security hardware, yet.
Security model
The central design rule is that firmware must not be able to cancel the final tamper response.
flowchart TD
A["Lid moves relative to magnets"] --> B["Dual Hall sensors change state"]
B --> C["Discrete logic latches the tamper event"]
C --> D["Short host notification / reset window"]
C --> E["MCU power is physically disconnected"]
E --> F["Volatile secret state disappears"]The supercapacitor is there to preserve SRAM during ordinary power loss. It does not defeat the tamper path: the power-isolation circuit disconnects the MCU from both USB power and stored energy after the response delay.
Intended protections
- Detect opening or displacement of a monitored server lid.
- Prevent key material from remaining recoverable in non-volatile MCU storage.
- Make the terminal power-cut decision in discrete hardware rather than mutable firmware.
- Allow the host to react before key destruction, using USB or an isolated reset output.
- Survive routine power outages without automatically losing the volatile trust state.
Explicit non-goals
- Availability under tamper, component failure, or sensor misalignment.
- Resistance to invasive semiconductor attacks, decapsulation, or advanced fault injection.
- Protecting plaintext already exposed to a compromised host during an authorized operation.
- Replacing secure boot, measured boot, disk encryption, or a complete remote-attestation protocol by itself.
- Claiming production readiness or independent security certification.
Hardware architecture
The current board is a four-layer USB device built around an STM32F401CCU6. The design includes:
- two AH180-WG-7 Hall-effect sensors for enclosure monitoring;
- a discrete latch and power-control path that remains independent of MCU decisions;
- an XLC-0820 4 V / 30 F supercapacitor for SRAM retention during power outages;
- a USB Type-A interface with ESD protection and current limiting;
- a galvanically isolated external host-reset output (optional).
The complete KiCad sources, fabrication outputs, schematic PDF, and interactive BOM are committed to this repository.
| Resource | Description |
|---|---|
| Schematic and PCB | Editable KiCad project and component libraries |
| Fabrication outputs | Gerbers and drill data for revision 001 |
| Schematic PDF | Three-page rendered schematic |
| Interactive BOM | Browser-based board inspection |
| Front / back renders | Board overview |
Firmware architecture
The firmware is intentionally structured as a security boundary rather than a single privileged application:
- FreeRTOS MPU port: restricted tasks run unprivileged and receive explicit access to memory regions and kernel objects.
- Static allocation: RTOS tasks and communication objects are statically allocated; dynamic allocation is disabled.
- Privileged services: access to hardware CRC and other facilities is mediated by dedicated tasks.
- Bounded USB protocol: USB CDC input is processed by a length-bounded, timeout-aware framed parser with CRC-32 validation.
- Composite USB foundation: CDC and HID interfaces are configured for command transport and host-side emergency actions.
- Minimal crypto surface: TF-PSA-Crypto/mbedTLS is built with a reduced profile, currently targeting SHA-256 and secp256r1 ECDSA.
- Boot-time zeroization: the volatile crypto region is explicitly cleared during early startup.
The crypto command API is present, but key generation/import and sign/verify/encrypt/decrtypt handlers are still under development. This distinction matters: the repository currently demonstrates the isolation and communication architecture, not a finished cryptographic product.
Repository layout
.
├── hardware/ KiCad sources, local libraries, and fabrication files
├── firmware/ STM32F401 firmware and PlatformIO configuration
├── docs/ Rendered schematic and interactive BOM
└── staff/ Project logo, board renders, and source artwork Build the firmware
Requirments:
- PlatformIO Core
- An ARM GCC toolchain managed by PlatformIO
- ST-Link and OpenOCD for on-target debugging and/or upload
Clone the repository with its cryptographic submodule, then build:
git clone --recurse-submodules https://github.com/yvoronkin/FailDeadly.git
cd FailDeadly/firmware
pio run
Upload through ST-Link and open the serial monitor:
pio run --target upload
pio device monitor
The default PlatformIO environment uses the custom MPU-aware linker script at firmware/linker/STM32F401CCUx_MPU.ld.
Project status
| Area | Status | Notes |
|---|---|---|
| Hardware revision 001 | Design complete | Four-layer layout is DRC-clean; KiCad sources and manufacturing outputs are available |
| Board validation | Not yet documented | Electrical and destructive tamper-response test still in verification stage |
| Firmware platform | In progress | USB, RTOS/MPU task isolation, logging, parser and hardware CRC foundation exist |
| Cryptographic operations | In progress | Minimal crypto profile and volatile storage exist; command handlers remain incomplete |
| Host tooling | Planned | Provisioning, lifecycle management, and recovery tooling |
| Vault / attestation integration | Planned | Challenge-response login and infrastructure policy integration |
Near-term work is tracked in the repository history and will focus on hardware bring-up, repeatable tamper timing measurements, completion of the crypto service, host tooling, and tests around trust-boundaty failures.
Design rationale
FailDeadly is intentionally opinionated:
- Secrets are volatile. There is no encrypted blob in ordinary MCU flash waiting for an offline attack.
- Tamper response is hardware-owned. Firmware may report the event, but cannot veto the latched power cut.
- Power loss is not automatically tamper. Stored energy keeps the volatile state alive through expected outages.
- Compromise is contained. MPU regions, unprivileged tasks, explicit object grants, bounded messages, and a reduced crypto configuration limit the useful blast radius of a firmware bug.
- Failure is visible and testable. The board exposes relevant signals as test points and keeps editable design sources alongside manufacturing artifacts.
These choices do not make the system unbreakable. They make its assumptions, failure mode, and trust boundaries concrete enough to analyze and test.
Use cases under exploration.
- a physical-presence factor in server remote attestation;
- volatile custody of a LUKS unlock key or wrapping key;
- challenge signing for a Vault authentication method;
- forced host reset or emergency SysRq action following enclosure tamper;
- research and education around tamper response, embedded isolation, and fail-secure design.
License
This repository contains multiple independently licensed components:
- hardware design files: CERN Open Hardware License Version 2 - Strongly Reciprocal
- original firmware: GNU General Public License Version 2;
- third-party libraries and supplied component models: their respective upstream licenses.
See the license file within each component directory before reuse or redistribution.
Parts
101| Qty | Value | Footprint | References |
|---|---|---|---|
| 15 | 100nf | Capacitor_SMD:C_0402_1005Metric | C3, C5, C8, C12, C13, C19, C21, C22, C24, C30, C32, C36, C38, C42, C44 |
| 9 | 100k | Resistor_SMD:R_0402_1005Metric | R3, R5, R9, R10, R12, R15, R19, R22, R29 |
| 9 | 10nf | Capacitor_SMD:C_0402_1005Metric | C2, C14, C16, C20, C23, C26, C33, C34, C41 |
| 9 | 1uf | Capacitor_SMD:C_0402_1005Metric | C9, C11, C15, C17, C25, C27, C35, C37, C43 |
| 6 | 0 | Resistor_SMD:R_0402_1005Metric | R17, R18, R20, R21, R23, R33 |
| 5 | 10uf | Capacitor_SMD:C_0603_1608Metric | C1, C4, C10, C39, C40 |
| 3 | 10k | Resistor_SMD:R_0402_1005Metric | R2, R4, R24 |
| 3 | 470k | Resistor_SMD:R_0402_1005Metric | R25, R28, R31 |
| 3 | IRLML6401 | Package_TO_SOT_SMD:SOT-23 | Q4, Q5, Q6 |
| 2 | 18pf | Capacitor_SMD:C_0402_1005Metric | C28, C31 |
| 2 | 1M | Resistor_SMD:R_0402_1005Metric | R13, R30 |
| 2 | 22 | Resistor_SMD:R_0402_1005Metric | R6, R7 |
| 2 | 220 | Resistor_SMD:R_0402_1005Metric | R8, R16 |
| 2 | AH180-WG-7 | Library:AH180WG7 | S1, S2 |
| 2 | SN74LVC1G14DBV | Package_TO_SOT_SMD:SOT-23-5 | U5, U7 |
| 1 | 1k | Resistor_SMD:R_0402_1005Metric | R32 |
| 1 | 2.2uF | Capacitor_SMD:C_0603_1608Metric | C18 |
| 1 | 4.7uF | Capacitor_SMD:C_0603_1608Metric | C45 |
| 1 | 47 | Resistor_SMD:R_0603_1608Metric | R11 |
| 1 | 6.2k | Resistor_SMD:R_0402_1005Metric | R27 |
| 1 | AP2112K-3.3 | Package_TO_SOT_SMD:SOT-23-5 | U2 |
| 1 | BAT54A | Package_TO_SOT_SMD:SOT-23 | D2 |
| 1 | Conn_02x04_Odd_Even | Connector_PinHeader_2.54mm:PinHeader_2x04_P2.54mm_Vertical_SMD | J4 |
| 1 | EXTERNAL_RESET | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J3 |
| 1 | GND | TestPoint:TestPoint_Pad_D2.5mm | TP2 |
| 1 | HALL1 | TestPoint:TestPoint_Pad_D1.5mm | TP5 |
| 1 | HALL2 | TestPoint:TestPoint_Pad_D1.5mm | TP6 |
| 1 | KLS1-180B-W | Library:KLS1180BW | J1 |
| 1 | KX-9A 25Mhz | Library:KX9A | Y1 |
| 1 | LED_RED | LED_SMD:LED_0805_2012Metric | D1 |
| 1 | LTV-817S | Package_DIP:SMDIP-4_W9.53mm | U3 |
| 1 | MCP121T-270E_TT | Library:SOT95P237X112-3N | U6 |
| 1 | MT9700 | Library:SOT95P280X135-5N | IC1 |
| 1 | PWR_DOWN | TestPoint:TestPoint_Pad_D1.5mm | TP7 |
| 1 | RST_LATCH_OUT | TestPoint:TestPoint_Pad_D1.5mm | TP4 |
| 1 | SN74LVC1G17DBVRE4 | Library:SOT95P280X145-5N | U8 |
| 1 | SN74LVC2G02DCUR | Library:SOP50P310X90-8N | IC2 |
| 1 | STM32F401CCUx | Package_DFN_QFN:QFN-48-1EP_7x7mm_P0.5mm_EP5.6x5.6mm | U4 |
| 1 | USBLC6-2P6 | Package_TO_SOT_SMD:SOT-666 | U1 |
| 1 | USB_SENSE | TestPoint:TestPoint_Pad_D1.5mm | TP3 |
| 1 | VBUS | TestPoint:TestPoint_Pad_D1.5mm | TP1 |
| 1 | ionister_conn | Connector_JST:JST_XH_B3B-XH-AM_1x03_P2.50mm_Vertical | J2 |
Questions
How big is the FailDeadly PCB?
It measures 70 × 25 mm and has 4 copper layers, 1.57 mm thick.
What parts does the FailDeadly use?
101 parts, built around the SN74LVC1G17DBVRE4, SN74LVC1G14DBV, AP2112K-3.3 and LTV-817S. 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 FailDeadly KiCad files?
From the yvoronkin/FailDeadly repository on GitHub, at the commit this page was made from: the board is hardware/FailDeadly/FailDeadly.kicad_pcb and its schematic hardware/FailDeadly/FailDeadly.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the FailDeadly design in my own project?
Its repository states no licence, so its author keeps all rights: ask yvoronkin before reusing the design.
Similar boards
- 4 layers

- 2 layers175 × 75 mm

- 4 layers100 × 90 mm

- 4 layers90 × 80 mm

Glider
pdyxs/glider
Fork of zephray/glider (Modos Glider e-ink monitor) with a DP AUX polarity fix and a standalone GCC firmware build
379 partsCERN-OHL-S-2.0 - 4 layers71.6 × 73.2 mm

Ioboard
CameraNexus/sitina1
Open-source 35mm full-frame (36mm x 24mm) CCD mirror-less interchangable lens camera (MILC). The original goal of this project was to create a digital camera back to convert SLR cameras to DSLR cameras, but has since…
222 parts82MIT - 4 layers71.6 × 73.2 mm

- 4 layers69.6 × 29.4 mm

Spartan6 board
openconcepts-ar/accel2d
This project aims to provide a graphics server system based on hardware accelerated graphics, and a easy way to develop the graphics primitives.
169 parts1 - 4 layers59.1 × 52.1 mm
