Skip to the content
2 layers87 × 58 mmMacropad buggy, the printed circuit board in 3D

Pre-order checks for KiCad PCBs: desktop app, CLI and MCP server for AI agents

Size
87 × 58 mm
Copper layers
2
Thickness
1.6 mm
Parts
22
Nets
17
Pads
74
Tracks, vias
66, 1
Pours
1
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
28 Oct 2026
Updated
30 Oct 2026

Overview

Macropad buggy is an open-source printed circuit board by restuindrawan, from the restuindrawan/fabready repository on GitHub, published under the MIT licence. It is a 2-layer board of 87 × 58 mm with 22 parts on 17 nets, routed with 66 tracks and 1 via.

It is built around the 1N4148W. Its parts include 10 switches, 8 diodes, 1 IC and 1 connector. It belongs with the keyboards and input and computers and single-board computers boards and the nRF52 and nRF5x boards of this library.

Main components

1

README

README.md

fabready

Pre-order checks for KiCad PCBs. fabready finds the mistakes that would cost you a board order before you place it. It runs as a desktop app, a command-line tool and an MCP server for AI agents, all built on one Rust engine.

The fabready desktop app: a keyboard PCB with numbered problem markers and the editing toolbar, beside an agent chat that has just fixed an unrouted net

What it checks

  • Routing: unrouted nets and footprints with no connections
  • Fab limits: track width, via and hole sizes, and copper-to-edge clearance, against JLCPCB's limits or a conservative "safe" profile
  • Board: a missing or open outline, board size and mounting holes
  • Components: parts rated below what the board puts on them, and parts that are more than the job needs
  • Keyboards: diodes, matrix wiring, controller pins and wireless antennas
  • KiCad DRC and ERC, merged in when KiCad is installed

Thin tracks, undersized vias and copper under an antenna can be fixed automatically, with a preview, a backup and undo.

Quick start

Desktop app (macOS):

bash
cd app && npm install
npx tauri build --bundles app      # fabready.app in target/release/bundle/macos/

The first time it opens, a short setup installs KiCad if it's missing and lets you pick your coding agent. Then open a KiCad project folder, or drop it on the window. No design yet? Start a new board (the app creates the KiCad project) or try a sample. The app re-checks every time you save in KiCad. You can view the board layer by layer, edit it Figma-style (move footprints, route tracks, place vias, measure, undo), and chat with Claude Code, Codex or OpenCode about the board you have open.

First-launch setup: a welcome step beside a sample keyboard board with problems fabready found on it The welcome screen: open a design, start a new board, or try one of three sample boards
First launch: install KiCad and pick your agentStart from your design, a new board or a sample

Command line:

bash
cargo install --path crates/fabready-cli
fabready check path/to/project

AI agents in their own terminal or editor: add fabready as an MCP server so your agent can check the board and apply fixes:

bash
claude mcp add fabready -- fabready mcp

Each board's settings (fab profile, limit overrides, power rails, waived findings) live in a fabready.json next to it. Edit them in the app's Settings tab or by hand.

Docs

Privacy

fabready runs entirely on your machine and makes no network requests itself. The app's Agent tab starts the coding agent you pick (Claude Code, Codex or OpenCode). That agent talks to its own AI provider, and on first use npx downloads its adapter from npm. Nothing is sent until you use the chat. If you click Install for KiCad in the app's setup, it runs Homebrew or winget, which download KiCad. fabready only writes:

  • fabready-out/ next to your board: reports, images, and backups made before automatic fixes
  • your .kicad_pcb, only when you or your agent apply an automatic fix, or you edit the board in the app
  • fabready.json next to your board, only when you change settings or waive a finding in the app
  • ~/.fabready/agent.json: the name of the last agent that connected over MCP, shown in the app

Disclaimer

fabready catches common mistakes, but it doesn't replace your fab's DRC, the parts' datasheets, or your own review. The fab profiles and part ratings are typical values and may be out of date. Always confirm with your manufacturer before ordering. KiCad, JLCPCB and other names are trademarks of their owners, and fabready isn't affiliated with them.

License

MIT. Third-party components and trademarks are listed in THIRD-PARTY-NOTICES.md.

Parts

22
QtyValueFootprintReferences
9SW_Pushfabready_samples:SW_MX_1uSW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9
81N4148WDiode_SMD:D_SOD-123D1, D2, D3, D4, D5, D6, D7, D8
2MountingHoleMountingHole:MountingHole_2.2mm_M2H1, H2
1Batteryfabready_samples:JST_PH_2pinJ1
1Powerfabready_samples:SW_Slide_SPDTSW10
1nice!nanofabready_samples:nice_nanoU1

More from restuindrawan/fabready

1
  • 2 layers60 × 40 mmSensor board, the printed circuit board in 3D

    Sensor board

    restuindrawan/fabready

    Pre-order checks for KiCad PCBs: desktop app, CLI and MCP server for AI agents

    13 partsMIT

Similar boards

  • 4 layers99 × 53.3 mmPSLab, the printed circuit board in 3D

    PSLab

    fossasia/pslab-hardware

    PSLab Hardware Design and Schematics https://pslab.io

    199 parts1.7kApache-2.0
  • 2 layers208.8 × 396.9 mmFerris, the printed circuit board in 3D

    Ferris

    pierrechevalier83/ferris

    A low profile split keyboard designed to satisfy one single use case elegantly

    145 parts1.3k
  • 2 layers285.5 × 95 mmReviung46 ver1 1, the printed circuit board in 3D

    Reviung46 ver1 1

    gtips/reviung

    The REVIUNG41 is 41-key column staggered keyboard.

    119 parts517MIT
  • 4 layers95.6 × 73.6 mmMathpad, the printed circuit board in 3D

    Mathpad

    Summa-Cogni/Mathpad

    A mathematical keypad for students and professionals

    93 parts243
  • 2 layers141.5 × 83 mmRolio, the printed circuit board in 3D

    Rolio

    MickiusMousius/Rolio46Keyboard

    A split wireless keyboard based on the Corne and Sofle

    110 parts236MIT
  • 6 layers160 × 100 mmAdrmu6layer, the printed circuit board in 3D

    Adrmu6layer

    marcoreps/ADRmu

    ADR1000 10V standard

    240 parts149
  • 2 layers99.1 × 90.7 mmBgkeeb, the printed circuit board in 3D

    Bgkeeb

    sadekbaroudi/bgkeeb

    This is a reversible 100mm x 100mm pcb with support for mx or choc switches (no hotswap), per key led, rotary encoders, and exposes the SDA/SCL/GND/VCC lines in the form of the pimoroni trackball pins (meaning you can…

    108 parts108
  • 2 layers229.8 × 102.6 mmBw2, the printed circuit board in 3D

    Bw2

    hazels-garage/bad-wings

    Bad Wings

    107 parts107CC-BY-SA-4.0

Questions

How big is the Macropad buggy PCB?

It measures 87 × 58 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Macropad buggy use?

22 parts, built around the 1N4148W. 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 Macropad buggy KiCad files?

From the restuindrawan/fabready repository on GitHub, at the commit this page was made from: the board is samples/macropad-buggy/macropad-buggy.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Macropad buggy 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).