Transmit-Only 100 MBit/s Ethernet Achieved on Raspberry Pi Pico via Bit-Banging
A developer named Steve has successfully implemented a bit-banged 100 MBit/s Fast Ethernet transmission on a Raspberry Pi Pico using the Pico-100BASE-TX library. The library allows RP2040 and RP2350 microcontrollers to stream data at approximately 11 MBytes per second, effectively achieving Fast Ethernet speeds. While prior projects have demonstrated 10BASE-T on the Pico, achieving 100BASE-T is more complex due to the use of three voltage levels and advanced encoding, as opposed to the simpler two-level Manchester encoding of 10BASE-T. Steve accomplished this using only two GPIO pins on the Pico. The implementation is transmit-only, meaning the Pico can send data but cannot receive it, though the article notes that reception would require a different approach. The project has generated discussion in the community about technical details such as the difference between megabytes and megabits per second and comparisons to previous 10BASE-T projects. The work is notable as it appears to be the first known bit-banged 100 MBit/s Ethernet transmission using a microcontroller. The library includes example applications and the repository README provides additional technical details. This achievement highlights the Raspberry Pi Pico’s capabilities and demonstrates how creative engineering can extend the functionality of low-cost microcontrollers.
