Tiny Joypad
Une console portable à base d'attiny85
- Introduction
- Achat des composants
- Achat des PCB
- Instructions de montage
- Programmation
- Schéma électronique
Introduction
Tiny Joypad est une console portable à fabriquer soi-même.
Elle utilise très peu de composants et ne coute pas très cher à fabriquer, pour autant son créateur Daniel C. ainsi que sa communauté a crée quelques jeux plutôt bien fait si on oublie pas que derrière il n'y a qu'un attiny85.
Je trouve que ce projet a beaucoup de potentiels pour apprendre les différentes étapes de la fabrication d'un PCB et la programmation des attiny85.
https://www.tinyjoypad.com/tiny-joypad
Plusieurs personnes ont crée leur propre design de cette console
- Picosoft : http://www.picosoft.co.jp/ORANGE-mono1/index.html
- Brobricius : https://hackaday.io/project/164736-retro-game-console-with-cpu-on-fake-sd-cards
- Megazoid : https://hackaday.io/megazoid
- Djamal.UK : https://www.youtube.com/channel/UC68n83FIH9JFEioP06C-qSQ
- Electronoob : https://electronoobs.com/eng_arduino_tut120.php
J'ai choisi le modèle de Brobicius, il est tout petit est a un système de "cartouche" sous la forme de carte microSD
Objectif du projet
L'objectif est de créer un process pour reproduire efficacement (en terme de temps et de coût) et simplement cette console.
Achat des composants
Voici une version non définive du "Bill of Materials" pour l'µRetro
L'objectif de celle-ci est de limiter les fournisseurs, et la durée de livraison, tout en gardant un prix raisonnable
Achat
Commande passée : 22/07/2020
Commande reçu le : 24/07/2020
Coût / 5 : 16,478€
Coût totale : 82,39€
Fdp : 9,47€
Aller sur https://www.tme.eu/fr/Profile/QuickBuy/load.html
Le schéma indique des résistances / condensateurs de 0805, c'est en faite des 1206
Les boutons débordent un peu
Le compartiment de piles est un peu trop grand
Les vis (M2 2mm avec entretroîse de 4mm) non commandés
Copier cette liste dans "Coller la liste des articles"
"symbole du client";"Référence";"Marque du fabricant";"Fabricant";"Quantité";"Unité";"Prix brut";"Valeur brute";"Devise"
"";"MCSP-Q-08-A-SG";"MCSP-Q-08-A-SG-T/R";"ADAM TECH";"5";"pcs";"1.06";"5.3";"EUR"
"";"MSS-2235";"";"NINIGI";"5";"pcs";"0.54";"2.7";"EUR"
"";"CRCW080588K7FKTABC";"CRCW080588K7FKTABC";"VISHAY";"100";"pcs";"0.0301";"3.01";"EUR"
"";"AR0805-33K-0.1%";"AR05BTCW3302";"Viking";"10";"pcs";"0.12";"1.2";"EUR"
"";"AR0805-10K-0.1%";"AR05BTCW1002";"Viking";"10";"pcs";"0.12";"1.2";"EUR"
"";"C0805C104M3RACTU";"C0805C104M3RACTU";"KEMET";"10";"pcs";"0.086";"0.86";"EUR"
"";"BC-2001";"BC-2001";"COMF";"10";"pcs";"0.294";"2.94";"EUR"
"";"1301.9316";"1301.9316";"SCHURTER";"30";"pcs";"0.3";"9";"EUR"
"";"C0603X104K5RAC3316";"C0603X104K5RAC3316";"KEMET";"10";"pcs";"0.089";"0.89";"EUR"
"";"BSS123.215";"BSS123.215";"NEXPERIA";"10";"pcs";"0.084";"0.84";"EUR"
"";"SMD0805-22K";"0805S8J0223T5E";"ROYAL OHM";"100";"pcs";"0.0132";"1.32";"EUR"
"";"LET5020DS-03L";"LET5020DS-03L-4.0-12-R";"Cre-sound Electronics";"5";"pcs";"1.37";"6.85";"EUR"
"";"ATTINY85-20SF";"ATTINY85-20SF";"MICROCHIP (ATMEL)";"5";"pcs";"1.28";"6.4";"EUR"
Coût totale (composants + pcb) : 22,3€ par µretro
Recherche
TME.EU / AMAZON
Commande passée : 22/07/2020
Commande reçu le : 24/07/2020
Coût / 5 : 16,478€
Coût totale : 82,39€
Fdp : 9,47€
Aliexpress
| Composants | Quantité | Liens | Prix / 5pcs | Prix |
| Ecran Oled I²C 128x64 (VCC-GND) | 1 |
https://www.aliexpress.com/item/32957159545.html
|
12,30€ |
12,30€ |
| Transistor BSS123 SOT23 | 1 |
https://www.aliexpress.com/item/32946756209.html
|
1,40€ |
1,40€ |
|
Boutons : SWITCH-MOMENTARY-2SMD-4 6x6x6mm (à partir du PCB) |
5 |
https://www.aliexpress.com/item/32789979792.html
|
0,06€ |
6,35€ |
| Support Pile : CR2032THM (holder) BC-2001 | 1 |
0,396€ |
2,01€ |
|
| Condensateur : C_0805 100nf | 1 |
0,06€ |
1,87€ |
|
| Condensateur : C_0603 100nf | 1 |
https://www.aliexpress.com/item/32966526545.html
|
0,03€ |
2,01€ |
| Résistance: R 10K 805 | 1 |
https://www.aliexpress.com/item/32868987725.html
|
0,06€ | 1,87€ |
| Résistance: R 22K 805 | 2 | 0,06€ | 1,87€ | |
| Résistance: R 33K 805 | 2 | 0,06€ | 1,87€ | |
| Résistance: R 88k 805 | 2 |
https://www.aliexpress.com/item/32868987725.html
|
0,06€ | 1,87€ |
| Buzzer: Speaker SMD 5MM | 1 |
https://www.aliexpress.com/item/32839998961.html
|
5,05€ | 5,05€ |
| µContrôleur : Attiny85 20SF | 1 | 7,69€ | 7,69€ | |
| Interrupteur : Switch On/Off | 1 |
https://www.aliexpress.com/item/32795003684.html
|
0,12€ | 2,39€ |
| Connecteur pour carte micro-SD. | 1 | 0,2€ | 2€ |
Achat des PCB
Achat
30.95€ (avec stencyl pour le bottom et livraison DHL)
6,19€ / unité
En production le 24/07/2020
Reçu le 29/07/2020
Gerbers / Modèle 3D fusion 360 : https://github.com/usini/uRetro/tree/master/Assembly
Suivez la procédure ici : https://doc.labsud.org/books/pads-midi-customisable/page/commande-du-pcb
Il faut aussi commander un stencyl de 60x60cm
Card_pcb doit être de 0.8mm pas 1.6mm
Recherche
Une erreur sur les gerbers m'a fait perdre 2 jours (je ferais un tuto sur comment export des gerbers sur eagle)
J'ai reçu cette question de JLCPCB sur le stencyl
1 Do you need to cut out the purple pads? If yes, do you need to avoid the yellow hole within them? No
2 Do you need to cut out the green pad at the red framed? No
Prix
Images
Ancien Modèle mais avec vue du bottom)
Instructions de montage
Fabrication du support d'application de la pâte à souder
Placement des composants
Le placement des composants est relativement simple, toutes les valeurs des résistances sont notés et l'emplacement sans notation est pour le condensateur (0.1µf ou 100nf)
Programmateur
Deux pistes pour programmer les cartes:
- Utiliser des pogos pins sur le programmeur AVRISP
- Créer une carte avec un lecteur microSD et une entrée pour le programmeur AVRISP
Programmation
USBASP
Le plus rapide pour programmer un attiny85 est de passer par un programmeur USBASP
- Installation des drivers : https://sparks.gogo.co.nz/usbasp_drivers.html
- avrdude pour windows : avrdude
avrdude.exe -c usbasp -p t85 -b19200 -U flash:w:Tiny-Bike.hex
Mockup d'une application Python pour automatiser le processus
https://gist.github.com/maditnerd/e091b40bf12b1dfa42540ddae65193ec
Programmation depuis un Arduino (Uno/Nano)
https://www.youtube.com/watch?v=_yuHkiZTCTU
"Overclocker votre Attiny"
Les jeux sont pensés pour fonctionner en 16Mhz, par défaut l'attiny85 est en 8Mhz
Sur Arduino sélectionner comme Programmateur "USBASP"
Type de carte : AttinyCore --> Attiny25/45/85
Clock : 16 Mhz (PLL)
Graver la séquence d'initialisation
Schéma électronique
Schéma simplifié
https://www.tinyjoypad.com/tiny-joypad-shematic
Prototype
µRetro
Schémas et PCB pour Eagle / Fusion 360 : https://github.com/bobricius/uRetro
Schéma Console
Schéma Cartouche