Get Started with IcarusPCB
From PCB design to working simulation in minutes. Professional tools for embedded systems engineers.
Create Your Account
Sign up for free — Google OAuth or email. No credit card required.
Create Account
Sign up for free at icaruspcb.com — Google OAuth or email.
Open Dashboard
Access your projects and simulation history.
Start Simulating
Upload a datasheet or describe your hardware to begin.
Free to start
No credit card required. Get started with free simulations and upgrade when you need more.
Install Your Tool
Choose your integration — VS Code, CLI, PlatformIO, Arduino IDE, or STM32CubeIDE.
Choose your preferred integration:
npm install -g icaruspcb-cli && icaruspcb login
Log in with your IcarusPCB account when prompted.
Upload Your Datasheets
Upload your MCU or sensor datasheets, or just describe your hardware setup.
- • Upload your MCU datasheet (PDF) — or just type the part number
- • Add sensor datasheets — the AI extracts register maps and I2C/SPI configs
- • Or describe your hardware in plain text — "STM32F407 with BME280 on I2C1"
icaruspcb init my-project --mcu STM32F407VG # Creates: # my-project/ # ├── icaruspcb.yaml ← project config # ├── firmware/ ← your code goes here # └── simulation/ ← generated in step 4
VS Code: Use the command palette
"IcarusPCB: New Project"AI Generates Your Simulation
Our AI reads your datasheets and generates register-accurate simulation files.
Our AI reads component datasheets and generates a complete virtual simulation — register-accurate hardware models built automatically from manufacturer documentation.
icaruspcb generate # ✓ Reading icaruspcb.yaml # ✓ Analyzing STM32F407VG datasheet # ✓ Building register-accurate MCU model # ✓ Generating BME280 sensor model (I2C @ 0x76) # ✓ Generating MPU6050 sensor model (I2C @ 0x68) # ✓ Writing simulation/platform.sim # ✓ Writing simulation/scenario.sim # # Simulation ready. Run: icaruspcb simulate
AI-Powered Models
IcarusPCB creates register-accurate hardware models directly from datasheets. Every peripheral, every register, every timing constraint — modeled automatically.
Run Simulation
Execute your firmware against the virtual hardware and see real output.
Execute your firmware against the virtual hardware and see real output — UART logs, GPIO states, sensor readings, and pass/fail results.
icaruspcb simulate --firmware build/main.elf
[00:00.000] System boot — IcarusPCB Simulation [00:00.012] Initializing I2C1... OK [00:00.015] BME280 detected at 0x76 [00:00.018] MPU6050 detected at 0x68 [00:00.025] Starting sensor read loop [00:01.000] BME280 → T: 22.50°C H: 45.0% P: 1013.25 hPa [00:01.002] MPU6050 → AX: 0.00 AY: 0.00 AZ: 9.81 m/s² [00:02.000] BME280 → T: 22.51°C H: 44.9% P: 1013.24 hPa [00:02.002] MPU6050 → AX: 0.01 AY: -0.02 AZ: 9.80 m/s² ───────────────────────────────────────── ✅ PASS — All sensors responding, no faults GPIO: PA5=HIGH (LED on), PB0=LOW UART2: 8 lines output, 0 errors Duration: 2.004s simulated
Iterate
Fix bugs, re-simulate instantly, and integrate into your CI/CD pipeline.
- • Fix bugs in firmware, re-simulate instantly
- • No waiting for hardware, no soldering, no shipping delays
- • Integrate into CI/CD for automated testing on every commit
# CI/CD Integration — GitHub Actions example
name: Firmware Tests
on: [push, pull_request]
jobs:
simulate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm install -g icaruspcb-cli
- run: icaruspcb login --key ${{ secrets.ICARUS_API_KEY }}
- run: icaruspcb generate
- run: icaruspcb simulate --firmware build/main.elf --ciInstant Feedback
Edit → simulate → see results in seconds.
No Hardware Needed
Iterate on firmware without physical boards.
Ship Faster
Catch bugs before they reach real silicon.
Start Building Simulations
Join embedded systems engineers using IcarusPCB for professional simulation workflows. Generate your first simulation today.