Tiny Joypad

Une console portable à base d'attiny85

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

image-1592467146042.png

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€

image-1595432236347.png

image-1595432369168.png

Composants Quantité Liens Prix / 5pcs Prix
Ecran Oled I²C 128x64 (VCC-GND) 1

https://www.amazon.fr/gp/product/B07G4JN2B9/

 

27,45€

27,45€

Transistor BSS123 SOT23 1

https://www.tme.eu/fr/details/bss123-yan/transistors-avec-canal-n-smd/yangjie-technology/bss123/

0,84€

1,68€

Boutons : SWITCH-MOMENTARY-2SMD-4

6x6x6mm (à partir du PCB)

5

https://www.tme.eu/fr/details/1301.9316/microcommutateurs-tact/schurter/

7,5€

9.00€

Support Pile : CR2032THM (holder) BC-2001 1

https://www.tme.eu/fr/details/bc-2001/piles-boites-et-portants/comf/

1,52€

3,04€

Condensateur : C_0805 100nf 1

https://www.tme.eu/fr/details/08055c104kat2a/condensateurs-mlcc-smd-0805/avx/

0,43€

0,86€

Condensateur : C_0603 100nf 1

https://www.tme.eu/fr/details/c0603x104k5rac3316/

0,45€

0,89€

Résistance: R 10K 805 1

https://www.tme.eu/fr/details/ar0805-10k-0.1%25/resistances-de-precision-smd-0805/viking/ar05btcw1002/

0,625€

1,25€

Résistance: R 22K 805 2

https://www.tme.eu/fr/details/ar0805-22k-0.1%25/resistances-de-precision-smd-0805/viking/ar05btcw2202/

2,41€

2,41€

Résistance: R 33K 805 2

https://www.tme.eu/fr/details/ar0805-33k-0.1%25/resistances-de-precision-smd-0805/viking/ar05btcw3302/

1,25€

1,25€

Résistance: R 88k 805 2

https://www.tme.eu/fr/details/crcw080588k7fktabc/resistances-smd-0805/vishay/

3,01€

3,01€

Buzzer: Speaker SMD 5MM 1 https://www.tme.eu/fr/details/let5020ds-03l/avertisseurs-electromag-sans-generateur/cre-sound-electronics/let5020ds-03l-4-0-12-r/ 7,08€ 7,08€
µContrôleur : Attiny85 20SF 1

https://www.tme.eu/fr/details/attiny85-20sf/famille-avr-8-bit/microchip-atmel/

6,66€

6,66€

Interrupteur : Switch On/Off 1

https://www.tme.eu/fr/details/mss-2235/commutateurs-a-glissiere/ninigi/

2.82€

2.82€

Connecteur pour carte micro-SD. 1

https://www.tme.eu/fr/details/mcsp-q-08-a-sg/connecteurs-pour-cartes/adam-tech/mcsp-q-08-a-sg-t-r/

5,51€

5,51€

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

https://www.aliexpress.com/item/4000829320626.html

0,396€

2,01€

Condensateur : C_0805 100nf 1

https://www.aliexpress.com/item/32964553793.html

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

https://www.aliexpress.com/item/32868987725.html

0,06€ 1,87€
Résistance: R 33K 805 2

https://www.aliexpress.com/item/32868987725.html

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

https://www.aliexpress.com/item/4000954990699.html

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

https://www.aliexpress.com/item/4000245301063.html

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

image-1596631234373.png

Prix

image-1595431461715.png

Images

image-1594812933982.png

 

 

 

Ancien Modèle mais avec vue du bottom)

 

image-1594410733534.png

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:

Programmation

USBASP

Le plus rapide pour programmer un attiny85 est de passer par un programmeur USBASP

image-1592469158967.png

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

image-1592471478811.png

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"

image-1595347901004.png

Type de carte : AttinyCore --> Attiny25/45/85

image-1595347947743.png

Clock : 16 Mhz (PLL)

image-1595348006283.png

Graver la séquence d'initialisation

image-1595348116771.png

 

 

Schéma électronique

Schéma simplifié

https://www.tinyjoypad.com/tiny-joypad-shematic

image-1592467624321.png

Prototype

image-1592472342157.png

 

µRetro

Schémas et PCB pour Eagle / Fusion 360 : https://github.com/bobricius/uRetro

image-1592467822953.png

Schéma Console

image-1592468651905.png

Schéma Cartouche

image-1592468819998.png