Olimex UEXT-CH390 : Module Ethernet SPI 10/100 Mbps pour microcontrôleurs
⚡ L’essentiel en 60 secondes
- ethernet_controller — WCH CH390
- ethernet_speed — 10/100 Mbps
- host_interface — SPI modes 0 and 3
- spi_clock_speed — Up to 72 MHz
- sram — 16KB built-in for packet buffering
- connectors — RJ45, 10-pin UEXT, 10-pin pUEXT (1.0mm pitch)
- Sur cette fiche : 9 tutoriels · 10 codes
Imaginez que vous concevez un objet connecté, une station météo domestique ou un système de domotique, et que vous avez besoin de le relier à votre réseau local. Souvent, la solution la plus simple consiste à utiliser le Wi-Fi, mais cette technologie peut parfois s'avérer capricieuse, sujette aux interférences ou insuffisante pour des applications nécessitant une latence minimale et une stabilité absolue. C'est ici qu'intervient le module Olimex UEXT-CH390, une solution matérielle open-source conçue pour apporter une connectivité Ethernet filaire robuste aux microcontrôleurs qui n'en disposent pas nativement. L'intérêt de ce module réside dans sa capacité à transformer un simple bus de communication série, appelé SPI, en une véritable interface réseau. Pour le néophyte, le SPI est un protocole de communication qui permet à deux puces de se parler en échangeant des données bit par bit, mais il ne sait pas, par lui-même, gérer les complexités du réseau informatique moderne. Le module UEXT-CH390 agit donc comme un traducteur et un pont indispensable, permettant à des cartes de développement populaires de dialoguer avec le reste du monde via un câble Ethernet classique.
Au cœur de cette petite carte de 50 sur 21 millimètres se trouve le contrôleur WCH CH390. Pour comprendre son rôle, il faut distinguer deux composants essentiels dans une connexion réseau : le MAC et le PHY. Le MAC, ou Media Access Control, est la partie logique qui gère l'adressage et l'encapsulation des données, tandis que le PHY, ou Physical Layer, est la partie physique qui convertit ces données numériques en signaux électriques circulant sur le câble. Le CH390 intègre ces deux fonctions en une seule puce, simplifiant considérablement la conception électronique. Il offre une connectivité Ethernet à 10 ou 100 Mbps, ce qui est largement suffisant pour la majorité des applications de l'Internet des Objets, où les volumes de données échangés sont faibles mais la fiabilité est primordiale. De plus, le module dispose de 16 Ko de SRAM intégrée, servant de tampon pour stocker temporairement les paquets de données avant leur transmission ou après leur réception. Cette mémoire interne est cruciale car elle permet au microcontrôleur hôte de ne pas avoir à gérer la mémoire des trames réseau lui-même, libérant ainsi ses propres ressources pour le traitement des applications. Un détail pratique notable est que l'adresse MAC, qui est l'identifiant unique de chaque appareil sur un réseau local, est programmée en usine. Cela signifie qu'il n'est pas nécessaire d'ajouter une puce mémoire externe pour stocker cet identifiant, ce qui réduit le coût et la complexité du circuit final.
La connectivité physique du module est pensée pour la modularité et la facilité d'intégration. Il utilise des connecteurs UEXT à 10 broches et pUEXT avec un pas de 1,0 mm, des standards ouverts qui permettent de brancher le module sur de nombreuses cartes de développement sans soudure complexe. L'alimentation se fait en 3,3 volts via ces mêmes connecteurs, ce qui est compatible avec la plupart des microcontrôleurs modernes. Sur le plan de la communication avec le processeur principal, le module supporte les modes SPI 0 et 3, avec une fréquence d'horloge pouvant atteindre 72 MHz. Cette vitesse élevée assure que le transfert de données entre le microcontrôleur et le contrôleur Ethernet ne constitue pas un goulot d'étranglement, permettant ainsi d'exploiter pleinement la bande passante offerte par le réseau filaire. En termes de fonctionnalités réseau avancées, le CH390 gère l'Auto-MDIX, ce qui signifie que le module détecte automatiquement si le câble Ethernet droit ou croisé est utilisé, éliminant ainsi une source fréquente d'erreurs de câblage pour les débutants. Il prend également en charge les sommes de contrôle IPv4 et IPv6 pour les protocoles TCP et UDP, garantissant l'intégrité des données transmises, ainsi que le contrôle de flux IEEE 802.3x, qui permet de réguler le débit de données pour éviter la perte de paquets lorsque le réseau est saturé.
La compatibilité logicielle est un aspect majeur de ce module, l'open-source étant au cœur de sa philosophie. Il est conçu pour fonctionner harmonieusement avec des écosystèmes très populaires dans le monde du développement embarqué, notamment les cartes Raspberry Pi Pico et Pico 2, ainsi que les puces ESP32 dans leurs variantes S3, C3, C5 et C6. Pour les utilisateurs de l'environnement Arduino IDE ou du framework ESPHome, le module offre une intégration fluide. Un pilote spécifique a d'ailleurs été développé pour le microcontrôleur RP2040, le cœur des Raspberry Pi Pico. Ce pilote a été testé sur la carte RP2040-PICO30U-16 avec la version 2026.9.0 d'ESPHome, démontrant une maturité logicielle notable. Les fonctionnalités offertes par cette intégration sont riches : le module permet l'obtention automatique d'une adresse IP via DHCP, la découverte automatique des appareils par Home Assistant, les mises à jour du firmware à distance (OTA) et l'accès à une interface web locale pour la configuration. Pour ceux qui préfèrent travailler plus près du métal, des exemples de code utilisant la pile réseau lwIP pour le SDK officiel de Raspberry Pi Pico sont également disponibles, offrant une flexibilité maximale aux développeurs expérimentés.
Enfin, l'aspect économique et logistique de ce module le rend accessible à un large public. Avec un prix de précommande fixé à 4,95 euros, il représente un investissement minime pour ajouter une connectivité filaire professionnelle à un projet. L'expédition était prévue à partir du 9 novembre 2026, indiquant une disponibilité récente et une production active. En résumé, le Olimex UEXT-CH390 n'est pas seulement un accessoire, c'est un outil de démocratisation de la connectivité réseau filaire pour les makers et les ingénieurs. Il abstrait la complexité des couches réseau OSI en une interface simple via SPI, tout en offrant les garanties de fiabilité et de performance nécessaires pour des applications critiques. Que vous soyez un débutant cherchant à connecter votre premier capteur à votre réseau domestique ou un développeur expérimenté concevant un système industriel robuste, ce module offre une solution fiable, standardisée et ouverte, facilitant le passage de l'idée à la réalisation concrète sans les contraintes souvent frustrantes des connexions sans fil.

| Attr | Specs | vérifié |
|---|---|---|
ethernet_controller | WCH CH390 | ? non vérifié |
ethernet_speed | 10/100 Mbps | ? non vérifié |
host_interface | SPI modes 0 and 3 | ? non vérifié |
spi_clock_speed | Up to 72 MHz | ? non vérifié |
sram | 16KB built-in for packet buffering | ? non vérifié |
connectors | RJ45, 10-pin UEXT, 10-pin pUEXT (1.0mm pitch) | ? non vérifié |
power_supply | 3.3V via UEXT/pUEXT | ? non vérifié |
dimensions | 50 x 21 mm | ? non vérifié |
mac_address | Factory-programmed (no external EEPROM needed) | ? non vérifié |
supported_boards | Raspberry Pi Pico/Pico 2, ESP32-S3/C3/C5/C6 | ? non vérifié |
software_support | Arduino IDE, ESPHome, RP2040 SDK (lwIP) | ? non vérifié |
network_features | Auto-MDIX, IPv4/IPv6 TCP/UDP checksum, IEEE 802.3x flow control | ? non vérifié |
Lancé en précommande en novembre 2026, ce module open-source ajoute une connectivité Ethernet filaire aux cartes Raspberry Pi Pico et ESP32 via une interface SPI. Il repose sur le contrôleur WCH CH390 intégrant MAC et PHY, avec une expédition prévue à partir du 9 novembre 2026.
+ Points forts
- Supporte les modes SPI 0 et 3 jusqu'à 72 MHz avec 16KB de SRAM pour le tampon de paquets.
- Compatible avec Raspberry Pi Pico/Pico 2 et puces ESP32 (S3, C3, C5, C6) sous ESPHome et Arduino IDE.
- Adresse MAC programmée en usine et fonctionnalités réseau avancées (Auto-MDIX, IPv4/IPv6, flow control IEEE 802.3x).
− Points faibles
- Alimentation strictement limitée à 3.3V via les connecteurs UEXT/pUEXT.
- Format compact de 50 x 21 mm nécessitant des connecteurs spécifiques (UEXT 10 broches ou pUEXT).
- Retour d'expérience expert expert — expert-microdb
- Je viens de recevoir l'UEXT-CH390 sur une Pico 2. Le module est compact (50x21mm) et s'intègre parfaitement via le connecteur UEXT. J'ai utilisé le pilote RP2040 récent avec ESPHome 2026.9.0. La connexion SPI à 72 MHz est stable dès le premier essai. Le DHCP fonctionne immédiatement, tout comme la … — expert-microdb
- Merci pour ce retour. J'ai testé sur un ESP32-C6 via l'Arduino IDE. L'interface web locale est très pratique pour le debug initial. Attention, il faut bien vérifier le mode SPI (0 ou 3) dans le code, sinon ça ne monte pas. Les 16KB de SRAM gèrent bien les paquets en charge légère. Pour ceux qui att… — membre-forum
Retours et projets de la communauté
- Discussions Reddit — UEXT-CH390 reddit.com
- Articles CNX Software — UEXT-CH390 cnx-software.com
Contenu indisponible pour le moment.
Contenu indisponible pour le moment.
Contenu indisponible pour le moment.
- Non renseigné
- Premier branchement et mise en route de l'UEXT-CH390 debutant Guide pas à pas pour connecter physiquement le module Ethernet UEXT-CH390 à une carte compatible et vérifier son alimentation.
- Contrôler des GPIO et capteurs avec UEXT-CH390 debutant Apprenez à gérer les entrées/sorties numériques et analogiques via le bus UEXT tout en maintenant la connectivité Ethernet.
- Cas d'usage complet : Connectivité Ethernet pour Raspberry Pi Pico debutant Connectez votre Raspberry Pi Pico à un réseau filaire stable en utilisant la carte UEXT-CH390 pour des projets IoT fiables.
- Premier branchement et mise en route de l'UEXT-CH390 intermediaire Guide étape par étape pour connecter le module Ethernet UEXT-CH390 à une carte compatible et vérifier sa communication initiale.
- Intégrer des GPIO avec l'Ethernet UEXT-CH390 intermediaire Apprenez à combiner le contrôle des entrées-sorties locales et la communication réseau via le module UEXT-CH390.
- Connecter un RP2040 au réseau avec UEXT-CH390 et ESPHome intermediaire Configurez une passerelle IoT filaire robuste sur Raspberry Pi Pico en utilisant le module Ethernet UEXT-CH390 et le firmware ESPHome.
- Mise en route avancée : UEXT-CH390 et Raspberry Pi Pico avance Guide technique pour l'intégration du module Ethernet CH390 sur une carte RP2040 via SPI.
- Gestion avancée des E/S GPIO avec UEXT-CH390 avance Intégrer des périphériques physiques (capteurs ou afficheurs) dans un système Ethernet filaire basé sur le module UEXT-CH390.
- Automatisation IoT robuste avec UEXT-CH390 et ESPHome avance Déployez un nœud de capteurs autonome et fiable utilisant la connectivité Ethernet filaire du module UEXT-CH390.
Bibliothèque de code — exemples écrits pour cette carte
esp32-ch390-lwip-station.inoC++rp2040-pico-ch390-micropython.pyPythonesp32-ch390-udp-sensor-gateway.inoC++esp32-ch390-web-server-local.inoC++rp2040-ch390-iot-home-assistant.inoYAMLrp2040-lwip-ethernet-ping-6.inoC/C++ (Raspberry Pi Pico SDK)esp32-ethernet-http-server-7.inoC++ (Arduino/ESP-IDF)uext-ch390-low-power-wake-8.inoC (C Microcontrôleur génériquerp2040-uext-ch390-dhcp-client-9.inoC/C++ (Pico SDK)esp32s3-ch390-udp-discovery-10.inoC/C++ (ESP-IDF)