Hasty Briefsbeta

Bit banged 100 MBit/s Ethernet transmission on RPi Pico

2 days ago
  • #FastEthernet
  • #PIO
  • #RP2040
  • Library enables streaming data at ~11 Mbyte/s from RP2040/RP2350 MCUs using PIO for 100 Mbit Fast Ethernet.
  • Warning: Do not connect to POE-capable equipment; use a pulse transformer or old Ethernet switch for safety.
  • Implements 100BASE-TX with MLT-3 encoding, scrambling, 4B5B line code, and 125 MHz symbol rate via PIO side-set.
  • Scrambler uses an 11-bit LFSR with taps at 11th and 9th bits, pre-computing a 10 KB LUT for efficiency.
  • 4B5B encoding uses a 256-entry LUT for byte-to-symbol conversion, including special symbols for frame start/end.
  • Build instructions provided for Pico2, requiring pico-sdk and generating a UF2 file for deployment.
  • Includes libpico100basetx for core functionality and example apps: counter streaming, ADC data, and PCM1802 audio at 75 kHz.
  • Developed by Steve Markgraf, inspired by hsdaoh-rp2350.