Commit Graph

319 Commits (feature/micropython-rp2040)

Author SHA1 Message Date
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 0bc4c031d1 feat: add MicroPython support for ESP32-C3 (RISC-V) boards
ESP32-C3 already uses the QEMU backend via Esp32Bridge, not browser-side
emulation. This adds MicroPython support by including C3 in the supported
set, adding the C3 firmware variant to the loader, and bundling the
fallback firmware binary.

Also fixes misleading type comments that said "browser emulation" for C3
boards — they actually use QEMU backend.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-29 23:40:05 -03:00
David Montero Crespo 7c9fd0bf2b feat: add MicroPython support for ESP32/ESP32-S3 boards via QEMU bridge
Extends MicroPython support (Phase 2) to ESP32 Xtensa boards running on
QEMU. Firmware is downloaded from micropython.org, cached in IndexedDB,
and loaded into QEMU. User code is injected via the raw-paste REPL
protocol after the MicroPython REPL boots.

- Create Esp32MicroPythonLoader.ts for firmware download/cache
- Add raw-paste REPL injection (Ctrl+A → Ctrl+E → code → Ctrl+D) to Esp32Bridge
- Extend loadMicroPythonProgram in store for ESP32 path
- Add ESP32 default MicroPython content (GPIO 2 blink)
- Simplify SerialMonitor Ctrl+C/D to work for all MicroPython boards
- Bundle fallback firmware for ESP32 and ESP32-S3
- Add all ESP32 board variants to SerialMonitor tab maps

Closes #3 (Phase 2)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-29 23:12:24 -03:00
David Montero Crespo 990ae4be8c feat: add MicroPython support for RP2040 boards (Pico / Pico W)
Implements MicroPython emulation for Raspberry Pi Pico boards running
entirely in the browser using rp2040js. Users can toggle between
Arduino C++ and MicroPython modes via a language selector dropdown.

Key changes:
- Add LanguageMode type and BOARD_SUPPORTS_MICROPYTHON to board types
- Create MicroPythonLoader.ts: UF2 firmware parser, LittleFS filesystem
  builder (via littlefs-wasm), IndexedDB firmware caching
- Extend RP2040Simulator with loadMicroPython() method using USBCDC for
  serial REPL instead of UART
- Add setBoardLanguageMode and loadMicroPythonProgram store actions
- Update EditorToolbar with language toggle and MicroPython compile flow
- Enhance SerialMonitor with REPL label, Ctrl+C/D support
- Bundle MicroPython v1.20.0 UF2 firmware as fallback in public/firmware/
- Update useEditorStore to create main.py default for MicroPython mode

Closes #3

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-29 21:27:41 -03:00
David Montero Crespo e99ded70b5 feat: update AboutPage with new external links and improve press section 2026-03-28 23:11:57 -03:00
David Montero Crespo c0b658e6d6 fix: update npm ci to npm install for building libraries and mark submodules as dirty 2026-03-28 22:50:18 -03:00
David Montero Crespo 7da1b2261d
Merge pull request #80 from davidmonterocrespo24/copilot/add-google-analytics-key-events-tracking
feat: add About link to navigation in index.html and Velxio2Page
2026-03-28 22:44:33 -03:00
David Montero Crespo 922d0dd682 feat: add About link to navigation in index.html and Velxio2Page 2026-03-28 22:43:53 -03:00
David Montero Crespo 4d05b6ea7e
Merge pull request #79 from davidmonterocrespo24/copilot/add-google-analytics-key-events-tracking
feat: add About link to AppHeader component
2026-03-28 22:06:01 -03:00
David Montero Crespo 28ba7cb589 feat: add About link to AppHeader component 2026-03-28 22:05:30 -03:00
David Montero Crespo 2b239a8700
Merge pull request #78 from davidmonterocrespo24/copilot/add-google-analytics-key-events-tracking
fix: update Discord invite links across the application
2026-03-28 22:00:59 -03:00
David Montero Crespo 051d90374c Merge remote-tracking branch 'origin/master' into copilot/add-google-analytics-key-events-tracking 2026-03-28 22:00:49 -03:00
David Montero Crespo a346190086 fix: update Discord invite links across the application 2026-03-28 21:58:17 -03:00
David Montero dac948e7da perf: optimize hero image for faster load times
- Resize image.png from 2816x1536 to 1400x764 (7.3MB → 1.9MB, -74%)
- Add image.webp version (201KB, -97% vs original)
- Update nginx.conf to auto-serve WebP via Accept header negotiation
- Update LandingPage.tsx to use <picture> with WebP source + lazy loading

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 20:33:40 +01:00
David Montero Crespo 7095717dc6
Merge pull request #77 from davidmonterocrespo24/copilot/add-google-analytics-key-events-tracking
Copilot/add google analytics key events tracking
2026-03-28 16:27:28 -03:00
David Montero Crespo 6eedd45b81 feat: add About page with content and styling; update routing and SEO metadata 2026-03-28 16:26:29 -03:00
David Montero Crespo 7c9efe15ce
Update README.md 2026-03-28 15:55:43 -03:00
David Montero Crespo 4f4f226940
Actualizar README.md 2026-03-28 14:37:23 -03:00
David Montero Crespo 4e3d5090e2 feat: add zoom support for touch interactions and enhance pin hit targets 2026-03-28 00:31:00 -03:00
David Montero Crespo 91e9c2d5f6
Merge pull request #73 from davidmonterocrespo24/copilot/add-google-analytics-key-events-tracking
Copilot/add google analytics key events tracking
2026-03-25 03:07:11 -03:00
David Montero Crespo f127ef6cbe Enhance analytics tracking across the application
- Added tracking for simulation events: start, stop, and reset.
- Implemented tracking for library manager interactions, including library installations.
- Enhanced project management tracking with save and create project events.
- Integrated tracking for user authentication events: sign-up and login.
- Added tracking for CTA clicks on landing and SEO pages.
- Updated analytics utility functions to support new tracking events.
- Improved GitHub and Discord link tracking in the app header.
- Refactored existing components to utilize new tracking functions for better user engagement insights.
2026-03-25 03:06:38 -03:00
David Montero Crespo 084ad5cfb9 fix: remove redundant console log in handleLoadExample function 2026-03-25 03:05:38 -03:00
David Montero Crespo 2782282d26
Merge pull request #37 from davidmonterocrespo24/copilot/add-google-analytics-key-events-tracking
Add GA4 key events tracking for core user actions
2026-03-25 02:19:41 -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 003482b708
Merge pull request #72 from davidmonterocrespo24/website
Website
2026-03-25 00:09:15 -03:00
David Montero Crespo 005f50262f feat: enhance build scripts and add SEO prerendering; improve touch interactions for wire creation 2026-03-25 00:08:46 -03:00
David Montero Crespo effd1ee765 feat: update entrypoint.sh to ensure ESP32 core version is 2.0.17; mark subproject commits as dirty 2026-03-24 20:39:56 -03:00
David Montero Crespo 9b911202fc
Merge pull request #71 from davidmonterocrespo24/website
feat: initialize arduino-cli config and install missing cores; mark s…
2026-03-24 18:33:47 -03:00
David Montero Crespo c7eeab5891 feat: initialize arduino-cli config and install missing cores; mark subproject commits as dirty 2026-03-24 18:33:21 -03:00
David Montero Crespo 5cac073757
Merge pull request #70 from davidmonterocrespo24/website
Website
2026-03-24 18:21:12 -03:00
David Montero Crespo 8f0c23c857 feat: optimize Dockerfile by deferring arduino-cli core installations to entrypoint.sh for a smaller image size 2026-03-24 18:20:38 -03:00
David Montero Crespo d12a2ad7e4 feat: enhance ExamplesPage to auto-install required libraries; update example projects with library dependencies 2026-03-24 18:19:43 -03:00
David Montero Crespo bf092acd34
Merge pull request #69 from davidmonterocrespo24/website
feat: update entrypoint.sh to install arduino-cli base cores; mark su…
2026-03-24 18:06:56 -03:00
David Montero Crespo dbf6bd986f feat: update entrypoint.sh to install arduino-cli base cores; mark subproject commits as dirty 2026-03-24 18:06:19 -03:00
David Montero Crespo 01b792b02a
Merge pull request #68 from davidmonterocrespo24/website
feat: simplify Dockerfile by removing redundant cp command; mark subp…
2026-03-24 17:59:43 -03:00
David Montero Crespo f4e4f863a9 feat: simplify Dockerfile by removing redundant cp command; mark subproject commits as dirty 2026-03-24 17:59:04 -03:00
David Montero Crespo c1da5c8989
Merge pull request #67 from davidmonterocrespo24/website
feat: update docker-compose to include arduino-libs volume; mark subp…
2026-03-24 17:31:36 -03:00
David Montero Crespo 8ed0438abf feat: update docker-compose to include arduino-libs volume; mark subproject commits as dirty 2026-03-24 17:30:56 -03:00
David Montero Crespo 894f385df4
Merge pull request #66 from davidmonterocrespo24/website
feat: add libfdt1 dependency in Dockerfile; mark subproject commits a…
2026-03-24 17:29:26 -03:00
David Montero Crespo 528287db95 feat: add libfdt1 dependency in Dockerfile; mark subproject commits as dirty 2026-03-24 17:28:56 -03:00
David Montero Crespo 483e181873
Merge pull request #65 from davidmonterocrespo24/website
feat: add WebSocket support for ESP32 simulation in nginx configurati…
2026-03-24 17:03:30 -03:00
David Montero Crespo dc335c666e feat: add WebSocket support for ESP32 simulation in nginx configuration; clean up example code by removing unused WDT functions 2026-03-24 17:02:23 -03:00
David Montero Crespo 2fcaeca5c7
Merge pull request #64 from davidmonterocrespo24/website
Website
2026-03-24 16:52:22 -03:00
David Montero Crespo 9d45484fce feat: enhance EditorToolbar with always-visible Libraries button and missing library hint; remove overflow collapse logic 2026-03-24 16:52:01 -03:00
David Montero Crespo 09118fcdef feat: update .gitignore to include marketing directory; modify example texts to reflect Velxio branding; mark subproject commits as dirty 2026-03-24 16:47:19 -03:00
David Montero Crespo 0290b24a47 feat: remove unnecessary logging and diagnostic dumps in ESP32 worker; update WS2812 event handling in simulator store 2026-03-24 14:38:08 -03:00
David Montero Crespo 5e32e238fc
Merge pull request #63 from davidmonterocrespo24/website
feat: implement eager scan for LEDC GPIO mapping and add tests for ra…
2026-03-24 13:55:28 -03:00
David Montero Crespo 01f75cf313 feat: implement eager scan for LEDC GPIO mapping and add tests for race condition fix 2026-03-24 13:54:44 -03:00
David Montero Crespo 44dc7ef289
Add visitor badge and various shields to README 2026-03-24 02:15:11 -03:00
David Montero Crespo 4357c67a8c
Merge pull request #62 from davidmonterocrespo24/website
Refactor code structure for improved readability and maintainability
2026-03-23 23:24:39 -03:00