Author Topic: [Retroframboise] - Faire sa console retro all-in-one avec un Raspberry Pi  (Read 152156 times)

Offline averell

  • Snack of Quality
  • Hero Member
  • *****
  • Posts: 3 405
  • Bonus Pute: 171
  • Et de Gaulle en 40, il chargeait sa barre ?
Tu es sûr de ne pas être homosexuel ? Moi non plus, mais pour te faire l'amour je ferai une exception.

C'est magnifique tout ça, bravo l'ami. Une 'tite photo en fonctionnement ?

Offline Fungus

  • Snack of Quality
  • Hero Member
  • *****
  • Posts: 5 642
  • Bonus Pute: 389
  • 1000 years of bitchin'
Et un putain de tutoriel pour accompagner ?


C'est beau, j'en chialerais presque.

Offline Sto

  • Hero Member
  • *****
  • Posts: 3 127
  • Bonus Pute: 43
  • Organisateur de commandes groupées
    • Chez Sto
Fantastique !
Je suis tombé sur une création similaire sur Reddit il y a quelques jours: I built a Pi Zero into a SNES controller.
24 photos commentées accompagnent le post, pour les gens intéressés par les étapes de construction.
Un tutorial serait quand-même énorme. ;)
« Last Edit: 20 December, 2016, 21:12:04 by Sto »

Offline ɯɐʇ

  • Snack of Quality
  • Hero Member
  • *****
  • Posts: 2 000
  • Bonus Pute: 113
  • ?x???? ¡¡¡¡¡
à défaut d'un tuto, vu que j'ai pris aucune photo du process, voici un mémo :

1. la batterie

l'alim va se faire via une batterie LIPO de 3.7V, partez sur le principe que le biniou tire env. du 400mA en tenant compte des pertes lors du passage de 3.7V à 5.2V, donc selon le type de batterie (500mAh à 1200mAh) vous allez tenir de 1 à 3h.
la taille maximale acceptable de la batterie est de 9 x 34 x 50 mm au delà vous oubliez.
plus c'est petit mieux c'est (mais moins ça tient la charge...).
la batterie a un numéro ex. la mienne 703450 ça signifie 7mm épaisseur x 34 mm de large x 50mm de long



si vous arrivez à gagner quelques mm en longueur c'est gagné, une 8 x 34 x 34 serait idéale.
achetez la en asie sur ebay (pour quelques euros) sinon ça va vous coûter une fortune, mais achetez là avec un coupe circuit.

2. le power supply

il y a des solutions en plusieurs pièces (voir mes précédents posts) mais le powerboost d'adafruit est ici idéal car il va à la fois convertir la tension du circuit et permettre le rechargement de la batterie, le tout sur 22 x 37 mm.



3. le système

vu la taille on va forcément partir sur un pi zero, vous pouvez partir sur une distribution toute faite de retropie par exemple, et configurer quelques bricoles (résolution...).
évidemment toute la configuration se fera à l'avance car je vous cache pas qu'une fois qu'on a commencé l'assemblage tout devient moins pratique.



4. la manette

le plus simple si vos composants sont pas trop gros est de meuler la partie inférieure de la manette, il faudra au moins supprimer les gros renforts et la vis centrale à la dremel.
on conserve la connectique de la manette (les 5 cables que vous voyez sur l'image) mais on fait sauter le support.
ensuite on pourra récupérer le signal directement et le traduire avec le gamecon driver.



5. la connectique

ça va être selon la place disponible, mais j'ai choisi de :
  • meuler le port JST-PH du powerboost pour gagner de la place et souder directement la batterie là la place
  • utiliser un port micro-USB pour déporter l'accès au port de chargement du powerboost (ports GN/USB)
  • mettre un bouton d'allumage (percez simplement la manette et fixez un micro switch sous la PCB) voir point suivant
  • prendre un cable HDMI ultra fin, ultra souple attention, ça prend quand même pas mal de place faudra faire sauter la coque
  • pensez à conserver les films antistatiques des composants c'est pratique pour isoler les pièces trop proches

6. le circuit de gestion d'alim

vous pouvez choisir de faire les choses comme un bourrin (ça marche très bien) et mettre un simple switch pour l'alim... ou utiliser ce tuto un poil plus compliqué (il y a une partie hardware et software) qui permet de gérer l'arrêt correct de la machine en cas de signal de batterie faible.
attention j'ai jamais réussi à faire fonctionner la dernière partie du script, j'ai utilisé ceci à la place :

Code: [Select]
sudo crontab -e -u root

# script qui va faire un check d'un signal de batterie faible toutes les minutes
  *  *  *   *   *  /home/pi/low_bat_shutdown >> /home/pi/low_bat_shutdown.log 2&>1

on suppose que votre script de shutdown est bien situé dans /home/pi/low_bat_shutdown (voir tuto)

7. le montage

imaginons que vous ayez tout configuré et branché nickel sur votre breadboard, il ne reste plus qu'à assembler le tout.
pas de souci à avoir, si vous avez pas overclocké votre pi zero (ce que je ne recommande pas vu la consommation) vous pouvez y aller gaiement et tout renter à même la manette, le circuit chauffe très peu testé et approuvé sur mame avec la manette dans les mains et en charge.
limitez quand même la longueur des câbles au maximum et plaquez les biens sur le pi, voir contre la batterie si votre batterie est fine (<7mm).
il y a pas mal de petits picots qui servent à maintenir la PCB, vous pouvez les raccourcir d'1 ou 2 mm histoire qu'ils ne dépassent plus et ne gènent pas le montage.
testez tout au multimètre au fur et à mesure histoire de pas avoir de mauvaises surprises une fois tout remonté.

7 bis. et si tout ne se passe pas comme il faut ?

imaginons maintenant que ce soit moi qui fasse le montage, qui achète une batterie trop grosse qui n'autorise pas le placement du retroboost entre la batterie et le pi (le retroboost sur le pi = trop épais pour rentrer).
dans ce cas on peut envisager la découpe de la PCB pour ne conserver que l'essentiel. la PCB de la manette SNES est bien fichue avec une ligne GND qui court tout le long de la carte, en découpant l'espace dédié à la puce on arrive à créer un slot pour caser le retroboost.
on peut ensuite reprendre chaque "bouton" en perçant la PCB j'ai par exemple tout connecté autour de ma découpe.

mais vous ne voulez pas en arriver là, mon conseil : choisissez une batterie de petite taille.
« Last Edit: 20 December, 2016, 21:53:19 by tam »

Offline ɯɐʇ

  • Snack of Quality
  • Hero Member
  • *****
  • Posts: 2 000
  • Bonus Pute: 113
  • ?x???? ¡¡¡¡¡
Je suis tombé sur une création similaire sur Reddit il y a quelques jours: I built a Pi Zero into a SNES controller.

il fait ça bien plus propre que moi  ;D

quelques trucs quand même : on voit que sa replique USB a plein de place, c'est idéal, mais moi je trouve qu'aucune manette n'a le feeling d'une VRAIE manette SFC... je voulais faire ça sur une manette d'origine.
il connecte tous les boutons comme je l'ai fait (au passage ses câbles fins sont bien mieux que les miens) vous pouvez vous inspirer de lui c'est super clean, mais je conseille de percer la PCB, avec une petit foret d'1mm, ça donne plus de solidité au montage.
je ne comprends d'ailleurs pas pourquoi il connecte tout alors qu'il a une manette USB, l'USB c'est 4 câbles, ça aurait été idéal de connecter ça directement sur le pi... va comprendre.

mais SURTOUT son pi est alimenté en externe, donc ce qu'on voit pas c'est qu'il joue avec un câble HDMI qui sort de la manette ET une source d'alim donc t'es doublement connecté, c'est pas franchement le truc le plus portable que je connaisse (au passage le câble ne fait pas partie de son montage il est juste branché ce qui lui fait gagner 2 bons centimètres).

mon idée c'était d'avoir une manette (avec son câble) exactement comme une manette SNES, ni plus ni moins.
là j'arrive je me connecte à la télé de ma belle mère, sur l'écran du boulot, sur le vidéopro d'un pote et je joue 3 heures.

Offline Sto

  • Hero Member
  • *****
  • Posts: 3 127
  • Bonus Pute: 43
  • Organisateur de commandes groupées
    • Chez Sto
je ne comprends d'ailleurs pas pourquoi il connecte tout alors qu'il a une manette USB, l'USB c'est 4 câbles, ça aurait été idéal de connecter ça directement sur le pi... va comprendre.
Son explication (je ne sais pas si elle est valide) est qu'il veut utiliser le port USB du Pi-Zero pour brancher le controlleur du deuxième joueur.
Pour le coup des batteries, je crois que c'est dans ses plans.

Personnellement, je ne vois pas l'intérêt d'une batterie sur un tel montage. En se débrouillant bien, on peut avoir le feeling d'un seul câble branché, même si deux sortent par le cul de la manette. Avoir une autonomie limitée alors que je suis déjà branché à un fil me semble contradictoire, et le boulot pour en arriver là (bien que j'en salue l'exécution), un poil superflu.

Offline ɯɐʇ

  • Snack of Quality
  • Hero Member
  • *****
  • Posts: 2 000
  • Bonus Pute: 113
  • ?x???? ¡¡¡¡¡
de mon coté je pense que tu sous-estime l'emmerdement du truc.
le mec joue avec un câble HDMI standard ! rien que ça doit être super gênant pas que je fasse de grands moulinets avec mes mains en jouant mais quand même.
puis faut avoir la prise USB à coté (tu me diras la plupart des télés actuelles en ont).

après c'est sur que le niveau d'emmerdement sans la batterie n'a plus rien à voir... mais c'est moins joli  ;D

Offline Wong

  • Administrator
  • Hero Member
  • *****
  • Posts: 2 335
  • Bonus Pute: 125
  • #SnackChirackMaintenant
    • WFHCustoms
Le problème serait trivial à résoudre avec de l'USB Type-C qui permettrait de faire transiter le signal vidéo et l'alimentation sur le même câble. Manque de bol, c'est pas gagné pour l'avoir sur le Raspi sans repenser complètement l'architecture de la bête.

Offline ɯɐʇ

  • Snack of Quality
  • Hero Member
  • *****
  • Posts: 2 000
  • Bonus Pute: 113
  • ?x???? ¡¡¡¡¡
pas gagné pour l'avoir sur le PI ni sur la télé de la belle mère... en parlant de ça puisque vous me demandiez à quoi ça ressemble... featuring la nappe à carreaux et tout et tout  ;)

! No longer available

Offline DjBeatbox

  • Jr. Member
  • **
  • Posts: 65
  • Bonus Pute: 11
  • Pas de destin, mais ce que nous faisons
Allez, parce que je débarque comme ça, sans prévenir, sur le sujet avec mes gros souliers :




Des explications, plus tard ^^'
« Last Edit: 23 December, 2016, 16:16:25 by DjBeatbox »

Offline Spoz

  • Hero Member
  • *****
  • Posts: 2 636
  • Bonus Pute: 73
Les gars, c'est bôôôôôôôôô ce qque vous faites.
Du coup je suis impatient de voir comment tu as fait ça avec la Game Boy.

Offline DjBeatbox

  • Jr. Member
  • **
  • Posts: 65
  • Bonus Pute: 11
  • Pas de destin, mais ce que nous faisons
Oh ben j'ai pas tellement de mérite j'ai suivi les tutos de l'excellent site www.sudomod.com.
Je mettrai des photos et des commentaires plus tard dans la journée :) je pars bosser... joie ^^

Offline ɯɐʇ

  • Snack of Quality
  • Hero Member
  • *****
  • Posts: 2 000
  • Bonus Pute: 113
  • ?x???? ¡¡¡¡¡
yes ! je suis preneur de tes choix (écran, vitre, carte son...) <3
t'as hacké une GB ou t'as acheté une de leurs cartes toutes faites ?

Offline DjBeatbox

  • Jr. Member
  • **
  • Posts: 65
  • Bonus Pute: 11
  • Pas de destin, mais ce que nous faisons
Pour l'écran c'est un écran de cam recul de bagnole.
La coque c'est une neuve acheté sur Ebay
Les boutons viennent d'une manette de SNES
La vitre je l'ai choppé toute faite via un gars du forum de Sudomod. Pareil pour l'adhésif que j'ai collé sur une vieille cartouche GB.
Pour les cartes effectivement, je ne me suis pas fait chié, j'ai tout pris sur Kitsch Bent
Du coup j'ai juste eu à cabler la carte pour les boutons. Pour la carte SD j'ai cablé le connecteur de GB pour NDS (pins alignés plutot que l'un au dessus de l'autre) au pin du rasp zero.
Pour l'usb j'ai acheté un petit hub à Electrodépot que j'ai déssoudé pour intégré dans la coque et cablé sur le port USB du Rasp.
Dessus j'ai mis une petite carte son USb acheté sur Banggood. Il faudra par la suite configurer RetroPie pour qu'il utilise la carte son USB en priorité plutot que celle interne (qu'il fallait cablé du coup, mais j'ai eu la flemme).
Pour alimenter le tout, ben un batterie de 3.3V à 2700mh au cul d'un boost 5V qui débite 1A stable
Pour le son, c'est un petit potard des familles avec un petit ampli à la cool qui viendra nourrir un HP de 0.5W en 8ohms.
Un interrupteur 3 pins qui coulisse pour allumer, éteindre le tout.
Pour les controles, j'ai utilisé un Teensy-LC qui fera office d'interface entre les boutons pressés et la touche équivalente d'un clavier comme indiqué sur ce tuto.


On prépare le gabarit pour y mettre l'écran 3.5" et les 2 boutons supplementaires



Voila qui est fait (notez la propreté de la découpe à la dremelle ^^')


Mais avec le protège écran devant, ça ne se voit plus.


Impression 3D des supports de boutons.


Petit rendu vite fait (et apercu que le trou du bouton X est bien trop large ^^)



Préparation de la cartouche pour recevoir la carte microSD



Le slot GB de NDS cablé sur le pour SD du Rasp


Le Hub USB démembré de ses ports physiques (sauf 1 pour y mettre un dongle Wifi) et cablé sur le port USB du Rasp.

Un port USB déporté pour y mettre une clé USB ou un dongle clavier/souris sans fil (pour configurer Retropie)



L'écran + sa carte de controle + la carte de gestion des boutons

La suite... plus tard ;)
« Last Edit: 23 December, 2016, 16:29:24 by DjBeatbox »

Offline ɯɐʇ

  • Snack of Quality
  • Hero Member
  • *****
  • Posts: 2 000
  • Bonus Pute: 113
  • ?x???? ¡¡¡¡¡
t'as une imprimante 3D ? classe  :-*
ton écran tourne en 5V ou tu l'as modifié ?

le mec qui fait des écrans de protection c'est pas donné mais c'est un bon plan. de mon coté je vais faire des découpes plexi mais sur du 3mm donc je pense que ça sera pas jouable pour me sortir un écran GB...

de mon coté j'ai un souci avec mon hub USB faut que j'en recommande un celui que j'ai déconne  :(