Open Hardware & RISC-V

Olimex releases UEXT-CH390 open hardware module for 100 Mbit Ethernet on Pico and ESP32

Key Takeaway

The UEXT-CH390 module provides a wired 100 Mbit Ethernet interface for Raspberry Pi Pico/Pico2 and ESP32 microcontrollers via the WCH CH390 SPI-to-Ethernet controller.

Summary

Olimex has introduced the UEXT-CH390, a small open-source hardware module designed to add wired 100 Mbit Ethernet connectivity to microcontrollers lacking native Ethernet MACs. The module is compatible with any board featuring UEXT or pUEXT connectors, specifically targeting the Raspberry Pi Pico, Pico2, and various ESP32 variants such as the ESP32-S3, C3, C5, and C6.

To facilitate immediate use, Olimex has provided a custom ESPHome component that enables RP2040-based boards to function within the Home Assistant ecosystem over a wired connection. The release includes full open-source documentation, including KiCad schematics and firmware, alongside a Pico SDK example utilizing the lwIP stack for developers preferring a standard C-based approach.

Technical implementation and driver details

  • Controller Interface: The module utilizes the WCH CH390 SPI-to-Ethernet controller, communicating via the SPI protocol to provide 100 Mbit networking.
  • Driver Workarounds: Because the CH390 interrupt and reset lines are not routed to the UEXT connector, the driver implements software-based resets and polling mechanisms.
  • Concurrency Management: To prevent system lockups caused by overlapping SPI accesses from multiple tasks, all link register reads are executed within a protected Ethernet task.
  • Hardware Integration: The module supports both classic UEXT and the smaller 1.0 mm pUEXT connectors, measuring 50 x 21 mm.
  • Software Stack: Support is available via Arduino, ESPHome (with a custom version-pinned component for RP2040), and the Pico SDK using the lwIP library.

Why it matters

This module provides a reliable wired alternative to Wi-Fi for IoT developers working with low-power microcontrollers, improving security and signal penetration in challenging environments. By providing ready-to-use ESPHome integration, it lowers the barrier for building stable, wired Home Assistant nodes using Raspberry Pi Pico or ESP32 hardware.

Original reference: olimex.wordpress.com →