Mettre du Wi-Fi sur une carte Arduino Uno basique, c’est simple… grâce à un minimodule doté d’un microcontrôleur Espressif

Etendre les fonctionnalités offertes par la carte Arduino Uno lancée sur le marché il y a plus de 10 ans, et très populaire sur le terrain, pour la transformer en un système moderne pour l’IoT en la dotant d’une communication Wi-Fi native, et ce sans altérer ses fonctionnalités. Telle est la gageure relevée par Gianluca Martino, l'un des cofondateurs d’Arduino, à travers le Jolly Module architecturé autour du microcontrôleur ESP8285 d’Espressif, associé au traditionnel circuit 8 bits ATMega328P de la carte Arduino Uno. L’ESP8285 est une puce qui gère en interne les communications Wi-Fi et intègre des circuits de commutation d’antenne, un amplificateur de puissance, etc. avec une mémoire flash intégrée de 2 Mo.

Initié en 2022 à travers un projet participatif sur Kickstarter qui s’est clos à la fin de l’année dernière avec plus de 15 000 euros récoltés, le Jolly Module est commercialisé depuis le début de l’année sur un site spécifique. Ce module prend directement la place du microcontrôleur ATMega328P de Microchip installé sur l'Arduino Uno, en conservant le brochage existant. Avec une compatibilité totale au niveau du micrologiciel et de l'architecture matérielle de son prédécesseur, dans un espace réduit (41 x 10 mm)

En conséquence, l’ajout de la fonctionnalité Wi-Fi se fait de manière très simple, en déconnectant de la carte le circuit ATMega328P pour le remplacer par le Jolly Module.

Comme les deux microcontrôleurs installés sur le module ne fonctionnent pas avec le même domaine d'alimentation (5 V pour l'ATMega328PB et 3,3 V pour l'ESP8285), ses concepteurs ont inclus sur le module un circuit de régulation de tension et d'interfaçage entre les deux puces. Le Jolly Module est aussi équipé d'une LED et d'une antenne intégrée.

Les deux microcontrôleurs sont connectés l'un à l'autre via deux interfaces numériques : une SPI et une UART. L’interface SPI est utilisée pour l'échange de données, tandis que l'UART est l'apanage de la programmation, tant pour l'ATMega328PB que pour l'ESP8285. L'interface série de ce dernier n'est active que pendant la phase de programmation afin de ne pas interférer avec le fonctionnement normal de l'ATMega328.

La programmation de la puce Wi-Fi est possible grâce à la présence d'une clé de démarrage pour cette dernière et d'un firmware spécial installé au sein de l’ATMega328PB.

Notons, pour être complet, qu’il existe déjà au sein de la famille des cartes Arduino Uno un membre qui intègre nativement un lien radio Wi-Fi, la carte Arduino Uno WiFi Rev2 en l'occurrence. Celle-ci intègre le processeur 8 bits ATmega4809 de Microchip avec pour la partie communication sans fil le module embarqué Nina-W13 d’u-blox qui intègre une pile de protocoles TCP/IP pour accéder aux réseaux Wi-Fi (802.11b/g/n).