Skip to the content
PCBKitNew board
2 layers73.7 × 38.1 mmChaser, the printed circuit board in 3D

Point-to-point wiring for hand-built KiCad boards (wire wrap, fly wires): curved, non-overlapping wires and an interactive HTML back view

Size
73.7 × 38.1 mm
Copper layers
2
Thickness
1.6 mm
Parts
16
Nets
15
Pads
52
Tracks, vias
0, 0
Routed
Not yet
KiCad
KiCad 10.0 (file 20260206)
Created
6 Nov 2026
Updated
6 Nov 2026

Overview

Chaser is an open-source printed circuit board by existedinnettw, from the existedinnettw/flywire repository on GitHub, published under the MPL-2.0 licence. It is a 2-layer board of 73.7 × 38.1 mm with 16 parts on 15 nets.

It is built around the CD4017BE and NE555. Its parts include 6 resistors, 4 diodes, 3 capacitors, 2 ICs and 1 connector.

Main components

2

README

README.md

flywire

Point-to-point wiring for building a KiCad board by hand: wire wrap, fly wires on a perfboard, or a carrier without copper. flywire reads the placed .kicad_pcb, joins every net's through-hole pins with one wire per pair of pins, bends the wires so they keep off other pads and off each other, and writes:

  • wiring.html: one self-contained interactive page (no network needed, like InteractiveHtmlBom): the board seen from the back with the wires as curves, and the wire list beside it;
  • wiring.txt: the same wire list as text, with pin positions, lengths, cut lengths and the wires per pin (which to wrap first);
  • wiring.json: the wiring, in the form the page exports and --edits reads back.

Copper tracks and zones are ignored; SMD pads are too (they do not reach the back).

Demo: existedinnettw.github.io/flywire, the page for examples/chaser (a 555 clocking a CD4017 that walks four LEDs), rebuilt by the pages workflow on every push to main (wiring.txt, wiring.json, chaser.kicad_pcb).

use

bash
uv tool install git+https://github.com/existedinnettw/flywire   # or: uvx --from ... flywire
flywire board.kicad_pcb                      # build/wiring.html, .txt, .json
flywire board.kicad_pcb --max-per-pin 3      # trees instead of chains
flywire board.kicad_pcb --edits wiring.json  # with what you changed on the page
option
-o DIR, --name STEMwhere the files go (build/wiring.*)
--max-per-pin Nwires one pin may take. 2 (default): every net is the shortest chain through its pins; more: the shortest tree whose pins take at most N
--slack MMadded to every wire's cut length (10)
--edits FILEa JSON export from the page: replaces the wires of every net it names, keeping its bends
--straightdo not bend the wires

The exit status is 1 when the wiring has problems (a net in pieces, a pin over the limit); they are listed at the end of wiring.txt.

the page

  • Wheel zooms, drag pans, double-click fits; Back / Front (F) flips the view (the back, where the wires are, is the default: x is mirrored).
  • Click a wire or a row to select it, a pin to show its net; ↑ ↓ step through the list, Space ticks a wire done (kept in the browser, per board), Hide done hides them.
  • Edit (E):
    • drag a wire's round handle to bend it;
    • drag a square end handle onto another pin of the same net to reconnect it;
    • click a pin, then another pin of its net, to add a wire;
    • Del deletes, A bends automatically, S straightens, Ctrl+Z undoes;
    • Auto-bend bends again every wire not bent by hand; Reset goes back to the proposal.
  • The box above the list says when a net falls apart or a pin takes too many wires.
  • Export downloads wiring.json; flywire board.kicad_pcb --edits wiring.json rebuilds the text list and the page with your changes, so they can be committed with the board.

how the wires are bent

Each wire is a quadratic Bézier from pin to pin, given by the point half way along it. For every wire a set of such midpoints, pushed sideways and along the chord, is priced: samples of the curve inside a foreign pad's clearance, near another wire (a crossing costs little, a wire lying along another a lot, except near a pin both end at), outside the board, and the extra length. The longest wires go first, then every wire is placed again against all the others until nothing changes. src/flywire/bend.py is the reference; src/flywire/web/bend.js is the same algorithm for the page, and the tests check that the two agree.

develop

bash
uv sync
uv run pytest        # needs node for the Python / JS bender comparison
uv run ruff format src tests && uv run ruff check src tests
uv run flywire examples/chaser/chaser.kicad_pcb    # the demo, in build/

examples/chaser/chaser.kicad_pcb is written by examples/chaser/make_board.py from KiCad's stock footprints; it needs KiCad's pcbnew module, so run it with the Python KiCad installs (/usr/bin/python3 examples/chaser/make_board.py).

The page is src/flywire/web/ (index.html, style.css, bend.js, app.js), inlined into one file with the board data by report.html(); it uses no libraries.

Parts

16
QtyValueFootprintReferences
4470R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR4, R5, R6, R7
4redLED_D3.0mmD1, D2, D3, D4
1100nC_Disc_D3.0mm_W1.6mm_P2.50mmC3
110nC_Disc_D3.0mm_W1.6mm_P2.50mmC2
110uCP_Radial_D5.0mm_P2.50mmC1
11kR_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR1
15V inPinHeader_1x02_P2.54mm_VerticalJ1
168kR_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR2
1CD4017DIP-16_W7.62mmU2
1NE555DIP-8_W7.62mmU1

Questions

How big is the Chaser PCB?

It measures 73.7 × 38.1 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Chaser use?

16 parts, built around the CD4017BE and NE555. 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 Chaser KiCad files?

From the existedinnettw/flywire repository on GitHub, at the commit this page was made from: the board is examples/chaser/chaser.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Chaser design in my own project?

Its repository publishes it under the MPL-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).

Similar boards

  • 2 layers30 × 37 mmMetronome, the printed circuit board in 3D

    Metronome

    Bindless-Chicken/Metronome

    :musical_keyboard: Tiny logic only metronome for when you are on the move

    34 parts2MIT
  • 2 layers30.2 × 15.6 mmLucky Wheel, the printed circuit board in 3D

    Lucky Wheel

    frankyhub/KiCad-Lucky_Wheel

    10 LEDs, NE555, CD4017

    27 parts1MIT
  • 2 layers62.9 × 44 mmProject w, the printed circuit board in 3D

    Project w

    Kimbsy/KiCAD

    KiCAD PCB projects

    17 parts
  • 2 layers100 × 100 mmBulkyMIDI-32 Channel, the printed circuit board in 3D

    BulkyMIDI-32 Channel

    tebl/BulkyMIDI-32

    A HW build of the MT32-PI project, allowing you to emulate a Roland MT-32 using a Raspberry Pi. Includes enough additional modules to build a MIDI-mountain as well as adapters for connecting to most things retro.

    122 parts80CC-BY-SA-4.0
  • 2 layers139 × 139 mmScreen driver, the printed circuit board in 3D

    Screen driver

    lambdaBoost/MC6205-graphical-display

    graphical display on old neon plasma screen

    285 parts7
  • 4 layers73.1 × 97.6 mmUlp daughterboard, the printed circuit board in 3D

    Ulp daughterboard

    Ismael034/ulp_daughterboard

    KiCad project files for a hardware CTF challenge used during the 2026 ULP CTF. The board is meant to be used with the ch32v203-dev development board.

    65 parts3