From 28a1c62887fbebe1ec57638c8d435477a184a92b Mon Sep 17 00:00:00 2001 From: David Montero Date: Fri, 28 Aug 2026 20:26:33 +0200 Subject: [PATCH] feat(boards): ESP32-P4 Preview starter card and picker entry The bare-DevKit companion to the ESP32-P4-Function-EV: same silicon, every GPIO broken out, for circuits built on the canvas instead of the kit's fixed peripherals. The board itself is overlay-registered; this is the shop-window card plus its starter-dialog entry. --- .../components/editor/NewProjectDialog.tsx | 2 ++ frontend/src/lib/onlineOnlyBoards.ts | 23 +++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/frontend/src/components/editor/NewProjectDialog.tsx b/frontend/src/components/editor/NewProjectDialog.tsx index dbb36371..322aba99 100644 --- a/frontend/src/components/editor/NewProjectDialog.tsx +++ b/frontend/src/components/editor/NewProjectDialog.tsx @@ -171,6 +171,7 @@ const PREFERRED_BLINK_EXAMPLE: Record = { 'esp-vocat': 'esp-vocat-face', 'esp-sensairshuttle': 'esp-sensair-lcd-dash', 'esp32-p4': 'esp32-p4-blink', + 'esp32-p4-preview': 'esp32-p4-preview-blink', }; /** Dynamic import keeps the (large) gallery data out of the editor bundle @@ -294,6 +295,7 @@ export function buildStarterSections(defs: ProBoardDef[]): StarterSection[] { ...pro('esp32-s3-eye'), ...pro('esp-vocat'), ...pro('esp32-p4'), + ...pro('esp32-p4-preview'), ...pro('esp-sensairshuttle'), ], }, diff --git a/frontend/src/lib/onlineOnlyBoards.ts b/frontend/src/lib/onlineOnlyBoards.ts index e21495ab..4a0b456d 100644 --- a/frontend/src/lib/onlineOnlyBoards.ts +++ b/frontend/src/lib/onlineOnlyBoards.ts @@ -132,6 +132,29 @@ export const ONLINE_ONLY_BOARD_ADS: OnlineOnlyBoardAd[] = [ '' + '', }, + { + id: 'esp32-p4-preview', + label: 'ESP32-P4 Preview', + description: 'Bare ESP32-P4 DevKit: dual-core RISC-V 400MHz, 32MB PSRAM, every GPIO broken out for your own circuits — in-browser emulation', + thumbnailSvg: + '' + + '' + + '' + + 'P4' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '', + }, { id: 'esp-sensairshuttle', label: 'ESP-SensAirShuttle',