SEO improvements

This commit is contained in:
David Montero 2026-04-29 15:28:31 +02:00 committed by David Montero Crespo
parent bcc7129aa3
commit 2dd152e383
10 changed files with 1691 additions and 221 deletions

View File

@ -8,9 +8,9 @@
PRIMARY SEO
Replace https://velxio.dev with your real domain
═══════════════════════════════════════════════ -->
<title>Velxio — Free Multi-Board Emulator | Arduino · ESP32 · RP2040 · RISC-V · Raspberry Pi</title>
<meta name="description" content="Velxio is a free, open-source multi-board emulator running in your browser. 19 boards across 5 CPU architectures: Arduino Uno/Nano/Mega (AVR8), ESP32 / ESP32-S3 (Xtensa QEMU), ESP32-C3 / CH32V003 (RISC-V), Raspberry Pi Pico (RP2040), and Raspberry Pi 3 (Linux ARM). 48+ components, Monaco Editor, Serial Monitor — no cloud, no account." />
<meta name="keywords" content="arduino emulator, arduino simulator, arduino simulator free, avr8 emulator, avr simulator, atmega328p simulator, atmega2560 simulator, attiny85 simulator, arduino uno simulator, arduino mega simulator, arduino nano simulator, rp2040 emulator, raspberry pi pico simulator, esp32 emulator, esp32 simulator, esp32-c3 simulator, esp32-s3 emulator, risc-v simulator, ch32v003, raspberry pi 3 emulator, wokwi alternative, arduino ide browser, arduino online, electronics simulator, velxio" />
<title>Velxio — Free Online Circuit & Arduino Simulator | SPICE · ESP32 · RP2040 · ATtiny85 · Custom Chips</title>
<meta name="description" content="Velxio is a free, open-source circuit and microcontroller simulator running in your browser. Real-time SPICE analog simulation (ngspice-WASM) wired to 19 boards: Arduino Uno/Nano/Mega/ATtiny85 (AVR8), ESP32 / ESP32-S3 (Xtensa QEMU), ESP32-C3 / CH32V003 (RISC-V), Raspberry Pi Pico (RP2040), Raspberry Pi 3 (Linux ARM). 100+ components, custom chips in C/Rust, oscilloscope, voltmeter, ammeter — no cloud, no account." />
<meta name="keywords" content="circuit simulator, online circuit simulator, free circuit simulator, electronics simulator, spice simulator online, ngspice browser, analog circuit simulator, arduino simulator, arduino emulator, arduino simulator free, avr8 emulator, avr simulator, atmega328p simulator, atmega2560 simulator, attiny85 simulator, attiny85 emulator, arduino uno simulator, arduino mega simulator, arduino nano simulator, custom chip simulator, custom chip arduino, rp2040 emulator, raspberry pi pico simulator, esp32 emulator, esp32 simulator, esp32-c3 simulator, esp32-s3 emulator, risc-v simulator, ch32v003, raspberry pi 3 emulator, wokwi alternative, falstad alternative, tinkercad alternative, arduino ide browser, arduino online, online breadboard, virtual breadboard, oscilloscope simulator, op-amp simulator, transistor simulator, simulador arduino, simulador de circuitos, simulador electronico, velxio" />
<meta name="author" content="David Montero Crespo" />
<meta name="robots" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1" />
<!-- canonical is set dynamically per-route by the useSEO hook -->
@ -36,14 +36,14 @@
═══════════════════════════════════════════════ -->
<meta property="og:type" content="website" />
<meta property="og:site_name" content="Velxio" />
<meta property="og:title" content="Velxio — Free Multi-Board Emulator | Arduino · ESP32 · RP2040 · RISC-V" />
<meta property="og:description" content="Simulate 19 boards in your browser for free: Arduino Uno/Nano/Mega, ESP32 / ESP32-S3 (Xtensa), ESP32-C3 / CH32V003 (RISC-V), Raspberry Pi Pico (RP2040), and Raspberry Pi 3 Linux. 48+ components, real CPU emulation, no cloud." />
<meta property="og:title" content="Velxio — Free Circuit & Arduino Simulator | SPICE Analog · ESP32 · RP2040 · Custom Chips" />
<meta property="og:description" content="Hybrid digital + analog circuit simulator in your browser. SPICE-accurate analog (ngspice-WASM) wired to 19 boards: Arduino Uno/Nano/Mega/ATtiny85, ESP32, RP2040, RISC-V, Raspberry Pi 3 Linux. Build custom chips in C/Rust. 100+ components, oscilloscope, voltmeter — no cloud." />
<meta property="og:url" content="https://velxio.dev/" />
<meta property="og:image" content="https://velxio.dev/og-image.png" />
<meta property="og:image:type" content="image/png" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta property="og:image:alt" content="Velxio Arduino Emulator — Real AVR8, 48+ Components, Monaco Editor" />
<meta property="og:image:alt" content="Velxio — Free Online Circuit + Arduino Simulator with SPICE Analog, Custom Chips, ESP32, ATtiny85" />
<meta property="og:locale" content="en_US" />
<!-- ═══════════════════════════════════════════════
@ -52,10 +52,10 @@
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@velxio_app" />
<meta name="twitter:creator" content="@velxio_app" />
<meta name="twitter:title" content="Velxio — Free Multi-Board Emulator | Arduino · ESP32 · RP2040 · RISC-V" />
<meta name="twitter:description" content="Simulate 19 boards in your browser: Arduino Uno/Mega, ESP32/ESP32-S3 (QEMU), ESP32-C3/CH32V003 (RISC-V), Raspberry Pi Pico, Raspberry Pi 3 Linux. 48+ components, free &amp; open-source." />
<meta name="twitter:title" content="Velxio — Free Circuit & Arduino Simulator | SPICE · ESP32 · RP2040 · Custom Chips" />
<meta name="twitter:description" content="Hybrid digital + analog circuit simulator in your browser. SPICE-accurate analog (ngspice-WASM) co-simulated with Arduino, ESP32, RP2040, ATtiny85. Build custom chips in C/Rust. 100+ components — free, no cloud." />
<meta name="twitter:image" content="https://velxio.dev/og-image.png" />
<meta name="twitter:image:alt" content="Velxio Arduino Emulator — Real AVR8, 48+ Components, Monaco Editor" />
<meta name="twitter:image:alt" content="Velxio — Free Online Circuit + Arduino Simulator with SPICE Analog, Custom Chips, ESP32, ATtiny85" />
<!-- ═══════════════════════════════════════════════
THEME & APP
@ -104,7 +104,7 @@
"@id": "https://velxio.dev/#website",
"url": "https://velxio.dev/",
"name": "Velxio",
"description": "Free local Arduino emulator with real AVR8 CPU emulation.",
"description": "Free open-source circuit and microcontroller simulator. SPICE-accurate analog co-simulation wired to Arduino, ESP32, RP2040, ATtiny85, and Raspberry Pi 3 — all running in the browser.",
"inLanguage": "en-US",
"potentialAction": {
"@type": "SearchAction",
@ -119,8 +119,8 @@
"@type": "SoftwareApplication",
"@id": "https://velxio.dev/#app",
"name": "Velxio",
"alternateName": ["Velxio Arduino Emulator", "Velxio AVR Simulator", "Velxio ESP32 Emulator", "Velxio Multi-Board Simulator"],
"description": "Free, open-source multi-board emulator running entirely in the browser. 19 boards across 5 CPU architectures: ATmega328p/2560/ATtiny85 (AVR8 via avr8js), RP2040 ARM Cortex-M0+ (rp2040js), ESP32-C3/CH32V003 RISC-V RV32IMC (browser), ESP32/ESP32-S3 Xtensa LX6/LX7 (QEMU), and Raspberry Pi 3B ARM Cortex-A53 (QEMU Linux). Features 48+ interactive electronic components, Monaco Editor, Serial Monitor, arduino-cli compilation, and Library Manager.",
"alternateName": ["Velxio Circuit Simulator", "Velxio Arduino Simulator", "Velxio SPICE Simulator", "Velxio Online Electronics Simulator", "Velxio Multi-Board Emulator"],
"description": "Free, open-source online circuit and microcontroller simulator running entirely in the browser. Real-time SPICE analog co-simulation via ngspice-WASM (resistors, capacitors, op-amps, transistors, diodes, voltage regulators) wired to 19 boards across 5 CPU architectures: ATmega328p/2560/ATtiny85 (AVR8 via avr8js), RP2040 ARM Cortex-M0+ (rp2040js), ESP32-C3/CH32V003 RISC-V RV32IMC (browser), ESP32/ESP32-S3 Xtensa LX6/LX7 (QEMU), and Raspberry Pi 3B ARM Cortex-A53 (QEMU Linux). Build custom chips in C/Rust/AssemblyScript via the Wokwi Custom Chips API. Includes live oscilloscope, voltmeter, ammeter, signal generator, 100+ interactive electronic components, Monaco Editor, Serial Monitor, arduino-cli compilation, and Library Manager.",
"url": "https://velxio.dev/",
"applicationCategory": "DeveloperApplication",
"applicationSubCategory": "Electronics Simulator",
@ -135,12 +135,17 @@
"availability": "https://schema.org/InStock"
},
"featureList": [
"Real-time SPICE analog circuit simulation via ngspice-WASM — Modified Nodal Analysis at ~60 Hz, not a linear approximation",
"Hybrid digital + analog co-simulation: GPIO drives SPICE nets, ADC reads solved node voltages back into firmware",
"100+ SPICE-accurate components: resistors, capacitors, inductors, BJTs (2N2222/3055/3906/BC547/BC557), MOSFETs (2N7000/IRF540/IRF9540), op-amps (LM358/741/TL072/LM324), regulators (7805/7812/LM317), Zener/Schottky diodes",
"Custom chips in C, Rust, and AssemblyScript (Wokwi Custom Chips API + WASI shim) — define your own ICs and reuse them across projects",
"Real AVR8 emulation: Arduino Uno (ATmega328p), Nano, Mega 2560 (ATmega2560), ATtiny85, Leonardo (ATmega32u4), Pro Mini at 16 MHz",
"RP2040 emulation: Raspberry Pi Pico and Pico W (ARM Cortex-M0+ at 133 MHz via rp2040js)",
"RISC-V emulation: ESP32-C3 DevKit, XIAO ESP32-C3, ESP32-C3 SuperMini, CH32V003 (RV32IMC/RV32EC browser-native)",
"ESP32 / ESP32-S3 / ESP32-CAM / Nano ESP32 emulation (Xtensa LX6/LX7 via QEMU)",
"Raspberry Pi 3B emulation: full ARM Cortex-A53 Linux (Raspberry Pi OS via QEMU raspi3b)",
"48+ electronic web components: LEDs, resistors, servos, sensors, TFT displays, NeoPixel, LCD",
"Live instruments: oscilloscope (multi-channel), voltmeter, ammeter, signal generator (sine/square/DC)",
"48+ wokwi visual components: LEDs, servos, ultrasonic sensors, TFT displays, NeoPixel, LCD, keypads",
"Monaco Code Editor with C++ / Python syntax highlighting and autocomplete",
"arduino-cli compilation backend — produces real .hex / .bin / .uf2 files",
"Serial Monitor with auto baud-rate detection and send",
@ -149,7 +154,7 @@
"Wire system with orthogonal routing and 8 signal-type colors",
"ILI9341 TFT display simulation",
"I2C, SPI, USART, ADC, PWM support across all emulated boards",
"Multi-board canvas: mix Arduino + ESP32 + Raspberry Pi on the same simulation"
"Multi-board canvas: mix Arduino + ESP32 + Raspberry Pi + analog circuits on the same simulation"
],
"screenshot": "https://velxio.dev/og-image.png",
"downloadUrl": "https://hub.docker.com/r/davidmonterocrespo24/velxio",
@ -167,15 +172,15 @@
"name": "David Montero Crespo",
"url": "https://github.com/davidmonterocrespo24"
},
"keywords": "arduino emulator, arduino simulator, avr8 simulator, atmega328p emulator, atmega2560, attiny85, esp32 emulator, esp32 simulator, esp32-c3 simulator, esp32-s3 emulator, rp2040 emulator, raspberry pi pico emulator, raspberry pi 3 emulator, risc-v simulator, wokwi alternative",
"keywords": "circuit simulator, online circuit simulator, free circuit simulator, electronics simulator, spice simulator online, ngspice browser, analog circuit simulator, arduino simulator, arduino emulator, avr8 simulator, atmega328p emulator, atmega2560, attiny85 simulator, custom chip simulator, esp32 emulator, esp32 simulator, esp32-c3 simulator, esp32-s3 emulator, rp2040 emulator, raspberry pi pico emulator, raspberry pi 3 emulator, risc-v simulator, wokwi alternative, falstad alternative, tinkercad alternative, online breadboard, oscilloscope simulator",
"inLanguage": "en-US"
},
{
"@type": "WebPage",
"@id": "https://velxio.dev/#webpage",
"url": "https://velxio.dev/",
"name": "Velxio — Free Local Arduino Emulator | AVR8 · RP2040 · 48+ Components",
"description": "Velxio is a free, open-source Arduino emulator. Real AVR8 CPU emulation, 48+ components, Monaco Editor, Serial Monitor — no cloud, no latency.",
"name": "Velxio — Free Online Circuit & Arduino Simulator | SPICE · ESP32 · ATtiny85 · Custom Chips",
"description": "Velxio is a free, open-source online circuit simulator with hybrid digital + analog SPICE co-simulation, 19 supported boards, custom chip authoring, and 100+ components — all in your browser.",
"isPartOf": { "@id": "https://velxio.dev/#website" },
"about": { "@id": "https://velxio.dev/#app" },
"inLanguage": "en-US",
@ -202,14 +207,19 @@
<div id="root-seo" aria-hidden="true">
<header style="font-family:sans-serif;background:#0d1117;color:#e6edf3;padding:1.5rem 2rem;">
<a href="/" style="text-decoration:none;color:inherit;">
<h1 style="margin:0;font-size:1.5rem;">Velxio — Free Multi-Board Emulator | Arduino · ESP32 · RP2040 · RISC-V · Raspberry Pi</h1>
<h1 style="margin:0;font-size:1.5rem;">Velxio — Free Online Circuit &amp; Arduino Simulator | SPICE · ESP32 · RP2040 · ATtiny85 · Custom Chips</h1>
</a>
<nav style="margin-top:.75rem;">
<a href="/editor" style="color:#58a6ff;margin-right:1.5rem;">Editor</a>
<a href="/examples" style="color:#58a6ff;margin-right:1.5rem;">Examples</a>
<a href="/v2-5" style="color:#58a6ff;margin-right:1.5rem;">Velxio 2.5 (SPICE)</a>
<a href="/circuit-simulator" style="color:#58a6ff;margin-right:1.5rem;">Circuit Simulator</a>
<a href="/spice-simulator" style="color:#58a6ff;margin-right:1.5rem;">SPICE Simulator</a>
<a href="/custom-chip-simulator" style="color:#58a6ff;margin-right:1.5rem;">Custom Chip Simulator</a>
<a href="/arduino-simulator" style="color:#58a6ff;margin-right:1.5rem;">Arduino Simulator</a>
<a href="/arduino-emulator" style="color:#58a6ff;margin-right:1.5rem;">Arduino Emulator</a>
<a href="/atmega328p-simulator" style="color:#58a6ff;margin-right:1.5rem;">ATmega328P Simulator</a>
<a href="/attiny85-simulator" style="color:#58a6ff;margin-right:1.5rem;">ATtiny85 Simulator</a>
<a href="/arduino-mega-simulator" style="color:#58a6ff;margin-right:1.5rem;">Arduino Mega Simulator</a>
<a href="/esp32-simulator" style="color:#58a6ff;margin-right:1.5rem;">ESP32 Simulator</a>
<a href="/esp32-c3-simulator" style="color:#58a6ff;margin-right:1.5rem;">ESP32-C3 Simulator</a>
@ -222,8 +232,16 @@
</nav>
</header>
<main style="font-family:sans-serif;background:#0d1117;color:#e6edf3;padding:2rem;">
<h2>Free multi-board emulator running in your browser — 19 boards, 5 CPU architectures</h2>
<p>Simulate Arduino, ESP32, Raspberry Pi Pico, RISC-V, and Raspberry Pi 3 code in your browser with real CPU emulation. 48+ interactive electronic components, Monaco Editor, Serial Monitor, arduino-cli compiler, and Library Manager — no cloud, no latency, no account required.</p>
<h2>Free online circuit + microcontroller simulator — SPICE-accurate analog wired to Arduino, ESP32, RP2040, ATtiny85 &amp; more</h2>
<p>Velxio is a free, open-source online circuit simulator with hybrid digital + analog co-simulation. Real-time SPICE analysis (ngspice-WASM) wired to 19 supported boards across 5 CPU architectures. Build custom chips in C, Rust, or AssemblyScript. 100+ interactive components, live oscilloscope, voltmeter, ammeter, Monaco Editor, Serial Monitor, arduino-cli compiler, and Library Manager — no cloud, no latency, no account required.</p>
<h3>What's new in Velxio 2.5</h3>
<ul>
<li><strong>Real-time SPICE analog simulation</strong> in your browser via ngspice-WASM (eecircuit-engine) — Modified Nodal Analysis at ~60 Hz, not a linear approximation</li>
<li><strong>Hybrid digital + analog co-simulation</strong> — GPIO pins drive SPICE nets as voltage sources; <code>analogRead()</code> reads solved node voltages back into firmware</li>
<li><strong>100+ SPICE-accurate parts</strong>: resistors, capacitors, inductors, BJTs, MOSFETs, op-amps (LM358/741/TL072), regulators (7805/7812/LM317), Zener/Schottky diodes, optocouplers, relays</li>
<li><strong>Live instruments</strong>: oscilloscope (multi-channel), voltmeter, ammeter, signal generator (sine/square/DC)</li>
<li><strong>40+ new analog &amp; hybrid examples</strong>: voltage divider, RC filter, full-wave rectifier, Schmitt trigger, op-amp amplifier, Wheatstone bridge, H-bridge motor driver</li>
</ul>
<h3>Features</h3>
<ul>
<li>Real AVR8 emulation: Arduino Uno (ATmega328p), Nano, Mega 2560, ATtiny85, Leonardo, Pro Mini at 16 MHz via avr8js</li>
@ -231,6 +249,7 @@
<li>ESP32-C3 / XIAO ESP32-C3 / SuperMini / CH32V003 (RISC-V RV32IMC/EC) &mdash; browser-native, no backend needed</li>
<li>ESP32 / ESP32-S3 / ESP32-CAM / Arduino Nano ESP32 (Xtensa LX6/LX7 at 240 MHz) via QEMU lcgamboa</li>
<li>Raspberry Pi 3B (ARM Cortex-A53, full Linux) via QEMU raspi3b &mdash; runs Python scripts with RPi.GPIO</li>
<li><strong>Custom Chips</strong> — author your own integrated circuits in C, Rust, or AssemblyScript using the Wokwi Custom Chips API; reuse them across projects</li>
<li>48+ wokwi interactive electronic components (LEDs, resistors, buttons, sensors, TFT displays, NeoPixel&hellip;)</li>
<li>Monaco Code Editor with full C++ / Python syntax highlighting</li>
<li>arduino-cli compilation backend &mdash; produces real .hex / .uf2 / .bin files</li>
@ -240,7 +259,7 @@
<li>Wire system with orthogonal routing</li>
<li>ILI9341 TFT display simulation</li>
<li>I2C, SPI, USART, ADC, PWM support</li>
<li>Multi-board canvas: mix Arduino + ESP32 + Raspberry Pi in one simulation</li>
<li>Multi-board canvas: mix Arduino + ESP32 + Raspberry Pi + analog circuits in one simulation</li>
</ul>
<h3>Supported Boards</h3>
<ul>
@ -288,14 +307,72 @@
<dt>Is Velxio free?</dt>
<dd>Yes. Velxio is free and open-source under the GNU AGPLv3 license. A commercial license is available for proprietary integrations.</dd>
<dt>Does Velxio work offline?</dt>
<dd>The simulation engine runs entirely in the browser. Compilation requires the local arduino-cli backend. Self-hosted deployments work fully offline once running.</dd>
<dd>The simulation engine — including the SPICE analog solver and all browser-side CPU emulators (AVR8, RP2040, RISC-V) — runs entirely in the browser. Compilation requires the local arduino-cli backend. Self-hosted deployments work fully offline once running.</dd>
<dt>Can Velxio simulate analog circuits like SPICE?</dt>
<dd>Yes. Velxio 2.5 includes real-time SPICE analog simulation via ngspice compiled to WebAssembly. It runs full Modified Nodal Analysis on every tick — non-linear devices (diodes, BJTs, MOSFETs, op-amps with saturation) behave like real silicon, not idealised models.</dd>
<dt>Can I co-simulate Arduino code with an analog circuit?</dt>
<dd>Yes. GPIO pins drive SPICE nets as voltage sources, and ADC pins read solved analog node voltages back into firmware. <code>analogRead()</code> returns the actual SPICE-solved value at that net — so you can build PWM-driven RC filters, transistor switches, op-amp signal chains, and motor drivers end-to-end on the same canvas.</dd>
<dt>Can I create my own custom chips?</dt>
<dd>Yes. Velxio implements the Wokwi Custom Chips API. Write your chip logic in C, Rust, or AssemblyScript — Velxio compiles it to WebAssembly and exposes pin I/O, attribute reads, timers, and I²C/SPI hooks. Save chips to your account and reuse them across projects.</dd>
<dt>Is Velxio a Wokwi alternative?</dt>
<dd>Yes. Velxio is a free, self-hosted alternative to Wokwi. It uses the same avr8js and wokwi-elements open-source libraries but runs on your own machine.</dd>
<dd>Yes. Velxio is a free, self-hosted alternative to Wokwi. It uses the same avr8js and wokwi-elements open-source libraries but runs on your own machine, and adds full SPICE analog co-simulation that Wokwi does not provide.</dd>
<dt>Is Velxio a Falstad / Tinkercad / CircuitLab alternative?</dt>
<dd>For analog circuits, yes. Velxio runs the open-source ngspice solver — the same engine professional EDA tools use. Unlike Falstad and Tinkercad, Velxio also runs the firmware on the microcontroller driving the circuit.</dd>
<dt>What boards are supported?</dt>
<dd>Arduino Uno (ATmega328p / AVR8), Arduino Nano, Arduino Mega 2560, Raspberry Pi Pico (RP2040), ESP32-C3 (RISC-V), and more. 17 boards in total.</dd>
<dd>19 boards: Arduino Uno (ATmega328p / AVR8), Arduino Nano, Arduino Mega 2560 (ATmega2560), ATtiny85, Arduino Leonardo (ATmega32u4), Arduino Pro Mini, Raspberry Pi Pico &amp; Pico W (RP2040), ESP32 / ESP32-S3 / ESP32-CAM / Nano ESP32 (Xtensa via QEMU), ESP32-C3 / XIAO ESP32-C3 / ESP32-C3 SuperMini / CH32V003 (RISC-V), and Raspberry Pi 3B (Linux ARM Cortex-A53 via QEMU).</dd>
</dl>
<!-- SEO landing pages — keyword content for crawlers -->
<section>
<h2>Free Online Circuit Simulator with SPICE</h2>
<p>Velxio is a free online circuit simulator with real-time SPICE analog simulation in your browser. Drop resistors, capacitors, op-amps, transistors, diodes, and voltage regulators on the canvas — every component is modelled with real ngspice device cards, not behavioural stand-ins. <a href="/circuit-simulator">Open Circuit Simulator →</a></p>
<ul>
<li>ngspice-WASM engine — full Modified Nodal Analysis at ~60 Hz solve rate</li>
<li>Non-linear devices behave like real silicon: BJT cutoff/saturation, op-amp rails, diode forward drop</li>
<li>Live oscilloscope, voltmeter, ammeter, signal generator</li>
<li>100+ SPICE-accurate parts: passives, semiconductors, logic ICs, regulators, optocouplers, relays</li>
<li>Always-on — no toggle, every circuit is SPICE-solved</li>
</ul>
</section>
<section>
<h2>SPICE Simulator Online — ngspice in Your Browser</h2>
<p>Velxio runs ngspice (the open-source SPICE simulator powering professional EDA tools) compiled to WebAssembly via eecircuit-engine. Full transient analysis, real device models, in your browser tab. No install, no account, works offline after the first load. <a href="/spice-simulator">Open SPICE Simulator →</a></p>
<ul>
<li>Real ngspice — same engine, browser-native via WASM</li>
<li>5 BJTs (2N2222, 2N3055, 2N3906, BC547, BC557)</li>
<li>4 MOSFETs (2N7000, IRF540, IRF9540, FQP27P06)</li>
<li>5 op-amps (LM358, LM741, TL072, LM324, ideal) with saturation rails</li>
<li>4 linear regulators (7805, 7812, 7905, LM317)</li>
<li>Diodes: 1N4148, 1N4007, 1N5817, 1N5819, Zener 1N4733</li>
</ul>
</section>
<section>
<h2>Custom Chip Simulator — Define Your Own ICs in C / Rust</h2>
<p>Velxio implements the Wokwi Custom Chips API: write your chip logic in C, Rust, or AssemblyScript, compile to WebAssembly, and the simulator drives its pins like any other component. Build a sensor model, a digital protocol bridge, or a behavioural IC stand-in — and reuse it across projects. <a href="/custom-chip-simulator">Open Custom Chip Simulator →</a></p>
<ul>
<li>Wokwi-compatible Custom Chips API with WASI shim</li>
<li>Pin reads/writes, attribute reads, timers</li>
<li>I²C and SPI bus integration</li>
<li>Save chips to your account and reuse across projects</li>
<li>Library of starter examples (sensors, decoders, bridges)</li>
</ul>
</section>
<section>
<h2>ATtiny85 Simulator — Real AVR Emulation in Your Browser</h2>
<p>Velxio simulates the ATtiny85 with cycle-accurate AVR8 emulation. Full DIP-8 pinout, 8 KB flash, 6 GPIOs, USI peripheral, 10-bit ADC, Timer0/Timer1 with PWM, and watchdog. Wire it to LEDs, sensors, or analog circuits and run real ATtiny code without a programmer. <a href="/attiny85-simulator">Open ATtiny85 Simulator →</a></p>
<ul>
<li>Cycle-accurate ATtiny85 emulation via avr8js</li>
<li>All 6 I/O pins (PB0–PB5) with proper port behaviour</li>
<li>Timer0 (8-bit), Timer1 (8-bit), watchdog timer</li>
<li>10-bit ADC with 4 input channels</li>
<li>USI peripheral for I²C / SPI bit-banging</li>
<li>Wire to SPICE analog parts for full circuit testing</li>
</ul>
</section>
<section>
<h2>Free Online Arduino Simulator</h2>
<p>Velxio is a free online Arduino simulator with real AVR8 emulation at 16 MHz. Simulate Arduino code with 48+ interactive electronic components directly in your browser — no install, no account required. <a href="/arduino-simulator">Open Arduino Simulator →</a></p>

File diff suppressed because it is too large Load Diff

View File

@ -15,6 +15,11 @@ import { ArduinoSimulatorPage } from './pages/ArduinoSimulatorPage';
import { ArduinoEmulatorPage } from './pages/ArduinoEmulatorPage';
import { AtmegaSimulatorPage } from './pages/AtmegaSimulatorPage';
import { ArduinoMegaSimulatorPage } from './pages/ArduinoMegaSimulatorPage';
import { Attiny85SimulatorPage } from './pages/Attiny85SimulatorPage';
import { CircuitSimulatorPage } from './pages/CircuitSimulatorPage';
import { SpiceSimulatorPage } from './pages/SpiceSimulatorPage';
import { ElectronicsSimulatorPage } from './pages/ElectronicsSimulatorPage';
import { CustomChipSimulatorPage } from './pages/CustomChipSimulatorPage';
import { Esp32SimulatorPage } from './pages/Esp32SimulatorPage';
import { Esp32S3SimulatorPage } from './pages/Esp32S3SimulatorPage';
import { Esp32C3SimulatorPage } from './pages/Esp32C3SimulatorPage';
@ -46,6 +51,11 @@ function App() {
<Route path="/admin" element={<AdminPage />} />
<Route path="/docs/:section" element={<DocsPage />} />
{/* SEO landing pages — keyword-targeted */}
<Route path="/circuit-simulator" element={<CircuitSimulatorPage />} />
<Route path="/spice-simulator" element={<SpiceSimulatorPage />} />
<Route path="/electronics-simulator" element={<ElectronicsSimulatorPage />} />
<Route path="/custom-chip-simulator" element={<CustomChipSimulatorPage />} />
<Route path="/attiny85-simulator" element={<Attiny85SimulatorPage />} />
<Route path="/arduino-simulator" element={<ArduinoSimulatorPage />} />
<Route path="/arduino-emulator" element={<ArduinoEmulatorPage />} />
<Route path="/atmega328p-simulator" element={<AtmegaSimulatorPage />} />

View File

@ -0,0 +1,261 @@
/**
* /attiny85-simulator — SEO landing page
* Target keywords: "attiny85 simulator", "attiny85 emulator",
* "attiny85 online simulator", "free attiny85 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('/attiny85-simulator')!;
const FAQ_ITEMS = [
{
q: 'Is this a real ATtiny85 emulator?',
a: 'Yes. Velxio uses avr8js — the cycle-accurate AVR8 emulator — to execute compiled ATtiny85 firmware byte-for-byte exactly as it would run on a real DIP-8 chip.',
},
{
q: 'Which ATtiny85 features are supported?',
a: 'All 6 GPIO pins (PB0–PB5), Timer0 (8-bit) with PWM, Timer1 (8-bit) with PWM and high-speed mode, the watchdog timer, 10-bit ADC with 4 input channels (ADC0–ADC3), USI peripheral for I²C (TWI) and SPI bit-banging, pin-change interrupts, and external interrupts (INT0).',
},
{
q: 'How do I program the ATtiny85 in Velxio?',
a: 'Write your sketch in the Monaco editor in C/C++ (Arduino syntax). Velxio compiles it via the bundled arduino-cli using the ATTinyCore board package and produces a real .hex file — the same one you would flash via USBasp.',
},
{
q: 'Can I use Arduino-compatible libraries?',
a: 'Yes. The Library Manager indexes the full Arduino library registry. Many libraries work on ATtiny85 with appropriate pin assignments — TinyWireM for I²C, SoftwareSerial via USI, TinyServo, etc.',
},
{
q: 'Can I wire it to analog circuits?',
a: 'Yes. Velxio includes a real-time SPICE solver — wire the ATtiny85 ADC pin to a voltage divider, an op-amp output, or an NTC thermistor bridge and analogRead() will return the actual SPICE-solved voltage at that pin.',
},
{
q: 'Is it free?',
a: 'Yes — Velxio is fully free and open-source under GNU AGPLv3. No account required.',
},
];
const JSON_LD: object[] = [
{
'@context': 'https://schema.org',
'@type': 'SoftwareApplication',
name: 'Velxio — Free Online ATtiny85 Simulator',
applicationCategory: 'DeveloperApplication',
applicationSubCategory: 'AVR Microcontroller Emulator',
operatingSystem: 'Any (browser-based)',
description:
'Free online ATtiny85 simulator with cycle-accurate AVR8 emulation. All 6 I/O pins, Timer0/Timer1 PWM, 10-bit ADC, USI for I²C/SPI, watchdog. Wire it to real SPICE analog circuits.',
url: 'https://velxio.dev/attiny85-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: 'ATtiny85 Simulator',
item: 'https://velxio.dev/attiny85-simulator',
},
],
},
];
export const Attiny85SimulatorPage: React.FC = () => {
useSEO({ ...META, jsonLd: JSON_LD });
return (
<div className="seo-page">
<AppHeader />
<main>
{/* Hero */}
<section className="seo-hero">
<h1>
Free ATtiny85 Simulator
<br />
<span className="accent">Cycle-accurate AVR emulation in your browser</span>
</h1>
<p className="subtitle">
Write Arduino code for the ATtiny85 and run it instantly — every AVR opcode is emulated
faithfully. All 6 I/O pins, USI for I²C/SPI, Timer0/Timer1 PWM, 10-bit ADC, watchdog.
Wire it to real SPICE analog circuits. Free, no install, no account.
</p>
<div className="seo-cta-group">
<Link
to="/editor"
className="seo-btn-primary"
onClick={() => trackClickCTA('attiny85-simulator', '/editor')}
>
Open ATtiny85 Simulator →
</Link>
<Link to="/examples" className="seo-btn-secondary">
Browse ATtiny85 Examples
</Link>
</div>
<p className="seo-trust">
Free &amp; open-source · cycle-accurate avr8js · No signup
</p>
</section>
{/* Specs */}
<section className="seo-section">
<h2>ATtiny85 specs in the simulator</h2>
<p className="lead">
Everything you need to develop ATtiny85 firmware without a programmer or breadboard.
</p>
<div className="seo-grid">
<div className="seo-card">
<h3>Core</h3>
<p>
AVR 8-bit RISC, 8 KB flash, 512 B SRAM, 512 B EEPROM. DIP-8 pinout (PB0–PB5 plus
VCC/GND).
</p>
</div>
<div className="seo-card">
<h3>GPIO</h3>
<p>
6 I/O pins on PORTB. Configurable as input / output / pull-up. Pin-change interrupts
(PCINT0–PCINT5) and external INT0.
</p>
</div>
<div className="seo-card">
<h3>Timers &amp; PWM</h3>
<p>
Timer0 (8-bit) with two PWM channels on PB0/PB1. Timer1 (8-bit) with high-speed
mode and two PWM channels on PB1/PB4 — useful for higher-frequency PWM.
</p>
</div>
<div className="seo-card">
<h3>ADC</h3>
<p>
10-bit ADC with 4 input channels (ADC0 on PB5, ADC1 on PB2, ADC2 on PB4, ADC3 on
PB3). Internal 1.1 V reference.
</p>
</div>
<div className="seo-card">
<h3>USI</h3>
<p>
Universal Serial Interface — bit-bangs I²C (TWI) and SPI. Compatible with TinyWireM
/ TinyWireS and standard SPI libraries.
</p>
</div>
<div className="seo-card">
<h3>Watchdog &amp; sleep</h3>
<p>
Watchdog timer with reset and interrupt modes. Power-down, ADC noise reduction, and
idle sleep modes — handy for low-power demos.
</p>
</div>
</div>
</section>
{/* What you can do */}
<section className="seo-section">
<h2>What can you build?</h2>
<p className="lead">
ATtiny85 projects shine when they're small, low-power, and analog-aware — exactly
Velxio's strength with the SPICE solver wired in.
</p>
<div className="seo-grid">
<div className="seo-card">
<h3>Blink &amp; PWM fade</h3>
<p>
The classic intros — hardware-PWM-driven LED fading on PB1 via Timer0, and
high-speed Timer1 PWM on PB4.
</p>
</div>
<div className="seo-card">
<h3>Button-driven LEDs</h3>
<p>
Read a button on PB2 with internal pull-up, debounce in firmware, drive an LED on
PB0.
</p>
</div>
<div className="seo-card">
<h3>NTC temperature</h3>
<p>
Read an NTC thermistor / fixed-resistor divider on ADC1 — the SPICE solver returns
the real divided voltage to <code>analogRead()</code>.
</p>
</div>
<div className="seo-card">
<h3>I²C peripherals via USI</h3>
<p>
Talk to an OLED, an EEPROM, or an RTC on PB0/PB2 using TinyWireM. Bus traffic is
emulated end-to-end.
</p>
</div>
<div className="seo-card">
<h3>SPI WS2812 / shift</h3>
<p>
Bit-bang via USI to drive a WS2812 string or a 74HC595 shift register on a couple of
pins.
</p>
</div>
<div className="seo-card">
<h3>Analog switching</h3>
<p>
Drive a MOSFET gate from PB1 PWM through a SPICE-modelled gate-charge curve — see
the slew-rate effect on the load.
</p>
</div>
</div>
</section>
{/* FAQ */}
<section className="seo-section">
<h2>Frequently Asked Questions</h2>
<dl className="seo-faq">
{FAQ_ITEMS.map(({ q, a }) => (
<React.Fragment key={q}>
<dt>{q}</dt>
<dd>{a}</dd>
</React.Fragment>
))}
</dl>
</section>
{/* Bottom CTA */}
<div className="seo-bottom">
<h2>Develop ATtiny85 firmware without hardware</h2>
<p>Open the editor and start coding — compile, simulate, and probe in seconds.</p>
<Link
to="/editor"
className="seo-btn-primary"
onClick={() => trackClickCTA('attiny85-simulator', '/editor')}
>
Launch ATtiny85 Simulator →
</Link>
<div className="seo-internal-links">
<Link to="/arduino-simulator">Arduino Simulator</Link>
<Link to="/atmega328p-simulator">ATmega328P Simulator</Link>
<Link to="/arduino-mega-simulator">Mega 2560 Simulator</Link>
<Link to="/circuit-simulator">Circuit Simulator</Link>
<Link to="/spice-simulator">SPICE Simulator</Link>
<Link to="/custom-chip-simulator">Custom Chip Simulator</Link>
<Link to="/examples">Examples</Link>
</div>
</div>
</main>
</div>
);
};

View File

@ -0,0 +1,279 @@
/**
* /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 (
<div className="seo-page">
<AppHeader />
<main>
{/* Hero */}
<section className="seo-hero">
<h1>
Free Online Circuit Simulator
<br />
<span className="accent">SPICE-accurate analog, in your browser</span>
</h1>
<p className="subtitle">
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.
</p>
<div className="seo-cta-group">
<Link
to="/editor"
className="seo-btn-primary"
onClick={() => trackClickCTA('circuit-simulator', '/editor')}
>
Open Circuit Simulator →
</Link>
<Link to="/examples" className="seo-btn-secondary">
Browse 40+ Analog Examples
</Link>
</div>
<p className="seo-trust">
Free &amp; open-source · Real ngspice engine · Runs 100% in your browser
</p>
</section>
{/* What */}
<section className="seo-section">
<h2>What can you simulate?</h2>
<p className="lead">
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.
</p>
<div className="seo-grid">
<div className="seo-card">
<h3>Passive networks</h3>
<p>
Voltage dividers, RC/RL/RLC filters, Wheatstone bridges, capacitor charging curves,
resonant tank circuits.
</p>
</div>
<div className="seo-card">
<h3>Diodes &amp; rectifiers</h3>
<p>
Half-wave, full-wave bridge rectifiers, Zener regulators, voltage doublers,
clippers and clampers.
</p>
</div>
<div className="seo-card">
<h3>Transistor circuits</h3>
<p>
BJT common-emitter amplifiers, transistor switches, Darlington pairs, MOSFET drivers,
H-bridge motor drives, current mirrors.
</p>
</div>
<div className="seo-card">
<h3>Op-amp circuits</h3>
<p>
Inverting/non-inverting amplifiers, summing amps, differential amps, integrators,
differentiators, Schmitt triggers, comparators.
</p>
</div>
<div className="seo-card">
<h3>Logic &amp; flip-flops</h3>
<p>
AND/OR/NAND/NOR/XOR/XNOR/NOT gates, 74HC-series DIP-14 packages, edge-triggered D /
T / JK flip-flops, SR latches.
</p>
</div>
<div className="seo-card">
<h3>Power &amp; sensors</h3>
<p>
7805/7812/LM317 regulators, photodiode + transimpedance pipelines, NTC thermistor
bridges, PIR/flame sensor sliders, optocouplers, relays.
</p>
</div>
</div>
</section>
{/* How */}
<section className="seo-section">
<h2>How the analog simulation works</h2>
<p className="lead">
Velxio uses <strong style={{ color: '#e6edf3' }}>ngspice-WASM</strong> via the
open-source <code>eecircuit-engine</code>. 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.
</p>
<div className="seo-grid">
<div className="seo-card">
<h3>1. Wire</h3>
<p>
Drop components, drag wires. Velxio union-finds the wire graph into SPICE nets in
real time as you build.
</p>
</div>
<div className="seo-card">
<h3>2. Solve</h3>
<p>
ngspice solves the full circuit at ~60 Hz. Non-linear devices iterate to convergence
— no shortcuts, no idealisations.
</p>
</div>
<div className="seo-card">
<h3>3. Probe</h3>
<p>
Drop voltmeters, ammeters, or oscilloscope channels on any node. Live readings
update as the simulation runs.
</p>
</div>
</div>
</section>
{/* Co-simulation */}
<section className="seo-section">
<h2>The unique feature: hybrid digital + analog co-simulation</h2>
<p className="lead">
Most browser circuit simulators stop at passive analog. Velxio also runs the firmware on
the microcontroller driving the circuit — on the same clock.
</p>
<div className="seo-grid">
<div className="seo-card">
<h3>GPIO drives the circuit</h3>
<p>
<code>digitalWrite(HIGH)</code> 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.
</p>
</div>
<div className="seo-card">
<h3>ADC reads the circuit</h3>
<p>
<code>analogRead()</code> 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.
</p>
</div>
<div className="seo-card">
<h3>Same canvas, same clock</h3>
<p>
Arduino + transistor + motor on the same board. ESP32 + photodiode + op-amp + ADC.
CH32V003 + Zener + LED. Validate firmware and hardware together before soldering.
</p>
</div>
</div>
</section>
{/* FAQ */}
<section className="seo-section">
<h2>Frequently Asked Questions</h2>
<dl className="seo-faq">
{FAQ_ITEMS.map(({ q, a }) => (
<React.Fragment key={q}>
<dt>{q}</dt>
<dd>{a}</dd>
</React.Fragment>
))}
</dl>
</section>
{/* Bottom CTA */}
<div className="seo-bottom">
<h2>Ready to simulate your circuit?</h2>
<p>Open the editor and drop your first SPICE component in seconds — zero setup.</p>
<Link
to="/editor"
className="seo-btn-primary"
onClick={() => trackClickCTA('circuit-simulator', '/editor')}
>
Launch Circuit Simulator →
</Link>
<div className="seo-internal-links">
<Link to="/spice-simulator">SPICE Simulator</Link>
<Link to="/electronics-simulator">Electronics Simulator</Link>
<Link to="/v2-5">Velxio 2.5 Release</Link>
<Link to="/examples">Analog Examples</Link>
<Link to="/arduino-simulator">Arduino Simulator</Link>
<Link to="/esp32-simulator">ESP32 Simulator</Link>
<Link to="/raspberry-pi-pico-simulator">RP2040 Simulator</Link>
<Link to="/custom-chip-simulator">Custom Chip Simulator</Link>
</div>
</div>
</main>
</div>
);
};

View File

@ -0,0 +1,262 @@
/**
* /custom-chip-simulator — SEO landing page
* Target keywords: "custom chip simulator", "custom chip arduino",
* "wokwi custom chips", "build custom ic"
*/
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('/custom-chip-simulator')!;
const FAQ_ITEMS = [
{
q: 'What is a custom chip in Velxio?',
a: 'A custom chip is a user-defined integrated circuit. You write the chip\'s logic in C, Rust, or AssemblyScript — Velxio compiles it to WebAssembly, instantiates it on the canvas like any other component, and drives its pins from the simulator.',
},
{
q: 'Which API does Velxio use?',
a: 'Velxio implements the Wokwi Custom Chips API — the same API used by Wokwi — so chips you write for Velxio are portable to Wokwi and vice versa. Velxio adds a WASI shim so you can use standard library functions in your chip code.',
},
{
q: 'What can I build?',
a: 'Behavioural models of real ICs (sensors, decoders, level translators, protocol bridges), custom digital logic, sensor stand-ins for hardware you don\'t have yet, and protocol-level mocks for testing firmware. Chips can drive pins, read attributes, register timers, and bridge to I²C / SPI buses.',
},
{
q: 'How do I share or reuse a chip?',
a: 'Save the chip to your Velxio account and reuse it across projects. The chip definition includes its pin layout, attributes, and the compiled WASM — drop it onto any project canvas like a built-in component.',
},
{
q: 'Do I need a backend to run my chip?',
a: 'No. Compiled chip WASM runs in the same browser tab as the rest of the simulation. Pin updates, attribute reads, and timer ticks are all local.',
},
{
q: 'Can my custom chip talk to an Arduino?',
a: 'Yes — that is the typical use case. Wire its pins to Arduino GPIOs, SPI, or I²C lines and the firmware on the Arduino interacts with your chip exactly like a real IC.',
},
];
const JSON_LD: object[] = [
{
'@context': 'https://schema.org',
'@type': 'SoftwareApplication',
name: 'Velxio — Free Online Custom Chip Simulator',
applicationCategory: 'DeveloperApplication',
applicationSubCategory: 'IC Authoring & Simulation',
operatingSystem: 'Any (browser-based)',
description:
'Define your own integrated circuits in C, Rust, or AssemblyScript using the Wokwi-compatible Custom Chips API. Compile to WebAssembly and drive pins, attributes, timers, I²C and SPI from your simulated chip. Free and open-source.',
url: 'https://velxio.dev/custom-chip-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: 'Custom Chip Simulator',
item: 'https://velxio.dev/custom-chip-simulator',
},
],
},
];
export const CustomChipSimulatorPage: React.FC = () => {
useSEO({ ...META, jsonLd: JSON_LD });
return (
<div className="seo-page">
<AppHeader />
<main>
{/* Hero */}
<section className="seo-hero">
<h1>
Build Your Own Custom Chips
<br />
<span className="accent">in C, Rust or AssemblyScript</span>
</h1>
<p className="subtitle">
Define your own integrated circuits with the Wokwi-compatible Custom Chips API. Write
the chip in C, Rust, or AssemblyScript; Velxio compiles it to WebAssembly and runs it on
the canvas like any other component — driven by Arduino, ESP32, or RP2040 firmware.
</p>
<div className="seo-cta-group">
<Link
to="/editor"
className="seo-btn-primary"
onClick={() => trackClickCTA('custom-chip-simulator', '/editor')}
>
Open the Editor →
</Link>
<Link to="/docs/intro" className="seo-btn-secondary">
Read the Docs
</Link>
</div>
<p className="seo-trust">
Wokwi-compatible API · Free &amp; open-source · WASM-powered, runs in your browser
</p>
</section>
{/* What you can do */}
<section className="seo-section">
<h2>What can you build?</h2>
<p className="lead">
Custom chips fill the gaps between built-in components. If a real IC isn't on the
shelf, build a behavioural model and your firmware never knows the difference.
</p>
<div className="seo-grid">
<div className="seo-card">
<h3>Sensor stand-ins</h3>
<p>
Mock a temperature, pressure, or IMU sensor that responds over I²C — useful when
you don't have the part yet but want to develop the firmware.
</p>
</div>
<div className="seo-card">
<h3>Protocol bridges</h3>
<p>
Build a UART-to-I²C bridge, an SPI shift register, a digital-to-analog wrapper, or
a custom level translator.
</p>
</div>
<div className="seo-card">
<h3>Custom logic</h3>
<p>
Glue logic, state machines, address decoders, debouncers — anything you'd otherwise
wire up with discrete gates.
</p>
</div>
<div className="seo-card">
<h3>Behavioural ICs</h3>
<p>
Re-create the externally-visible behaviour of a real IC (a 7-segment driver, a
stepper controller) without simulating its analog internals.
</p>
</div>
<div className="seo-card">
<h3>Test fixtures</h3>
<p>
Inject signals on schedule, capture pin transitions, validate firmware against
expected pin-level behaviour.
</p>
</div>
<div className="seo-card">
<h3>Reusable libraries</h3>
<p>
Save the chip to your account, import it into other projects, share with the
community.
</p>
</div>
</div>
</section>
{/* API capabilities */}
<section className="seo-section">
<h2>What the API gives you</h2>
<p className="lead">
The Velxio Custom Chips runtime is fully Wokwi-compatible, with extras for the SPICE
and multi-board environment.
</p>
<div className="seo-grid">
<div className="seo-card">
<h3>Pin I/O</h3>
<p>
Read pin state, write digital high/low, configure pull-ups, react to edges with
pin-watch callbacks.
</p>
</div>
<div className="seo-card">
<h3>Attributes</h3>
<p>
Read user-configurable chip attributes from the property panel — values, strings,
numbers — and re-read on change.
</p>
</div>
<div className="seo-card">
<h3>Timers</h3>
<p>
Schedule callbacks at microsecond resolution. The runtime fires them aligned to the
simulator clock.
</p>
</div>
<div className="seo-card">
<h3>I²C bus</h3>
<p>
Connect to any wire that's part of an I²C bus, respond to start/stop conditions,
acknowledge addresses, send / receive bytes.
</p>
</div>
<div className="seo-card">
<h3>SPI bus</h3>
<p>
Bidirectional SPI with chip-select handling. Implement a shift register, an SPI
memory, or a sensor with one byte-stream callback.
</p>
</div>
<div className="seo-card">
<h3>WASI shim</h3>
<p>
A small WASI shim lets your C/Rust chip use standard-library calls (printf, string
ops, math) without a heavy runtime.
</p>
</div>
</div>
</section>
{/* FAQ */}
<section className="seo-section">
<h2>Frequently Asked Questions</h2>
<dl className="seo-faq">
{FAQ_ITEMS.map(({ q, a }) => (
<React.Fragment key={q}>
<dt>{q}</dt>
<dd>{a}</dd>
</React.Fragment>
))}
</dl>
</section>
{/* Bottom CTA */}
<div className="seo-bottom">
<h2>Build your first custom chip</h2>
<p>Open the editor and create a chip in seconds — pick C, Rust, or AssemblyScript.</p>
<Link
to="/editor"
className="seo-btn-primary"
onClick={() => trackClickCTA('custom-chip-simulator', '/editor')}
>
Launch the Editor →
</Link>
<div className="seo-internal-links">
<Link to="/circuit-simulator">Circuit Simulator</Link>
<Link to="/spice-simulator">SPICE Simulator</Link>
<Link to="/electronics-simulator">Electronics Simulator</Link>
<Link to="/arduino-simulator">Arduino Simulator</Link>
<Link to="/esp32-simulator">ESP32 Simulator</Link>
<Link to="/raspberry-pi-pico-simulator">RP2040 Simulator</Link>
<Link to="/attiny85-simulator">ATtiny85 Simulator</Link>
</div>
</div>
</main>
</div>
);
};

View File

@ -0,0 +1,240 @@
/**
* /electronics-simulator — SEO landing page
* Target keywords: "electronics simulator", "online electronics simulator",
* "free electronics simulator", "online breadboard"
*/
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('/electronics-simulator')!;
const FAQ_ITEMS = [
{
q: 'Is Velxio a complete electronics simulator?',
a: 'Yes. Velxio combines a SPICE-accurate analog solver, 19 simulated microcontrollers (Arduino, ESP32, RP2040, ATtiny85, Raspberry Pi 3), 100+ components, an oscilloscope, voltmeter, ammeter, and signal generator — everything you need to design and validate an electronics project end-to-end.',
},
{
q: 'Can I use it like a virtual breadboard?',
a: 'Yes. Drop components on the canvas, drag wires between pins, and the simulator builds the SPICE netlist automatically. Wires snap to a grid; components rotate in 90° increments; signal-type colours mark VCC, GND, digital, and analog routes.',
},
{
q: 'Do I need to install anything?',
a: 'No. Open velxio.dev in any modern browser and start. Compilation of Arduino sketches uses the cloud arduino-cli backend, but the SPICE solver and AVR / RP2040 / RISC-V emulators all run locally in your browser.',
},
{
q: 'Is it good for teaching electronics?',
a: 'Yes — that is one of the design goals. Free, no install, no account, no licence cost. 100+ pre-wired example circuits cover voltage dividers, RC filters, op-amp amplifiers, transistor switches, rectifiers, and complete Arduino projects. Great for university labs and self-learners.',
},
{
q: 'Is Velxio a Tinkercad / Falstad alternative?',
a: 'Yes — and a more accurate one. Velxio runs real ngspice (the engine professional EDA tools use), and unlike those tools it also runs the firmware on the microcontroller driving the circuit. Open-source under AGPLv3.',
},
];
const JSON_LD: object[] = [
{
'@context': 'https://schema.org',
'@type': 'SoftwareApplication',
name: 'Velxio — Free Online Electronics Simulator',
applicationCategory: 'DeveloperApplication',
applicationSubCategory: 'Electronics Simulator',
operatingSystem: 'Any (browser-based)',
description:
'Free online electronics simulator. SPICE-accurate analog parts wired to 19 simulated microcontrollers. 100+ components, oscilloscope, voltmeter, ammeter — your virtual breadboard.',
url: 'https://velxio.dev/electronics-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: 'Electronics Simulator',
item: 'https://velxio.dev/electronics-simulator',
},
],
},
];
export const ElectronicsSimulatorPage: React.FC = () => {
useSEO({ ...META, jsonLd: JSON_LD });
return (
<div className="seo-page">
<AppHeader />
<main>
{/* Hero */}
<section className="seo-hero">
<h1>
Free Online Electronics Simulator
<br />
<span className="accent">Build, wire and test in your browser</span>
</h1>
<p className="subtitle">
A complete electronics workbench: SPICE-accurate analog parts, 19 simulated
microcontrollers (Arduino, ESP32, RP2040, ATtiny85, Raspberry Pi 3), 100+ components,
and live instruments — all in one canvas. Free, no install, no account.
</p>
<div className="seo-cta-group">
<Link
to="/editor"
className="seo-btn-primary"
onClick={() => trackClickCTA('electronics-simulator', '/editor')}
>
Open Electronics Simulator →
</Link>
<Link to="/examples" className="seo-btn-secondary">
Browse 100+ Examples
</Link>
</div>
<p className="seo-trust">
Free &amp; open-source · No signup required · Real SPICE + real CPU emulation
</p>
</section>
{/* What's inside */}
<section className="seo-section">
<h2>What's inside</h2>
<p className="lead">
One tool, every layer of an electronics project — from the resistor on your breadboard
to the firmware on your microcontroller.
</p>
<div className="seo-grid">
<div className="seo-card">
<h3>SPICE analog solver</h3>
<p>
Real ngspice via WebAssembly. 100+ device cards: passives, BJTs, MOSFETs, op-amps,
regulators, diodes, optocouplers, relays.
</p>
</div>
<div className="seo-card">
<h3>19 microcontrollers</h3>
<p>
Arduino Uno / Nano / Mega / ATtiny85 / Leonardo / Pro Mini, Raspberry Pi Pico (W),
ESP32 / ESP32-S3 / ESP32-CAM / Nano ESP32, ESP32-C3 family, CH32V003, Raspberry Pi
3B Linux.
</p>
</div>
<div className="seo-card">
<h3>Custom chips</h3>
<p>
Define your own ICs in C, Rust, or AssemblyScript via the Wokwi Custom Chips API —
drive pins, attributes, timers, I²C and SPI from your code.
</p>
</div>
<div className="seo-card">
<h3>Live instruments</h3>
<p>
Multi-channel oscilloscope, voltmeter, ammeter, signal generator (sine / square /
DC) — drop on any node and watch waveforms live.
</p>
</div>
<div className="seo-card">
<h3>48+ visual components</h3>
<p>
LEDs, RGB LEDs, 7-segment displays, 16×2 LCD, ILI9341 TFT, NeoPixel strips, servos,
buzzers, ultrasonic sensors, DHT22, MPU6050, keypads.
</p>
</div>
<div className="seo-card">
<h3>Arduino IDE built in</h3>
<p>
Monaco code editor, multi-file workspace, Library Manager (full Arduino library
index), arduino-cli compiler, Serial Monitor.
</p>
</div>
</div>
</section>
{/* For teachers / students */}
<section className="seo-section">
<h2>For teachers, students &amp; tinkerers</h2>
<p className="lead">
Velxio is free under AGPLv3 — no licence cost, no per-seat pricing, no cloud account.
Self-host with one Docker command for university labs.
</p>
<div className="seo-grid">
<div className="seo-card">
<h3>For courses</h3>
<p>
Use the same tool from week-1 (Ohm’s law, voltage dividers) through Arduino projects
and op-amp signal chains. One UI for the whole syllabus.
</p>
</div>
<div className="seo-card">
<h3>For labs</h3>
<p>
Self-host on a campus server. No internet dependency, no account walls — students
just open the URL.
</p>
</div>
<div className="seo-card">
<h3>For makers</h3>
<p>
Validate your circuit and firmware before ordering parts. The scope and DMM are
already on the bench.
</p>
</div>
</div>
</section>
{/* FAQ */}
<section className="seo-section">
<h2>Frequently Asked Questions</h2>
<dl className="seo-faq">
{FAQ_ITEMS.map(({ q, a }) => (
<React.Fragment key={q}>
<dt>{q}</dt>
<dd>{a}</dd>
</React.Fragment>
))}
</dl>
</section>
{/* Bottom CTA */}
<div className="seo-bottom">
<h2>Open your virtual breadboard</h2>
<p>Wire your first circuit in seconds — no setup, no install, no account.</p>
<Link
to="/editor"
className="seo-btn-primary"
onClick={() => trackClickCTA('electronics-simulator', '/editor')}
>
Launch Electronics Simulator →
</Link>
<div className="seo-internal-links">
<Link to="/circuit-simulator">Circuit Simulator</Link>
<Link to="/spice-simulator">SPICE Simulator</Link>
<Link to="/v2-5">Velxio 2.5 Release</Link>
<Link to="/examples">All Examples</Link>
<Link to="/arduino-simulator">Arduino Simulator</Link>
<Link to="/esp32-simulator">ESP32 Simulator</Link>
<Link to="/raspberry-pi-pico-simulator">RP2040 Simulator</Link>
<Link to="/attiny85-simulator">ATtiny85 Simulator</Link>
<Link to="/custom-chip-simulator">Custom Chip Simulator</Link>
</div>
</div>
</main>
</div>
);
};

View File

@ -100,20 +100,6 @@ const IcoMonitor = () => (
</svg>
);
const IcoBook = () => (
<svg
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
strokeWidth="1.5"
strokeLinecap="round"
strokeLinejoin="round"
>
<path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z" />
<path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z" />
</svg>
);
const IcoGitHub = () => (
<svg viewBox="0 0 24 24" fill="currentColor">
<path d="M12 0C5.37 0 0 5.37 0 12c0 5.3 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61-.546-1.385-1.335-1.755-1.335-1.755-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 21.795 24 17.295 24 12c0-6.63-5.37-12-12-12z" />
@ -668,35 +654,35 @@ const BoardEsp32C3 = () => (
/* ── Features ─────────────────────────────────────────── */
const features = [
{
icon: <IcoZap />,
title: 'Real-Time SPICE Analog',
desc: 'ngspice-WASM engine — full Modified Nodal Analysis at ~60 Hz. Resistors, capacitors, op-amps, BJTs, MOSFETs, regulators behave like real silicon, not idealised models.',
},
{
icon: <IcoCpu />,
title: '5 Emulation Engines',
desc: 'AVR8 (ATmega), RP2040 (ARM Cortex-M0+), RV32IMC (ESP32-C3 in-browser), Xtensa LX6/LX7 (ESP32 via QEMU), and ARM Cortex-A53 (Raspberry Pi 3 Linux).',
desc: 'AVR8 (ATmega328P, ATmega2560, ATtiny85), RP2040 (ARM Cortex-M0+), RV32IMC (ESP32-C3 in-browser), Xtensa LX6/LX7 (ESP32 via QEMU), and ARM Cortex-A53 (Raspberry Pi 3 Linux).',
},
{
icon: <IcoChip />,
title: 'Custom Chips',
desc: 'Author your own integrated circuits in C, Rust, or AssemblyScript using the Wokwi Custom Chips API. Compile to WebAssembly and reuse across projects.',
},
{
icon: <IcoLayers />,
title: '48+ Visual Components',
desc: 'LEDs, LCDs, ILI9341 TFT displays, servos, buzzers, ultrasonic sensors, keypads, and more from wokwi-elements.',
},
{
icon: <IcoCode />,
title: 'Monaco Editor',
desc: 'VS Code-grade C++ editor with full syntax highlighting, IntelliSense-style autocomplete, minimap, and multi-file workspace.',
},
{
icon: <IcoZap />,
title: 'Local arduino-cli Compiler',
desc: 'Compile and flash sketches locally in seconds. No cloud, no latency, no account required. Full offline support.',
title: '100+ Components',
desc: 'SPICE-accurate analog parts plus 48+ wokwi visual components — LEDs, LCDs, ILI9341 TFT, servos, buzzers, ultrasonic sensors, keypads, NeoPixel strips.',
},
{
icon: <IcoMonitor />,
title: 'Serial Monitor',
desc: 'Real-time TX/RX with auto baud-rate detection, message history, send commands, and autoscroll.',
title: 'Live Instruments',
desc: 'Multi-channel oscilloscope, voltmeter, ammeter, signal generator. Drop on any node and watch waveforms update in real time as the simulation runs.',
},
{
icon: <IcoBook />,
title: 'Library Manager',
desc: 'Search and install any library from the full Arduino library index — directly inside the editor, no terminal needed.',
icon: <IcoCode />,
title: 'Monaco Editor + arduino-cli',
desc: 'VS Code-grade C++ editor with multi-file workspace. Local arduino-cli compiles to real .hex / .uf2 / .bin files — no cloud round-trip.',
},
];
@ -851,12 +837,28 @@ export const LandingPage: React.FC = () => {
text: 'Yes. Velxio is completely free and open-source under the GNU AGPLv3 license. No account required, no cloud subscription. Run it at velxio.dev or self-host with one Docker command.',
},
},
{
'@type': 'Question',
name: 'Can Velxio simulate analog circuits?',
acceptedAnswer: {
'@type': 'Answer',
text: 'Yes. Velxio 2.5 includes real-time SPICE analog simulation via ngspice compiled to WebAssembly. You can mix passive and active analog parts (resistors, capacitors, op-amps, BJTs, MOSFETs, regulators, diodes) with Arduino, ESP32, and RP2040 firmware on the same canvas — GPIO drives SPICE nets, ADC reads solved node voltages.',
},
},
{
'@type': 'Question',
name: 'Can I create my own custom chips?',
acceptedAnswer: {
'@type': 'Answer',
text: 'Yes. Velxio implements the Wokwi Custom Chips API. Write your chip in C, Rust, or AssemblyScript; Velxio compiles it to WebAssembly and runs it on the canvas like any other component, with pin I/O, attribute reads, timers, and I²C/SPI bus integration.',
},
},
{
'@type': 'Question',
name: 'Does Velxio work offline?',
acceptedAnswer: {
'@type': 'Answer',
text: 'Velxio can be self-hosted via Docker. Once running, the simulation engine works fully offline in the browser. Compilation requires the local arduino-cli backend.',
text: 'The SPICE solver and the AVR / RP2040 / RISC-V CPU emulators all run in your browser. Compilation of Arduino sketches requires the arduino-cli backend. Self-hosted Docker deployments work fully offline once running.',
},
},
{
@ -869,10 +871,10 @@ export const LandingPage: React.FC = () => {
},
{
'@type': 'Question',
name: 'Is Velxio a Wokwi alternative?',
name: 'Is Velxio a Wokwi / Falstad / Tinkercad alternative?',
acceptedAnswer: {
'@type': 'Answer',
text: 'Yes. Velxio is a free, self-hosted alternative to Wokwi. It uses the same avr8js and wokwi-elements open-source libraries but runs entirely on your machine with no cloud dependency.',
text: 'Yes. Velxio is a free, self-hosted alternative to Wokwi for microcontroller simulation, and a more accurate alternative to Falstad and Tinkercad for analog circuits — Velxio runs the real ngspice engine and also runs the firmware on the microcontroller driving the circuit, all in one tool.',
},
},
],
@ -887,15 +889,16 @@ export const LandingPage: React.FC = () => {
<section className="landing-hero">
<div className="hero-left">
<h1 className="hero-title">
Emulate Arduino,
Circuits + Code.
<br />
ESP32 &amp; Raspberry Pi.
One Browser Tab.
<br />
<span className="hero-accent">in your browser.</span>
<span className="hero-accent">SPICE-accurate.</span>
</h1>
<p className="hero-subtitle">
Write code, compile, and run on 19 real boards — Arduino Uno, ESP32, ESP32-C3, Raspberry
Pi Pico, Raspberry Pi 3, and more. No hardware, no cloud, no limits.
Free online circuit simulator with real ngspice analog co-simulated with 19 boards —
Arduino Uno, Mega, ATtiny85, ESP32, ESP32-C3, Raspberry Pi Pico, Raspberry Pi 3 —
plus build your own custom chips in C or Rust. No hardware, no cloud, no limits.
</p>
<div className="hero-ctas">
<Link

View File

@ -0,0 +1,235 @@
/**
* /spice-simulator — SEO landing page
* Target keywords: "spice simulator online", "ngspice browser",
* "free spice simulator", "spice in browser"
*/
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('/spice-simulator')!;
const FAQ_ITEMS = [
{
q: 'Is this real ngspice running in my browser?',
a: 'Yes. Velxio loads ngspice compiled to WebAssembly via the open-source eecircuit-engine. The same SPICE engine that powers professional EDA workflows runs in your browser tab — no server, no install.',
},
{
q: 'What kind of analysis does it run?',
a: 'Real-time transient analysis. The solver runs Modified Nodal Analysis on every tick (~60 Hz) so you see waveforms evolve as the circuit runs. Non-linear devices iterate to convergence at every step.',
},
{
q: 'Which SPICE device models are supported?',
a: 'Resistors, capacitors, inductors, ideal voltage and current sources, diodes (1N4148, 1N4007, 1N5817, 1N5819, Zener 1N4733), BJTs (2N2222, 2N3055, 2N3906, BC547, BC557), MOSFETs (2N7000, IRF540, IRF9540, FQP27P06 — Level 3 model), op-amps (LM358, LM741, TL072, LM324, ideal) with saturation rails, linear regulators (7805, 7812, 7905, LM317), optocouplers (4N25, PC817), and relay coils with inductance.',
},
{
q: 'Can I write raw SPICE netlists?',
a: 'Velxio builds the netlist for you from the schematic — wire components on the canvas and the simulator generates the SPICE cards. You don’t have to handwrite netlists, but the underlying engine is full ngspice and accepts standard device cards.',
},
{
q: 'Does it include instruments?',
a: 'Yes — multi-channel oscilloscope, voltmeter, ammeter, and signal generator (sine / square / DC, configurable frequency, amplitude, offset). All instruments probe live SPICE node voltages and branch currents.',
},
{
q: 'Can SPICE talk to a microcontroller?',
a: 'Yes. This is the unique feature. Arduino / ESP32 / RP2040 / ATtiny85 GPIOs drive SPICE voltage sources; ADC inputs read solved node voltages. Build a real firmware-driven analog signal chain end-to-end in one tool.',
},
];
const JSON_LD: object[] = [
{
'@context': 'https://schema.org',
'@type': 'SoftwareApplication',
name: 'Velxio — Free Online SPICE Simulator (ngspice-WASM)',
applicationCategory: 'DeveloperApplication',
applicationSubCategory: 'SPICE Circuit Simulator',
operatingSystem: 'Any (browser-based)',
description:
'Free online SPICE simulator running ngspice in WebAssembly. Real device models, full Modified Nodal Analysis, live oscilloscope and meters. Co-simulates with Arduino, ESP32, RP2040, and ATtiny85 firmware.',
url: 'https://velxio.dev/spice-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: 'SPICE Simulator',
item: 'https://velxio.dev/spice-simulator',
},
],
},
];
export const SpiceSimulatorPage: React.FC = () => {
useSEO({ ...META, jsonLd: JSON_LD });
return (
<div className="seo-page">
<AppHeader />
<main>
{/* Hero */}
<section className="seo-hero">
<h1>
Free SPICE Simulator Online
<br />
<span className="accent">Real ngspice, in your browser</span>
</h1>
<p className="subtitle">
Velxio runs the open-source ngspice engine compiled to WebAssembly. Real device models,
full Modified Nodal Analysis, live transient simulation — and you can wire it to real
Arduino / ESP32 / RP2040 firmware. Free, no install, no account.
</p>
<div className="seo-cta-group">
<Link
to="/editor"
className="seo-btn-primary"
onClick={() => trackClickCTA('spice-simulator', '/editor')}
>
Open SPICE Simulator →
</Link>
<Link to="/v2-5" className="seo-btn-secondary">
See Velxio 2.5 Release
</Link>
</div>
<p className="seo-trust">
Real ngspice · Free &amp; open-source · Runs 100% in your browser
</p>
</section>
{/* Why */}
<section className="seo-section">
<h2>Why Velxio for SPICE?</h2>
<p className="lead">
Browser SPICE has historically meant either no SPICE at all (linear approximators) or
hosted-only tools that need an account. Velxio runs the real engine, locally, for free.
</p>
<div className="seo-grid">
<div className="seo-card">
<h3>Real ngspice</h3>
<p>
Same engine as professional EDA workflows, compiled to WebAssembly via
eecircuit-engine. No simplified solver — full MNA, full device library.
</p>
</div>
<div className="seo-card">
<h3>No server, no account</h3>
<p>
The solver runs in your browser tab. Your circuits never leave your machine. Works
offline after the first load.
</p>
</div>
<div className="seo-card">
<h3>Co-simulates with firmware</h3>
<p>
Arduino / ESP32 / RP2040 / ATtiny85 GPIOs drive SPICE sources, ADCs read solved node
voltages. The unique combo no other in-browser tool offers.
</p>
</div>
</div>
</section>
{/* Devices */}
<section className="seo-section">
<h2>Device library</h2>
<p className="lead">
Every component on the canvas maps to a real ngspice device card — not a behavioural
stand-in.
</p>
<div className="seo-grid">
<div className="seo-card">
<h3>Passives</h3>
<p>Resistors, capacitors (electrolytic / ceramic / polarity-aware), inductors, potentiometers, photoresistors (LDR), photodiodes, NTC thermistors.</p>
</div>
<div className="seo-card">
<h3>Diodes</h3>
<p>1N4148, 1N4007, 1N5817 / 1N5819 (Schottky), Zener 1N4733 — with proper forward drop, reverse breakdown, and recovery.</p>
</div>
<div className="seo-card">
<h3>BJTs</h3>
<p>2N2222, 2N3055 (high-current NPN), 2N3906, BC547, BC557 — with cutoff, active region, and saturation behaviour.</p>
</div>
<div className="seo-card">
<h3>MOSFETs</h3>
<p>2N7000 (small-signal N-channel), IRF540 (power N-channel), IRF9540 (power P-channel), FQP27P06 — Level 3 model.</p>
</div>
<div className="seo-card">
<h3>Op-amps</h3>
<p>LM358, LM741, TL072, LM324, ideal — with realistic saturation rails so output clipping looks correct.</p>
</div>
<div className="seo-card">
<h3>Linear regulators</h3>
<p>7805, 7812, 7905, LM317 — with dropout voltage. Build a complete power supply on the canvas.</p>
</div>
<div className="seo-card">
<h3>Logic ICs</h3>
<p>74HC-series DIP-14 packages, basic gates (AND/OR/NAND/NOR/XOR/XNOR/NOT), edge-triggered D/T/JK flip-flops, SR latches.</p>
</div>
<div className="seo-card">
<h3>Power-stage parts</h3>
<p>L293D dual H-bridge, optocouplers (4N25, PC817 with CTR), SPDT relays with coil inductance, hysteresis, and flyback diode.</p>
</div>
<div className="seo-card">
<h3>Sources &amp; instruments</h3>
<p>9V / AA / coin batteries with realistic ESR, signal generator (sine / square / DC), oscilloscope, voltmeter, ammeter.</p>
</div>
</div>
</section>
{/* FAQ */}
<section className="seo-section">
<h2>Frequently Asked Questions</h2>
<dl className="seo-faq">
{FAQ_ITEMS.map(({ q, a }) => (
<React.Fragment key={q}>
<dt>{q}</dt>
<dd>{a}</dd>
</React.Fragment>
))}
</dl>
</section>
{/* Bottom CTA */}
<div className="seo-bottom">
<h2>Run real SPICE — no install, no account</h2>
<p>Open the editor and start solving real circuits in seconds.</p>
<Link
to="/editor"
className="seo-btn-primary"
onClick={() => trackClickCTA('spice-simulator', '/editor')}
>
Launch SPICE Simulator →
</Link>
<div className="seo-internal-links">
<Link to="/circuit-simulator">Circuit Simulator</Link>
<Link to="/electronics-simulator">Electronics Simulator</Link>
<Link to="/v2-5">Velxio 2.5 Release</Link>
<Link to="/examples">Analog Examples</Link>
<Link to="/arduino-simulator">Arduino Simulator</Link>
<Link to="/esp32-simulator">ESP32 Simulator</Link>
<Link to="/custom-chip-simulator">Custom Chip Simulator</Link>
</div>
</div>
</main>
</div>
);
};

View File

@ -41,9 +41,9 @@ export const SEO_ROUTES: SeoRoute[] = [
changefreq: 'weekly',
seoMeta: {
title:
'Velxio — Free Multi-Board Emulator | Arduino · ESP32 · RP2040 · RISC-V · Raspberry Pi',
'Velxio — Free Online Circuit & Arduino Simulator | SPICE · ESP32 · RP2040 · ATtiny85 · Custom Chips',
description:
'Velxio is a free, open-source multi-board emulator. 19 boards across 5 CPU architectures: Arduino Uno/Mega/ATtiny (AVR8), ESP32/ESP32-S3 (Xtensa QEMU), ESP32-C3/CH32V003 (RISC-V), Raspberry Pi Pico (RP2040), Raspberry Pi 3 (Linux). 48+ components, no cloud.',
'Velxio is a free, open-source online circuit simulator. Real-time SPICE analog simulation (ngspice-WASM) wired to 19 boards: Arduino Uno/Mega/ATtiny85 (AVR8), ESP32 (Xtensa QEMU), ESP32-C3/CH32V003 (RISC-V), Raspberry Pi Pico (RP2040), Raspberry Pi 3 (Linux). Build custom chips in C/Rust. 100+ components, oscilloscope, voltmeter, ammeter — no cloud.',
url: `${DOMAIN}/`,
},
},
@ -53,9 +53,9 @@ export const SEO_ROUTES: SeoRoute[] = [
priority: 0.8,
changefreq: 'weekly',
seoMeta: {
title: 'Arduino Simulator Examples — Run 18+ Sketches Instantly | Velxio',
title: 'Circuit & Arduino Simulator Examples — 100+ Sketches & Analog Projects | Velxio',
description:
'Explore 18+ interactive Arduino examples with LEDs, sensors, displays, and games. Runs entirely in your browser — free, no install, no account required.',
'Browse 100+ interactive examples — Arduino, ESP32, RP2040, ATtiny85 sketches plus 40+ analog SPICE circuits (op-amp amplifiers, RC filters, transistor switches, full-wave rectifiers). Runs in your browser — free, no install.',
url: `${DOMAIN}/examples`,
},
},
@ -217,6 +217,61 @@ export const SEO_ROUTES: SeoRoute[] = [
},
// ── SEO keyword landing pages
{
path: '/circuit-simulator',
priority: 0.95,
changefreq: 'weekly',
seoMeta: {
title: 'Free Online Circuit Simulator — SPICE Analog Simulation in Your Browser | Velxio',
description:
'Velxio is a free online circuit simulator with real-time SPICE analog simulation via ngspice-WASM. 100+ components — resistors, capacitors, op-amps, transistors, regulators, diodes — wired to Arduino, ESP32, RP2040 firmware. Live oscilloscope, voltmeter, ammeter. No install, no account.',
url: `${DOMAIN}/circuit-simulator`,
},
},
{
path: '/spice-simulator',
priority: 0.9,
changefreq: 'weekly',
seoMeta: {
title: 'Free Online SPICE Simulator — ngspice in Your Browser | Velxio',
description:
'Run SPICE simulations directly in your browser. Velxio uses ngspice compiled to WebAssembly via eecircuit-engine — full transient analysis, real device models (BJTs, MOSFETs, op-amps, diodes), Modified Nodal Analysis. Free and open-source.',
url: `${DOMAIN}/spice-simulator`,
},
},
{
path: '/electronics-simulator',
priority: 0.85,
changefreq: 'monthly',
seoMeta: {
title: 'Free Online Electronics Simulator — Build & Test Circuits in Your Browser | Velxio',
description:
'Velxio is a free online electronics simulator with SPICE-accurate analog parts and 19 simulated microcontrollers. Build, wire, and test electronic circuits — Arduino, ESP32, RP2040, ATtiny85 — in your browser. 100+ components, no install, no account.',
url: `${DOMAIN}/electronics-simulator`,
},
},
{
path: '/custom-chip-simulator',
priority: 0.85,
changefreq: 'monthly',
seoMeta: {
title: 'Custom Chip Simulator — Build Your Own ICs in C, Rust & AssemblyScript | Velxio',
description:
'Define your own integrated circuits in C, Rust, or AssemblyScript with the Wokwi-compatible Custom Chips API. Compile to WebAssembly and drive pins, attributes, timers, I²C and SPI from your simulated chip. Free and open-source.',
url: `${DOMAIN}/custom-chip-simulator`,
},
},
{
path: '/attiny85-simulator',
priority: 0.85,
changefreq: 'monthly',
seoMeta: {
title: 'Free ATtiny85 Simulator — Cycle-Accurate AVR Emulation Online | Velxio',
description:
'Simulate ATtiny85 firmware in your browser with cycle-accurate AVR8 emulation. Full DIP-8 pinout, 8 KB flash, 6 GPIOs, USI (I²C/SPI), Timer0/Timer1 PWM, 10-bit ADC, watchdog. Wire it to LEDs, sensors, or SPICE analog parts. Free, no install.',
url: `${DOMAIN}/attiny85-simulator`,
},
},
{
path: '/arduino-simulator',
priority: 0.9,