The author discusses their journey in creating a TCP/IP stack from scratch on a microcontroller, specifically the STM32F401. They highlight the complexity of Ethernet technology and the use of the W5100 chip. The author faces challenges in communication with the chip due to hardware issues and timing constraints. They employ logic analysers and develop debugging tools to identify issues. Despite efforts to mimic working code and analyze SPI traffic, the author discovers a bug in a convenience function that caused the generation of incorrect packets. Through meticulous debugging and comparison, the author successfully sends their first Ethernet packet.
https://github.com/francisrstokes/githublog/blob/main/2024%2F11%2F1%2Fsending-an-ethernet-packet.md