Skip to the content
PCBKitNew board
2 layersReplicate layout test project, the printed circuit board in 3D

Replicate layout test project

ETM-Code/ReplicateLayout-kicad101

Replicate Layout KiCad plugin - KiCad 10 port (fork of MitjaNemec/ReplicateLayout)

Copper layers
2
Thickness
1.6 mm
Parts
105
Nets
48
Pads
274
Tracks, vias
111, 12
Pours
6
Routed
Yes
KiCad
KiCad 7.99 (file 20240108)
Created
28 May 2026
Updated
29 May 2026

Overview

Replicate layout test project is an open-source printed circuit board by ETM-Code, from the ETM-Code/ReplicateLayout-kicad10 repository on GitHub, published under the GPL-2.0 licence. It is a 2-layer board with 105 parts on 48 nets, routed with 111 tracks and 12 vias.

It is built around the NE5532. Its parts include 49 resistors, 42 capacitors, 11 ICs and 2 connectors.

Main components

1

README

README.md

KiCAD Replicate Layout Plugin (KiCad 10 fork)

[!NOTE] This is a community-maintained fork of MitjaNemec/ReplicateLayout, updated to work with KiCad 10. The original author retired the plugin at KiCad 10 (KiCad now ships native multichannel layout), so this fork keeps it running for hierarchical-sheet driven replication. All credit for the plugin goes to doc.dr. Mitja Nemec; it remains GPL-2.0.

Changes in this fork:

  • KiCad 10 support (issue #87): KiCad 10 removed pcbnew.ID_V_TOOLBAR, which the dialog used for positioning, so the plugin raised on every run. Fixed with a fallback that still works on KiCad 9.
  • Grouped-destination crash (issue #86): the destination-group precheck compared a PCB_GROUP object to a string and aborted whenever a destination footprint was already grouped. Fixed.
  • A working, headless test-suite (the upstream one referenced absent folders) that verifies geometric correctness and byte-for-byte parity with KiCad 9.

The replication core is unchanged — verified to reproduce the KiCad 9 behaviour exactly (see Testing).

The repository includes code for KiCad Action plugin which replicates part of the PCB layout.

Replicate the PCB layout of one hierarchical sheet to other hierarchical sheets. This replication is based upon hierarchical sheets in Eeschema. The basic requirement for replication is that the section to be replicated (source) is completely contained within a single hierarchical sheet, and replicated sections (destination) are just copies of the same sheet. Complex hierarchies are supported and the replicated sheet can contain subsheets. The plugin replicates footprints, zones, tracks, text and drawings.

After the section for replication (source section) has been laid out (footprints, tracks, text objects and zones placed) you need to:

  1. Place the anchor footprints for the destination sections you want to replicate. This defines the position and orientation of replicated sections. You can use the PlaceFootprints action plugin for this.
  2. Select the same anchor footprint within the source section.
  3. Run the plugin.
  4. Choose which hierarchical level you wish to replicate.
  5. Select which sheets you want to replicate (default is all of them).
  6. Select whether you want to also replicate tracks, zones and/or text objects.
  7. Select whether you want to group replicated footprints/tracks/zones/text/drawings by hierarchical sheets.
  8. Select whether you want to replicate tracks/zones/text which intersect the pivot bounding box or just those contained within the bounding box.
  9. Select whether you want to delete already laid out tracks/zones/text (this is useful when updating an already replicated layout).
  10. Hit OK.

By default, only objects which are fully contained in the bounding box constituted by all the footprints in the section will be replicated. You can select to also replicate zones and tracks which intersect this bounding box. Additionally, tracks, text and zones which are already laid out in the replicated bounding boxes can be removed (useful when updating). Note that bounding boxes are squares aligned with the x and y axis, regardless of section orientation.

Installation

The preferred way to install the plugin is via KiCad's Plugin and Content Manager (PCM). Installation on non-networked devices can be done by downloading the latest release and installing in the PCM using the Install from file option.

Testing

The plugin ships with a headless, GUI-free test-suite driven entirely through the pcbnew scripting API (test_replicate_layout.py). It runs a number of replication scenarios (inner/outer hierarchy levels, flipped anchors, "contained" vs. "intersecting" selection, removal of existing copper, grouping and footprint-text replication) and checks each result two ways:

  1. Geometric correctness — every replicated section must keep the same internal geometry (pairwise distances, relative orientation and relative flip) as the source section. This check is independent of any coordinate convention.
  2. Regression against KiCad 9 — the produced geometry is compared against reference signatures captured from KiCad 9 (committed under test_refs/), so a passing run proves the KiCad 10 output matches KiCad 9 exactly.

Run it with the Python interpreter bundled with KiCad, for example on macOS:

bash
/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.9/bin/python3.9 test_replicate_layout.py

To recapture the reference signatures from a particular KiCad version, run the same command with --gen-refs.

Author : doc.dr. Mitja Nemec KiCad 10 port : 2026 Date : 2025

Parts

105
QtyValueFootprintReferences
49RResistor_SMD:R_1206_3216MetricR101, R102, R103, R104, R105, R106, R107, R108, R109, R1001, R1002, R1003, R1004, R1101, R1102, R1103 +33
42CCapacitor_SMD:C_1206_3216MetricC101, C102, C1001, C1002, C1003, C1004, C1101, C1102, C1103, C1104, C1201, C1202, C1203, C1204, C1301, C1302 +26
11NE5532Package_SO:SOIC-8_5.23x5.23mm_P1.27mmU101, U401, U701, U801, U901, U1001, U1101, U1201, U1301, U1401, U1501
1InConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ101
1OutConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ102

The 104 most common of 105 parts.

Questions

What parts does the Replicate layout test project use?

105 parts, built around the NE5532. 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 Replicate layout test project KiCad files?

From the ETM-Code/ReplicateLayout-kicad10 repository on GitHub, at the commit this page was made from: the board is replicate_layout_test_project/replicate_layout_test_project.kicad_pcb and its schematic replicate_layout_fp_text/Sheet.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Replicate layout test project design in my own project?

Its repository publishes it under the GPL-2.0 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 ETM-Code/ReplicateLayout-kicad10

1
  • 2 layersReplicate layout fp text, the printed circuit board in 3D

    Replicate layout fp text

    ETM-Code/ReplicateLayout-kicad10

    Replicate Layout KiCad plugin - KiCad 10 port (fork of MitjaNemec/ReplicateLayout)

    216 parts1GPL-2.0

Similar boards

  • 2 layers52.5 × 36.6 mmESP8266-WebRadio, the printed circuit board in 3D

    ESP8266-WebRadio

    karawin/Ka-Radio

    A wifi webradio with only low cost boards ESP8266 and VS1053 by Jp Cocatrix

    52 parts453
  • 2 layers100 × 68 mmSI4684 SMD, the printed circuit board in 3D

    SI4684 SMD

    PE5PVB/SI4684-DAB-Receiver

    SI4684 ESP32 DAB Receiver

    91 parts135GPL-3.0
  • 2 layers165 × 103.8 mmOutput pcb, the printed circuit board in 3D

    Output pcb

    QuinnFreedman/modular

    A collection of free & open source DIY synthesizer module designs for Eurorack

    128 parts116
  • 2 layers173 × 85 mmAudio board, the printed circuit board in 3D

    Audio board

    EleonoreMizo/pedalevite

    Pédale Vite — DIY multi-FX pedalboard for guitar/bass/etc.

    268 parts101WTFPL
  • 2 layers84 × 85 mmHbr mk2-rxtx, the printed circuit board in 3D

    Hbr mk2-rxtx

    afiskon/hbr-mk2

    All HF bands QRP CW/SSB transceiver

    239 parts76MIT
  • 2 layers149.9 × 55.9 mmPc amplifier, the printed circuit board in 3D

    Pc amplifier

    dilshan/arduino-mini-amp

    Arduino based stereo audio amplifier system

    140 parts67MIT
  • 4 layers99 × 99 mmMegaBlaster2, the printed circuit board in 3D

    MegaBlaster2

    AidanHockey5/MegaBlaster2

    The latest iteration of my hardware Sega Genesis/Megadrive Video Game Music Player

    120 parts59AGPL-3.0
  • 2 layers80 × 60 mmDigishaper152, the printed circuit board in 3D

    Digishaper152

    jonnor/projects

    Small projects not worthy of dedicated repositories

    61 parts45