Mise à jour sur mon projet de RetroSpy
Depuis mon précédent article sur la création d’un RetroSpy, j’avais envie de me lancer un peu plus dans la création de quelque chose plus… Moderne et solide. Bien que j’en ai crée un pour Nintendo 64, j’avais envie d’en refaire pour d’autres consoles, telles que la NES/FC, SNES/SFC, et Nintendo Gamecube. J’avais aussi voulu en faire pour Sega Saturn mais j’en parlerai un peu plus tard.
Choix de l’Arduino
Dans mon choix d’Arduino, je ne me suis pas cassé la tête. J’ai repris des Arduino Nano, à la différence de prendre un modèle assez précis. Comme les Nano utilisent du mini-USB, un format qui est de moins en moins utilisé, j’ai préféré prendre une variante qui utilise… De l’USB-C. Seul souci: je n’en ai pas trouvé autre part que sur AliExpress. Vous pouvez en trouver en cliquant sur ce lien. C’est pas excessif au niveau du prix, donc je m’en suis pris une petite dizaine, juste au cas où (vous savez, les events dans le futur ou des demandes particulières…)
Ce clone n’utilise pas les mêmes drivers qu’un Arduino original, mais utilise les pilotes CH340. Il va falloir passer dans la case « Recherche sur Internet » pour les récupérer, mais vous le trouverez en moins de 10 secondes 🙂
Ah, et une fois les pilotes installés, vérifiez que votre Arduino est bien reconnu. Si la LED « L » clignote constamment en rouge et que le périphérique est « inconnu ou mal branché » selon Windows, le bootloader pourrait bien être corrompu. Mais pas de panique! Ça m’est arrivé une fois, j’ai du l’interconnecter avec un Arduino Uno, et flasher son bootloader pour le refaire fonctionner. Beaucoup de tutoriaux sont sur le net.
Création du boitier
Pour faire le boitier d’un RetroSpy, je me suis amusé à le faire en manuel et pas avec une boite préfaite comme dans mon précédent article. Pour cela, j’en ai profité pour faire enfin un rêve que j’avais en tête depuis 2 ans, et j’ai profité pour me prendre une imprimante 3D: la Longer LK4 Pro. Si vous connaissez l’Alfawise U30 Pro, c’est le même modèle mais rebranded. Avec pas mal de modifications elle peut faire de sacrées bonnes impressions, mais j’en parlerai un autre jour.
J’avais essayé un modèle sur Thingiverse, mais il n’était absolument pas adapté à la taille de l’Arduino, et je le trouvais beaucoup trop… Moyen et simple, sans protection pour le câble. Résultat, j’ai été obligé de m’en faire un manuellement, et pour ça, direction TinkerCAD.
Après 2 jours et beaucoup de tests, j’ai pu faire un modèle 3D qui est bien adapté à la taille de l’Arduino Nano, et qui peut être refermé sans visses (grâce à un système de clips).. Pfew, mission réussie!
Au dessus, quelques-uns de mes prototypes en plus du projet existant sur Thingiverse. Maintenant… Occupons-nous des branchements, voulez-vous?
Création des câbles
Pour relier les câbles correctement et avoir les inputs depuis l’application, c’est sans doute l’étape qui risque de prendre le plus de temps, surtout si vous n’avez pas les bons outils. Donc avant toute chose, multimètre OBLIGATOIRE.
J’essaie de ne pas avoir trop de longueur pour le connecteur femelle, et je laisse le reste pour le connecteur mâle, histoire de brancher sans trop de soucis sur l’ordinateur. Une fois que j’ai tout qui est bien coupé, chaque connecteur est coupé puis soudé histoire d’avoir quelque chose de propre.
Maintenant, le plus dur: vérifier où va X ou Y câble. En fonction de la console, le connecteur peut être plus ou moins difficile d’accès. Personnellement, je prends le connecteur mâle, la connecte sur la console, et vérifie les branchements directement pour avoir le moins de chances de me tromper. Pour gagner du temps dans mes futures opérations, j’ai fait directement des connecteurs de tests avec un PCB (voir image ci-dessous). Très utile pour le GameCube et la Sega Saturn qui ont beaucoup de connecteurs. Aidez-vous aussi du wiki de RetroSpy qui va vous aider à trouver où va tel connecteur sur votre Arduino.
Une fois que tout est trouvé, je soude le tout sur mon Arduino, fait des checks très réguliers pour voir si une soudure ne fait pas contact avec un autre, revérifie les connecteurs, et je teste enfin sur la console pour vérifier si tout input est bien transmis et que rien n’explose dans la console. Ensuite, je met un peu de colle chaude pour solidifier un peu les connecteurs et pour éviter un éventuel détachage ou déplacement des câbles. C’est optionnel mais je le fais toujours.
Enfin, je flashe l’Arduino avec le projet RetroSpy. Je décommente la console que je veux utiliser, je flashe, et une fois fini, je lance le programme. J’allume la console, je teste des boutons, et… Surprise! Si tout va bien, mes boutons sont visibles depuis ma machine! Si vous avez des doutes sur comment le faire, vous pouvez voir mon ancien article.
Dans mes tests, le seul qui n’a pas fonctionné était pour la Sega Saturn. Malgré les branchements, rien ne fonctionnait correctement pour mon Arduino. De ce fait, j’ai fait un ticket d’incident sur le GitHub du projet… A voir comment cela va se dérouler.