10BASE-T Ethernet Bit-banged on a Raspberry Pi Pico
Is it possible to connect a Raspberry Pi Pico (without the ‘W’) to Ethernet without any external logic? Kyoto, Japan-based kingoPiyo says yes! With just 3 resistors, he’s found a software-only method of bit-banging a 10BASE-T connection out of the Pico.
Of course, it’s not a full-featured Ethernet adapter, such as the WIZnet Ethernet HAT for Raspberry Pi Pico that’s available in our store, but kingyoPiyo’s hack proves just how much you can actually do with limited resources, and is his most popular GitHub respository to date.
Yes, it’s as simple as it looks: A Pi Pico, 2 × 47 Ω resistors, 1 × 470 Ω resistor, an RJ45 connector, and the Pico itself. The magic, of course, happens in the source code, and, to get close to the RP2040’s built-in hardware, at speed, kingyo has opted to use C for the task. Naturally, he has provided the complete source over on his GitHub repo, and he also has a dozen images in the doc directory to show you the way, including what a decoded Ethernet packet looks like, and several screenshots from his trusty Rigol scope:
A couple of the limitations of this early-stage experiment are the fact that it’s transmit-only (although kingyo is working on a receive option), and you need to keep it away from PoE (power-over-Ethernet) connections. Check out his repository – maybe you’ll find something useful you can do with this quick-and-easy connection to the wired world of Ethernet!
If you do come up with a great way to enhance kingyo’s project, or even build something completely new using a software hack like this, be sure to share it on Elektor Labs, our maker community, where we keep a close eye on community projects. Who knows, your idea might end up as an article in Elektor Magazine!
If you do come up with a great way to enhance kingyo’s project, or even build something completely new using a software hack like this, be sure to share it on Elektor Labs, our maker community, where we keep a close eye on community projects. Who knows, your idea might end up as an article in Elektor Magazine!