diff --git a/ports/stm32/boards/NUCLEO_H743ZI/mpconfigboard.h b/ports/stm32/boards/NUCLEO_H743ZI/mpconfigboard.h
index 40ce889ab9..4e6b162269 100644
--- a/ports/stm32/boards/NUCLEO_H743ZI/mpconfigboard.h
+++ b/ports/stm32/boards/NUCLEO_H743ZI/mpconfigboard.h
@@ -31,8 +31,21 @@ void NUCLEO_H743ZI_board_early_init(void);
 #define MICROPY_HW_FLASH_LATENCY    FLASH_LATENCY_4
 
 // UART config
+#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_UART5_TX         (pin_B6)
+#define MICROPY_HW_UART5_RX         (pin_B12)
+#define MICROPY_HW_UART6_TX         (pin_C6)
+#define MICROPY_HW_UART6_RX         (pin_C7)
+#define MICROPY_HW_UART7_TX         (pin_F7)
+#define MICROPY_HW_UART7_RX         (pin_F6)
+#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
 
@@ -41,6 +54,8 @@ void NUCLEO_H743ZI_board_early_init(void);
 #define MICROPY_HW_I2C1_SDA         (pin_B9)
 #define MICROPY_HW_I2C2_SCL         (pin_F1)
 #define MICROPY_HW_I2C2_SDA         (pin_F0)
+#define MICROPY_HW_I2C4_SCL         (pin_F14)
+#define MICROPY_HW_I2C4_SDA         (pin_F15)
 
 // SPI
 #define MICROPY_HW_SPI3_NSS         (pin_A4)
@@ -75,3 +90,14 @@ void NUCLEO_H743ZI_board_early_init(void);
 #define MICROPY_HW_SDCARD_DETECT_PIN        (pin_G2)
 #define MICROPY_HW_SDCARD_DETECT_PULL       (GPIO_PULLUP)
 #define MICROPY_HW_SDCARD_DETECT_PRESENT    (GPIO_PIN_RESET)
+
+// Ethernet via RMII (MDC define disabled for now until eth.c supports H7)
+//#define MICROPY_HW_ETH_MDC          (pin_C1)
+#define MICROPY_HW_ETH_MDIO         (pin_A2)
+#define MICROPY_HW_ETH_RMII_REF_CLK (pin_A1)
+#define MICROPY_HW_ETH_RMII_CRS_DV  (pin_A7)
+#define MICROPY_HW_ETH_RMII_RXD0    (pin_C4)
+#define MICROPY_HW_ETH_RMII_RXD1    (pin_C5)
+#define MICROPY_HW_ETH_RMII_TX_EN   (pin_G11)
+#define MICROPY_HW_ETH_RMII_TXD0    (pin_G13)
+#define MICROPY_HW_ETH_RMII_TXD1    (pin_B13)
diff --git a/ports/stm32/boards/NUCLEO_H743ZI/mpconfigboard.mk b/ports/stm32/boards/NUCLEO_H743ZI/mpconfigboard.mk
index 1d232e0803..ce8f83e57d 100644
--- a/ports/stm32/boards/NUCLEO_H743ZI/mpconfigboard.mk
+++ b/ports/stm32/boards/NUCLEO_H743ZI/mpconfigboard.mk
@@ -16,3 +16,8 @@ LD_FILES = boards/stm32h743.ld boards/common_ifs.ld
 TEXT0_ADDR = 0x08000000
 TEXT1_ADDR = 0x08040000
 endif
+
+# MicroPython settings
+MICROPY_PY_LWIP = 1
+MICROPY_PY_USSL = 1
+MICROPY_SSL_MBEDTLS = 1
diff --git a/ports/stm32/boards/NUCLEO_H743ZI/pins.csv b/ports/stm32/boards/NUCLEO_H743ZI/pins.csv
index daa36691b7..d3647ca42a 100644
--- a/ports/stm32/boards/NUCLEO_H743ZI/pins.csv
+++ b/ports/stm32/boards/NUCLEO_H743ZI/pins.csv
@@ -1,46 +1,97 @@
-A0,PA0
-A1,PF10
-A2,PF9
-A3,PF8
-A4,PF7
-A5,PF6
-D0,PC7
-D1,PC6
-D2,PG6
-D3,PB4
-D4,PG7
-D5,PA8
-D6,PH6
-D7,PI3
-D8,PI2
-D9,PA15
-D10,PI0
-D11,PB15
-D12,PB14
-D13,PI1
+A0,PA3
+A1,PC0
+A2,PC3
+A3,PB1
+A4,PC2
+A5,PF10
+A6,PF4
+A7,PF5
+A8,PF6
+D0,PB7
+D1,PB6
+D2,PG14
+D3,PE13
+D4,PE14
+D5,PE11
+D6,PE9
+D7,PG12
+D8,PF3
+D9,PD15
+D10,PD14
+D11,PB5
+D12,PA6
+D13,PA7
 D14,PB9
 D15,PB8
+D16,PC6
+D17,PB15
+D18,PB13
+D19,PB12
+D20,PA15
+D21,PC7
 D22,PB5
 D23,PB3
-D67,PD0
+D24,PA4
+D25,PB4
+D26,PG6
+D27,PB2
+D28,PD13
+D29,PD12
+D30,PD11
+D31,PE2
+D32,PA0
+D33,PB0
+D34,PE0
+D35,PB11
+D36,PB10
+D37,PE15
+D38,PE6
+D39,PE12
+D40,PE10
+D41,PE7
+D42,PE8
+D43,PC8
+D44,PC9
+D45,PC10
+D46,PC11
+D47,PC12
+D48,PD2
+D49,PG2
+D50,PG3
+D51,PD7
+D52,PD6
+D53,PD5
+D54,PD4
+D55,PD3
+D56,PE2
+D57,PE4
+D58,PE5
+D59,PE6
+D60,PE3
+D61,PF8
+D62,PF7
+D63,PF9
+D64,PG1
+D65,PG0
 D66,PD1
+D67,PD0
+D68,PF0
+D69,PF1
+D70,PF2
+D71,PE9
+D72,PB2
 DAC1,PA4
 DAC2,PA5
 LED1,PB0
 LED2,PB7
 LED3,PB14
 SW,PC13
-TP1,PH2
-TP2,PI8
-TP3,PH15
-AUDIO_INT,PD6
-AUDIO_SDA,PH8
-AUDIO_SCL,PH7
 I2C1_SDA,PB9
 I2C1_SCL,PB8
 I2C2_SDA,PF0
 I2C2_SCL,PF1
-EXT_RST,PG3
+I2C4_SCL,PF14
+I2C4_SDA,PF15
 SD_D0,PC8
 SD_D1,PC9
 SD_D2,PC10
@@ -48,20 +99,32 @@ SD_D3,PC11
 SD_CMD,PD2
 SD_CK,PC12
 SD_SW,PG2
-LCD_BL_CTRL,PK3
-LCD_INT,PI13
-LCD_SDA,PH8
-LCD_SCL,PH7
-OTG_FS_POWER,PD5
-OTG_FS_OVER_CURRENT,PD4
-OTG_HS_OVER_CURRENT,PE3
-USB_VBUS,PJ12
-USB_ID,PA8
+OTG_FS_POWER,PG6
+OTG_FS_OVER_CURRENT,PG7
+USB_VBUS,PA9
+USB_ID,PA10
 USB_DM,PA11
 USB_DP,PA12
-UART1_TX,PA9
-UART1_RX,PA10
-UART5_TX,PC12
-UART5_RX,PD2
+UART2_TX,PD5
+UART2_RX,PD6
+UART2_RTS,PD4
+UART2_CTS,PD3
 UART3_TX,PD8
 UART3_RX,PD9
+UART5_TX,PB6
+UART5_RX,PB12
+UART6_TX,PC6
+UART6_RX,PC7
+UART7_TX,PF7
+UART7_RX,PF6
+UART8_TX,PE1
+UART8_RX,PE0
+ETH_MDC,PC1
+ETH_MDIO,PA2
+ETH_RMII_REF_CLK,PA1
+ETH_RMII_CRS_DV,PA7
+ETH_RMII_RXD0,PC4
+ETH_RMII_RXD1,PC5
+ETH_RMII_TX_EN,PG11
+ETH_RMII_TXD0,PG13
+ETH_RMII_TXD1,PB13