October 29, 2025
When a $2 chip catfishes Ethernet
Raspberry Pi Pico Bit-Bangs 100 Mbit/S Ethernet
A $2 board fakes Ethernet — veterans brag, skeptics roast, nerds go wild
TLDR: A Raspberry Pi Pico now pushes 100 Mbps Ethernet in software, streaming 11 MB/s without a network chip. Commenters split between wow-factor engineering and gripes about Raspberry Pi’s missing built‑in peripherals and thin SDK, while debates rage over PIO’s role and comparisons to platforms like PSoC.
Raspberry Pi’s tiny Pico just pulled a headline stunt: developer Steve Markgraf made it “fake” 100 megabit Ethernet in software, streaming about 11 MB/s without a dedicated network chip. It’s transmit‑only and needs safe isolation (no Power‑over‑Ethernet!), but the demo video and repo prove the point — bit‑banging (pretending hardware with code) can fly. And the comments? Absolute fireworks. One old‑school engineer swaggered in with “you kids don’t know how lucky you are,” then dropped a history lesson on TOE (a TCP offload engine — fancy network hardware) while saluting the clever hack. A pragmatist asked the obvious: would this magic even be possible without PIO (programmable pins) doing the heavy lifting? Cue the hottest take: a frustrated dev torched Raspberry Pi’s support, saying competitors ship real audio and network blocks while RP users have to roll their own from “crappy” examples. Meanwhile a philosopher of silicon called it the “wheel of life”: we move work from the CPU to a card, then to a card with its own CPU, then back inside the CPU as special logic — and around we go. The mood swings from awe to eye‑rolls, with side quests comparing PIO to Cypress PSoC. Verdict: dazzling party trick, divisive practicality.
Key Points
- •Pico-100BASE-TX implements 100 Mbit/s Ethernet transmission on RP2040/RP2350 using PIO and DMA.
- •The system performs MLT-3, 4B5B, and scrambling at a 125 MHz symbol rate.
- •Measured throughput is about 11 MB/s over UDP, demonstrated with audio and ADC streaming.
- •The project is transmit-only and must not be connected to PoE; isolation via transformer or switch is advised.
- •The library supports RP2040 and RP2350 (Pico 2), includes example apps, and builds with the Pico SDK.