diff --git a/components/flow3r_bsp/flow3r_bsp_audio.c b/components/flow3r_bsp/flow3r_bsp_audio.c
index 03e316bab7b1e8dc8455870b0979589ecdb0f8df..660ba4ebd99598514132d2fc2a5777b69457527f 100644
--- a/components/flow3r_bsp/flow3r_bsp_audio.c
+++ b/components/flow3r_bsp/flow3r_bsp_audio.c
@@ -13,6 +13,8 @@ esp_err_t flow3r_bsp_audio_write(const void *src, size_t size,
 
 #include "flow3r_bsp_max98091.h"
 
+// TODO: rewrite to new driver, enable stereo
+
 void flow3r_bsp_audio_init(void) {
     //flow3r_bsp_max98091_init();
     //vTaskDelay(100 / portTICK_PERIOD_MS);  // dunno if necessary
diff --git a/components/flow3r_bsp/flow3r_bsp_captouch.c b/components/flow3r_bsp/flow3r_bsp_captouch.c
index 99f59d04e53f44b83ccc0ef00981b5703d95f31e..668bc0d3493abdb369ba7f6ff72a00525c6b3392 100644
--- a/components/flow3r_bsp/flow3r_bsp_captouch.c
+++ b/components/flow3r_bsp/flow3r_bsp_captouch.c
@@ -163,6 +163,14 @@ static ad7147_chip_t _bot = {
     },
 };
 
+static gpio_num_t touch_pin_map[] = {
+  GPIO_NUM_4,
+  GPIO_NUM_7,
+  GPIO_NUM_14,
+  GPIO_NUM_2,
+  GPIO_NUM_1
+};
+
 static flow3r_bsp_captouch_callback_t _callback = NULL;
 
 static flow3r_bsp_captouch_state_t _state = {};
@@ -272,7 +280,7 @@ static void _task(void *data) {
         int num = _map_top[i].petal_number;
         if (num % 2 == 0) {
             uint32_t val;
-            touch_pad_read_raw_data(num / 2 + 10, &val);
+            touch_pad_read_raw_data(touch_pin_map[num / 2], &val);
             pad->raw = val / 4;
             if (val >= 0xffff * 4) pad->raw = 0xffff;
         }
@@ -287,7 +295,7 @@ static void _task(void *data) {
         int num = _map_bot[i].petal_number;
         if (num % 2 == 0) {
             uint32_t val;
-            touch_pad_read_raw_data(num / 2 + 10, &val);
+            touch_pad_read_raw_data(touch_pin_map[num / 2], &val);
             pad->raw = val / 4;
             if (val >= 0xffff * 4) pad->raw = 0xffff;
         }
@@ -328,8 +336,8 @@ esp_err_t flow3r_bsp_captouch_init(flow3r_bsp_captouch_callback_t callback) {
 
     esp_err_t ret;
 
-    for (int i=10; i<=14; i++) {
-        touch_pad_config(i);
+    for (int i=0; i<5; i++) {
+        touch_pad_config(touch_pin_map[i]);
     }
 
     for (size_t i = 0; i < 10; i++) {
diff --git a/components/flow3r_bsp/flow3r_bsp_display.c b/components/flow3r_bsp/flow3r_bsp_display.c
index 0cc91ccff7ed646d7856f9d95c842e65cbe47d42..c68c97a1843a136a1e0525e08dc84666eec56979 100644
--- a/components/flow3r_bsp/flow3r_bsp_display.c
+++ b/components/flow3r_bsp/flow3r_bsp_display.c
@@ -13,11 +13,11 @@ flow3r_bsp_gc9a01_config_t gc9a01_config = {
     .reset_used = 0,
     .backlight_used = 1,
 
-    .pin_sck = 39,
-    .pin_mosi = 40,
-    .pin_cs = 42,
-    .pin_dc = 41,
-    .pin_backlight = 47,
+    .pin_sck = 16,
+    .pin_mosi = 15,
+    .pin_cs = 5,
+    .pin_dc = 18,
+    .pin_backlight = 17,
 
     .host = SPI2_HOST,
 };
diff --git a/components/flow3r_bsp/flow3r_bsp_spio.c b/components/flow3r_bsp/flow3r_bsp_spio.c
index 8456112c3044739f2ef9536be6396f2468fd184b..7a9f3f4b9ecab6197c265c1ef252a9dd25e93c04 100644
--- a/components/flow3r_bsp/flow3r_bsp_spio.c
+++ b/components/flow3r_bsp/flow3r_bsp_spio.c
@@ -106,15 +106,15 @@ const flow3r_bsp_spio_programmable_pins_t flow3r_bsp_spio_programmable_pins = {
 static const flow3r_bsp_iodef_t iodef = {
     .tripos_left =
         {
-            .left = ITOUCH(3), //IESP(3, true, .invert = true),
-            .mid = ITOUCH(4), //IESP(0, false, .invert = true),
-            .right = ITOUCH(5), //IESP(5, true, .invert = true),
+            .left = ITOUCH(6), //IESP(3, true, .invert = true),
+            .mid = ITOUCH(3), //IESP(0, false, .invert = true),
+            .right = ITOUCH(8), //IESP(5, true, .invert = true),
         },
     .tripos_right =
         {
-            .left = ITOUCH(6), //IESP(6, true, .invert = true),
-            .mid = ITOUCH(7),
-            .right = ITOUCH(8), //IESP(8, true, .invert = true),
+            .left = ITOUCH(11), //IESP(6, true, .invert = true),
+            .mid = ITOUCH(12),
+            .right = ITOUCH(10), //IESP(8, true, .invert = true),
         },
     .trrs_left =
         {
@@ -130,10 +130,10 @@ static const flow3r_bsp_iodef_t iodef = {
     .jacksense_right = IODUMMY,
 };
 const flow3r_bsp_spio_programmable_pins_t flow3r_bsp_spio_programmable_pins = {
-    .badgelink_left_tip = 4,
-    .badgelink_left_ring = 4,
-    .badgelink_right_tip = 4,
-    .badgelink_right_ring = 4,
+    .badgelink_left_tip = -1,
+    .badgelink_left_ring = -1,
+    .badgelink_right_tip = -1,
+    .badgelink_right_ring = -1,
 };
 #define PORTEXP_MAX7321S
 #else
diff --git a/components/micropython/include/mpconfigboard.h b/components/micropython/include/mpconfigboard.h
index 220cd89f090f740b9bebfe4d165e84559e6c0cd5..dadabab312554b3f9d9c779c68638f28b77aa939 100644
--- a/components/micropython/include/mpconfigboard.h
+++ b/components/micropython/include/mpconfigboard.h
@@ -4,8 +4,8 @@
 #define MICROPY_ENABLE_FINALISER (1)
 #define MICROPY_PY_MACHINE_DAC (0)
 #define MICROPY_PY_MACHINE_PWM (1)
-#define MICROPY_HW_I2C1_SCL (1)
-#define MICROPY_HW_I2C1_SDA (2)
+#define MICROPY_HW_I2C1_SCL (39)
+#define MICROPY_HW_I2C1_SDA (40)
 #define MICROPY_HW_ESP32S3_EXTENDED_IO (0)
 
 #define MICROPY_ESP_IDF_4 1
diff --git a/components/micropython/usermodule/mp_badgelink.c b/components/micropython/usermodule/mp_badgelink.c
index 03c71dc21d97816537316be65e379e4a39b80860..ddb910e310a03c1bf347909899e91727d1ec2460 100644
--- a/components/micropython/usermodule/mp_badgelink.c
+++ b/components/micropython/usermodule/mp_badgelink.c
@@ -125,7 +125,7 @@ STATIC void badgelink_jack_pin_attr(mp_obj_t self_in, qstr attr,
                         : flow3r_bsp_spio_programmable_pins
                               .badgelink_right_ring);
         mp_obj_t num = mp_obj_new_int_from_uint(unum);
-        self->pin = mp_pin_make_new(NULL, 1, 0, &num);
+        //self->pin = mp_pin_make_new(NULL, 1, 0, &num);
     }
     switch (attr) {
         case MP_QSTR_pin:
diff --git a/components/micropython/vendor/ports/esp32/machine_pin.c b/components/micropython/vendor/ports/esp32/machine_pin.c
index d4715d18b0ecfa209468ce35d3aac1933adc024f..0f5027b2a778d30f31e4236e8debc3862bde8b5f 100644
--- a/components/micropython/vendor/ports/esp32/machine_pin.c
+++ b/components/micropython/vendor/ports/esp32/machine_pin.c
@@ -147,8 +147,8 @@ STATIC const machine_pin_obj_t machine_pin_obj[GPIO_NUM_MAX] = {
 	#elif CONFIG_FLOW3R_ESP32S3
 
     {{NULL}, -1}, // 0
-    {{&machine_pin_type}, GPIO_NUM_1}, // QWIIC
-    {{&machine_pin_type}, GPIO_NUM_2}, // QWIIC
+    {{NULL}, -1}, // 1
+    {{NULL}, -1}, // 2
     {{NULL}, -1}, // 3
     {{NULL}, -1}, // 4
     {{NULL}, -1}, // 5
@@ -161,8 +161,8 @@ STATIC const machine_pin_obj_t machine_pin_obj[GPIO_NUM_MAX] = {
     {{NULL}, -1}, // 12
     {{NULL}, -1}, // 13
     {{NULL}, -1}, // 14
-    {{&machine_pin_type}, GPIO_NUM_15}, // GPIO1
-    {{&machine_pin_type}, GPIO_NUM_16}, // GPIO2
+    {{NULL}, -1}, // 15
+    {{NULL}, -1}, // 16
     {{NULL}, -1}, // 17
     {{NULL}, -1}, // 18
     {{NULL}, -1}, // 19
@@ -185,10 +185,10 @@ STATIC const machine_pin_obj_t machine_pin_obj[GPIO_NUM_MAX] = {
     {{NULL}, -1}, // 36
     {{NULL}, -1}, // 37
     {{&machine_pin_type}, GPIO_NUM_38}, // GPIO0
-    {{NULL}, -1}, // 39
-    {{NULL}, -1}, // 40
-    {{NULL}, -1}, // 41
-    {{NULL}, -1}, // 42
+    {{&machine_pin_type}, GPIO_NUM_39}, // QWIIC
+    {{&machine_pin_type}, GPIO_NUM_40}, // QWIIC
+    {{&machine_pin_type}, GPIO_NUM_41}, // GPIO1
+    {{&machine_pin_type}, GPIO_NUM_42}, // GPIO2
     {{NULL}, -1}, // 43
     {{NULL}, -1}, // 44
     {{NULL}, -1}, // 45
diff --git a/components/st3m/st3m_badgenet.c b/components/st3m/st3m_badgenet.c
index e439df3f38b8ad2c0be4e1528e091412d2c090d4..3e2988b98a738645823f48178f24022cffd83ae5 100644
--- a/components/st3m/st3m_badgenet.c
+++ b/components/st3m/st3m_badgenet.c
@@ -445,6 +445,7 @@ static void _jack_disable_unlocked(bool left) {
 
 esp_err_t st3m_badgenet_jack_configure(st3m_badgenet_jack_side_t side,
                                        st3m_badgenet_jack_mode_t mode) {
+    return ESP_OK;
     esp_err_t ret;
     bool left = side == st3m_badgenet_jack_left;
     LOCK;
@@ -564,4 +565,4 @@ esp_err_t st3m_badgenet_jack_configure(st3m_badgenet_jack_side_t side,
 
     UNLOCK;
     return ESP_OK;
-}
\ No newline at end of file
+}
diff --git a/components/st3m/st3m_fs_sd.c b/components/st3m/st3m_fs_sd.c
index b2d9d55fc80cd7c4e27ae96a5eef2cbd279e5171..1dd2fd57522f0f2bfb3f67bb1e51480ef52d7834 100644
--- a/components/st3m/st3m_fs_sd.c
+++ b/components/st3m/st3m_fs_sd.c
@@ -39,9 +39,9 @@ esp_err_t st3m_fs_sd_init(void) {
     }
 
     sdmmc_slot_config_t slot = SDMMC_SLOT_CONFIG_DEFAULT();
-    slot.clk = GPIO_NUM_21;
-    slot.cmd = GPIO_NUM_18;
-    slot.d0 = GPIO_NUM_17;
+    slot.clk = GPIO_NUM_47;
+    slot.cmd = GPIO_NUM_13;
+    slot.d0 = GPIO_NUM_21;
     slot.width = 1;
     slot.flags = SDMMC_SLOT_NO_CD | SDMMC_SLOT_NO_WP;
     if ((ret = sdmmc_host_init_slot(SDMMC_HOST_SLOT_1, &slot)) != ESP_OK) {