Skip to the content
2 layers60 × 40 mmPca9306-i2c level shifter, the printed circuit board in 3D

Pca9306-i2c level shifter

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
10
Nets
8
Pads
30
Tracks, vias
8, 0
Routed
Yes
KiCad
KiCad 10.0 (file 20240108)
Created
17 Aug 2026
Updated
22 Oct 2026

Overview

Pca9306-i2c level shifter 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 10 parts on 8 nets, routed with 8 tracks and 0 vias.

It is built around the PCA9306D. Its parts include 5 resistors, 2 capacitors, 2 connectors and 1 IC. It belongs with the interfaces and adapters 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

10
QtyValueFootprintReferences
44.7kResistor_SMD:R_0603_1608MetricR1, R2, R3, R4
2100nFCapacitor_SMD:C_0603_1608MetricC1, C2
2Conn_01x04Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ1, J2
1200kResistor_SMD:R_0603_1608MetricR5
1PCA9306DPackage_SO:TSSOP-8_3x3mm_P0.65mmU1

More from embedrapp/deepee

11
  • 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
  • 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 layers94 × 50.8 mmUlx3s, the printed circuit board in 3D

    Ulx3s

    drandyhaas/KiCadRoutingTools

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

    235 parts744MIT
  • 8 layers120 × 60 mmDFTBoard, the printed circuit board in 3D

    DFTBoard

    juliancoy/zynqPCB

    An 8-layer board in Kicad built upon Xilinx Zynq Chip. Includes sound output, HDMI, DDR3, and Arduino Uno style header for screen connection

    299 parts75MIT
  • 4 layers198 × 161 mmGPDI ULX3S panel, the printed circuit board in 3D

    GPDI ULX3S panel

    goran-mahovlic/ulx3s-extensions

    PMOD boards for ULX3S

    1,070 parts49
  • 4 layers77.1 × 63.8 mmPauline, the printed circuit board in 3D

    Pauline

    jfdelnero/Pauline

    Pauline Floppy disk dumper and Floppy drive emulator

    160 parts25
  • 4 layers115 × 78 mmAvenashield, the printed circuit board in 3D

    Avenashield

    oats-center/isoblue

    ISOBlue Hardware, Avena software, and Deployment Files

    120 parts25MIT
  • 4 layers48 × 49 mmToF camera VGA, the printed circuit board in 3D

    ToF camera VGA

    lnsru/melexis_VGA_ToF_camera

    PCB design with the new MLX75027 VGA time of flight sensor

    70 parts13
  • 4 layers98.2 × 56 mmRPI5-CFE Hat, the printed circuit board in 3D

    RPI5-CFE Hat

    oscimp/wr_acorn

    White Rabbit time and frequency transfer on the Artix7 of the Acorn CLE125

    55 parts12AGPL-3.0

Questions

How big is the Pca9306-i2c level shifter PCB?

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

What parts does the Pca9306-i2c level shifter use?

10 parts, built around the PCA9306D. 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 Pca9306-i2c level shifter KiCad files?

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

Can I use the Pca9306-i2c level shifter 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).