The Raspberry Pi Pico is a very capable board, but it’s always a surprise to see bit-banged 100 Mbit/s Fast Ethernet implemented on a board. (Steve’s) Pico-100BASE-TX library allows an RP2040 (or RP2350) microcontroller to stream data at approximately 11 MB/s, enough to implement 100 Mbit/s Fast Ethernet transmission.
We’ve seen 10BASE-T implemented on a Pico, but it takes a lot more than just shoveling bits faster to make 100BASE-T work. 10BASE-T uses two voltage levels and Manchester coding, but 100BASE-T uses three voltage levels, which (Steve) cleverly implemented on the Pico with two GPIOs and much more complex coding. Check out the repository README for more details as well as some sample applications.
(Steve) tells us that to his knowledge this is the first 100 Mbit/s Ethernet implementation using a microcontroller. It’s all about transmission – reception is a whole different beast – but it’s possible that some enterprising soul will find a solution. If so, please let us know!