Skip to content

Why Did a MicroPython Soft Reset Hang an STM32 with a W5500, and How Does PR #19800 Fix It?

Upstream MicroPython fix keeps an active W5500's SPI bus alive through soft reset on STM32 with lwIP, qualified with 60 resets and 20 upload cycles.

ElenaLee

Published October 24, 2026 · © MIT license (MIT)

Why Did a MicroPython Soft Reset Hang an STM32 with a W5500, and How Does PR #19800 Fix It?

Components

Hardware components

WIZnet parts

Project description

📌 Overview PR #19800 is a pull request to the official MicroPython repository, opened on October 22, 2026 by GitHub user daniel-briscoe-qntm. It fixes a hang on STM32 boards that use a WIZnet W5500 for Ethernet: after an ordinary soft reset, MicroPython kept the network running but switched off the SPI bus the W5500 was on, and the next network poll stalled the board. The fix is small (34 added lines across 5 files) and targeted. During soft reset cleanup, the STM32 port now keeps exactly one SPI bus alive: the one owned by the active W5500 network interface. The W5500 driver also stops…

Keep reading with a free account

Guests can read 15 projects per visit. Log in or create a free account to read the full description, open the documents and join the comments.

Similar projects you might like