diff --git a/components/flow3r_bsp/Kconfig b/components/flow3r_bsp/Kconfig
index 06f539f6a85cfef65a29f4ca184ead370cdad56d..25cebf3afe9c7188b043fe688ed1e0df45f8c218 100644
--- a/components/flow3r_bsp/Kconfig
+++ b/components/flow3r_bsp/Kconfig
@@ -9,23 +9,27 @@ menu "Flow3r Config"
                  - No line in/out jacks
                  - White bottom board
                  - USB-C jack points side of leaf
+            select FLOW3R_ESP32S3
             bool "Prototype 1"
         config FLOW3R_HW_GEN_P3
             help
                 Prototype version 3, a.k.a. proto3
                 Visual identifiers:
                   - Sticker with B3xx (xx being arbitrary digits) on the back
+            select FLOW3R_ESP32S3
             bool "Prototype 3"
         config FLOW3R_HW_GEN_P4
             help
                 Prototype version 4, a.k.a. proto4
                 Visual identifiers:
                   - Sticker with B4xx (xx being arbitrary digits) on the back
+            select FLOW3R_ESP32S3
             bool "Prototype 4"
         config FLOW3R_HW_GEN_P6
             help
                 Prototype version 6, a.k.a. proto6
                   - Sticker with B6xx (xx being arbitrary digits) on the back
+            select FLOW3R_ESP32S3
             bool "Prototype 6"
     endchoice
 
@@ -42,4 +46,7 @@ menu "Flow3r Config"
             bool "Spirals"
     endchoice
 
+    config FLOW3R_ESP32S3
+        bool
+
 endmenu
diff --git a/components/micropython/include/mpconfigboard.h b/components/micropython/include/mpconfigboard.h
index 6850b8f38ec7caafa447af9bd75226a6ab4fc77d..fab8e7180cb013fd32a95b825f880dc591d52416 100644
--- a/components/micropython/include/mpconfigboard.h
+++ b/components/micropython/include/mpconfigboard.h
@@ -6,6 +6,8 @@
 #define MICROPY_PY_MACHINE_PWM (1)
 #define MICROPY_HW_I2C0_SCL (9)
 #define MICROPY_HW_I2C0_SDA (8)
+#define MICROPY_HW_ESP32S3_EXTENDED_IO (0)
+
 
 #define MICROPY_ESP_IDF_4 1
 #define MICROPY_VFS_POSIX 1
diff --git a/components/micropython/vendor/ports/esp32/machine_pin.c b/components/micropython/vendor/ports/esp32/machine_pin.c
index 5ea41701afe3cd96b5e00310ef034be7dff7a618..b764a373611cf70e8616d1208015069c9f94bcb4 100644
--- a/components/micropython/vendor/ports/esp32/machine_pin.c
+++ b/components/micropython/vendor/ports/esp32/machine_pin.c
@@ -144,6 +144,56 @@ STATIC const machine_pin_obj_t machine_pin_obj[GPIO_NUM_MAX] = {
     {{&machine_pin_type}, GPIO_NUM_20},
     {{&machine_pin_type}, GPIO_NUM_21},
 
+	#elif CONFIG_FLOW3R_ESP32S3
+
+    {{NULL}, -1}, // 0
+    {{NULL}, -1}, // 1
+    {{NULL}, -1}, // 2
+    {{NULL}, -1}, // 3
+    {{&machine_pin_type}, GPIO_NUM_4}, // Badgelink
+    {{&machine_pin_type}, GPIO_NUM_5}, // Badgelink
+    {{&machine_pin_type}, GPIO_NUM_6}, // Badgelink
+    {{&machine_pin_type}, GPIO_NUM_7}, // Badgelink
+    {{NULL}, -1}, // 8
+    {{NULL}, -1}, // 9
+    {{NULL}, -1}, // 10
+    {{NULL}, -1}, // 11
+    {{NULL}, -1}, // 12
+    {{NULL}, -1}, // 13
+    {{NULL}, -1}, // 14
+    {{NULL}, -1}, // 15
+    {{NULL}, -1}, // 16
+    {{&machine_pin_type}, GPIO_NUM_17}, // QWIIC
+    {{NULL}, -1}, // 18
+    {{NULL}, -1}, // 19
+    {{NULL}, -1}, // 20
+    {{NULL}, -1}, // 21
+    {{NULL}, -1}, // 22
+    {{NULL}, -1}, // 23
+    {{NULL}, -1}, // 24
+    {{NULL}, -1}, // 25
+    {{NULL}, -1}, // 26
+    {{NULL}, -1}, // 27
+    {{NULL}, -1}, // 28
+    {{NULL}, -1}, // 29
+    {{NULL}, -1}, // 30
+    {{NULL}, -1}, // 31
+    {{NULL}, -1}, // 32
+    {{NULL}, -1}, // 33
+    {{NULL}, -1}, // 34
+    {{NULL}, -1}, // 35
+    {{NULL}, -1}, // 36
+    {{NULL}, -1}, // 37
+    {{NULL}, -1}, // 38
+    {{NULL}, -1}, // 39
+    {{NULL}, -1}, // 40
+    {{NULL}, -1}, // 41
+    {{NULL}, -1}, // 42
+    {{NULL}, -1}, // 43
+    {{NULL}, -1}, // 44
+    {{&machine_pin_type}, GPIO_NUM_45}, // QWIIC
+    {{NULL}, -1}, // 46
+
     #elif CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3
 
     {{&machine_pin_type}, GPIO_NUM_0},
@@ -616,6 +666,56 @@ STATIC const machine_pin_irq_obj_t machine_pin_irq_object[GPIO_NUM_MAX] = {
     {{&machine_pin_irq_type}, GPIO_NUM_20},
     {{&machine_pin_irq_type}, GPIO_NUM_21},
 
+	#elif CONFIG_FLOW3R_ESP32S3
+
+    {{NULL}, -1}, // 0
+    {{NULL}, -1}, // 1
+    {{NULL}, -1}, // 2
+    {{NULL}, -1}, // 3
+    {{&machine_pin_irq_type}, GPIO_NUM_4}, // Badgelink
+    {{&machine_pin_irq_type}, GPIO_NUM_5}, // Badgelink
+    {{&machine_pin_irq_type}, GPIO_NUM_6}, // Badgelink
+    {{&machine_pin_irq_type}, GPIO_NUM_7}, // Badgelink
+    {{NULL}, -1}, // 8
+    {{NULL}, -1}, // 9
+    {{NULL}, -1}, // 10
+    {{NULL}, -1}, // 11
+    {{NULL}, -1}, // 12
+    {{NULL}, -1}, // 13
+    {{NULL}, -1}, // 14
+    {{NULL}, -1}, // 15
+    {{NULL}, -1}, // 16
+    {{&machine_pin_irq_type}, GPIO_NUM_17}, // QWIIC
+    {{NULL}, -1}, // 18
+    {{NULL}, -1}, // 19
+    {{NULL}, -1}, // 20
+    {{NULL}, -1}, // 21
+    {{NULL}, -1}, // 22
+    {{NULL}, -1}, // 23
+    {{NULL}, -1}, // 24
+    {{NULL}, -1}, // 25
+    {{NULL}, -1}, // 26
+    {{NULL}, -1}, // 27
+    {{NULL}, -1}, // 28
+    {{NULL}, -1}, // 29
+    {{NULL}, -1}, // 30
+    {{NULL}, -1}, // 31
+    {{NULL}, -1}, // 32
+    {{NULL}, -1}, // 33
+    {{NULL}, -1}, // 34
+    {{NULL}, -1}, // 35
+    {{NULL}, -1}, // 36
+    {{NULL}, -1}, // 37
+    {{NULL}, -1}, // 38
+    {{NULL}, -1}, // 39
+    {{NULL}, -1}, // 40
+    {{NULL}, -1}, // 41
+    {{NULL}, -1}, // 42
+    {{NULL}, -1}, // 43
+    {{NULL}, -1}, // 44
+    {{&machine_pin_irq_type}, GPIO_NUM_45}, // QWIIC
+    {{NULL}, -1}, // 46
+
     #elif CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3
 
     {{&machine_pin_irq_type}, GPIO_NUM_0},