Skip to the content
2 layers93.2 × 57.7 mmPrimercarrier, the printed circuit board in 3D

An FPGA based implementation to demonstrate side-channel attacks on modern cryptography algorithms such as AES, RSA, ML-KEM etc.

Size
93.2 × 57.7 mm
Copper layers
2
Thickness
1.6 mm
Parts
24
Nets
155
Pads
381
Tracks, vias
4,129, 140
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
6 Jun 2026
Updated
27 Oct 2026

Overview

Primercarrier is an open-source printed circuit board by Jameswill-Winsock, from the Jameswill-Winsock/Tempest repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 93.2 × 57.7 mm with 24 parts on 155 nets, routed with 4,129 tracks and 140 vias.

It is built around the XC6206P152MR. Its parts include 6 capacitors, 6 resistors, 6 connectors, 4 switches and 1 IC.

Main components

1

README

README.md

Tempest : Open Hardware EM Side-Channel Analysis Platform

Important:

if you are here looking for review, firmware, gerber and pcb have been updated. Step models have been added. Firmware is a fork of the SIPEED RV Debugger Plus, ported from the BL507 to the RP2040. All pcb files and gerbers have been uploaded for the carrier board for the primer. All pcbs are done.

latest readme for progress on the attack target available here.

Status

Early build. Built for Stardance @ Hack Club.

Current progress

Done:

  • Shrike-Lite ML-KEM accelerator is functionally complete (currently fighting Renesas place-and-route to get the final bitstream out).
  • Finished designing the Tang Primer 20K carrier board. image
image
  • Finished designing the H Field Probe image

In progress:

Demo video. Give me a while. Renesas Go Configure is quite the software, and the place-and-route tool keeps blowing up violently in my face.

Description

Tempest is an open hardware electromagnetic side-channel analysis platform built around a collection of custom-designed PCBs, analog front-end hardware, FPGA development boards, and open-source software for evaluating cryptographic implementations.

Or, in simpler English: Every chip leaks tiny electromagnetic signals while it's running. Those signals aren't supposed to contain useful information... but sometimes they do. Tempest tries to measure those leaks and figure out whether they reveal anything about the cryptographic algorithm running inside. The project is built around Shrike-Lite, my ML-KEM (Kyber) hardware accelerator running on a hilariously tiny Renesas SLG47910 FPGA. Shrike answers one question: "Can modern post-quantum cryptography fit on ridiculously small hardware?" Tempest answers the obvious follow-up: "Cool. Now how badly does it leak? trollface ". Rather than buying a commercial side-channel lab, the goal is to design as much of the measurement hardware as possible from scratch so anyone can build the same setup themselves.

Why EM instead of power analysis?

Power analysis is the classic approach. The problem is... it usually means taking a knife to your PCB. You know, cut traces, insert shunt resistors, resolder stuff. That's perfectly fine on a $2 dev board. I ain't sure as hell doing allat to a motherboard I actually want to keep using afterwards. EM analysis measures the exact same switching currents, except instead of touching the power rail, you simply hold a small magnetic loop probe near the chip and measure the field it radiates. It's completely non-invasive, portable, and lets me move between different targets without modifying the hardware.

Project Architecture

image

Tempest is really two projects that work together.

text
Shrike
(Resource-constrained ML-KEM accelerator)

            ↓

Produces real electromagnetic leakage

            ↓

Tempest
(Open hardware instrumentation platform)

            ↓

Measures leakage

            ↓

Correlation analysis

            ↓

Can we recover useful information?

The long-term hardware stack looks like this:

text
Target FPGA / TPM
        │
        ▼
Shielded EM Probe
        │
        ▼
Active Probe + LNA
        │
        ▼
Filter / Analog Front-End
        │
        ▼
Capture Hardware
        │
        ▼
Python Analysis Pipeline

Hardware Designed For This Project

HardwareStatus
Shrike-Lite ML-KEM AcceleratorComplete (bitstream generation pending)
Tang Primer 20K Carrier BoardComplete
Shielded PCB EM ProbeComplete
Probe Calibration BoardComplete

Roadmap

  • Finish Shrike-Lite bring-up.
  • Build and validate a passive EM probe.
  • Build a calibration board to characterize probe performance.
  • Validate the analog front-end on a deliberately leaky AES implementation before touching Kyber.
  • Build the trigger/synchronization pipeline.
  • Perform correlation EM analysis against Shrike-Lite.
  • Scale to the Tang Primer 20K as a larger TPM stand-in.
  • Eventually move to a real motherboard TPM once the entire workflow is validated.

Original Hardware Contributions

Unlike the initial revision of this project, Tempest now focuses on designing the measurement hardware itself rather than simply integrating commercial equipment. Current hardware work includes:

  • Tang Primer 20K carrier board
  • Shielded PCB EM probe
  • Probe calibration fixture

Bill of Materials

ItemEst. Price (USD)SourceWhy
Tang Nano 20k$40RobuMain FPGA for ADC, SDR, trigger generation, timing/synchronization, counters, buffering/FIFOs, and control logic
Tang Primer 20K Carrier PCB~$20Self-designedCarrier for the Primer module (I already own the core board)
Passive Probe PCB~$15Self-designedShielded PCB H-field probe, source IEC 61967-6
Probe Calibration PCB~$15Self-designedRepeatable EM reference source, source IEC 61967-6 Appendix A
SPF5189Z RF Low Noise Amplifier$15REE52To boost passive probe signal
SMA Connectors, RG178, Adapters, Attenuators$30–60Pasternack, Amphenol, Mini-CircuitsRF interconnects
PCB fabrication & assembly~$50JLCPCBManufacturing the custom boards

Grand total: approx 215$ (down from last times 400$ yipee) The oscilloscope, precision positioning stage, and laboratory power supply have been removed from the grant request. The initial revision of Tempest is designed to be developed using low-cost hardware and custom-designed PCBs, with higher-end laboratory equipment treated as optional future upgrades rather than project requirements. BOM Revision 2: The Tang Mega 138K, Thorlabs positioning equipment, and benchtop power supply have been removed due to cost. They have been replaced with lower-cost alternatives where necessary. A second, lower-cost FPGA is still required for SDR, ADC, high-speed deterministic logic, trigger generation, timing/synchronization, buffering, and real-time control, which cannot be reliably handled by the host computer or RTL-SDR alone. BOM Revision 3: More stuff removed, I have discovered that I can offload a lot more stuff to the FPGA like ADC and SDR onto it via a research paper and other stuff as well. Cost has been bought down. Final cost is around approx 230$.

Repository Layout

  • rtl: Shrike-Lite accelerator, Future hardware targets

  • hardware: KiCad projects, Carrier board, Probe board

  • analysis: Capture software, CPA/CEMA pipeline

  • docs: Research notes, Measurements, Design reviews

Why this matters

Most public EM side-channel work either targets toy AES implementations or uses lab-grade near-field scanning rigs that cost tens of thousands of dollars. There's a real gap in documented, reproducible, low-cost EM side-channel analysis against post-quantum crypto specifically; ML-KEM side-channel resistance is an active research area (and a pretty hot one too - there's a hell lot of researchers taking a crack at it) and having a from-scratch hardware+software stack to poke at it is worth more to me than a paper result I can't independently reproduce.

If it works, you'll be able to:

  • build the hardware,
  • reproduce the measurements,
  • attack real cryptographic implementations,
  • and improve your own hardware designs by seeing exactly where they leak.

Besides... The math behind modern cryptography is ridiculously strong. Turns out the easiest way to break it is often just listening to the chip while it does the math. It's cool, isn't it? The math can't be cracked, but we sure as hell can crack the data anyways because of bad engineering decisions. :)

License

GNU GPLv3

Parts

24
QtyValueFootprintReferences
610KResistor_SMD:R_0402_1005MetricR1, R2, R3, R4, R5, R6
4100nFCapacitor_SMD:C_0402_1005MetricC1, C3, C4, C9
4Conn_02x06_Odd_EvenConnector_PinHeader_2.54mm:PinHeader_2x06_P2.54mm_VerticalJ2, J4, J5, J6
222uFCapacitor_SMD:C_0603_1608MetricC2, C8
2Conn_02x20_Odd_EvenConnector_PinHeader_2.54mm:PinHeader_2x20_P2.54mm_VerticalJ1, J3
2SW_PushButton_Switch_SMD:SW_SPST_TL3342SW1, SW2
2SW_Push_SPDTButton_Switch_THT:SW_Push_1P2T_Vertical_E-Switch_800UDP8P1A1M6SW3, SW4
12-2013289-1sodimm:SODIMM-204SLOT1
1XC6206P152MRPackage_TO_SOT_SMD:SOT-23-3U1

More from Jameswill-Winsock/Tempest

2
  • 4 layers100 × 20 mmH field probe 1x3mm, the printed circuit board in 3D

    H field probe 1x3mm

    Jameswill-Winsock/Tempest

    An FPGA based implementation to demonstrate side-channel attacks on modern cryptography algorithms such as AES, RSA, ML-KEM etc.

    6 parts1GPL-3.0
  • 2 layers100 × 40 mmMicrostrip, the printed circuit board in 3D

    Microstrip

    Jameswill-Winsock/Tempest

    An FPGA based implementation to demonstrate side-channel attacks on modern cryptography algorithms such as AES, RSA, ML-KEM etc.

    3 parts1GPL-3.0

Similar boards

  • 6 layers71.5 × 63.6 mmSensorboard, the printed circuit board in 3D

    Sensorboard

    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…

    426 parts82MIT
  • 4 layers77 × 40 mmStm32n6 v1.0, the printed circuit board in 3D

    Stm32n6 v1.0

    cornway/ComputerVisionHw

    170 parts6
  • 4 layers37.6 × 62 mmREF2160, the printed circuit board in 3D

    REF2160

    RWeick/REF2160-DSi-Action-Replay

    Full schematic, PCB Gerbers for the DSi Action Replay, and the rom

    23 parts4GPL-3.0
  • 2 layers56 × 65 mmSeaTalk1, the printed circuit board in 3D

    SeaTalk1

    dotnet/iot

    This repo includes .NET Core implementations for various IoT boards, chips, displays and PCBs.

    24 parts2.4kMIT
  • 2 layers26.2 × 45.5 mmPL18 multiprotocol, the printed circuit board in 3D

    PL18 multiprotocol

    pascallanger/DIY-Multiprotocol-TX-Module

    Multiprotocol TX Module (or MULTI-Module) is a 2.4GHz transmitter module which controls many different receivers and models.

    24 parts1.9kGPL-3.0
  • 2 layers58 × 35.5 mmHat, the printed circuit board in 3D

    Hat

    menloresearch/asimov-1

    v1 of Asimov, an open-source humanoid robot

    24 parts1.4kCERN-OHL-S-2.0
  • 2 layers21.6 × 19.5 mmMicron Logo LED, the printed circuit board in 3D

    Micron Logo LED

    DraftShift/StealthChanger

    Tool changing system for Vorons and other front mount printer motion systems, not just stealthburner.

    24 parts1.2kGPL-3.0

Questions

How big is the Primercarrier PCB?

It measures 93.2 × 57.7 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Primercarrier use?

24 parts, built around the XC6206P152MR. 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 Primercarrier KiCad files?

From the Jameswill-Winsock/Tempest repository on GitHub, at the commit this page was made from: the board is pcb/primer 20k carrier/primercarrier.kicad_pcb and its schematic pcb/h field probe/h_field_probe_1x3mm.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Primercarrier design in my own project?

Its repository publishes it under the GPL-3.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).