diff --git a/keyboards/fingerpunch/ffkb/byomcu/v2/config.h b/keyboards/fingerpunch/ffkb/byomcu/v2/config.h
index 46572b14a1..75cca5eaf0 100644
--- a/keyboards/fingerpunch/ffkb/byomcu/v2/config.h
+++ b/keyboards/fingerpunch/ffkb/byomcu/v2/config.h
@@ -67,9 +67,14 @@ along with this program. If not, see .
#ifdef AUDIO_ENABLE
#define AUDIO_VOICES
#define AUDIO_PIN F0
+ #if defined(CONVERT_TO_ELITE_PI) || defined(CONVERT_TO_RP2040_CE) || defined(CONVERT_TO_HELIOS) || defined(CONVERT_TO_LIATRIS) || defined(CONVERT_TO_KB2040) || defined(CONVERT_TO_PROMICRO_RP2040)
+ #define AUDIO_PWM_DRIVER PWMD0
+ #define AUDIO_PWM_CHANNEL RP2040_PWM_CHANNEL_A
+ #else
#define AUDIO_PWM_DRIVER PWMD2
#define AUDIO_PWM_CHANNEL 1
#define AUDIO_STATE_TIMER GPTD4
+ #endif
#define AUDIO_VOICES
// #define AUDIO_PWM_PAL_MODE 42 // only if using AUDIO_DRIVER = pwm_hardware
// #define NO_MUSIC_MODE
diff --git a/keyboards/fingerpunch/ffkb/byomcu/v2/halconf.h b/keyboards/fingerpunch/ffkb/byomcu/v2/halconf.h
index bf5381da6a..b33e997b3c 100644
--- a/keyboards/fingerpunch/ffkb/byomcu/v2/halconf.h
+++ b/keyboards/fingerpunch/ffkb/byomcu/v2/halconf.h
@@ -21,10 +21,18 @@
#pragma once
+#if defined(CONVERT_TO_ELITE_PI) || defined(CONVERT_TO_RP2040_CE) || defined(CONVERT_TO_HELIOS) || defined(CONVERT_TO_LIATRIS) || defined(CONVERT_TO_KB2040) || defined(CONVERT_TO_PROMICRO_RP2040)
+#define HAL_USE_PWM TRUE
+#define HAL_USE_I2C TRUE
+#define HAL_USE_PAL TRUE
+#endif // CONVERT_TO_(any_rp2040)
+
+#ifdef CONVERT_TO_STEMCELL
#define HAL_USE_PWM TRUE
#define HAL_USE_GPT TRUE
#define HAL_USE_SERIAL TRUE
#define SPI_USE_WAIT TRUE
#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
+#endif
#include_next
diff --git a/keyboards/fingerpunch/ffkb/byomcu/v2/mcuconf.h b/keyboards/fingerpunch/ffkb/byomcu/v2/mcuconf.h
index 78184918e4..d56d8f86c9 100644
--- a/keyboards/fingerpunch/ffkb/byomcu/v2/mcuconf.h
+++ b/keyboards/fingerpunch/ffkb/byomcu/v2/mcuconf.h
@@ -2,6 +2,18 @@
#include_next "mcuconf.h"
+#if defined(CONVERT_TO_ELITE_PI) || defined(CONVERT_TO_RP2040_CE) || defined(CONVERT_TO_HELIOS) || defined(CONVERT_TO_LIATRIS) || defined(CONVERT_TO_PROMICRO_RP2040)
+#undef RP_I2C_USE_I2C1
+#define RP_I2C_USE_I2C1 TRUE
+
+#undef RP_PWM_USE_PWM0
+#define RP_PWM_USE_PWM0 TRUE
+
+#undef RP_PWM_USE_TIM1
+#define RP_PWM_USE_TIM1 TRUE
+#endif // CONVERT_TO_(any_rp2040)
+
+#ifdef CONVERT_TO_STEMCELL
#undef STM32_ST_USE_TIMER
#define STM32_ST_USE_TIMER 5
@@ -10,3 +22,4 @@
#undef STM32_PWM_USE_TIM2
#define STM32_PWM_USE_TIM2 TRUE
+#endif // CONVERT_TO_STEMCELL
diff --git a/keyboards/fingerpunch/ffkb/byomcu/v2/rules.mk b/keyboards/fingerpunch/ffkb/byomcu/v2/rules.mk
index 32e1dd7565..9b232edf2c 100644
--- a/keyboards/fingerpunch/ffkb/byomcu/v2/rules.mk
+++ b/keyboards/fingerpunch/ffkb/byomcu/v2/rules.mk
@@ -40,7 +40,21 @@ EXTRAFLAGS += -flto # macros disabled, as a lot of barobord features req
MOUSEKEY_ENABLE = no
AUDIO_ENABLE ?= no
+ifeq ($(strip $(CONVERT_TO)), stemcell)
AUDIO_DRIVER = pwm_software
+endif
+ifeq ($(strip $(CONVERT_TO)), elite_pi)
+AUDIO_DRIVER = pwm_hardware
+endif
+ifeq ($(strip $(CONVERT_TO)), rp2040_ce)
+AUDIO_DRIVER = pwm_hardware
+endif
+ifeq ($(strip $(CONVERT_TO)), helios)
+AUDIO_DRIVER = pwm_hardware
+endif
+ifeq ($(strip $(CONVERT_TO)), liatris)
+AUDIO_DRIVER = pwm_hardware
+endif
HAPTIC_ENABLE ?= no
HAPTIC_DRIVER = drv2605l