Skip to the content
PCBKitNew board
2 layers40 × 30 mmTest board, the printed circuit board in 3D

LLM-Powered Electronic Design Automation Platform for PCB Design

Size
40 × 30 mm
Copper layers
2
Thickness
1.6 mm
Parts
4
Nets
4
Pads
14
Tracks, vias
4, 1
Routed
Yes
KiCad
KiCad 8 (file 20240108)
Created
27 Mar 2026
Updated
7 Apr 2026

Overview

Test board is an open-source printed circuit board by Guiimartinho, from the Guiimartinho/routeai repository on GitHub. It is a 2-layer board of 40 × 30 mm with 4 parts on 4 nets, routed with 4 tracks and 1 via.

It is built around the ATTINY85-15M. Its parts include 2 resistors, 1 capacitor and 1 IC. It belongs with the AVR (ATmega, ATtiny) boards of this library.

Main components

1

README

README.md

RouteAI

RouteAI

LLM-Powered Electronic Design Automation Platform for PCB Design

Download & Install | Features | Architecture | Getting Started | Development | Deployment | License

Python 3.11+ Go 1.22 C++17 React 18 MIT License Download


Overview

RouteAI is an intelligent EDA platform that combines large language models with deterministic solvers to automate and assist PCB (Printed Circuit Board) design workflows. It bridges the gap between human design intent and physical constraints by using LLMs for natural language understanding and expert-grade analysis, while relying on formal solvers for all geometric, electrical, and manufacturing computations.

Key Principle: LLMs handle intent interpretation and design review. Deterministic solvers handle all mathematical operations — coordinates, clearances, impedances, and routing are never generated by AI.


Download & Install

Windows (5 minutes)

Step 1 — Download the installer

Go to https://github.com/Guiimartinho/routeai/releases and download RouteAI-EDA-Setup-x.x.x.exe.

Step 2 — Run the installer

Double-click the .exe. The installer will:

  • Install RouteAI EDA to C:\Program Files\RouteAI EDA\
  • Create Desktop and Start Menu shortcuts
  • Optionally open the Ollama download page
  • Optionally add RouteAI to your PATH

Step 3 — Install Ollama (required for AI features)

  1. Download from ollama.com/download
  2. Run the Ollama installer (next, next, finish)
  3. Open a terminal (PowerShell or CMD) and run:
powershell
ollama pull qwen2.5:7b

This downloads the AI model (~5GB). Only needed once.

Step 4 — Open RouteAI

Click the "RouteAI EDA" shortcut on your Desktop. Done.

Or use the one-line installer (PowerShell, admin):

powershell
irm https://raw.githubusercontent.com/Guiimartinho/routeai/main/scripts/install-windows.ps1 | iex

Linux (5 minutes)

Option A — One-line install (Ubuntu/Debian)

bash
curl -fsSL https://raw.githubusercontent.com/Guiimartinho/routeai/main/scripts/install-linux.sh | bash

This automatically: downloads the .deb, installs it, installs Ollama, pulls the AI model, and launches RouteAI.

Option B — Manual install

bash
# 1. Download the package from GitHub Releases
wget https://github.com/Guiimartinho/routeai/releases/latest/download/RouteAI-EDA-amd64.deb

# 2. Install
sudo dpkg -i RouteAI-EDA-amd64.deb

# 3. Install Ollama
curl -fsSL https://ollama.ai/install.sh | sh

# 4. Pull the AI model
ollama pull qwen2.5:7b

# 5. Launch
routeai-eda

Option C — AppImage (any distro)

bash
wget https://github.com/Guiimartinho/routeai/releases/latest/download/RouteAI-EDA-x86_64.AppImage
chmod +x RouteAI-EDA-x86_64.AppImage
./RouteAI-EDA-x86_64.AppImage

What you need vs. what's included

ComponentIncluded in installer?You need to install?
RouteAI Desktop AppYesNo
Go API BackendYes (bundled)No
React FrontendYes (bundled)No
Node.js RuntimeYes (Electron)No
OllamaNoYes (for AI features)
AI Model (qwen2.5:7b)NoYes (ollama pull qwen2.5:7b)
Python ML ServiceNoOptional (advanced AI analysis)
NVIDIA GPU DriversNoRecommended (faster AI)

GPU Recommendations

GPUVRAMAI Performance
RTX 3050/40506-8 GBBasic — chat + validation
RTX 3060/4060/407010-12 GBGood — full analysis
RTX 4080/409016-24 GBExcellent — all features
No GPU (CPU only)—Works but slow

From Source (Development)

bash
git clone https://github.com/Guiimartinho/routeai.git
cd routeai
./scripts/setup-dev.sh

This installs all dependencies (Python, Node, Go, Ollama) and starts all services. See Getting Started for details.


Features

Design Analysis & Review

  • AI-Powered Design Review — Automated PCB analysis with actionable recommendations following IPC standards
  • 3-Gate Validation Pipeline — Schema validation, confidence scoring, and citation checking for all LLM outputs
  • Schematic Review — Circuit topology analysis, component selection validation, and net connectivity checks

Multi-Format Support

  • KiCad — Full import/export for .kicad_pcb and .kicad_sch files
  • Eagle — Full import/export for .brd and .sch files
  • Gerber/Excellon — Manufacturing output generation

Routing Engine

  • A* Pathfinding — Heuristic-based trace routing
  • Lee Router — Breadth-first search for guaranteed completion
  • Differential Pair Routing — Matched impedance pair routing
  • Length Matching — Trace equalization for high-speed buses
  • Rip-up and Reroute — Iterative optimization for congested boards
  • Global Routing — Multi-net simultaneous routing

Signal & Power Integrity

  • Impedance Calculation — Microstrip, stripline, and coplanar waveguide
  • Crosstalk Analysis — Near-end and far-end coupling estimation
  • Thermal Simulation — Component and copper thermal analysis
  • IR Drop Analysis — Power distribution network verification
  • Return Path Analysis — Signal integrity validation

Manufacturing

  • DRC Engine — 50+ design rule checks (geometric, electrical, manufacturing)
  • IPC Compliance — Automated IPC-2221/IPC-7351 verification
  • DFM Analysis — Design-for-manufacturing validation
  • BOM Export — Bill of materials generation
  • Gerber Generation — Production-ready output files
  • Pick & Place — Assembly data export

Component Intelligence

  • Unified Component Search — Cross-source search across KiCad, Eagle, SnapEDA, LCSC, and EasyEDA libraries
  • RAG Pipeline — Retrieval-augmented generation from IPC standards, datasheets, and design guidelines
  • 17,000+ Indexed Components — Pre-built component library with symbols and footprints

Collaboration & Integration

  • Real-Time Collaboration — WebSocket-based multi-user editing
  • KiCad Plugin — Direct integration with KiCad 8 PCB editor
  • Version Control — Built-in Git support for design versioning
  • Air-Gapped Mode — Fully offline deployment with local LLM (Ollama)

Architecture

text
┌─────────────────────────────────────────────────────────────────────┐
│                         Client Layer                                │
│  ┌──────────┐  ┌──────────────┐  ┌───────────┐  ┌──────────────┐  │
│  │ Web App  │  │ Desktop App  │  │    CLI    │  │ KiCad Plugin │  │
│  │ (React)  │  │ (Electron)   │  │ (Python)  │  │  (Python)    │  │
│  └────┬─────┘  └──────┬───────┘  └─────┬─────┘  └──────┬───────┘  │
└───────┼────────────────┼────────────────┼───────────────┼──────────┘
        │                │                │               │
        └────────────────┴───────┬────────┴───────────────┘
                                 │ REST / WebSocket
┌────────────────────────────────┼───────────────────────────────────┐
│                         API Gateway (Go/Gin)                       │
│                         Port 8080                                  │
│  ┌──────────┐  ┌───────────┐  ┌───────────┐  ┌────────────────┐  │
│  │   Auth   │  │  Projects │  │ WebSocket │  │  Rate Limiter  │  │
│  │  (JWT)   │  │  Manager  │  │    Hub    │  │   Middleware   │  │
│  └──────────┘  └───────────┘  └───────────┘  └────────────────┘  │
└──────────┬──────────────────────────┬─────────────────────────────┘
           │                          │
     ┌─────┴─────┐             ┌──────┴──────┐
     │ ML Service │             │   Router    │
     │ (FastAPI)  │             │   (gRPC)    │
     │ Port 8001  │             │ Port 50051  │
     └─────┬──────┘             └──────┬──────┘

Tech Stack

LayerTechnologyPurpose
FrontendReact 18 + TypeScript + ViteWeb application
DesktopElectron 33Cross-platform desktop app
3D RenderingThree.js + React Three FiberPCB visualization
State ManagementZustandClient-side state
API GatewayGo 1.22 + GinHTTP/WebSocket gateway
ML ServicePython 3.11 + FastAPILLM orchestration
LLM FrameworkLangChain + Anthropic SDKAI agent pipeline
Routing EngineC++17 + gRPC + ProtobufHigh-performance routing
Constraint SolverZ3Formal verification
DatabasePostgreSQL 16 + PostGIS + pgvectorSpatial data + embeddings
CacheRedis 7Session and rate limiting
Object StorageMinIODesign file storage
CI/CDGitHub ActionsAutomated testing
MonitoringPrometheus + GrafanaObservability

Project Structure

text
routeai/
├── packages/
│   ├── core/              # Unified PCB data model (Pydantic v2)
│   ├── parsers/           # KiCad/Eagle file parsers and exporters
│   ├── intelligence/      # LLM agents, RAG pipeline, validation
│   ├── solver/            # DRC engine, SI/PI analysis, Z3 constraints
│   ├── api/               # Go API gateway (Gin + JWT + WebSocket)
│   ├── router/            # C++17 routing engine (A*, Lee, diff pair)
│   ├── web/               # React frontend (Three.js, Zustand)
│   ├── cli/               # Command-line interface (Click + Rich)
│   └── kicad-plugin/      # KiCad 8 editor integration
├── app/                   # Electron desktop application
├── infrastructure/
│   ├── docker/            # Dockerfiles for all services
│   ├── k8s/               # Kubernetes manifests
│   ├── monitoring/        # Prometheus + Grafana configs
│   └── air-gapped/        # Offline deployment setup
├── scripts/               # Setup, seeding, and benchmark scripts
├── data/
│   ├── component_library/ # Pre-indexed KiCad component data
│   ├── ipc_standards/     # IPC reference documents
│   ├── benchmarks/        # Performance test data
│   └── reference_designs/ # Sample PCB designs
├── .github/workflows/     # CI/CD pipeline

Getting Started

Prerequisites

  • Python 3.11+ with Poetry
  • Go 1.22+
  • Node.js 18+ with npm
  • Docker and Docker Compose
  • CMake 3.20+ and Conan (for C++ routing engine)

GPU Requirements

RouteAI runs LLM inference locally via Ollama. No cloud APIs required.

GPUVRAMT3 (Chat/Validation)T2 (Analysis/DSL)T1 (Deep Review)
RTX 3050/40506-8 GBPhi-3.5 (3.8B)Qwen2.5 (7B)Decomposed
RTX 3060/4060/407010-12 GBQwen2.5 (7B)Qwen2.5-Coder (14B)Decomposed
RTX 4060 Ti/408016 GBQwen2.5 (7B)Qwen2.5-Coder (14B)Decomposed
RTX 409024 GBQwen2.5 (7B)Qwen2.5 (32B)Direct

Run the setup script to auto-detect your GPU and pull the right models:

bash
./scripts/setup_ollama.sh

Quick Start

  1. Clone the repository
bash
git clone git@github.com:Guiimartinho/routeai.git
cd routeai
  1. Start infrastructure services
bash
make dev

This starts PostgreSQL (port 5432), Redis (port 6379), and MinIO (ports 9000/9001).

  1. Install Python packages
bash
for pkg in core parsers solver intelligence cli; do
  cd packages/$pkg && poetry install && cd ../..
done
  1. Build and run the API gateway
bash
cd packages/api
go build -o routeai-api .
./routeai-api

The API will be available at http://localhost:8080.

  1. Start the ML service
bash
cd packages/intelligence
poetry run uvicorn routeai_intelligence.ml_service:app --host 0.0.0.0 --port 8001
  1. Start the web frontend
bash
cd packages/web
npm install
npm run dev

The web app will be available at http://localhost:5173.

Environment Variables

Create a .env file in the project root:

env
# Database
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_USER=routeai
POSTGRES_PASSWORD=routeai_dev
POSTGRES_DB=routeai

# Storage
MINIO_ENDPOINT=localhost:9000
MINIO_ACCESS_KEY=minioadmin
MINIO_SECRET_KEY=minioadmin

# LLM Provider (local Ollama — run ./scripts/setup_ollama.sh first)
OLLAMA_BASE_URL=http://localhost:11434

# JWT
JWT_SECRET=your-jwt-secret

Development

Commands

bash
make dev              # Start development infrastructure
make dev-down         # Stop infrastructure services
make test             # Run all package tests
make test-core        # Test core package
make test-parsers     # Test parsers package
make test-intelligence# Test intelligence package
make test-solver      # Test solver package
make test-cli         # Test CLI package
make test-cov         # Run tests with coverage
make lint             # Run ruff + mypy on all packages
make lint-fix         # Auto-fix linting issues
make format           # Format code with ruff
make benchmark        # Run performance benchmarks
make clean            # Remove build artifacts

Code Quality

ToolPurposeConfig
RuffLinting + formattingruff.toml
MyPyStatic type checking (strict)mypy.ini
PytestUnit and integration testsPer-package pyproject.toml
Google TestC++ unit testspackages/router/CMakeLists.txt

Coverage Targets

PackageTarget
core80%
parsers80%
solver70%
intelligence60%
cli80%

Building the C++ Router

bash
cd packages/router
mkdir build && cd build
conan install .. --build=missing
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build . -j$(nproc)

Building the Desktop App

bash
cd app
npm install
npm run electron:build          # All platforms
npm run electron:build:win      # Windows
npm run electron:build:linux    # Linux

Building Installers

bash
# Build Windows installer (.exe)
./scripts/build-installer.sh windows

# Build Linux packages (AppImage + .deb)
./scripts/build-installer.sh linux

# Build all platforms
./scripts/build-installer.sh all

Output files are in app/release/.


Deployment

Docker Compose (Production)

bash
docker-compose -f docker-compose.prod.yml up -d

Kubernetes

bash
kubectl apply -f infrastructure/k8s/namespace.yaml
kubectl apply -f infrastructure/k8s/

Air-Gapped (Offline)

For secure environments without internet access:

bash
cd infrastructure/air-gapped
docker-compose -f docker-compose.airgap.yml up -d

This deployment uses local Ollama models (Mistral, LLaMA 3.1) instead of cloud APIs.


API Reference

The API gateway exposes the following endpoint groups:

EndpointMethodDescription
/api/v1/auth/*POSTAuthentication (register, login, SSO)
/api/v1/projects/*CRUDProject management
/api/v1/reviews/*POST/GETDesign review operations
/api/v1/board/*GET/POSTBoard data and component queries
/api/v1/chatPOSTLLM chat interface
/api/v1/tools/*POSTDRC, routing, placement tools
/api/v1/workflow/*POST/GETMulti-step analysis workflows
/wsWebSocketReal-time collaboration
/healthGETService health check

Screenshots

PCB Viewer Design Review

3D Board View Routing Analysis


Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/your-feature)
  3. Ensure tests pass (make test)
  4. Ensure linting passes (make lint)
  5. Submit a pull request

All new code must include tests and maintain the established coverage targets.


License

This project is licensed under the MIT License. See individual package files for details.


RouteAI — Intelligent PCB Design, Powered by AI.

Parts

4
QtyValueFootprintReferences
24.7kResistor_SMD:R_0402_1005MetricR1, R2
1100nFCapacitor_SMD:C_0402_1005MetricC1
1ATtiny85Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU1

Questions

How big is the Test board PCB?

It measures 40 × 30 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Test board use?

4 parts, built around the ATTINY85-15M. 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 Test board KiCad files?

From the Guiimartinho/routeai repository on GitHub, at the commit this page was made from: the board is data/reference_designs/test_board/test.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Test board design in my own project?

Its repository states no licence, so its author keeps all rights: ask Guiimartinho before reusing the design.

Similar boards

  • 2 layers50 × 50 mmT85-with driver and poe, the printed circuit board in 3D

    T85-with driver and poe

    cnlohr/ethertiny

    A firmware-only half-duplex 10Base-T implementation for AVRs

    41 parts133
  • 2 layers23 × 45 mmCell monitor, the printed circuit board in 3D

    Cell monitor

    scttnlsn/cell-monitor

    Battery cell monitor and balancer

    13 parts39MIT
  • 2 layers41.1 × 110.7 mmJNTUB, the printed circuit board in 3D

    JNTUB

    joyfulnoisesynth/JNTUB

    JoyfulNoise Tiny Utility Board

    84 parts26
  • 2 layersCastVolumeKnob, the printed circuit board in 3D

    CastVolumeKnob

    WebmasterTD/CastVolumeKnob

    Hardware Volume Knob for Google Cast devices

    18 parts25
  • 2 layers78.3 × 78.5 mm50x70 tiny, the printed circuit board in 3D

    50x70 tiny

    rallekralle11/Tinyreflow

    Inspired by afterearthltd's reflow plate, but using fewer and simpler components.

    23 parts10
  • 2 layersMIDIMonkey, the printed circuit board in 3D

    MIDIMonkey

    aleh/MIDIMonkey

    Listens to MIDI messages on one pin and triggers drums on the others

    8 parts9MIT
  • 2 layers46.9 × 41.4 mmGR PW Noise, the printed circuit board in 3D

    GR PW Noise

    GadgetReboot/White_Pink_Noise

    White noise and pink noise PCB

    40 parts7
  • 2 layers50.2 × 31.1 mmTV B Gone ML v1 2, the printed circuit board in 3D

    TV B Gone ML v1 2

    curiouselectric/TVBGone

    TV-B-Gone Design Files

    25 parts6MIT