From f94980677ca0f910cbb97705ed92d29a8414ff8d Mon Sep 17 00:00:00 2001 From: mdaeron Date: Sat, 24 Jan 2026 18:19:23 +0100 Subject: [PATCH] stm32/boards: Add UARTs to NUCLEO F746ZG and NUCLEO F439ZI. Adds the following UARTs: 1, 4, 5, 7, 8, assigned to pins that were not otherwise assigned. Signed-off-by: mdaeron --- ports/stm32/boards/NUCLEO_F439ZI/mpconfigboard.h | 10 ++++++++++ ports/stm32/boards/NUCLEO_F746ZG/mpconfigboard.h | 10 ++++++++++ ports/stm32/boards/NUCLEO_F746ZG/pins.csv | 10 ++++++++++ 3 files changed, 30 insertions(+) diff --git a/ports/stm32/boards/NUCLEO_F439ZI/mpconfigboard.h b/ports/stm32/boards/NUCLEO_F439ZI/mpconfigboard.h index 4d5050b1bf..7b352d7488 100644 --- a/ports/stm32/boards/NUCLEO_F439ZI/mpconfigboard.h +++ b/ports/stm32/boards/NUCLEO_F439ZI/mpconfigboard.h @@ -23,14 +23,24 @@ #define MICROPY_HW_RTC_USE_US (1) // UART config +#define MICROPY_HW_UART1_TX (pin_B6) +#define MICROPY_HW_UART1_RX (pin_B7) #define MICROPY_HW_UART2_TX (pin_D5) #define MICROPY_HW_UART2_RX (pin_D6) #define MICROPY_HW_UART2_RTS (pin_D4) #define MICROPY_HW_UART2_CTS (pin_D3) #define MICROPY_HW_UART3_TX (pin_D8) #define MICROPY_HW_UART3_RX (pin_D9) +#define MICROPY_HW_UART4_TX (pin_C10) +#define MICROPY_HW_UART4_RX (pin_C11) +#define MICROPY_HW_UART5_TX (pin_C12) +#define MICROPY_HW_UART5_RX (pin_D2) #define MICROPY_HW_UART6_TX (pin_G14) #define MICROPY_HW_UART6_RX (pin_G9) +#define MICROPY_HW_UART7_TX (pin_E8) +#define MICROPY_HW_UART7_RX (pin_E7) +#define MICROPY_HW_UART8_TX (pin_E1) +#define MICROPY_HW_UART8_RX (pin_E0) #define MICROPY_HW_UART_REPL PYB_UART_3 #define MICROPY_HW_UART_REPL_BAUD 115200 diff --git a/ports/stm32/boards/NUCLEO_F746ZG/mpconfigboard.h b/ports/stm32/boards/NUCLEO_F746ZG/mpconfigboard.h index 402efcfe31..2b588c7245 100644 --- a/ports/stm32/boards/NUCLEO_F746ZG/mpconfigboard.h +++ b/ports/stm32/boards/NUCLEO_F746ZG/mpconfigboard.h @@ -29,14 +29,24 @@ #define MICROPY_HW_FLASH_LATENCY FLASH_LATENCY_7 // 210-216 MHz needs 7 wait states // UART config +#define MICROPY_HW_UART1_TX (pin_B6) +#define MICROPY_HW_UART1_RX (pin_B7) #define MICROPY_HW_UART2_TX (pin_D5) #define MICROPY_HW_UART2_RX (pin_D6) #define MICROPY_HW_UART2_RTS (pin_D4) #define MICROPY_HW_UART2_CTS (pin_D3) #define MICROPY_HW_UART3_TX (pin_D8) #define MICROPY_HW_UART3_RX (pin_D9) +#define MICROPY_HW_UART4_TX (pin_C10) +#define MICROPY_HW_UART4_RX (pin_C11) +#define MICROPY_HW_UART5_TX (pin_C12) +#define MICROPY_HW_UART5_RX (pin_D2) #define MICROPY_HW_UART6_TX (pin_G14) #define MICROPY_HW_UART6_RX (pin_G9) +#define MICROPY_HW_UART7_TX (pin_E8) +#define MICROPY_HW_UART7_RX (pin_E7) +#define MICROPY_HW_UART8_TX (pin_E1) +#define MICROPY_HW_UART8_RX (pin_E0) #define MICROPY_HW_UART_REPL PYB_UART_3 #define MICROPY_HW_UART_REPL_BAUD 115200 diff --git a/ports/stm32/boards/NUCLEO_F746ZG/pins.csv b/ports/stm32/boards/NUCLEO_F746ZG/pins.csv index c129f7417b..36c6c24c8e 100644 --- a/ports/stm32/boards/NUCLEO_F746ZG/pins.csv +++ b/ports/stm32/boards/NUCLEO_F746ZG/pins.csv @@ -57,12 +57,22 @@ USB_DM,PA11 USB_DP,PA12 VCP_TX,PD8 VCP_RX,PD9 +UART1_TX,PB6 +UART1_RX,PB7 UART2_TX,PD5 UART2_RX,PD6 UART2_RTS,PD4 UART2_CTS,PD3 +UART4_TX,PC10 +UART4_RX,PC11 +UART5_TX,PC12 +UART5_RX,PD2 UART6_TX,PG14 UART6_RX,PG9 +UART7_TX,PE8 +UART7_RX,PE7 +UART8_TX,PE1 +UART8_RX,PE0 SPI_B_NSS,PA4 SPI_B_SCK,PB3 SPI_B_MOSI,PB5