Skip to the content
2 layers12.5 × 10.5 mmOriginal, the printed circuit board in 3D

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.md

grb2kicad

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

bash
go install ./cmd/grb2kicad@latest

Or from a clone:

bash
go build -o grb2kicad ./cmd/grb2kicad

Usage

bash
grb2kicad -o myproject -name myboard path/to/gerbers/*.gbr path/to/board.drl
grb2kicad -o myproject path/to/gerber-directory/

Flags:

FlagDescription
-oOutput directory (default: current directory)
-nameProject base name (default: output directory name)

Generated layout:

text
myproject/
  myboard.kicad_pro
  myboard.kicad_sch    # placeholder schematic
  myboard.kicad_pcb    # imported geometry
  gerbers/             # copy of input files

Layer 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):

bash
go run ./cmd/grb2kicad -o ./examples/out -name DFC_REV_D ./examples

A minimal synthetic board is in examples/simple. Footprint clustering tests: examples/std_layout.

Tests

bash
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)

PassInputOutput
1Manufacturing gerbers + drillKiCad project: imported geometry, gerbers/ copy, grouping user layer(s) ready for annotation (front + back for dual-side boards)
2Pass-1 project + grouping layer gerber(s) you drew in PcbnewReal 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-cli GerbView import/export yet; conversion is implemented in Go (fumin/gerber parser). Output is validated with kicad-cli pcb drc in 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
QtyValueFootprintReferences
1CCapacitor_SMD:C_Elec_3x5.4C1
1Conn_01x04Connector_Samtec_HLE_SMD:Samtec_HLE-102-02-xxx-DV-BE-LC_2x02_P2.54mm_HorizontalJ1
1RResistor_SMD:R_1206_3216MetricR1

Similar boards

  • 2 layers40 × 30 mmBlinky, the printed circuit board in 3D

    Blinky

    earthtojake/text-to-cad

    Design physical products with AI

    3 parts26kMIT
  • 2 layers51.9 × 16 mmPassive2-rpi non standard adapter, the printed circuit board in 3D

    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 mmSensor, the printed circuit board in 3D

    Sensor

    scottbez1/splitflap

    DIY split-flap display

    3 parts4.2k
  • 2 layersSub, the printed circuit board in 3D

    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 mmDual stomp, the printed circuit board in 3D

    Dual stomp

    torvalds/GuitarPedal

    Linus learns analog circuits

    3 parts2.5kGPL-2.0
  • 2 layers124.5 × 33.7 mm172319-1 connector, the printed circuit board in 3D

    172319-1 connector

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    3 parts1.2k
  • 2 layers10.5 × 83 mmProgrammingAdapter, the printed circuit board in 3D

    ProgrammingAdapter

    stuartpittaway/diyBMSv4

    Version 4 of the diyBMS

    3 parts1.1k
  • 2 layers21.2 × 51.3 mmPico reset, the printed circuit board in 3D

    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.