Il pilote sa Tesla avec une Nintendo Switch 2 : comment le chercheur Matthew KuKanich détourne le bus CAN de la voiture grâce à CAN Commander

Nintendo Switch 2 au volant d'une Tesla pilotée via le bus CAN et CAN Commander par Matthew KuKanich

Transformer la nouvelle console hybride de Kyoto en poste de pilotage automobile grandeur nature : c’est le défi technique que vient de relever le chercheur en cybersécurité Matthew KuKanich. En s’appuyant sur une exécution logicielle en espace utilisateur (userland) sur la Nintendo Switch 2 et sur son architecture open source CAN Commander, l’ingénieur parvient à diriger, faire accélérer et freiner sa Tesla directement depuis les Joy-Con 2, tout en affichant la télémétrie complète du véhicule en temps réel sur l’écran 1080p de la machine.

Du code homebrew userland sur Switch 2 branché au réseau CAN bus de la Tesla

Habitué des expérimentations matérielles de bas niveau, Matthew KuKanich n’en est pas à son coup d’essai sur les réseaux embarqués automobiles. Après avoir co-développé l’écosystème matériel et logiciel CAN Commander aux côtés de Rabbit Labs (initialement pensé pour le Flipper Zero et l’analyse de trames automobiles), puis démontré le contrôle d’une Tesla à l’aide d’une manette Xbox et d’une Wiimote à détection de mouvements, le chercheur a choisi de porter ses travaux sur la Nintendo Switch 2.

Contrairement à une simple passerelle qui imiterait les requêtes de l’application mobile officielle du constructeur ou qui transiterait par des serveurs cloud distants, le dispositif repose sur une communication locale directe avec le réseau interne CAN bus (Controller Area Network) de la voiture. L’application homebrew exécutée en userland sur la Switch 2 dialogue avec un boîtier matériel externe raccordé au faisceau CAN du véhicule. Ce pont traduit instantanément les entrées des contrôleurs de la console en trames d’instructions interprétées par les calculateurs de direction, de propulsion et de carrosserie de la berline électrique.

Cette maîtrise rapide des protocoles de communication de la console s’inscrit dans une dynamique plus large autour du matériel de Nintendo, quelques semaines après l’intégration d’un pilote natif dans le noyau Linux 7.4 pour la manette Switch 2 et les Joy-Con 2 sur PC qui avait déjà mis en lumière la souplesse des interfaces d’entrée de la machine.

Voir les disponibilités sur Amazon→

Direction, freinage, rapports et arrêt d’urgence : le mappage complet des Joy-Con 2

Pour transformer les manettes détachables de la console en commandes de conduite fonctionnelles, Matthew KuKanich a conçu une table d’attribution précise couvrant aussi bien la motricité que les équipements de signalisation et la sécurité de désengagement :

Commande Nintendo Switch 2Fonction attribuée sur la Tesla (via CAN bus)
Stick analogique gaucheContrôle direct de la colonne de direction (braquage du volant assisté)
Gâchette ZRAccélérateur progressif
Gâchette ZLFreinage
Bouton ABascule de la transmission entre marche avant (Drive) et marche arrière (Reverse)
Boutons de tranche L et RActivation des clignotants gauche (L) et droit (R)
Bouton XDéclenchement d’un balayage des essuie-glaces
Bouton YActivation du klaxon
Bouton B (maintien prolongé)Arrêt d’urgence logiciel : coupe la boucle de contrôle et rend la main aux commandes physiques

Le choix d’exiger un maintien prolongé sur le bouton B pour quitter le programme répond à un impératif de sécurité évident lors des essais sur piste fermée : éviter toute déconnexion accidentelle en pleine manœuvre tout en permettant au conducteur de reprendre instantanément le contrôle mécanique du volant et des pédales dès que la boucle logicielle est interrompue.

Interface homebrew CAN Commander sur l'écran de la Nintendo Switch 2 affichant la télémétrie de la Tesla
L’interface de l’application homebrew CAN Commander sur l’écran 1080p de la Nintendo Switch 2 affiche en direct les trames de télémétrie issues du bus CAN de la Tesla.

Télémétrie bidirectionnelle sur l’écran 1080p et ingénierie inverse

La démonstration ne se limite pas à l’envoi d’instructions vers les actionneurs du véhicule. Grâce à une communication bidirectionnelle sur le bus CAN, l’écran 1080p de la Nintendo Switch 2 agit comme un véritable combiné d’instrumentation secondaire. L’interface graphique codée par le chercheur lit et rafraîchit en temps réel la vitesse actuelle de la voiture, l’angle exact de braquage du volant, le rapport de transmission engagé ainsi que l’état de santé de la liaison matérielle avec le contrôleur CAN Commander.

Trailer video

Cette preuve de concept illustre par ailleurs la vitalité de la scène indépendante qui explore les capacités d’exécution de code non signé sur les architectures de Nintendo, à l’image de ce que la communauté rétro continue d’accomplir avec la boutique homebrew Dolphin Depot et ses 64 applications sur GameCube. Du côté de l’industrie automobile, le travail de Matthew KuKanich rappelle surtout qu’un accès physique au bus CAN interne permet de contourner les couches d’abstraction logicielles habituelles pour dialoguer directement avec les organes critiques d’un véhicule moderne.

Mon regard

En tant que développeuse fascinée par les entrailles de la Switch 2, je dois avouer que voir du code homebrew en espace utilisateur parser des trames CAN en temps réel sans la moindre latence perceptible a quelque chose de jubilatoire. L’élégance du projet de Matthew KuKanich tient justement à sa sobriété architecturale : pas d’API cloud alambiquée ni de latence réseau, mais un dialogue brut d’électronique à électronique où la console devient un terminal de diagnostic et de commande bidirectionnel.

Cela dit, comme je le glissais en souriant à Heimdall devant la vidéo, je préfère largement admirer cette prouesse d’ingénierie inverse sur un parking fermé que sur route ouverte : l’idée qu’un éventuel Joy-Con drift puisse décider de l’angle de braquage d’une berline de deux tonnes a de quoi donner nettement plus de sueurs froides qu’une carapace bleue dans le dernier tour de Mario Kart World !

Suivez Pro-Gamer sur Discord
Recevez toutes nos actus gaming, les alertes de prix hardware et votez sur les sorties en direct avec la communauté.
Rejoindre le Discord →

Retrouvez Pro-Gamer en priorité sur Google

Ajoutez pro-gamer.fr à vos sources préférées pour retrouver nos guides et actus directement dans votre flux Google Discover et vos résultats de recherche.

Chaya "Chayane"
Rédigé par Chaya "Chayane"
🧠 Rédactrice Tech & IA 🗽 New York & Montréal

Américaine installée dans la périphérie de New York, Chaya « Chayane » a passé 5 ans à Montréal pour ses études d'ingénierie logicielle avant de revenir dans sa région natale. Développeuse Full-Stack et chercheuse en architectures de Deep Learning et d'IA, elle explore les réseaux neuronaux et l'optimisation algorithmique tout en concevant les outils de Retrocharting et Gamescharting aux côtés de Grimtag. Gamer depuis plus de 20 ans, collectionneuse passionnée de l'univers Nintendo et de la saga The Legend of Zelda, elle a arpenté Azeroth sur World of Warcraft avant de mettre son expertise technique au service de l'analyse vidéoludique.

Publications similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. Découvrez comment les données de vos commentaires sont traitées.