Pico-100BASE-TX: Bit-Banged 100 MBit/s Ethernet and UDP Framer for RP2040/RP2350

Raspberry Pi blasts 100 Mbps over two pins — hackers cheer, engineers clutch pearls

TLDR: A Raspberry Pi microcontroller now pushes 100 Mbps Ethernet with just two pins, sending UDP packets at ~11 MB/s. The community is split: hackers love the audacity and sensor-streaming potential, while engineers warn it’s TX-only and risky without proper hardware, especially around PoE and picky motherboards.

Someone just taught a tiny Raspberry Pi microcontroller to scream 100‑megabit Ethernet through two pins, no real network chip, just pure timing magic. The project bit‑bangs a TX‑only (send‑only) Fast Ethernet link and frames UDP packets (a simple, speed-first internet format) to push about 11 MB/s. The repo even warns: “Do not connect to PoE” and suggests proper resistors or a pulse transformer, noting ASUS boards act picky without them. Translation: it’s a fast hack, not a safety certificate. The comments erupted. One camp is the “Because we can” crowd, calling it hacker art and dreaming up cheap high-speed sensor streaming and radio demos. Another camp rolled in with hard hats: if you need Ethernet, use a real PHY (the chip that normally speaks Ethernet), don’t play chicken with magnetics. rasz dropped the Hacker News link and the debate lit up. HarHarVeryFunny asked the practical question: will the CPU have time to do anything besides bit‑banging, or is this just a party trick? Cue memes about “Ethernet by vibes,” “two wires to rule them all,” and “Corporate IT seeing this: panic detected.” Supporters point to the demo streaming radio signal data; skeptics clap back that blasting packets without receiving isn’t a network, it’s a fire hose. Both sides agree: it’s bold, it’s risky, and it’s hilarious. Also, please don’t plug it into your office switch without the right parts.

Key Points

  • Pico-100BASE-TX implements a TX-only 100 Mbit/s Fast Ethernet transmitter and UDP framer for RP2040/RP2350 using PIO.
  • The project achieves around 11 MByte/s continuous data streaming from the microcontroller.
  • 100BASE-TX implementation uses MLT-3 encoding, 4B5B line coding, scrambling, and a 125 MHz symbol rate.
  • Safety guidance warns against connecting to PoE equipment; recommends a pulse transformer or 47 Ω + 470 Ω resistors.
  • A demo shows digitizing a WBFM IF signal via the internal ADC and streaming the data over Fast Ethernet.

Hottest takes

"I can't imagine that leaves too many CPU cycles for anything other than bit banging ... is there an actual use case for this, or just a fun project ?" — HarHarVeryFunny
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.