# pcb-rnd - user manual

## 1. Introduction

pcb-rnd is a highly modular, interactive Printed Circuit Board editor with a very long history .

### 1.1. Place in the workflow

The main purpose of pcb-rnd is to edit the geometry of the board. This includes board shape, copper shape, layer stackup, holes drilled, slots routed.

The input of the layout process is usually a netlist derived from schematics, and occasionally layouts drawn from scratch or created from schematic without importable netlist. Pcb-rnd can read different netlist formats and it can help the user to realize the given netlist in copper or to change the netlist and back annotate the changes. Pcb-rnd, however, does not display or edit schematics directly.

The output of pcb-rnd is most often a vector format (e.g. gerber RS274D), that is sent to a pcb fab house for manufacturing or is utilized for auto-fabrication. Pcb-rnd supports a variety of vector and raster output formats making it easy to print boards, publish them on web pages, and include them in documentation.

The typical workflows are:

Black flows are the most commonly used; grey flows are possible, fully supported but less often used in practice.

### 1.2. What pcb-rnd is and is not

Pcb-rnd is a versatile tool for PCB layout design. It is geared to be a tool for users with the UNIX mind set:

- it is small, easy to compile and run, has low resource footprint
- it is modular - most features are in plugins, the user can chose which plugins to use
- it is portable - also runs on systems that are not hyped today
- it works well from both CLI (automation, e.g. called from a Makefile or even using with an interactive action command shell) and GUI
- it is designed to communicate with other software:
  - it is easy to remote control
  - it speaks many file formats
- it doesn't outsmart the user, it doesn't block the user from doing unusual things; it has support for checking the result and generate warnings

There are a few things that are out of scope for pcb-rnd:

- 3d editing: pcb-rnd is 2.5d, that means it's basically 2d and understands the 3rd dimension partially; it does load, handle and export 3d data (e.g. subcircuit part models for an openscad export) but it does not edit 3d data
- embedded <whatever-non-pcb-editing>: as a UNIX tool, pcb-rnd focuses on one thing, pcb edition, and relies on (and maintains close cooperation with) other tools for:
  - circuit schematics edition
  - 3d rendering
  - simulation
- autorouting - there's a basic built-in autorouter, but it's recommended to use external autorouters (various file formats are supported)