From ad4fd5110b968a1813eeb38b654522b8edead416 Mon Sep 17 00:00:00 2001 From: Tyeth Gundry Date: Thu, 17 Jul 2025 17:41:43 +0100 Subject: [PATCH 1/4] Update first targets to include bootloaderBoardName --- boards/esp32s3-devkitc-1-n8/definition.json | 1 + boards/funhouse/definition.json | 1 + boards/schema.json | 6 ++++++ boards/xiao-esp32s3/definition.json | 1 + 4 files changed, 9 insertions(+) diff --git a/boards/esp32s3-devkitc-1-n8/definition.json b/boards/esp32s3-devkitc-1-n8/definition.json index 35765d75..b1d8621c 100644 --- a/boards/esp32s3-devkitc-1-n8/definition.json +++ b/boards/esp32s3-devkitc-1-n8/definition.json @@ -9,6 +9,7 @@ "installMethod":"web-native-usb", "installBoardName": "esp32s3-devkitc-1-n8", "bootDiskName": "S3DKC1BOOT", + "bootloaderBoardName": "espressif_esp32s3_devkitc_1", "esptool": { "fileSystemSize": 1572864, "blockSize": 4096, diff --git a/boards/funhouse/definition.json b/boards/funhouse/definition.json index a84e539f..18f38a7d 100644 --- a/boards/funhouse/definition.json +++ b/boards/funhouse/definition.json @@ -8,6 +8,7 @@ "documentationURL":"https://learn.adafruit.com/adafruit-funhouse", "installMethod":"web-native-usb", "installBoardName": "funhouse_noota", + "bootloaderBoardName": "adafruit_funhouse_esp32s2", "esptool": { "fileSystemSize": 983040, "blockSize": 4096, diff --git a/boards/schema.json b/boards/schema.json index b56716f1..5cd759bf 100644 --- a/boards/schema.json +++ b/boards/schema.json @@ -17,6 +17,12 @@ "minLength": 1, "maxLength": 40 }, + "bootloaderDeviceName": { + "description": "The name of the board as it appears in tinyuf2 release files. e.g. adafruit_feather_esp32s3", + "type": "string", + "minLength": 3, + "maxLength": 60 + }, "mcuName": { "description": "Microcontroller name.", "type": "string", diff --git a/boards/xiao-esp32s3/definition.json b/boards/xiao-esp32s3/definition.json index e52648b7..f10b16c8 100644 --- a/boards/xiao-esp32s3/definition.json +++ b/boards/xiao-esp32s3/definition.json @@ -8,6 +8,7 @@ "documentationURL":"https://wiki.seeedstudio.com/xiao_esp32s3_getting_started/", "published": false, "installMethod":"web-native-usb", + "bootloaderBoardName": "seeed_xiao_esp32s3", "bootDiskName": "XIAOS3BOOT", "esptool": { "fileSystemSize": 1572864, From f5250f227dba6a43dcf56e93277218b456e3d867 Mon Sep 17 00:00:00 2001 From: Tyeth Gundry Date: Thu, 17 Jul 2025 17:44:27 +0100 Subject: [PATCH 2/4] Update schema.json - bootloaderBoardName --- boards/schema.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/boards/schema.json b/boards/schema.json index 5cd759bf..bcd0f3d6 100644 --- a/boards/schema.json +++ b/boards/schema.json @@ -17,7 +17,7 @@ "minLength": 1, "maxLength": 40 }, - "bootloaderDeviceName": { + "bootloaderBoardName": { "description": "The name of the board as it appears in tinyuf2 release files. e.g. adafruit_feather_esp32s3", "type": "string", "minLength": 3, From 1a14110257fbb2ae74f0454441759363e8bce16c Mon Sep 17 00:00:00 2001 From: Tyeth Gundry Date: Thu, 17 Jul 2025 22:44:50 +0100 Subject: [PATCH 3/4] Specify all bootloader board names for tinyuf2 targets --- boards/feather-esp32s2-reverse-tft/definition.json | 3 ++- boards/feather-esp32s2-tft/definition.json | 1 + boards/feather-esp32s2/definition.json | 2 ++ boards/feather-esp32s3-4mbflash-2mbpsram/definition.json | 1 + boards/feather-esp32s3-reverse-tft/definition.json | 1 + boards/feather-esp32s3-tft/definition.json | 1 + boards/feather-esp32s3/definition.json | 1 + boards/magtag/definition.json | 1 + boards/metroesp32s2/definition.json | 1 + boards/metroesp32s3/definition.json | 3 ++- boards/qtpy-esp32s2/definition.json | 1 + boards/qtpy-esp32s3-n4r2/definition.json | 1 + boards/qtpy-esp32s3/definition.json | 1 + 13 files changed, 16 insertions(+), 2 deletions(-) diff --git a/boards/feather-esp32s2-reverse-tft/definition.json b/boards/feather-esp32s2-reverse-tft/definition.json index 899fde83..108e3a1f 100644 --- a/boards/feather-esp32s2-reverse-tft/definition.json +++ b/boards/feather-esp32s2-reverse-tft/definition.json @@ -6,7 +6,8 @@ "vendor":"Adafruit", "productURL":"https://www.adafruit.com/product/5345", "documentationURL":"https://learn.adafruit.com/esp32-s2-reverse-tft-feather", - "installMethod":"uf2", + "installMethod": "uf2", + "bootloaderBoardName": "adafruit_feather_esp32s2_reverse_tft", "components":{ "digitalPins":[ { diff --git a/boards/feather-esp32s2-tft/definition.json b/boards/feather-esp32s2-tft/definition.json index 38a1d863..b0dbbb7d 100644 --- a/boards/feather-esp32s2-tft/definition.json +++ b/boards/feather-esp32s2-tft/definition.json @@ -7,6 +7,7 @@ "productURL": "https://www.adafruit.com/product/5300", "documentationURL": "https://learn.adafruit.com/adafruit-esp32-s2-tft-feather", "installMethod": "uf2", + "bootloaderBoardName": "adafruit_feather_esp32s2_tft", "components": { "digitalPins": [ { diff --git a/boards/feather-esp32s2/definition.json b/boards/feather-esp32s2/definition.json index 05f93d93..eae0606c 100644 --- a/boards/feather-esp32s2/definition.json +++ b/boards/feather-esp32s2/definition.json @@ -7,6 +7,8 @@ "productURL":"https://www.adafruit.com/product/5000", "documentationURL":"https://learn.adafruit.com/adafruit-esp32-s2-feather", "installMethod":"uf2", + "bootDiskName": "FTHRS2BOOT", + "bootloaderBoardName": "adafruit_feather_esp32s2", "components":{ "digitalPins":[ { diff --git a/boards/feather-esp32s3-4mbflash-2mbpsram/definition.json b/boards/feather-esp32s3-4mbflash-2mbpsram/definition.json index 90bd728f..182ee9df 100644 --- a/boards/feather-esp32s3-4mbflash-2mbpsram/definition.json +++ b/boards/feather-esp32s3-4mbflash-2mbpsram/definition.json @@ -7,6 +7,7 @@ "productURL":"https://www.adafruit.com/product/5477", "documentationURL":"https://learn.adafruit.com/adafruit-esp32-s3-feather", "installMethod":"uf2", + "bootloaderBoardName": "adafruit_feather_esp32s3", "components":{ "digitalPins":[ { diff --git a/boards/feather-esp32s3-reverse-tft/definition.json b/boards/feather-esp32s3-reverse-tft/definition.json index accc0436..6410705f 100644 --- a/boards/feather-esp32s3-reverse-tft/definition.json +++ b/boards/feather-esp32s3-reverse-tft/definition.json @@ -8,6 +8,7 @@ "productURL":"https://www.adafruit.com/product/5691", "documentationURL": "https://learn.adafruit.com/esp32-s3-reverse-tft-feather", "installMethod":"uf2", + "bootloaderBoardName": "adafruit_feather_esp32s3_reverse_tft", "components":{ "digitalPins":[ { diff --git a/boards/feather-esp32s3-tft/definition.json b/boards/feather-esp32s3-tft/definition.json index 7c550878..e37e406f 100644 --- a/boards/feather-esp32s3-tft/definition.json +++ b/boards/feather-esp32s3-tft/definition.json @@ -7,6 +7,7 @@ "productURL":"https://www.adafruit.com/product/5483", "documentationURL":"https://learn.adafruit.com/adafruit-esp32-s3-tft-feather", "installMethod":"uf2", + "bootloaderBoardName": "adafruit_feather_esp32s3_tft", "components":{ "digitalPins":[ { diff --git a/boards/feather-esp32s3/definition.json b/boards/feather-esp32s3/definition.json index 0e942cec..3e7303e0 100644 --- a/boards/feather-esp32s3/definition.json +++ b/boards/feather-esp32s3/definition.json @@ -7,6 +7,7 @@ "productURL":"https://www.adafruit.com/product/5000", "documentationURL":"https://learn.adafruit.com/adafruit-esp32-s3-feather", "installMethod":"uf2", + "bootloaderBoardName": "adafruit_feather_esp32s3_nopsram", "components":{ "digitalPins":[ { diff --git a/boards/magtag/definition.json b/boards/magtag/definition.json index 20f83c72..1a2fb804 100644 --- a/boards/magtag/definition.json +++ b/boards/magtag/definition.json @@ -7,6 +7,7 @@ "productURL":"https://www.adafruit.com/product/4800", "documentationURL":"https://learn.adafruit.com/adafruit-magtag", "installMethod":"uf2", + "bootloaderBoardName": "adafruit_magtag_29gray", "components":{ "digitalPins":[ { diff --git a/boards/metroesp32s2/definition.json b/boards/metroesp32s2/definition.json index 3daaddd0..83ef4957 100644 --- a/boards/metroesp32s2/definition.json +++ b/boards/metroesp32s2/definition.json @@ -7,6 +7,7 @@ "vendor":"Adafruit", "productURL":"https://www.adafruit.com/product/4775", "documentationURL":"https://learn.adafruit.com/adafruit-metro-esp32-s2", + "bootloaderBoardName": "adafruit_metro_esp32s2", "installMethod":"uf2", "components":{ "digitalPins":[ diff --git a/boards/metroesp32s3/definition.json b/boards/metroesp32s3/definition.json index 4fe4173b..ea77e51f 100644 --- a/boards/metroesp32s3/definition.json +++ b/boards/metroesp32s3/definition.json @@ -9,6 +9,7 @@ "bootDiskName": "METROS3BOOT", "installMethod":"uf2", "installBoardName": "metro_esp32s3", + "bootloaderBoardName": "adafruit_metro_esp32s3", "published":true, "components":{ "digitalPins":[ @@ -188,7 +189,7 @@ "hasPWM":true, "hasServo":true }, - + { "name":"D39", "displayName":"D39 (SCK)", diff --git a/boards/qtpy-esp32s2/definition.json b/boards/qtpy-esp32s2/definition.json index faab7198..f258f153 100644 --- a/boards/qtpy-esp32s2/definition.json +++ b/boards/qtpy-esp32s2/definition.json @@ -7,6 +7,7 @@ "productURL":"https://www.adafruit.com/product/5325", "documentationURL":"https://learn.adafruit.com/adafruit-qt-py-esp32-s2", "installMethod":"uf2", + "bootloaderBoardName": "adafruit_qtpy_esp32s2", "components":{ "digitalPins":[ { diff --git a/boards/qtpy-esp32s3-n4r2/definition.json b/boards/qtpy-esp32s3-n4r2/definition.json index cfc6d880..1a52da6a 100644 --- a/boards/qtpy-esp32s3-n4r2/definition.json +++ b/boards/qtpy-esp32s3-n4r2/definition.json @@ -7,6 +7,7 @@ "productURL":"https://www.adafruit.com/product/5700", "documentationURL":"https://learn.adafruit.com/adafruit-qt-py-esp32-s3", "installMethod":"uf2", + "bootloaderBoardName": "adafruit_qtpy_esp32s3_n4r2", "components":{ "digitalPins":[ { diff --git a/boards/qtpy-esp32s3/definition.json b/boards/qtpy-esp32s3/definition.json index 881386b4..75a16471 100644 --- a/boards/qtpy-esp32s3/definition.json +++ b/boards/qtpy-esp32s3/definition.json @@ -7,6 +7,7 @@ "productURL":"https://www.adafruit.com/product/5426", "documentationURL":"https://learn.adafruit.com/adafruit-qt-py-esp32-s3", "installMethod":"uf2", + "bootloaderBoardName": "adafruit_qtpy_esp32s3", "components":{ "digitalPins":[ { From 208015355b8df39dfbe1fbe08787b0f3e830481c Mon Sep 17 00:00:00 2001 From: Tyeth Gundry Date: Fri, 18 Jul 2025 15:51:15 +0100 Subject: [PATCH 4/4] Migrate Feather ESP32-S2 to web-native-usb installMethod --- boards/feather-esp32s2/definition.json | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/boards/feather-esp32s2/definition.json b/boards/feather-esp32s2/definition.json index eae0606c..b7c9be2f 100644 --- a/boards/feather-esp32s2/definition.json +++ b/boards/feather-esp32s2/definition.json @@ -6,9 +6,21 @@ "vendor":"Adafruit", "productURL":"https://www.adafruit.com/product/5000", "documentationURL":"https://learn.adafruit.com/adafruit-esp32-s2-feather", - "installMethod":"uf2", + "installMethod": "web-native-usb", "bootDiskName": "FTHRS2BOOT", "bootloaderBoardName": "adafruit_feather_esp32s2", + "esptool": { + "fileSystemSize": 983040, + "blockSize": 4096, + "offset": "0x310000", + "chip": "esp32s2", + "flashMode": "dio", + "flashFreq": "80m", + "flashSize": "4MB", + "structure": { + "0x0": "wippersnapper.feather_esp32s2.fatfs.VERSION.combined.bin" + } + }, "components":{ "digitalPins":[ {