diff --git a/embassy-stm32/src/lib.rs b/embassy-stm32/src/lib.rs
index 5e86e5be6..370b5f0db 100644
--- a/embassy-stm32/src/lib.rs
+++ b/embassy-stm32/src/lib.rs
@@ -306,3 +306,95 @@ embassy_extras::std_peripherals! {
     FPU_CPACR,
     SCB_ACTRL,
 }
+
+#[cfg(feature = "stm32f407")]
+embassy_extras::std_peripherals! {
+    RNG,
+    DCMI,
+    FSMC,
+    DBGMCU,
+    DMA2,
+    DMA1,
+//    RCC,
+    GPIOI,
+    GPIOH,
+    GPIOG,
+    GPIOF,
+    GPIOE,
+    GPIOD,
+    GPIOC,
+    GPIOJ,
+    GPIOK,
+    GPIOB,
+    GPIOA,
+    SYSCFG,
+    SPI1,
+    SPI2,
+    SPI3,
+    I2S2EXT,
+    I2S3EXT,
+    SPI4,
+    SPI5,
+    SPI6,
+    SDIO,
+    ADC1,
+    ADC2,
+    ADC3,
+    USART6,
+    USART1,
+    USART2,
+    USART3,
+    DAC,
+    PWR,
+    I2C3,
+    I2C2,
+    I2C1,
+    IWDG,
+    WWDG,
+    RTC,
+    UART4,
+    UART5,
+    UART7,
+    UART8,
+    ADC_COMMON,
+    TIM1,
+    TIM8,
+    TIM2,
+//    TIM3,
+    TIM4,
+    TIM5,
+    TIM9,
+    TIM12,
+    TIM10,
+    TIM13,
+    TIM14,
+    TIM11,
+    TIM6,
+    TIM7,
+    ETHERNET_MAC,
+    ETHERNET_MMC,
+    ETHERNET_PTP,
+    ETHERNET_DMA,
+    CRC,
+    OTG_FS_GLOBAL,
+    OTG_FS_HOST,
+    OTG_FS_DEVICE,
+    OTG_FS_PWRCLK,
+    CAN1,
+    CAN2,
+    FLASH,
+    EXTI,
+    OTG_HS_GLOBAL,
+    OTG_HS_HOST,
+    OTG_HS_DEVICE,
+    OTG_HS_PWRCLK,
+    SAI1,
+    LTDC,
+    HASH,
+    CRYP,
+    FPU,
+    STK,
+    NVIC_STIR,
+    FPU_CPACR,
+    SCB_ACTRL,
+}