/**
* /circuit-simulator — SEO landing page
* Target keywords: "circuit simulator", "online circuit simulator",
* "free circuit simulator", "browser circuit simulator"
*/
import React from 'react';
import { Link } from 'react-router-dom';
import { AppHeader } from '../components/layout/AppHeader';
import { useSEO } from '../utils/useSEO';
import { getSeoMeta } from '../seoRoutes';
import { trackClickCTA } from '../utils/analytics';
import './SEOPage.css';
const META = getSeoMeta('/circuit-simulator')!;
const FAQ_ITEMS = [
{
q: 'Is this circuit simulator really free?',
a: 'Yes. Velxio is fully free and open-source under the GNU AGPLv3 license. No account required, no cloud subscription, no paywalled components — every part of the simulator runs in your browser.',
},
{
q: 'What kind of analog simulation does Velxio use?',
a: 'Velxio runs ngspice — the open-source SPICE simulator used by professional EDA tools — compiled to WebAssembly via eecircuit-engine. Each tick performs a full Modified Nodal Analysis solve, so non-linear devices (diodes, BJTs, MOSFETs, op-amps with saturation) behave like real silicon, not idealised approximations.',
},
{
q: 'Can I connect a microcontroller to my circuit?',
a: 'Yes — and this is the unique feature. GPIO pins drive SPICE nets as voltage sources, and ADC inputs read the solved analog node voltages back into your firmware. You can build a PWM-driven RC filter, a transistor switch, an op-amp signal chain, or a MOSFET motor driver and watch the firmware and circuit interact in real time.',
},
{
q: 'What components are available?',
a: 'Resistors, capacitors, inductors, potentiometers, photoresistors (LDR), photodiodes, NTC thermistors, batteries (9V/AA/coin), 5 BJTs (2N2222, 2N3055, 2N3906, BC547, BC557), 4 MOSFETs (2N7000, IRF540, IRF9540, FQP27P06), 5 op-amps (LM358, LM741, TL072, LM324, ideal), 4 linear regulators (7805, 7812, 7905, LM317), Zener and Schottky diodes, optocouplers (4N25, PC817), relays, L293D dual H-bridge driver, and 7 logic gates plus 7 74HC-series ICs as DIP-14 packages.',
},
{
q: 'Does the simulator have an oscilloscope and voltmeter?',
a: 'Yes. Velxio includes a multi-channel oscilloscope, voltmeter, ammeter, and signal generator (sine, square, DC) as live instruments you can drop on the canvas. They probe any node or wire and update in real time as the simulation runs.',
},
{
q: 'Is this a Falstad / CircuitLab / Tinkercad alternative?',
a: 'For analog circuits, yes — and a more accurate one, since Velxio runs the real ngspice engine instead of a simplified solver. Unlike those tools, Velxio also runs the firmware on the microcontroller driving the circuit, so you can validate firmware + hardware together without leaving the browser.',
},
];
const JSON_LD: object[] = [
{
'@context': 'https://schema.org',
'@type': 'SoftwareApplication',
name: 'Velxio — Free Online Circuit Simulator',
applicationCategory: 'DeveloperApplication',
applicationSubCategory: 'Electronics Simulator',
operatingSystem: 'Any (browser-based)',
description:
'Free online circuit simulator with real-time SPICE analog simulation via ngspice-WASM. 100+ components co-simulated with Arduino, ESP32, RP2040, and ATtiny85 firmware. Live oscilloscope, voltmeter, ammeter.',
url: 'https://velxio.dev/circuit-simulator',
offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
author: { '@type': 'Person', name: 'David Montero Crespo' },
license: 'https://www.gnu.org/licenses/agpl-3.0.html',
},
{
'@context': 'https://schema.org',
'@type': 'FAQPage',
mainEntity: FAQ_ITEMS.map(({ q, a }) => ({
'@type': 'Question',
name: q,
acceptedAnswer: { '@type': 'Answer', text: a },
})),
},
{
'@context': 'https://schema.org',
'@type': 'BreadcrumbList',
itemListElement: [
{ '@type': 'ListItem', position: 1, name: 'Velxio', item: 'https://velxio.dev/' },
{
'@type': 'ListItem',
position: 2,
name: 'Circuit Simulator',
item: 'https://velxio.dev/circuit-simulator',
},
],
},
];
export const CircuitSimulatorPage: React.FC = () => {
useSEO({ ...META, jsonLd: JSON_LD });
return (
{/* Hero */}
Free Online Circuit Simulator
SPICE-accurate analog, in your browser
Drop resistors, capacitors, op-amps, transistors, and regulators on the canvas — every
part is solved by real ngspice running in WebAssembly. Wire it to Arduino, ESP32, or
Raspberry Pi Pico firmware and watch them co-simulate. Free, no install, no account.
trackClickCTA('circuit-simulator', '/editor')}
>
Open Circuit Simulator →
Browse 40+ Analog Examples
Free & open-source · Real ngspice engine · Runs 100% in your browser
{/* What */}
What can you simulate?
Velxio runs the real ngspice solver — the same engine professional EDA tools use — on
every tick. This is not a linear approximation. Diodes have proper forward drop, BJTs
cut off and saturate, op-amps hit their rails, regulators have dropout.
Passive networks
Voltage dividers, RC/RL/RLC filters, Wheatstone bridges, capacitor charging curves,
resonant tank circuits.
Diodes & rectifiers
Half-wave, full-wave bridge rectifiers, Zener regulators, voltage doublers,
clippers and clampers.
Transistor circuits
BJT common-emitter amplifiers, transistor switches, Darlington pairs, MOSFET drivers,
H-bridge motor drives, current mirrors.
Velxio uses ngspice-WASM via the
open-source eecircuit-engine. Every wire on the canvas becomes a SPICE net,
every component becomes a SPICE device card, and the solver runs full Modified Nodal
Analysis on each tick.
1. Wire
Drop components, drag wires. Velxio union-finds the wire graph into SPICE nets in
real time as you build.
2. Solve
ngspice solves the full circuit at ~60 Hz. Non-linear devices iterate to convergence
— no shortcuts, no idealisations.
3. Probe
Drop voltmeters, ammeters, or oscilloscope channels on any node. Live readings
update as the simulation runs.
{/* Co-simulation */}
The unique feature: hybrid digital + analog co-simulation
Most browser circuit simulators stop at passive analog. Velxio also runs the firmware on
the microcontroller driving the circuit — on the same clock.
GPIO drives the circuit
digitalWrite(HIGH) in your sketch sets a SPICE voltage source HIGH.
Drive a MOSFET gate, switch a relay, charge a capacitor through a resistor — all
from real firmware.
ADC reads the circuit
analogRead() returns the SPICE-solved voltage at the input node — after
the op-amp gain stage, after the divider, after the saturation. What you measure is
what the circuit produces.
Same canvas, same clock
Arduino + transistor + motor on the same board. ESP32 + photodiode + op-amp + ADC.
CH32V003 + Zener + LED. Validate firmware and hardware together before soldering.
{/* FAQ */}
Frequently Asked Questions
{FAQ_ITEMS.map(({ q, a }) => (
{q}
{a}
))}
{/* Bottom CTA */}
Ready to simulate your circuit?
Open the editor and drop your first SPICE component in seconds — zero setup.