diff --git a/.markdownlint.json b/.markdownlint.json new file mode 100644 index 00000000..ab490fe6 --- /dev/null +++ b/.markdownlint.json @@ -0,0 +1,13 @@ +{ + "default": true, + "MD013": false, + "MD028": false, + "MD031": false, + "MD033": { + "allowed_elements": ["table", "tr", "td", "th", "img", "br", "b", "a", "p", "div"] + }, + "MD040": false, + "MD051": false, + "MD058": false, + "MD060": false +} diff --git a/README.md b/README.md index 577fa176..c52499d1 100644 --- a/README.md +++ b/README.md @@ -68,21 +68,21 @@ Component Picker showing 48 available components with visual previews, search, a - - - - + + + + - - - - + + + + - - - + + +
Raspberry Pi Pico
Raspberry Pi Pico
Raspberry Pi Pico W
Raspberry Pi Pico W
ESP32 DevKit C
ESP32 DevKit C
ESP32-S3
ESP32-S3
Raspberry Pi Pico
Raspberry Pi Pico
Raspberry Pi Pico W
Raspberry Pi Pico W
ESP32 DevKit C
ESP32 DevKit C
ESP32-S3
ESP32-S3
ESP32-C3
ESP32-C3
Seeed XIAO ESP32-C3
Seeed XIAO ESP32-C3
ESP32-C3 SuperMini
ESP32-C3 SuperMini
ESP32-CAM
ESP32-CAM
ESP32-C3
ESP32-C3
Seeed XIAO ESP32-C3
Seeed XIAO ESP32-C3
ESP32-C3 SuperMini
ESP32-C3 SuperMini
ESP32-CAM
ESP32-CAM
Seeed XIAO ESP32-S3
Seeed XIAO ESP32-S3
Arduino Nano ESP32
Arduino Nano ESP32
Raspberry Pi 3B
Raspberry Pi 3B
Seeed XIAO ESP32-S3
Seeed XIAO ESP32-S3
Arduino Nano ESP32
Arduino Nano ESP32
Raspberry Pi 3B
Raspberry Pi 3B
Arduino Uno / Nano / Mega
(ATmega328p / 2560)
diff --git a/docs/ESP32_EMULATION.md b/docs/ESP32_EMULATION.md index 1f61c113..b65cb28b 100644 --- a/docs/ESP32_EMULATION.md +++ b/docs/ESP32_EMULATION.md @@ -7,6 +7,18 @@ > **Note on ESP32-C3:** The ESP32-C3, XIAO ESP32-C3, and ESP32-C3 SuperMini boards use the **RISC-V RV32IMC** architecture and have their own in-browser emulator. See → [RISCV_EMULATION.md](./RISCV_EMULATION.md) +## Supported Boards + + + + + + + + + +
ESP32 DevKit C V4
ESP32 DevKit C V4
ESP32-S3
ESP32-S3
ESP32-CAM
ESP32-CAM
Seeed XIAO ESP32-S3
Seeed XIAO ESP32-S3
Arduino Nano ESP32
Arduino Nano ESP32
+ --- ## Table of Contents diff --git a/docs/RASPBERRYPI3_EMULATION.md b/docs/RASPBERRYPI3_EMULATION.md index eccb0d33..b9585a5f 100644 --- a/docs/RASPBERRYPI3_EMULATION.md +++ b/docs/RASPBERRYPI3_EMULATION.md @@ -57,6 +57,12 @@ There is **no compilation step** for the Raspberry Pi: you write a Python script ## 2. Supported Boards + + + + +
Raspberry Pi 3B
Raspberry Pi 3B
+ | Board | QEMU Machine | CPU | Notes | | ----- | ------------ | --- | ----- | | Raspberry Pi 3B | `raspi3b` | BCM2837, 4× Cortex-A53 | Full Raspberry Pi OS support | @@ -172,7 +178,7 @@ Both ports are allocated dynamically at startup to avoid conflicts on the host m The `gpio_shim.py` module is injected into the Raspberry Pi OS at the standard `RPi.GPIO` installation path: -``` +```text /usr/local/lib/python3.11/dist-packages/RPi/GPIO.py ``` diff --git a/docs/RISCV_EMULATION.md b/docs/RISCV_EMULATION.md index 3e0f3062..7d4f5065 100644 --- a/docs/RISCV_EMULATION.md +++ b/docs/RISCV_EMULATION.md @@ -48,6 +48,14 @@ Boards based on **ESP32-C3** use Espressif's **ESP32-C3** processor, which imple ## 2. Supported Boards + + + + + + +
ESP32-C3 DevKit
ESP32-C3 DevKit
Seeed XIAO ESP32-C3
Seeed XIAO ESP32-C3
ESP32-C3 SuperMini
ESP32-C3 SuperMini
+ | Board | arduino-cli FQBN | Built-in LED | | ----- | ---------------- | ------------ | | ESP32-C3 DevKit | `esp32:esp32:esp32c3` | GPIO 8 | @@ -58,7 +66,7 @@ Boards based on **ESP32-C3** use Espressif's **ESP32-C3** processor, which imple ## 3. Emulator Architecture -``` +```text Arduino Sketch (.ino) │ ▼ arduino-cli (backend) @@ -225,7 +233,7 @@ See full script: `frontend/src/__tests__/fixtures/esp32c3-blink/build.sh` The backend produces a merged **4 MB** image: -``` +```text Offset 0x00000: 0xFF (empty) Offset 0x01000: bootloader (ESP32 format image, magic 0xE9) Offset 0x08000: partition table @@ -234,7 +242,7 @@ Offset 0x10000: app binary (ESP32 format image, magic 0xE9) ← parsed here ### ESP32 Image Header (24 bytes) -``` +```text +0x00 magic (0xE9) +0x01 segment_count +0x02 spi_mode @@ -245,7 +253,7 @@ Offset 0x10000: app binary (ESP32 format image, magic 0xE9) ← parsed here ### Segment Header (8 bytes) -``` +```text +0x00 load_addr ← destination virtual address (e.g. 0x42000000) +0x04 data_len +0x08 data[data_len] @@ -401,14 +409,15 @@ Compiles `blink.c` with `riscv32-esp-elf-gcc` (the arduino-cli toolchain) and ve | `reset() clears GPIO state` | Functional reset | **Expected result:** -``` + +```text ✓ esp32c3-simulation.test.ts (30 tests) ~500ms ✓ esp32c3-blink.test.ts (8 tests) ~300ms ``` ### Bare-Metal Test Binary -``` +```text frontend/src/__tests__/fixtures/esp32c3-blink/ ├── blink.c ← bare-metal source code ├── link.ld ← linker script (IROM @ 0x42000000, DRAM @ 0x3FC80000) diff --git a/docs/RP2040_EMULATION.md b/docs/RP2040_EMULATION.md index 5e23ffee..a6d392fe 100644 --- a/docs/RP2040_EMULATION.md +++ b/docs/RP2040_EMULATION.md @@ -56,6 +56,13 @@ The **Raspberry Pi Pico** and **Pico W** boards use the **RP2040** microcontroll ## 2. Supported Boards + + + + + +
Raspberry Pi Pico
Raspberry Pi Pico
Raspberry Pi Pico W
Raspberry Pi Pico W
+ | Board | arduino-cli FQBN | Built-in LED | Notes | | ----- | ---------------- | ------------ | ----- | | Raspberry Pi Pico | `rp2040:rp2040:rpipico` | GPIO 25 | Standard Pico | diff --git a/docs/img/boards/Raspberry_Pi_3.png b/docs/img/boards/Raspberry_Pi_3.png new file mode 100644 index 00000000..13edfb0c Binary files /dev/null and b/docs/img/boards/Raspberry_Pi_3.png differ diff --git a/docs/img/boards/arduino-nano-esp32.png b/docs/img/boards/arduino-nano-esp32.png new file mode 100644 index 00000000..ca88855c Binary files /dev/null and b/docs/img/boards/arduino-nano-esp32.png differ diff --git a/docs/img/boards/esp32-c3.png b/docs/img/boards/esp32-c3.png new file mode 100644 index 00000000..bf4aef19 Binary files /dev/null and b/docs/img/boards/esp32-c3.png differ diff --git a/docs/img/boards/esp32-cam.png b/docs/img/boards/esp32-cam.png new file mode 100644 index 00000000..81e74174 Binary files /dev/null and b/docs/img/boards/esp32-cam.png differ diff --git a/docs/img/boards/esp32-devkit-c-v4.png b/docs/img/boards/esp32-devkit-c-v4.png new file mode 100644 index 00000000..bcc0006d Binary files /dev/null and b/docs/img/boards/esp32-devkit-c-v4.png differ diff --git a/docs/img/boards/esp32-s3.png b/docs/img/boards/esp32-s3.png new file mode 100644 index 00000000..946b088a Binary files /dev/null and b/docs/img/boards/esp32-s3.png differ diff --git a/docs/img/boards/esp32c3-supermini.png b/docs/img/boards/esp32c3-supermini.png new file mode 100644 index 00000000..a112758f Binary files /dev/null and b/docs/img/boards/esp32c3-supermini.png differ diff --git a/docs/img/boards/pi-pico-w.png b/docs/img/boards/pi-pico-w.png new file mode 100644 index 00000000..93857fef Binary files /dev/null and b/docs/img/boards/pi-pico-w.png differ diff --git a/docs/img/boards/pi-pico.png b/docs/img/boards/pi-pico.png new file mode 100644 index 00000000..a0bfdc4d Binary files /dev/null and b/docs/img/boards/pi-pico.png differ diff --git a/docs/img/boards/xiao-esp32-c3.png b/docs/img/boards/xiao-esp32-c3.png new file mode 100644 index 00000000..3399fc27 Binary files /dev/null and b/docs/img/boards/xiao-esp32-c3.png differ diff --git a/docs/img/boards/xiao-esp32-s3.png b/docs/img/boards/xiao-esp32-s3.png new file mode 100644 index 00000000..7782d070 Binary files /dev/null and b/docs/img/boards/xiao-esp32-s3.png differ diff --git a/frontend/public/image.png b/frontend/public/image.png index f2d5726e..e3ded59c 100644 Binary files a/frontend/public/image.png and b/frontend/public/image.png differ