

Original
repo for trying to convert gerbers to kicad
- Size
- 12.5 × 10.5 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 3
- Nets
- 5
- Pads
- 13
- Tracks, vias
- 7, 0
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 3 Jun 2026
- Updated
- 7 Jun 2026
Overview
Original is an open-source printed circuit board by gaffo, from the gaffo/grb2kicad repository on GitHub. It is a 2-layer board of 12.5 × 10.5 mm with 3 parts on 5 nets, routed with 7 tracks and 0 vias.
Its parts include 1 capacitor, 1 resistor and 1 connector.
README
README.mdgrb2kicad
Convert Gerber and Excellon drill files into a KiCad project (.kicad_pro, .kicad_sch, .kicad_pcb), similar to GerbView → Export to PCB Editor.
Gerber files describe manufacturing graphics, not design intent. The output is a reference PCB you can clean up in Pcbnew: tracks, polygons, silkscreen graphics, and drill locations as vias. There are no nets, footprints, or schematic connectivity.
Install
go install ./cmd/grb2kicad@latestOr from a clone:
go build -o grb2kicad ./cmd/grb2kicadUsage
grb2kicad -o myproject -name myboard path/to/gerbers/*.gbr path/to/board.drl
grb2kicad -o myproject path/to/gerber-directory/Flags:
| Flag | Description |
|---|---|
-o | Output directory (default: current directory) |
-name | Project base name (default: output directory name) |
Generated layout:
myproject/
myboard.kicad_pro
myboard.kicad_sch # placeholder schematic
myboard.kicad_pcb # imported geometry
gerbers/ # copy of input filesLayer detection
Files are mapped from common KiCad plot names (*-F_Cu.gbr, *-Edge_Cuts.gbr) and Protel extensions (.GTL, .GBL, .GKO, …). Unrecognized Gerber files are still parsed if the extension looks like Gerber.
Example
Real board export (4-layer KiCad 5.1 gerbers):
go run ./cmd/grb2kicad -o ./examples/out -name DFC_REV_D ./examplesA minimal synthetic board is in examples/simple. Footprint clustering tests: examples/std_layout.
Tests
go test ./...Tests shell out to KiCad when installed: kicad-cli pcb drc on generated boards (including FOOTPRINTS inject/merge) and kicad-cli sch erc on the simple2 pass-2 schematic. macOS default: /Applications/KiCad/KiCad.app; set KICAD_CLI to override. Without KiCad, those tests skip.
Two-pass workflow (planned)
| Pass | Input | Output |
|---|---|---|
| 1 | Manufacturing gerbers + drill | KiCad project: imported geometry, gerbers/ copy, grouping user layer(s) ready for annotation (front + back for dual-side boards) |
| 2 | Pass-1 project + grouping layer gerber(s) you drew in Pcbnew | Real footprints (.pretty), schematic symbols, sch↔pcb association |
Pass 1 does not infer components from pad clustering alone — it sets up a board you can open and draw closed boxes (+ optional labels) on dedicated user layer(s).
Pass 2 reads those grouping regions, assigns pads to parts, writes footprint mods, schematic grid, and matching Reference / Footprint properties.
Today most of pass 1 exists; pass 2 grouping ingest (--groups-gerber or similar) is not built yet. --footprints with --cluster-mm is a temporary stand-in.
Bookmarked (later, not now)
- Schematic routing / net connectivity from copper
- Schematic labels beyond refdes/value (designator text from silk, net names, etc.)
Limitations
- No
kicad-cliGerbView import/export yet; conversion is implemented in Go (fumin/gerber parser). Output is validated withkicad-cli pcb drcin tests when KiCad is installed. - Flashed pads become vias or filled circles; no footprint reconstruction.
- Negative/raster Gerber features are not supported.
- Drill parsing covers common Excellon headers, not every vendor variant.
License
MIT
Parts
3| Qty | Value | Footprint | References |
|---|---|---|---|
| 1 | C | Capacitor_SMD:C_Elec_3x5.4 | C1 |
| 1 | Conn_01x04 | Connector_Samtec_HLE_SMD:Samtec_HLE-102-02-xxx-DV-BE-LC_2x02_P2.54mm_Horizontal | J1 |
| 1 | R | Resistor_SMD:R_1206_3216Metric | R1 |
Similar boards
- 2 layers40 × 30 mm

- 2 layers51.9 × 16 mm

Passive2-rpi non standard adapter
hzeller/rpi-rgb-led-matrix
Controlling up to three chains of 64x64, 32x32, 16x32 or similar RGB LED displays using Raspberry Pi GPIO
3 parts4.4kGPL-2.0 - 2 layers16.3 × 16.3 mm

- 2 layers

Sub
atopile/atopile
Design circuit boards with code! ✨ Get software-like design reuse 🚀, validation, version control and collaboration in hardware; starting with electronics ⚡️
3 parts4kMIT - 2 layers85 × 30 mm

- 2 layers124.5 × 33.7 mm

- 2 layers10.5 × 83 mm

- 2 layers21.2 × 51.3 mm

Pico reset
hackclub/sprig
🍃 Learn to code by making games in a JavaScript web-based game editor.
3 parts1.1kMIT
Questions
How big is the Original PCB?
It measures 12.5 × 10.5 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Original use?
3 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 Original KiCad files?
From the gaffo/grb2kicad repository on GitHub, at the commit this page was made from: the board is examples/simple2/original/original/original.kicad_pcb and its schematic examples/simple2/original/original/original.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Original design in my own project?
Its repository states no licence, so its author keeps all rights: ask gaffo before reusing the design.