import { useState, useRef, useEffect } from 'react'; import { Link, useNavigate } from 'react-router-dom'; import { useAuthStore } from '../store/useAuthStore'; import { AppHeader } from '../components/layout/AppHeader'; import './LandingPage.css'; const GITHUB_URL = 'https://github.com/davidmonterocrespo24/velxio'; const PAYPAL_URL = 'https://paypal.me/odoonext'; const GITHUB_SPONSORS_URL = 'https://github.com/sponsors/davidmonterocrespo24'; /* ── Icons ───────────────────────────────────────────── */ const IcoChip = () => ( ); const IcoCpu = () => ( ); const IcoCode = () => ( ); const IcoZap = () => ( ); const IcoLayers = () => ( ); const IcoMonitor = () => ( ); const IcoBook = () => ( ); const IcoGitHub = () => ( ); /* ── Circuit Schematic SVG (hero illustration) ───────── */ const CircuitSchematic = () => ( ); /* ── Board SVGs ───────────────────────────────────────── */ const BoardUno = () => ( {[0,1,2,3,4,5,6,7,8,9,11,12,13].map((i) => ( ))} {[0,1,2,3,4,5].map((i) => ( ))} Arduino Uno ); const BoardNano = () => ( {[0,1,2,3,4,5,6,7].map((i) => ( ))} {[0,1,2,3,4,5,6,7].map((i) => ( ))} Arduino Nano ); const BoardPico = () => ( {[0,1,2,3,4,5,6].map((i) => ( ))} {[0,1,2,3,4,5,6].map((i) => ( ))} Raspberry Pi Pico ); const BoardMega = () => ( {Array.from({length: 18}).map((_, i) => ( ))} {Array.from({length: 18}).map((_, i) => ( ))} Arduino Mega 2560 ); /* ── Features ─────────────────────────────────────────── */ const features = [ { icon: , title: 'Real AVR8 Emulation', desc: 'Full ATmega328p at 16 MHz — timers, USART, ADC, SPI, I2C and PWM all wired.' }, { icon: , title: '48+ Components', desc: 'LEDs, LCDs, TFT displays, servos, buzzers, sensors and more from wokwi-elements.' }, { icon: , title: 'Monaco Editor', desc: 'VS Code-grade C++ editor with syntax highlighting, autocomplete and minimap.' }, { icon: , title: 'arduino-cli Backend', desc: 'Compile sketches locally in seconds. No cloud. No latency. No limits.' }, { icon: , title: 'Serial Monitor', desc: 'Live TX/RX with auto baud-rate detection, send data and autoscroll.' }, { icon: , title: 'Library Manager', desc: 'Browse and install the full Arduino library index directly from the UI.' }, ]; /* ── Sponsor SVG icon ─────────────────────────────────── */ const IcoSponsor = () => ( ); /* ── User nav dropdown ────────────────────────────────── */ const UserMenu: React.FC = () => { const user = useAuthStore((s) => s.user); const logout = useAuthStore((s) => s.logout); const navigate = useNavigate(); const [open, setOpen] = useState(false); const ref = useRef(null); useEffect(() => { const handler = (e: MouseEvent) => { if (ref.current && !ref.current.contains(e.target as Node)) setOpen(false); }; document.addEventListener('mousedown', handler); return () => document.removeEventListener('mousedown', handler); }, []); if (!user) return null; const initials = user.username[0].toUpperCase(); return (
{open && (
{user.avatar_url ? ( ) : ( {initials} )}
{user.username}
{user.email}
setOpen(false)}> Open Editor setOpen(false)}> My Projects
)}
); }; /* ── Component ────────────────────────────────────────── */ export const LandingPage: React.FC = () => { return (
{/* Hero */}
OPEN SOURCE FREE LOCAL

Arduino Simulator
in your browser

Write, compile, and simulate Arduino projects with no hardware required. Real AVR8 emulation running entirely on your machine.

Launch Editor View on GitHub
ATmega328p / RP2040 / 16 MHz / 48+ components
{/* Boards */}
// boards

Supported Hardware

Pick your target board. The emulator adapts its register map and timing.

Arduino Uno ATmega328p · AVR8 · 16 MHz
Arduino Nano ATmega328p · AVR8 · 16 MHz
Arduino Mega ATmega2560 · AVR8 · 16 MHz
Raspberry Pi Pico RP2040 · Dual-core ARM · 133 MHz
{/* Features */}
// features

Everything you need

A complete IDE and simulator, running locally with no external dependencies.

{features.map((f) => (
{f.icon}

{f.title}

{f.desc}

))}
{/* Support */}

Support the project

Velxio is free and open source. If it saves you time, consider supporting its development.

{/* Footer */}
); };