davidmonterocrespo24
ed9911dcc3
feat: electrical simulation via ngspice-WASM (eecircuit-engine)
...
Adds full SPICE-accurate electrical simulation to Velxio, behind a lazy-
loaded ⚡ toolbar toggle. Arduino / ESP32 / RP2040 sketches now co-simulate
with real analog behaviour: correct voltages on wires, real I–V curves on
LEDs, working potentiometers, NTC thermistors read by analogRead(), PWM
driving RC filters, transistors, op-amps, diodes, MOSFETs, etc.
Engine: eecircuit-engine (ngspice compiled to WebAssembly). Main bundle
stays at 2.4 MB; the 20 MB SPICE chunk only loads when the user activates
electrical mode. Disabled at build time via VITE_ELECTRICAL_SIM=false.
Frontend additions:
- simulation/spice/: SpiceEngine wrapper + lazy entry, NetlistBuilder with
UnionFind over wires, componentToSpice mapping (24 metadataIds incl.
real part numbers: 2N2222, 2N3055, BC547, IRF540, 2N7000, 1N4148,
1N4007, 1N4733, LEDs, NTC, op-amp ideal), CircuitScheduler with
debounced coalescing, AVRSpiceBridge for quasi-static co-simulation.
- store/useElectricalStore: Zustand slice, feature-flag aware.
- components/analog-ui/: ⚡ toolbar toggle + SVG voltage overlay.
- components/components-instruments/: Voltmeter, Ammeter probes.
- 62 tests (spice-*, netlist-builder, component-to-spice, instruments).
Sandbox (test/test_circuit/): 47-test validation sandbox that proved
the approach (hand-rolled MNA baseline + ngspice pipeline) before
porting to the app. Kept as reference.
Docs: docs/wiki/circuit-emulation-*.md (13 engineering pages covering
architecture, solvers, components, AVR bridge, gotchas, performance,
integration plan, API reference, appendix) + electrical-simulation-
user-guide.md (end-user facing).
Reference plan: test/test_circuit/plan/phase_8_velxio_implementation.md
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 12:11:54 +00:00
David Montero Crespo
4d6dc25ec7
feat: add BMP280 sensor component and circuit preview
...
- Implemented Bmp280Element as a custom web component for the BMP280 barometric sensor, including SVG representation and pin configuration.
- Created CircuitPreview component to render circuit thumbnails using SVGs of components, including support for various boards and components.
- Added a script to generate SVG files from wokwi-elements, ensuring proper formatting and structure for reliable rendering.
- Introduced a test HTML generation script to visualize component SVGs.
2026-04-14 17:27:30 -03:00
David Montero Crespo
4ab0cb7db1
feat: Mark subproject commits as dirty in rp2040js and wokwi-elements; add MicroPython on ESP32 (QEMU) root causes and fixes documentation
2026-04-13 00:16:11 -03:00
David Montero Crespo
d2e1e04def
Add comprehensive documentation for ESP32 GPIO sensor simulation
...
This commit introduces a detailed markdown document outlining the process of simulating DHT22 and HC-SR04 sensors on the ESP32 platform using Velxio's QEMU fork. The documentation covers the context of the simulation, key callbacks, problems encountered, and solutions implemented for both sensors. It includes architectural details, end-to-end testing procedures, and guidelines for adding new GPIO-timed sensors. The aim is to provide maintainers with a thorough understanding of the GPIO logic and the challenges faced during development.
2026-04-10 22:51:56 -03:00
David Montero Crespo
44dcac1059
feat: Mark subproject commits as dirty for wokwi-libs; add documentation for ESP32 I2C slave simulation and debugging journey
2026-04-09 15:10:32 -03:00
David Montero Crespo
a64b14c94e
Merge branch 'master' into feature/micropython-rp2040
...
# Conflicts:
# .gitignore
# frontend/src/components/editor/EditorToolbar.tsx
# frontend/src/components/simulator/SerialMonitor.tsx
# frontend/src/types/board.ts
2026-04-08 00:11:23 -03:00
David Montero Crespo
9761aad0be
feat: enhance Arduino library handling by detecting external libraries and creating IDF components, add tests for library resolution logic
2026-04-07 14:59:51 -03:00
David Montero Crespo
4f3236437a
feat: implement component metadata overrides and enhance property controls
2026-04-07 11:33:34 -03:00
David Montero Crespo
0e366ee5dc
Add comprehensive documentation for Velxio Docker infrastructure
...
- Created `docker-infrastructure.md` detailing the Docker build system, CI/CD pipelines, multi-architecture support, and deployment configuration.
- Included sections on architecture diagram, multi-stage Docker builds, QEMU ESP32 build pipeline, Docker publish CI/CD pipeline, entrypoint script, Nginx reverse proxy configuration, and Docker Compose setup.
- Provided a quick start guide and troubleshooting tips for common issues.
2026-04-07 10:49:05 -03:00
David Montero
5e372f1418
docs: add wiki — ESP32/C3 WiFi emulation investigation and fixes
...
Detailed document covering the full debugging process and three root
causes fixed to make WiFi association work in QEMU emulation:
1. channel=0 in wifi_pkt_rx_ctrl_t
2. wrong AP lookup due to beacon timer race
3. DMA ring resetting to 0 after firmware clears next pointers
2026-04-07 04:36:06 +02:00
David Montero Crespo
f9975d67c5
fix: update gateway IP in documentation and mark submodules as dirty
2026-03-31 23:08:54 -03:00
David Montero Crespo
54f8f2782b
feat: add ESP32 WiFi/BLE emulation with ESP-IDF compilation pipeline
...
Replace arduino-cli with ESP-IDF 4.4.7 for ESP32 compilation — Arduino-compiled
firmware crashes in QEMU (9-28 reboots) while ESP-IDF boots cleanly (0 reboots).
The new espidf_compiler translates Arduino WiFi/WebServer sketches to native
ESP-IDF C code, compiles with cmake+ninja, and merges into 4MB flash images.
Key changes:
- ESP-IDF compiler: translates WiFi.begin/WebServer to esp_wifi/esp_http_server
- ESP-IDF project template with QEMU-optimized sdkconfig (DIO, 40MHz, no WDT)
- WiFi status parser for ESP-IDF serial logs (wifi_status, ble_status events)
- IoT Gateway HTTP reverse proxy for ESP32 web servers
- WiFi/BLE auto-detection from sketch content + visual status icons
- Static IP 192.168.4.15 matching slirp DHCP first-client range
- Docker: new espidf-builder stage with ESP-IDF 4.4.7 toolchain
- 157 tests covering WiFi/BLE for both ESP32 (Xtensa) and ESP32-C3 (RISC-V)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-31 20:53:56 -03:00
David Montero Crespo
6e5e9778fc
feat: add comprehensive MicroPython implementation documentation for RP2040, ESP32, ESP32-S3, and ESP32-C3 boards
2026-03-29 23:50:55 -03:00
David Montero Crespo
5d741bfb5e
Merge branch 'website' into copilot/add-google-analytics-key-events-tracking
...
# Conflicts:
# frontend/src/components/layout/AppHeader.tsx
# frontend/src/pages/ExamplesPage.tsx
# frontend/src/pages/LandingPage.tsx
2026-03-25 02:18:52 -03:00
David Montero Crespo
cf54fa90a3
Refactor code structure for improved readability and maintainability
2026-03-23 23:24:14 -03:00
David Montero Crespo
7053b6f2c8
feat: update ESP32-C3 simulator and add emulation tests
...
- Updated components-metadata.json with new generated timestamp.
- Refactored Esp32C3Simulator.ts to remove unnecessary debug variables and logging, and added support for additional ROM functions.
- Modified useSimulatorStore.ts to clarify bridge usage for ESP32 boards.
- Updated submodules for QEMU and other libraries to indicate dirty state.
- Added test_esp32c3_emulation.py for end-to-end testing of ESP32-C3 emulation, including compilation, flash image merging, and GPIO event checking.
2026-03-18 23:30:45 -03:00
David Montero Crespo
d35ad2d2f7
Refactor code structure for improved readability and maintainability
2026-03-16 18:31:46 -03:00
David Montero Crespo
8c1c0e105d
Refactor code structure for improved readability and maintainability
2026-03-16 14:28:16 -03:00
David Montero Crespo
2b19181c2b
Refactor code structure for improved readability and maintainability
2026-03-16 14:22:23 -03:00
David Montero Crespo
a40471fa38
feat: update RISCV_EMULATION documentation with English translations and improvements
2026-03-16 14:22:18 -03:00
David Montero Crespo
8e38bd2fa1
Implement feature X to enhance user experience and fix bug Y in module Z
2026-03-16 13:23:31 -03:00
David Montero Crespo
20ccd87d1b
feat: enhance ESP32 emulation with GPIO mapping and ADC support
2026-03-16 13:11:59 -03:00
David Montero Crespo
5439dcf65f
feat: add RISC-V emulation documentation and update ESP32 emulation section
2026-03-15 23:15:31 -03:00
David Montero Crespo
a99a9d512f
feat: enhance ESP32 emulation with QEMU integration and update documentation
2026-03-14 14:35:59 -03:00
David Montero Crespo
d1492c48cb
docs: rewrite ESP32_EMULATION.md with complete installation guide
...
Add step-by-step setup section (section 1) covering:
- MSYS2 installation and required packages
- arduino-cli + esp32:esp32@2.0.17 core install
- esptool installation
- Building libqemu-xtensa.dll from qemu-lcgamboa submodule
- Obtaining ESP32 ROM binaries
- Python venv + backend dependencies
- Verifying with test suite (28 + 13 tests)
- Running backend with ESP32 emulation active
- Compiling custom sketches for QEMU
Update section 11 (Frontend events): all events are now implemented
(gpio_change, ledc_update, ws2812_update, gpio_dir, i2c_event, spi_event,
system:crash/reboot) — removed "Pending" status, added ✅ for each.
Update section 10 (Tests): document both test suites with per-test table.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 12:33:17 -03:00
David Montero Crespo
4a7c9e2e55
feat: enhance ESP32 emulation with GPIO pinmap and improved QEMU initialization handling
2026-03-14 12:05:35 -03:00
copilot-swe-agent[bot]
13ee547ad7
feat: add GA4 key events tracking (run_simulation, open_example, create_project, compile_code, visit_github)
...
Co-authored-by: davidmonterocrespo24 <47928504+davidmonterocrespo24@users.noreply.github.com>
2026-03-12 22:02:24 +00:00
copilot-swe-agent[bot]
c00f094d6b
Fix nginx /docs routing conflict, move FastAPI Swagger to /api/docs, complete SEO meta tags
...
Co-authored-by: davidmonterocrespo24 <47928504+davidmonterocrespo24@users.noreply.github.com>
2026-03-11 18:55:18 +00:00
copilot-swe-agent[bot]
b8bdaf4c65
Translate Spanish docs to English and add SEO-optimised URL routing for documentation
...
Co-authored-by: davidmonterocrespo24 <47928504+davidmonterocrespo24@users.noreply.github.com>
2026-03-11 18:46:42 +00:00
copilot-swe-agent[bot]
4de28c25a2
Merge doc/ into docs/ — eliminate duplicate documentation folders
...
- Move ARCHITECTURE.md, MCP.md, SETUP_COMPLETE.md, WOKWI_LIBS.md, examples/, img1-4.png from doc/ to docs/
- Delete doc/ directory
- Update README.md: doc/img*.png -> docs/img*.png
- Update CLAUDE.md: doc/ARCHITECTURE.md -> docs/ARCHITECTURE.md
- Update frontend/README.md: ../doc/ -> ../docs/
- Update scripts/generate-example-screenshots.md: doc/examples/ -> docs/examples/
- Update docs/SETUP_COMPLETE.md internal self-references
Co-authored-by: davidmonterocrespo24 <47928504+davidmonterocrespo24@users.noreply.github.com>
2026-03-11 17:03:51 +00:00
copilot-swe-agent[bot]
d711fe49b1
Create documentation page accessible at /docs
...
- Add docs/ folder with intro, getting-started, emulator, components, roadmap markdown files
- Add DocsPage.tsx with sidebar navigation, section content, pagination
- Add DocsPage.css matching existing dark theme
- Register /docs route in App.tsx
- Add /docs to sitemap.xml
Co-authored-by: davidmonterocrespo24 <47928504+davidmonterocrespo24@users.noreply.github.com>
2026-03-11 15:56:06 +00:00