Skip to the content
PCBKitNew board
2 layers30 × 53 mmRaspberry spi0 breakout, the printed circuit board in 3D

🔌 PCBs made with LLMs

Size
30 × 53 mm
Copper layers
2
Thickness
1.6 mm
Parts
2
Nets
40
Pads
45
Tracks, vias
9, 0
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
30 Sep 2026
Updated
26 Oct 2026

Overview

Raspberry spi0 breakout is an open-source printed circuit board by fborello-lambda, from the fborello-lambda/pcbs_llm_driven_design repository on GitHub, published under the MIT licence. It is a 2-layer board of 30 × 53 mm with 2 parts on 40 nets, routed with 9 tracks and 0 vias.

It belongs with the interfaces and adapters boards of this library.

README

remote_controller/README.md

ESP32-C3 BLE dimmer remote — revision G

3D preview Assembled board photo

KiCad project · Schematic PDF · BOM CSV

Revision G is a 40 x 100 mm, 0.8 mm, two-layer controller for the dimmer. The ESP32-C3 SuperMini is directly soldered to the shared Shared:ESP32-C3-SuperMini SMD landing-pad footprint; there are no socket strips. A direct-solder Adafruit 2765 Mini Thumbstick controls brightness, three tactile buttons provide ON/SELECT, OFF/BACK, and PRESET, and a small I2C OLED reports state. There is no LDR in this revision.

The generated placement is portrait. The rear MPD BK-18650-PC2 holder is centred at x=20 mm, with its positive terminal at y=2.5 mm and its negative terminal at y=75.4 mm; the holder body ends at y=77.23 mm. The front OLED header starts at (16.19, 9.5) mm and reads VCC, GND, SCL, SDA from the front. The OLED support holes are at (8.35, 33.8) and (31.65, 33.8) mm. Button centres are x=8, 20, 32 mm at y=40 mm. The joystick centre is (20, 55.5) mm. The ESP32 footprint is at (13.5, 90) mm, rotated 90 degrees. Its USB faces outward through the left edge, with the connector mouth 0.5 mm inside the edge. The complete module is inside the 40 x 100 mm board. The four corner mounting holes were removed and the corner radius is 4 mm. Only the two OLED support holes remain.

The holder footprint uses an intentionally elevated terminal courtyard. Install a rigid insulating spacer with adhesive, with a total assembled thickness of 1.5 mm between the rear holder and the 0.8 mm PCB. Keep THT tails at or below 0.9 mm behind the holder: the MPD lead is 3.3 +/- 0.5 mm and the PCB is 0.8 mm, leaving at least 0.5 mm lead protrusion after the spacer. The holder screw locations are fabrication marks only, without carrier holes: attach it using the insulating spacer and adhesive. Cut recesses/windows in the spacer wherever solder tails occur; a solid sheet must not press on solder joints. C1 is at the front upper-left corner and JP1 at the front upper-right corner. BT1 is the only component fitted on the rear. The side-facing USB no longer requires an internal cable channel. The holder model and envelope are mechanical references; validate the purchased parts in a prototype. MPD source: BK-18650-PC2 datasheet.

Electrical configuration

FunctionRevision G connection
Joystick X and YAdafruit 2765, with 10 kOhm / 22 kOhm dividers to 2.27 V full scale; ADC GPIO0 and GPIO1
Battery measurementVBUS/2 divider to GPIO3
ButtonsON/SELECT GPIO10, OFF/BACK GPIO20, PRESET GPIO21; internal pull-ups, switches to GND
OLED I2CGPIO6 SDA and GPIO7 SCL; use the module's I2C pull-ups
Battery path18650 -> SW1 -> VBUS; onboard ME6211 supplies 3.3 V

The single 18650 is externally charged. The SuperMini has no charger and the remote has no charge circuit. Its ME6211 dropout voltage limits useful operation from an 18650 as the cell discharges, so validate low-voltage behaviour with the actual SuperMini. USB and battery are manually isolated: turn the battery switch OFF and leave JP1 open before connecting USB. This is an assembly procedure, not automatic protection; the onboard diode does not isolate a battery sharing USB VBUS. A protected cell must be charged externally with a suitable charger.

Test firmware in Rust that draws the thumbstick position and button states on the OLED is in firmware/.

OLED and carrier

The specified display is the 0.96-inch SSD1306 reference module LCDWiki MC096VW/MC096VX, approximately 27.3 x 27.8 mm. Mechanical references: LCDWiki MC096VX and MC096-015 drawing. The detailed selection and assembly notes are in OLED_SELECTION.md.

With the display viewed from the front and its header at the top, the 2.54 mm pitch pins read left to right: VCC, GND, SCL, SDA. The carrier has a female socket on its front. Solder the straight male OLED header from the display front so the pins point rearward, then plug the OLED into the carrier. Solder the carrier socket from the back before installing the battery; the display remains removable. Use a low-profile OLED M2 rear head (head height <=1 mm) and two insulating M2 spacers; the nominal module underside is approximately 9.2 mm above the footprint plane. Verify the actual module and pin order before fabrication because generic modules can reverse VCC/GND. The SSD1306 module used for the first build is GND, VDD, SCK, SDA, with the power pins swapped relative to J1. Do not plug it in directly; see LESSONS.md.

The joystick footprint is the official Adafruit 2765 Eagle geometry copied from sources/adafruit-thumbstick.brd; the applicable source license is in sources/adafruit-license.txt. The 3D joystick, holder, and OLED models are approximate envelopes for enclosure work. The elevated holder courtyard, terminal islands and full-body Fab model are intentional documentation for fabrication review; they are not a claim of factory-ready mechanical validation. ERC, DRC and schematic-to-PCB parity checks pass. Mechanical fit, battery operation and radio range still require a physical prototype.

The rear artwork is the photo-derived art/argentina_hornero.svg hornero and nest illustration with the visible caption HORNERO. Its reference and CC BY-SA 4.0 attribution are recorded in art/argentina_hornero_source.txt. The artwork and finishing tools under scripts/remote_controller/ crop it to the exposed bottom rear and convert it to B.Silkscreen graphics (no copper), clipping ink away from pads.

Build and assembly sequence

Run the project scripts in this order from the repository root:

sh
uv run --no-sync python scripts/remote_controller/build_remote.py
uv run --no-sync python scripts/remote_controller/route_board.py
kicad-cli sch export netlist remote_controller/esp32c3_remote.kicad_sch --format kicadxml -o remote_controller/outputs/netlist.xml
uv run --no-sync python scripts/remote_controller/finish_remote.py
kicad-cli sch erc remote_controller/esp32c3_remote.kicad_sch --exit-code-violations -o remote_controller/outputs/erc.rpt
kicad-cli pcb drc remote_controller/esp32c3_remote.kicad_pcb --schematic-parity --exit-code-violations -o remote_controller/outputs/drc.rpt

The build tool regenerates the schematic, board, local libraries, BOM, and connectivity data. The routing tool routes the generated board. The finishing tool adds the approximate mechanical envelopes, crops the rear artwork, and performs source-geometry and connectivity checks. Always regenerate outputs/netlist.xml before the finishing step.

For assembly, fit the two insulating OLED M2 spacers and low-profile rear heads, solder the front OLED carrier, and keep the OLED removable. Install the rear holder on the 1.5 mm insulating spacer or adhesive pads; trim or select THT tails so no more than 0.9 mm protrudes behind it. Keep C1 and JP1 outside the holder body. Do not use holder screws in the USB plug overlap channel. Confirm battery polarity, cell length, OLED pin order, spacer and head heights, switch operation, antenna/USB clearance, and the USB isolation procedure on actual parts before applying power. Review the generated reports under outputs/; they are not a substitute for prototype hardware validation, firmware checks, battery testing, or radio-range testing.

The dimmer board in the repository root is a separate design. In revision G the complete ESP32 module stays inside the 40 x 100 mm PCB outline, with its USB connector facing the left edge.

Revision G radio clearance

The antenna occupies the right end of the horizontal ESP32 module. Copper and vias are prohibited in x=24.2..40 mm, y=79.5..100 mm, on both copper layers. The rear battery holder ends at y=77.23 mm, so it does not overlap this area. Its approximately 2.27 mm gap is compact and does not provide a generous RF metal clearance. Measure BLE range with the actual cell, enclosure and hand grip; the drawing and DRC cannot establish antenna performance.

Parts

2
QtyValueFootprintReferences
1Raspberry Pi GPIO extender (2x20)Breakout:T_Cobbler_2x20_P2.54_W15.24J1
1SPI0 OUTPUTConnector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_VerticalJ2

Questions

How big is the Raspberry spi0 breakout PCB?

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

What parts does the Raspberry spi0 breakout use?

2 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 Raspberry spi0 breakout KiCad files?

From the fborello-lambda/pcbs_llm_driven_design repository on GitHub, at the commit this page was made from: the board is raspberry_spi0_breakout/raspberry_spi0_breakout.kicad_pcb and its schematic dimmer/esp32_dimmer.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Raspberry spi0 breakout 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 fborello-lambda/pcbs_llm_driven_design

3
  • 2 layers100 × 100 mmPhotodiode lab, the printed circuit board in 3D

    Photodiode lab

    fborello-lambda/pcbs_llm_driven_design

    🔌 PCBs made with LLMs

    31 parts1MIT
  • 2 layers100 × 100 mmEsp32 dimmer, the printed circuit board in 3D

    Esp32 dimmer

    fborello-lambda/pcbs_llm_driven_design

    🔌 PCBs made with LLMs

    23 parts1MIT
  • 2 layers40 × 100 mmEsp32c3 remote, the printed circuit board in 3D

    Esp32c3 remote

    fborello-lambda/pcbs_llm_driven_design

    🔌 PCBs made with LLMs

    21 parts1MIT

Similar boards

  • 2 layers37 × 19 mmPassive rpi hub75-adapter, the printed circuit board in 3D

    Passive rpi hub75-adapter

    hzeller/rpi-rgb-led-matrix

    Controlling up to three chains of 64x64, 32x32, 16x32 or similar RGB LED displays using Raspberry Pi GPIO

    2 parts4.4kGPL-2.0
  • 2 layersDiode template, the printed circuit board in 3D

    Diode template

    adamws/kicad-kbplacer

    KiCad plugin for automatic keyboard's key placement and routing

    2 parts547GPL-3.0
  • 2 layers20.3 × 15.2 mmL0 button, the printed circuit board in 3D

    L0 button

    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.

    2 parts546MIT
  • 2 layers35.1 × 46.8 mmSDEX2M2 Breakout Board, the printed circuit board in 3D

    SDEX2M2 Breakout Board

    NVNTLabs/switch2-SDEX2M2

    Micro SD Express to M.2 NVME Adapter for Nintendo Switch 2

    2 parts542GPL-3.0
  • 2 layers59.3 × 36.6 mmExpansionBoardTemplate, the printed circuit board in 3D

    ExpansionBoardTemplate

    BlueSCSI/BlueSCSI-v2

    BlueSCSI v2/Ultra - an open source, open hardware, SCSI emulator using the Pi Pico PR2040 and Pico 2 RP2350

    2 parts459GPL-3.0
  • 2 layersAlpha.9mm.wire, the printed circuit board in 3D

    Alpha.9mm.wire

    ohmtech-rdi/eurorack-blocks

    Software to Hardware Prototyping for Eurorack using C++, Max/Gen~ or Faust

    2 parts410
  • 2 layers26.7 × 64 mmGpu power, the printed circuit board in 3D

    Gpu power

    dennisss/dacha

    Monorepo for awesome tools/projects/libraries

    2 parts397Apache-2.0