Un ingénieur vietnamien a récemment réussi un exploit technique étonnant : faire fonctionner du code Arduino sur un microcontrôleur datant des années 1980, le 8051 d’Intel, en utilisant une solution d’émulation innovante. Cette prouesse, accessible en open source via GitHub, repose sur l’intégration d’un émulateur RISC-V directement dans la puce, une architecture moderne mais à laquelle il ne peut pas accéder nativement à cause du manque d’outils adaptés.
Le 8051, microcontrôleur 8 bits conçu en 1980 par Intel, continue d’être omniprésent dans le monde entier, avec plus de 100 millions d’unités vendues dans la première décennie. Malgré sa longévité, il a été largement abandonné par les outils de développement modernes, ce qui a conduit à cette solution créative. La puce ciblée par le projet, le STC8H8K64U, fabriquée par la société chinoise STC Micro, coûte moins d’un dollar et demeure populaire en Asie. Cependant, pour s’intégrer dans l’écosystème Arduino, un défi technique de taille devait être relevé.
Cette solution dit tout : faire tourner du code Arduino sur une architecture de 1980 via un émulateur RISC-V dans seulement 8 Ko de mémoire, une bidouille ingénieuse mais limitée et pédagogique.
La méthode adoptée par Bùi Trịnh Thế Viên ne consiste pas à tenter de porter directement le compilateur Arduino sur un 8051, ce qui serait trop complexe. À la place, il a intégré un émulateur RISC-V – appelé rv51, écrit en assembleur 8051 par un autre développeur – dans la puce. Le code Arduino, compilé pour RISC-V, est exécuté via cet émulateur, qui occupe uniquement 8 Ko de mémoire flash, mais avec un coût en performance notable : l’exécution est ralentie de 100 à 1 000 fois, limitant l’usage à des fins pédagogiques plutôt qu’en production.
Le projet, accessible sur GitHub sous le nom STC_Arduino_Core, illustre qu’avec une dose de créativité, il est encore possible de faire vivre des architectures anciennes avec des outils modernes. Toutefois, face à des microcontrôleurs RISC-V natifs, dont le coût est très faible, cette solution ne peut en aucune façon rivaliser en termes de vitesse ou d’efficacité dans un contexte opérationnel. C’est avant tout un exercice technique et un témoignage du potentiel d’innovation même sur des architectures très anciennes.
