diff --git a/frontend/public/component-svgs/arduino-nano-esp32.svg b/frontend/public/component-svgs/arduino-nano-esp32.svg new file mode 100644 index 00000000..813a6334 --- /dev/null +++ b/frontend/public/component-svgs/arduino-nano-esp32.svg @@ -0,0 +1,823 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NANO + ESP32 + + D12 + D11 + D10 + D8 + D11 + D9 + D7 + D6 + D5 + D4 + D3 + D2 + RST + RX0 + TX1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + D13 + 3.3V + B0 + A0 + A1 + A2 + A3 + A4 + A5 + A6 + A7 + VBUS + B1 + VIN + + + + + + + + + + ARDUINO + + + + diff --git a/frontend/public/component-svgs/esp32-c3.svg b/frontend/public/component-svgs/esp32-c3.svg new file mode 100644 index 00000000..ddf48f11 --- /dev/null +++ b/frontend/public/component-svgs/esp32-c3.svg @@ -0,0 +1,219 @@ + + + + + + + + + + + + + + + + + + + ESP32-C3-MINI-1 + + + + + + + + + + + GPIO8 + + + RST + + + BOOT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CP2102 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GND + GND + GND + GND + GND + GND + RX + TX + 9 + 8 + 7 + 6 + 5 + 4 + 18 + 19 + GND + 2 + 3V3 + 3V3 + 3 + GND + 5V + 5V + 10 + 1 + 0 + + + RST + GND + GND + + + diff --git a/frontend/public/component-svgs/esp32-cam.svg b/frontend/public/component-svgs/esp32-cam.svg new file mode 100644 index 00000000..82ce4545 --- /dev/null +++ b/frontend/public/component-svgs/esp32-cam.svg @@ -0,0 +1,1150 @@ + + + +ESP32-CAM5VGND4LED1+-2141513123V316GNDTXRXVCCGND0 diff --git a/frontend/public/component-svgs/esp32-devkit-c-v4.svg b/frontend/public/component-svgs/esp32-devkit-c-v4.svg new file mode 100644 index 00000000..e9dbb909 --- /dev/null +++ b/frontend/public/component-svgs/esp32-devkit-c-v4.svg @@ -0,0 +1,4361 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ESP32 + EN + Boot + 3V3 + EN + VP + VN + 34 + 35 + 32 + 33 + 25 + 26 + 27 + 14 + 12 + GND + 13 + D2 + D3 + CMD + 5V + CLK + D0 + D1 + 15 + 2 + 0 + 4 + 16 + 17 + 5 + 18 + 19 + GND + 21 + RX + TX + 22 + 23 + GND + + + diff --git a/frontend/public/component-svgs/esp32-s3.svg b/frontend/public/component-svgs/esp32-s3.svg new file mode 100644 index 00000000..67af1d70 --- /dev/null +++ b/frontend/public/component-svgs/esp32-s3.svg @@ -0,0 +1,1534 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ESP32-S3-WROOM-1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3V3 + RST + 4 + 5 + 6 + 7 + 15 + 16 + 17 + 18 + 8 + 3 + 46 + 9 + 10 + 11 + 12 + 13 + 14 + BOOT + 5V + G + RGB + UART + G + G + G + 19 + 20 + 21 + 47 + 48 + 45 + 0 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 2 + 1 + RX + TX + USB + RESET + 3V3 + + diff --git a/frontend/public/component-svgs/esp32c3-supermini.svg b/frontend/public/component-svgs/esp32c3-supermini.svg new file mode 100644 index 00000000..6e21445d --- /dev/null +++ b/frontend/public/component-svgs/esp32c3-supermini.svg @@ -0,0 +1,584 @@ + + + Partial clone of "Adafruit QT Py ESP32-C3" + +This SVG was designet by GeekGarage + Aiwin Robot ESP32-C3 SuperMini + + + PCB + + + + Metal + + + + Text + + + + BTN / IC Casing + + + + LED Casing + + + + Emitter Red + + + + Emitter Blue + + + + Emitter Pins + + + + Solder Pads + + + + + + + + + + Socket + + + + + + + Antenna + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ESP32-C3 Super Mini + + PCB + + PCB + + + PCB Solder Pads + + Pins + + Left + + + + Right + + + + + Antenna + + Left Solder Pad + + + Right Solder Pad + + + + Crystal + + Left Top + + + Right Top + + + Left Bottom + + + Right Bottom + + + + IC ESP32-C3 + + Top Right + + + + + + + + + + + Top Left + + + + + + + + + + + Bottom Left + + + + + + + + + + + Bottom Right + + + + + + + + + + + + SOT23-5 + + Left Top + + + Middel Top + + + Right Top + + + Bottom Left + + + Bottom Right + + + + SOD-323 + + Top + + + Bottom + + + + USB-C + + GND + + Top Left GND + + + Top Right GND + + + Bottom Left GND + + + Bottom Right GND + + + + Data + + Left PWR + + 1 + + + 2 + + + + Right PWR + + 1 + + + 2 + + + + Data + + + Data + + + Data + + + Data + + + Data + + + Data + + + Data + + + Data + + + + + PWR LED + + GND + + + PWR + + + + IO8 LED + + GND + + + PWR + + + + Buttons + + Left + + Digital Pin In + + + Digital Pin Out + + + + Right + + Digital Pin In + + + Digital Pin Out + + + + + + Text + 2121 + 00 + 5V5V + GG + 3.33.3 + RSTRST + BOOTBOOT + PWRPWR + IO8IO8​ + + ESP32 IC Corner Marking + + + + + IC ESP32-C3 + + Pins + + Top Right + + + + + + + + + + + Top Left + + + + + + + + + + + Top Right + + + + + + + + + + + Top Left + + + + + + + + + + + + Casing + + QFN32 5x5QFN32 5x5​ + + Circle Marking on IC + + + + USB-C + + Socket + + + Data Pins + + PWR + + + + + + + + + + + + + + + + + SOD-323 + + Legs + + Top Leg + + + Bottom Leg + + + + Case + + + Text + SOD-323 + + Marking Top + + + Marking Middle + + + Marking Bottom + + + + + PWR LED + + Case + + + Emitter + + + Emitter Pin 1 + + + Emitter Pin 2 + + + + Buttons + + BOOT Button + + Left Leg + + + Right Leg + + + Case + + + Button + + + + RST Button + + Left Leg + + + Right Leg + + + Case + + + Button + + + + + SOT23-5 + + Legs + + Top Leg 1 + + + Top Leg 2 + + + Top Leg 3 + + + Bottom Leg 1 + + + Bottom Leg 2 + + + + Casing + + SOT23-5SOT23-5 + + Marking Dot + + + + IO8 LED + + Case + + + Emitter + + + Emitter Pin 1 + + + Emitter Pin 1 + + + + Crystal + + Crystal + + + + Antenna + + Left Leg + + + Right Leg + + + Antenna + + + White Square Marker + + C3C3 + + + \ No newline at end of file diff --git a/frontend/public/component-svgs/xiao-esp32-c3.svg b/frontend/public/component-svgs/xiao-esp32-c3.svg new file mode 100644 index 00000000..5419179f --- /dev/null +++ b/frontend/public/component-svgs/xiao-esp32-c3.svg @@ -0,0 +1,717 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + XIAO-ESP32-C3 + + + diff --git a/frontend/public/component-svgs/xiao-esp32-s3.svg b/frontend/public/component-svgs/xiao-esp32-s3.svg new file mode 100644 index 00000000..ee850d8b --- /dev/null +++ b/frontend/public/component-svgs/xiao-esp32-s3.svg @@ -0,0 +1,137 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + XIAO-ESP32-S3 + + + + + + + + + + + + + + R + B + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/components/examples/CircuitPreview.tsx b/frontend/src/components/examples/CircuitPreview.tsx index 5b52b089..4f9f2d1d 100644 --- a/frontend/src/components/examples/CircuitPreview.tsx +++ b/frontend/src/components/examples/CircuitPreview.tsx @@ -114,18 +114,19 @@ const BOARD_DEFS: Record = { 'raspberry-pi-pico': { svg: 'raspberry-pi-pico.svg', w: 79, h: 200 }, 'pi-pico-w': { svg: 'raspberry-pi-pico-w.svg', w: 105, h: 264 }, 'raspberry-pi-3': { svg: 'raspberry-pi-3.svg', w: 200, h: 135 }, - // ESP32 family — every variant currently maps to the DevKit V1 art (no - // dedicated SVGs are extracted for the variants yet). + // ESP32 family — every variant with its own art in public/boards/ uses it + // (w/h keep each SVG's aspect at the family's ~3.75 px/mm scale); only the + // Lolin32 Lite still borrows the DevKit V1 drawing. esp32: { svg: 'esp32-devkit-v1.svg', w: 107, h: 204 }, - 'esp32-devkit-c-v4': { svg: 'esp32-devkit-v1.svg', w: 107, h: 204 }, - 'esp32-cam': { svg: 'esp32-devkit-v1.svg', w: 107, h: 204 }, + 'esp32-devkit-c-v4': { svg: 'esp32-devkit-c-v4.svg', w: 105, h: 212 }, + 'esp32-cam': { svg: 'esp32-cam.svg', w: 102, h: 152 }, 'wemos-lolin32-lite': { svg: 'esp32-devkit-v1.svg', w: 107, h: 204 }, - 'esp32-s3': { svg: 'esp32-devkit-v1.svg', w: 107, h: 204 }, - 'xiao-esp32-s3': { svg: 'esp32-devkit-v1.svg', w: 107, h: 204 }, - 'arduino-nano-esp32': { svg: 'esp32-devkit-v1.svg', w: 107, h: 204 }, - 'esp32-c3': { svg: 'esp32-devkit-v1.svg', w: 107, h: 204 }, - 'xiao-esp32-c3': { svg: 'esp32-devkit-v1.svg', w: 107, h: 204 }, - 'aitewinrobot-esp32c3-supermini': { svg: 'esp32-devkit-v1.svg', w: 107, h: 204 }, + 'esp32-s3': { svg: 'esp32-s3.svg', w: 72, h: 199 }, + 'xiao-esp32-s3': { svg: 'xiao-esp32-s3.svg', w: 68, h: 88 }, + 'arduino-nano-esp32': { svg: 'arduino-nano-esp32.svg', w: 170, h: 72 }, + 'esp32-c3': { svg: 'esp32-c3.svg', w: 95, h: 161 }, + 'xiao-esp32-c3': { svg: 'xiao-esp32-c3.svg', w: 68, h: 88 }, + 'aitewinrobot-esp32c3-supermini': { svg: 'esp32c3-supermini.svg', w: 68, h: 92 }, // ATtiny85 — DIP-8, drawn inline (no wokwi element ships its SVG). attiny85: { svg: '', inline: Attiny85InlinePreview, w: 160, h: 100 }, }; diff --git a/scripts/generate-component-svgs.cjs b/scripts/generate-component-svgs.cjs index 15ae56ff..e00cc593 100644 --- a/scripts/generate-component-svgs.cjs +++ b/scripts/generate-component-svgs.cjs @@ -466,6 +466,16 @@ const BOARD_COPIES = [ ['wokwi-arduino-mega-board','arduino-mega.svg'], ['wokwi-esp32-board', 'esp32-devkit-c-v4.svg'], ['velxio-raspberry-pi-3', 'Raspberry_Pi_3.svg'], + // ESP32 variants with dedicated art (CircuitPreview BOARD_DEFS references + // these basenames; before this they all borrowed the DevKit V1 drawing). + ['wokwi-arduino-nano-esp32', 'arduino-nano-esp32.svg'], + ['wokwi-esp32-devkit-c-v4', 'esp32-devkit-c-v4.svg'], + ['wokwi-esp32-cam', 'esp32-cam.svg'], + ['wokwi-esp32-s3', 'esp32-s3.svg'], + ['wokwi-esp32-c3', 'esp32-c3.svg'], + ['wokwi-xiao-esp32-s3', 'xiao-esp32-s3.svg'], + ['wokwi-xiao-esp32-c3', 'xiao-esp32-c3.svg'], + ['wokwi-esp32c3-supermini', 'esp32c3-supermini.svg'], ]; console.log('\nšŸ“‹ Copying board SVGs from public/boards/...');