> ## Documentation Index
> Fetch the complete documentation index at: https://docs.koppar.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# KiCad plugin

> Koppar inside KiCad's PCB editor: autoroute, place and finish the open board, ask about it, and design new boards as KiCad projects. KiCad 7 to 10.

Koppar for KiCad puts Koppar's router and board tools in KiCad's PCB editor. One toolbar button opens the Koppar window. Whatever a task changes comes back into your board as **one step on KiCad's undo stack**, so Ctrl+Z puts the board back exactly as it was.

![The Koppar window over KiCad's PCB editor, after Autoroute](https://mintcdn.com/koppar/liM7sDlc72LSQwhh/images/kicad-plugin/autoroute-applied.webp?fit=max\&auto=format\&n=liM7sDlc72LSQwhh\&q=85\&s=61fc0840e14fe0544d49be4132b1d405)

## Install

The plugin runs on KiCad 7, 8, 9 and 10, on Linux, macOS and Windows. It needs nothing else installed: it uses the Python and wxPython that come with KiCad.

**1. Download the plugin**

Get `koppar-kicad-0.1.0.zip` from [koppar.ai/koppar-kicad-plugin](https://koppar.ai/koppar-kicad-plugin/).

**2. Install it from KiCad**

In KiCad, open the **Plugin and Content Manager**, choose **Install from File...** and pick the zip.

**3. Restart the PCB editor**

The **Koppar** button is on the PCB editor's top toolbar, and under **Tools → External Plugins**.

## Add your API key

Autoroute works on small boards without an account. Larger boards, every other task and the assistant use your account's API key:

1. Make a key at [app.koppar.ai](https://app.koppar.ai) under **Settings → Design from your own AI agent**.
2. In the Koppar window, press **Add API key** in the header and paste it.

When the key is accepted, the header shows your account: its initial, a green dot and your email, next to the runs you have left. If you are logged in to the [Koppar CLI](https://docs.koppar.ai/agents/cli.md), the plugin uses that key until you enter one.

## Run a task

Save the board first: Koppar keeps its jobs in a `.koppar/` folder beside the board file. Then press **Koppar**.

1. **Pick a task** in the sidebar. Tasks marked with a key need an account.
2. **Choose the nets**: all nets, the ones not connected yet, the ones selected in the editor (parts, pads or tracks), or a list you pick. Every other option of the task is under **More options**.
3. **Run.** The board is sent as it is in the editor, unsaved edits included, with its `.kicad_pro` and `.kicad_dru`, so the router follows your design rules and net classes. You can close the window while it runs; the Koppar button brings the run back. Autoroute can be stopped.
4. **Read the result**: a headline, the numbers before and after, and the details. Nets and parts in the result are links that light the net up or zoom to the part on the board.
5. **Apply to board.** Copper tasks bring back the tracks, arcs, vias and pours of the nets they worked on. Placement tasks move the footprints that are not locked, then bring the copper. One Ctrl+Z undoes it.

| Group | Tasks | Comes back as |
| - | - | - |
| Route | Autoroute, route selected nets, finish open nets, repair broken connections, rip up routing | copper |
| Place | Auto-place, refine a dense placement | placement, then copper |
| Improve the copper | Fewer vias, tidy the copper, couple differential pairs, widen power nets, remove redundant vias, join pour islands, tie plane pads, clean up | copper |
| Check | Physics check (impedance, current, skew), net classes and pairs, why nets do not route | a report |

KiCad's own design-rule check, plots, 3D viewer and STEP export stay where they are, in KiCad.

> [!NOTE]
>
> Account tasks work on a copy of your board in your Koppar account. **Open in Koppar** in the header shows that copy in the app. Every run sends the board as it is in the editor first, so a task always works on what you see.

## Ask Koppar

Accounts with runs left get **Ask Koppar** at the top of the sidebar: a conversation about the board you have open. Ask why a net does not route, whether the board can have fewer vias, or what to change, and Koppar does the work with the same board tools. A change it makes waits for your **Apply to board**, like any other task.

![Ask Koppar in KiCad](https://mintcdn.com/koppar/liM7sDlc72LSQwhh/images/kicad-plugin/ask-koppar.webp?fit=max\&auto=format\&n=liM7sDlc72LSQwhh\&q=85\&s=af59568095d54825e73366b4beeb4404)

Messages to the assistant do not use runs. On Koppar's included plans a conversation has a message limit per project.

## A new board from a description

Ask Koppar can also design a **new** board. Describe what it must do (its function, the parts you have in mind, its interfaces, power and size) and Koppar designs it with the same pipeline as the [studio](https://docs.koppar.ai/quickstart.md): it researches the parts, writes and checks the schematic, then places and routes the board.

* A new design uses **one of your runs** and takes 10 to 40 minutes. Koppar starts one when you ask for a new board, not to change the one you have open.
* A card in the conversation follows the run, also after you close the window and open it again. **Follow in Koppar** opens the design in the app.
* When it is done, **Open in KiCad** asks where to put the project, unpacks it into a folder of its own and opens it in KiCad: schematic, board, project file and rules, the libraries the design uses, and the BOM.

![A new design opened in KiCad's schematic editor](https://mintcdn.com/koppar/liM7sDlc72LSQwhh/images/kicad-plugin/new-design.webp?fit=max\&auto=format\&n=liM7sDlc72LSQwhh\&q=85\&s=e774be1455fd4e27b7b42ec2a0e0e05e)

The board you have open is never touched by a new design. KiCad runs plugins like this one only in the PCB editor, so a new project opens in a KiCad window of its own rather than in the schematic editor of the project you are in.

## What is sent and kept

| What | Where |
| - | - |
| The board, its `.kicad_pro` and `.kicad_dru` | `tools.koppar.ai` for Autoroute without an account; `app.koppar.ai` for account tasks and the assistant |
| An Autoroute job without an account | deleted from the server after 24 hours |
| Account tasks | a copy of the board in your account, which you can open, keep or delete in the app |
| On your machine | `<project>/.koppar/` (job records, the board as sent and the results, with its own `.gitignore`), the new designs you open (in the folders you choose), and a settings file with your API key, readable only by you |

The settings file is `~/.config/koppar/kicad-plugin.json` on Linux, in `~/Library/Application Support/Koppar/` on macOS, and in `%APPDATA%\Koppar\` on Windows.

## KiCad versions

| KiCad | Tested |
| - | - |
| 10.0 | every task in the PCB editor, Apply and Undo |
| 9.0 | in the PCB editor: routing, Apply and Undo |
| 8.0 | in the PCB editor: routing, Apply and Undo |
| 7.0 | routing and placement on KiCad 7 boards, read back and checked by KiCad 7 |

Koppar writes results with KiCad 10, which KiCad 7, 8 and 9 cannot open. On those versions the plugin never hands the result to KiCad's file reader: it takes the result's copper into your board's own file, in that version's format, and reads placement from the result as text.

## Questions

> **I added my key but there is no Ask Koppar**
>
> The assistant is offered while your account has runs left. The header shows how many you have; when it says 0, the board tools still work and Ask Koppar comes back with your next runs.

> **Autoroute says the board needs an API key**
>
> A board past the free size runs only with an account: routing it takes minutes of server time. Add your key and run it again.

> **How do I undo what Koppar did?**
>
> Ctrl+Z, once. Applying a result is one step on KiCad's undo stack, whatever it changed.

> **Can it edit my schematic?**
>
> No. KiCad runs plugins like this one only in the PCB editor. The assistant works on the board; a new design comes back as a complete KiCad project of its own.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.