Skip to the content
PCBKitNew board
4 layers70 × 25 mmFailDeadly, the printed circuit board in 3D

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

10

README

README.md

FailDeadly logo

FailDeadly

Fail secure. Fail deadly.
A tamper-responsive USB root-of-trust prototype for servers without a suitable hardware trust anchor.

Hardware license: CERN-OHL-S-2.0 Firmware license: GPL-2.0 Project status: active development

Faildedly PCB render

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.

mermaid
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.

ResourceDescription
Schematic and PCBEditable KiCad project and component libraries
Fabrication outputsGerbers and drill data for revision 001
Schematic PDFThree-page rendered schematic
Interactive BOMBrowser-based board inspection
Front / back rendersBoard 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

text
.                                                                
├── 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

AreaStatusNotes
Hardware revision 001Design completeFour-layer layout is DRC-clean; KiCad sources and manufacturing outputs are available
Board validationNot yet documentedElectrical and destructive tamper-response test still in verification stage
Firmware platformIn progressUSB, RTOS/MPU task isolation, logging, parser and hardware CRC foundation exist
Cryptographic operationsIn progressMinimal crypto profile and volatile storage exist; command handlers remain incomplete
Host toolingPlannedProvisioning, lifecycle management, and recovery tooling
Vault / attestation integrationPlannedChallenge-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:

  1. Secrets are volatile. There is no encrypted blob in ordinary MCU flash waiting for an offline attack.
  2. Tamper response is hardware-owned. Firmware may report the event, but cannot veto the latched power cut.
  3. Power loss is not automatically tamper. Stored energy keeps the volatile state alive through expected outages.
  4. 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.
  5. 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:

See the license file within each component directory before reuse or redistribution.

Parts

101
QtyValueFootprintReferences
15100nfCapacitor_SMD:C_0402_1005MetricC3, C5, C8, C12, C13, C19, C21, C22, C24, C30, C32, C36, C38, C42, C44
9100kResistor_SMD:R_0402_1005MetricR3, R5, R9, R10, R12, R15, R19, R22, R29
910nfCapacitor_SMD:C_0402_1005MetricC2, C14, C16, C20, C23, C26, C33, C34, C41
91ufCapacitor_SMD:C_0402_1005MetricC9, C11, C15, C17, C25, C27, C35, C37, C43
60Resistor_SMD:R_0402_1005MetricR17, R18, R20, R21, R23, R33
510ufCapacitor_SMD:C_0603_1608MetricC1, C4, C10, C39, C40
310kResistor_SMD:R_0402_1005MetricR2, R4, R24
3470kResistor_SMD:R_0402_1005MetricR25, R28, R31
3IRLML6401Package_TO_SOT_SMD:SOT-23Q4, Q5, Q6
218pfCapacitor_SMD:C_0402_1005MetricC28, C31
21MResistor_SMD:R_0402_1005MetricR13, R30
222Resistor_SMD:R_0402_1005MetricR6, R7
2220Resistor_SMD:R_0402_1005MetricR8, R16
2AH180-WG-7Library:AH180WG7S1, S2
2SN74LVC1G14DBVPackage_TO_SOT_SMD:SOT-23-5U5, U7
11kResistor_SMD:R_0402_1005MetricR32
12.2uFCapacitor_SMD:C_0603_1608MetricC18
14.7uFCapacitor_SMD:C_0603_1608MetricC45
147Resistor_SMD:R_0603_1608MetricR11
16.2kResistor_SMD:R_0402_1005MetricR27
1AP2112K-3.3Package_TO_SOT_SMD:SOT-23-5U2
1BAT54APackage_TO_SOT_SMD:SOT-23D2
1Conn_02x04_Odd_EvenConnector_PinHeader_2.54mm:PinHeader_2x04_P2.54mm_Vertical_SMDJ4
1EXTERNAL_RESETConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ3
1GNDTestPoint:TestPoint_Pad_D2.5mmTP2
1HALL1TestPoint:TestPoint_Pad_D1.5mmTP5
1HALL2TestPoint:TestPoint_Pad_D1.5mmTP6
1KLS1-180B-WLibrary:KLS1180BWJ1
1KX-9A 25MhzLibrary:KX9AY1
1LED_REDLED_SMD:LED_0805_2012MetricD1
1LTV-817SPackage_DIP:SMDIP-4_W9.53mmU3
1MCP121T-270E_TTLibrary:SOT95P237X112-3NU6
1MT9700Library:SOT95P280X135-5NIC1
1PWR_DOWNTestPoint:TestPoint_Pad_D1.5mmTP7
1RST_LATCH_OUTTestPoint:TestPoint_Pad_D1.5mmTP4
1SN74LVC1G17DBVRE4Library:SOT95P280X145-5NU8
1SN74LVC2G02DCURLibrary:SOP50P310X90-8NIC2
1STM32F401CCUxPackage_DFN_QFN:QFN-48-1EP_7x7mm_P0.5mm_EP5.6x5.6mmU4
1USBLC6-2P6Package_TO_SOT_SMD:SOT-666U1
1USB_SENSETestPoint:TestPoint_Pad_D1.5mmTP3
1VBUSTestPoint:TestPoint_Pad_D1.5mmTP1
1ionister_connConnector_JST:JST_XH_B3B-XH-AM_1x03_P2.50mm_VerticalJ2

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

  • 2 layers175 × 75 mmCarte Alim, the printed circuit board in 3D

    Carte Alim

    evolutek/carte-alim

    149 parts
  • 4 layers100 × 90 mmRegen Clamp, the printed circuit board in 3D

    Regen Clamp

    nanshenwei/CAPSTONE_ARM

    repair a CAPSTONE? robot arm

    125 partsMIT
  • 4 layers90 × 80 mmGlider, the printed circuit board in 3D

    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 mmIoboard, the printed circuit board in 3D

    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 mmIoboard, the printed circuit board in 3D

    Ioboard

    novvoo/sitina1

    sitina1

    212 parts2MIT
  • 4 layers69.6 × 29.4 mmSpartan6 board, the printed circuit board in 3D

    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