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.
0
Components
Hardware components
WIZnet - W5500
Ethernet interface on STM32F407VE hardware SPI1, used through network.WIZNET5K with lwIP
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.