The Raspberry Pi Pico is a very capable board, but it’s still a surprise to see bit-banged 100 MBit/s Fast Ethernet implemented on one. [Steve]’s Pico-100BASE-TX library allows an RP2040 (or RP2350) microcontroller to stream data at roughly 11 Mbyte/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 get 100BASE-T working. 10BASE-T uses two voltage levels and Manchester encoding, but 100BASE-T uses three voltage levels, which [Steve] cleverly implemented on the Pico with two GPIOs, and far more complex encoding. Check out the repository’s README for details as well as a couple example applications.
[Steve] tells us that to the best of his knowledge, this is the first bit-banged 100 MBit/s Ethernet implementation using a microcontroller. It’s transmit-only — reception being an entirely different beast — but it’s possible some enterprising soul might find a solution. If you do, be sure to let us know all about it!