Skip to the content
PCBKitNew board
2 layers60 × 40 mmBmp280-environment sensor, the printed circuit board in 3D

Bmp280-environment sensor

embedrapp/deepee2

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

Size
60 × 40 mm
Copper layers
2
Thickness
1.6 mm
Parts
7
Nets
5
Pads
22
Tracks, vias
0, 0
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
17 Aug 2026
Updated
22 Oct 2026

Overview

Bmp280-environment sensor 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 60 × 40 mm with 7 parts on 5 nets.

It is built around the BMP280. Its parts include 3 resistors, 2 capacitors, 1 IC and 1 connector. It belongs with the sensors and measurement boards of this library.

Main components

1

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

7
QtyValueFootprintReferences
24.7kR_0603_1608MetricR1, R2
10RR_0603_1608MetricR3
1100nFC_0603_1608MetricC1
11uFC_0603_1608MetricC2
1BMP280Bosch_LGA-8_2x2.5mm_P0.65mm_ClockwisePinNumberingU1
1Conn_01x04PinHeader_1x04_P2.54mm_VerticalJ1

Questions

How big is the Bmp280-environment sensor PCB?

It measures 60 × 40 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Bmp280-environment sensor use?

7 parts, built around the BMP280. 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 Bmp280-environment sensor KiCad files?

From the embedrapp/deepee repository on GitHub, at the commit this page was made from: the board is tasks/pcb/deepee-pcb-005/starter/artifacts/bmp280-environment-sensor.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Bmp280-environment sensor 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 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
  • 2 layers30 × 25 mmNrf24-adapter, the printed circuit board in 3D

    Nrf24-adapter

    embedrapp/deepee

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

    4 parts2MIT

Similar boards

  • 4 layers55 × 55 mmRBoard, the printed circuit board in 3D

    RBoard

    pms67/LittleBrain-STM32F4-Sensorboard

    STM32F4-based PCB interfacing with a variety of sensors.

    90 parts339
  • 2 layers168.9 × 123.3 mmOEM ECU, the printed circuit board in 3D

    OEM ECU

    aeonSolutions/AeonLabs-AI-Volvo-MKII-Open-Hardware

    Volvo MKII Open Hardware

    296 parts161CC0-1.0
  • 2 layers37.8 × 21.5 mmWiflier EXP, the printed circuit board in 3D

    Wiflier EXP

    cnlohr/wiflier

    ESP8266-based Quadcopter Brain

    61 parts92
  • 8 layers34 × 34 mmOpenDrone AIO FC F405 HW, the printed circuit board in 3D

    OpenDrone AIO FC F405 HW

    phonght32/OpenDrone_HW_AIO_FC_F405

    OpenDrone Project - AIO Brushless FC F405.

    211 parts53MIT
  • 2 layers47.6 × 69.1 mmPico Drone, the printed circuit board in 3D

    Pico Drone

    TheNoobInventor/pi-pico-drone

    A micro drone is made using the Raspberry Pi Pico W. It is fitted with the MPU6050 IMU module and BMP280 barometric sensor. The drone will be controlled using TinyMPC and employ a Micro-ROS client on FreeRTOS.

    33 parts29Apache-2.0
  • 2 layers55 × 90.8 mmSlider, the printed circuit board in 3D

    Slider

    DusterTheFirst/rocketry

    🚀 Thrust Vector Controlled Model Rockets

    33 parts22GPL-3.0
  • 4 layers100 × 54 mmKbox, the printed circuit board in 3D

    Kbox

    sarfata/kbox-hardware

    Open-source electronics for your boat

    139 parts19
  • 2 layers115 × 115 mmDrone, the printed circuit board in 3D

    Drone

    rmingon/drone-uwb

    Drone design for automatic position in space with UWB

    49 parts13