Skip to the content
PCBKitNew board
2 layers30 × 25 mmNrf24-adapter, the printed circuit board in 3D

Nrf24-adapter

embedrapp/deepee2

Open benchmark for evaluating AI agents on embedded firmware, code repair, schematics, and PCB engineering

Size
30 × 25 mm
Copper layers
2
Thickness
1.6 mm
Parts
4
Nets
8
Pads
20
Tracks, vias
29, 2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
17 Aug 2026
Updated
22 Oct 2026

Overview

Nrf24-adapter is an open-source printed circuit board by embedrapp, from the embedrapp/deepee repository on GitHub, published under the MIT licence. It is a 2-layer board of 30 × 25 mm with 4 parts on 8 nets, routed with 29 tracks and 2 vias.

Its parts include 2 capacitors and 2 connectors. It belongs with the interfaces and adapters boards of this library.

README

README.md

DeepEE

DeepEE is a small benchmark for AI agents doing embedded firmware and KiCad engineering. An agent receives a prompt plus starter files, edits a fresh working directory, and submits ordinary source files. An offline verifier checks the result. Conversation quality and screenshots do not count.

Scope

Version 1.2 has 48 tasks: 12 in each engineering category.

CategoryTask IDsTopicsPass gate
Firmwaredeepee-fw-001–012I²C recovery; SHT3x, BME280, MCP9808, INA219, BMP280, ADS1115, DS18B20, SCD4x, PCA9685, and MAX31855 drivers; Modbus CRCProtected API + native C tests + PlatformIO build
Code repairdeepee-repair-001–012Scheduler rollover, ring buffers, ADC scaling, SLIP, MQTT, UTF-8, CBOR, PPP FCS, HTTP chunks, Base64, Modbus CRC, and wrap-safe tick timingProtected API + native C tests
Schematicsdeepee-sch-001–012Power-input repair, MCP9808, INA219, ADS1115, BMP280, AP2112, USB-C sink, RS-485, CAN, I²C level shifting, microSD, and NE555Exact component/pin-net contract + exported netlist + ERC
PCBdeepee-pcb-001–012nRF24L01, MCP9808, and the same ten researched interface circuits used by the schematic setExact footprint/pad/outline contract + fully routed nets + DRC

The tasks are compact adaptations of real bug reports, open-source boards, official KiCad QA material, and published breakout use cases. Provenance is recorded in each task's SOURCE.md and summarized in docs/TASK_SOURCES.md.

The evaluation contract and its limits are documented in docs/VALIDATION_MODEL.md. Contributions must follow CONTRIBUTING.md, including the known-good and mutant release gates.

What is verified

Every task declares public, machine-readable critical requirements. A task score remains binary:

text
all checks pass -> 1
anything fails  -> 0

The primary aggregate is Pass@1: the fraction of tasks passed on an agent's first publishable attempt. Score files also contain each requirement outcome, its engineering layer, leaf evidence, a layer-level score vector, and a stable decision hash. A strong result in one layer cannot mask a failed critical requirement in another.

The verifier checks required parts and pin/pad nets without comparing an entire design to golden geometry. KiCad performs the final ERC/DRC gate. PCB contracts additionally measure declared physical constraints directly from native copper: all named nets use at least 0.25 mm track width, and the USB-C repair constrains routed D+/D− skew to 1.0 mm. The release gate runs a targeted mutant for every critical requirement and must reject all of them.

This is deliberately a KiCad-native benchmark, not a tool-agnostic EDA benchmark. An AI system may be compared if it can produce the required native KiCad 10 artifacts. Altium- or EasyEDA-only outputs are out of scope because silently converting them would weaken the assurance and make the comparison misleading.

Firmware is verified by native behavioral tests and a real target build. Version 1.2 does not claim runtime peripheral, analog, thermal, EMI, or fabrication signoff; those require suitable simulation or hardware-in-the-loop fixtures and are excluded from task claims.

Lightweight local preparation

No VM, Colima instance, Docker image, KiCad install, or PlatformIO install is needed on the development laptop. The repository checks use Python and a host C compiler only:

bash
python3 -m venv .venv
. .venv/bin/activate
pip install -e .
make test

The Dockerfiles and scripts are deployment material for a later x86_64 Ubuntu EC2 run. They are not started by the commands above.

EC2 execution

On an Ubuntu 24.04 x86_64 host:

bash
./scripts/bootstrap-ec2-ubuntu.sh
# Log out and back in once for Docker group membership.
export CODEX_API_KEY='...'
./scripts/run-ec2-baseline.sh --all-tasks

For a ChatGPT subscription-authenticated Codex run, complete codex login --device-auth on the host and use ./scripts/run-ec2-chatgpt-baseline.sh instead.

The deployment builds separate deepee-agent:1.2.0 and deepee-verifier:1.2.0 images. The agent image has KiCad 10.0.4, PlatformIO 6.1.19, compilers, and Codex but no benchmark tasks or verifier code. Agent runs use an internal-only Docker network and one explicit CONNECT-proxy profile: API-key runs permit api.openai.com:443, while ChatGPT-subscription runs additionally permit auth.openai.com:443 and chatgpt.com:443. Both profiles block every other authority and direct internet egress, and the effective profile and allowlist are recorded in the run. Verification runs without any network or agent credentials. Before a baseline starts, the Ubuntu host also proves one private reference submission for every task against that same verifier image. See docs/EC2.md and docs/RUN_PROTOCOL.md.

For a manual external agent that uses KiCad:

bash
deepee benchmark \
  --agent agents/manual-kicad.yaml \
  --task deepee-pcb-001 \
  --prepare-only

deepee verify \
  --container-image deepee-verifier:1.2.0 \
  --task deepee-pcb-001 \
  --run-dir '<printed-run-directory>' \
  --output results/scored/external-pcb-run.json

Manual/external runs record their authoring egress as external_uncontrolled; DeepEE still applies the same offline verifier and never mislabels that external environment as proxy-isolated.

DeepEE's original code and fixtures are MIT licensed. The KiCad-derived schematic starter identified in THIRD_PARTY_NOTICES.md retains its GPLv3 license. Compare leaderboard results only when the benchmark and task hashes match.

Parts

4
QtyValueFootprintReferences
1100nFCapacitor_SMD:C_0603_1608MetricC2
110uFCapacitor_SMD:C_0805_2012MetricC1
1Conn_01x08Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ1
1nRF24L01_ModuleConnector_PinSocket_2.54mm:PinSocket_2x04_P2.54mm_VerticalJ2

Questions

How big is the Nrf24-adapter PCB?

It measures 30 × 25 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Nrf24-adapter use?

4 parts. 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 Nrf24-adapter KiCad files?

From the embedrapp/deepee repository on GitHub, at the commit this page was made from: the board is validation/solutions/deepee-pcb-001/artifacts/nrf24-adapter.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Nrf24-adapter design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

More from embedrapp/deepee

11
  • 2 layers60 × 40 mmPca9306-i2c level shifter, the printed circuit board in 3D

    Pca9306-i2c level shifter

    embedrapp/deepee

    Open benchmark for evaluating AI agents on embedded firmware, code repair, schematics, and PCB engineering

    10 parts2MIT
  • 2 layers60 × 40 mmBmp280-environment sensor, the printed circuit board in 3D

    Bmp280-environment sensor

    embedrapp/deepee

    Open benchmark for evaluating AI agents on embedded firmware, code repair, schematics, and PCB engineering

    7 parts2MIT
  • 2 layers60 × 40 mmMax3485-rs485, the printed circuit board in 3D

    Max3485-rs485

    embedrapp/deepee

    Open benchmark for evaluating AI agents on embedded firmware, code repair, schematics, and PCB engineering

    7 parts2MIT
  • 2 layers60 × 40 mmMicrosd spi adapter, the printed circuit board in 3D

    Microsd spi adapter

    embedrapp/deepee

    Open benchmark for evaluating AI agents on embedded firmware, code repair, schematics, and PCB engineering

    7 parts2MIT
  • 2 layers60 × 40 mmNe555-astable, the printed circuit board in 3D

    Ne555-astable

    embedrapp/deepee

    Open benchmark for evaluating AI agents on embedded firmware, code repair, schematics, and PCB engineering

    7 parts2MIT
  • 2 layers60 × 40 mmIna219-current monitor, the printed circuit board in 3D

    Ina219-current monitor

    embedrapp/deepee

    Open benchmark for evaluating AI agents on embedded firmware, code repair, schematics, and PCB engineering

    6 parts2MIT
  • 2 layers60 × 40 mmAds1115-analog input, the printed circuit board in 3D

    Ads1115-analog input

    embedrapp/deepee

    Open benchmark for evaluating AI agents on embedded firmware, code repair, schematics, and PCB engineering

    6 parts2MIT
  • 2 layers60 × 40 mmUsb c-5v sink, the printed circuit board in 3D

    Usb c-5v sink

    embedrapp/deepee

    Open benchmark for evaluating AI agents on embedded firmware, code repair, schematics, and PCB engineering

    6 parts2MIT
  • 2 layers18 × 15 mmMcp9808-breakout, the printed circuit board in 3D

    Mcp9808-breakout

    embedrapp/deepee

    Open benchmark for evaluating AI agents on embedded firmware, code repair, schematics, and PCB engineering

    6 parts2MIT
  • 2 layers60 × 40 mmSn65hvd230-can, the printed circuit board in 3D

    Sn65hvd230-can

    embedrapp/deepee

    Open benchmark for evaluating AI agents on embedded firmware, code repair, schematics, and PCB engineering

    6 parts2MIT
  • 2 layers60 × 40 mmAp2112-3v3-regulator, the printed circuit board in 3D

    Ap2112-3v3-regulator

    embedrapp/deepee

    Open benchmark for evaluating AI agents on embedded firmware, code repair, schematics, and PCB engineering

    5 parts2MIT

Similar boards

  • 2 layers18.5 × 26 mm24g2usb rp2350zero, the printed circuit board in 3D

    24g2usb rp2350zero

    joypad-ai/joypad-os

    Universal controller firmware for building adapters, dongles, and custom controllers.

    4 parts1.7kApache-2.0
  • 2 layers116 × 33 mm966595-1 and 963356-1, the printed circuit board in 3D

    966595-1 and 963356-1

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    4 parts1.2k
  • 2 layers19 × 18 mmDaughter board, the printed circuit board in 3D

    Daughter board

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    4 parts915
  • 2 layers24.8 × 24.8 mmNrf24 breakout, the printed circuit board in 3D

    Nrf24 breakout

    tardate/LittleArduinoProjects

    a collection of "Little Electronic & Arduino Projects", most involving electronics or an Arduino in one way or another!

    4 parts803MIT
  • 2 layers26 × 20 mmCap chain, the printed circuit board in 3D

    Cap chain

    drandyhaas/KiCadRoutingTools

    A set of Python/Rust tools to aid routing in KiCad

    4 parts744MIT
  • 2 layers34.7 × 20 mmXG Station Power MSI, the printed circuit board in 3D

    XG Station Power MSI

    osy/XG_Mobile_Station

    Open source eGPU dock for ROG Ally and ROG Flow

    4 parts712CC-BY-4.0
  • 2 layers20.3 × 24.5 mmJack power input, the printed circuit board in 3D

    Jack power input

    Luos-io/luos_engine

    Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.

    4 parts546MIT