Attiny402

This commit is contained in:
Pascal Engélibert 2023-01-14 00:09:05 +01:00
parent cb5b45414b
commit 285669fef5
12 changed files with 88352 additions and 54 deletions

View File

@ -1,70 +1,26 @@
# Téléphone jukebox
Les instructions qui suivent ont été testées avec des Teensy versions 3.1 et 4.0 (et les modules audio correspondant).
Transformer un téléphone à cadran en jukebox.
## Électronique
Ce dépôt contient toutes les explications, le code source, les circuits et les modèles 3D à imprimer.
* Souder le Teensy sur la carte audio. Le plus compact est de les empiler à l'aide de broches. Faites bien attention à les mettre dans le bon sens (les noms des pins doivent correspondre). Il n'est pas nécessaire de connecter les pins 0 à 5.
* Ouvrir le boîtier du téléphone par les deux vis du dessous
* Positionner le boulon de réglage glissant sur "3/MINI" (s'il existe sur votre modèle)
* Relier le GND du Teensy (un trou libellé "G" ou "GND" sur la carte audio) au fil rouge-blanc du cadran (boulon II)
* Relier le fil rouge-blanc du cadran (boulon II) au fil jaune de la prise en T (boulon 15)
* Relier le pin 2 du Teensy au fil blanc de la prise en T (boulon 11)
* Relier le VGND du module audio (pad de la prise jack le plus vers l'extérieur, dans le coin de la carte) au fil bleu du combiné (boulon 3)
* Relier le canal droit ou gauche de la prise jack (un trou libellé L ou R à côté de la prise jack) au fil rouge du combiné (boulon 5)
## Modèles
Si les fils sont cassants (monobrins), je conseille de les enrouler autour du manchon en métal de la patte qui est fixée au boulon, plutôt que de l'enrouler autour de la vis serrée avec le boulon, afin d'éviter de trop contraindre le fil.
### Teensy
Attention, GND et VGND ne doivent pas être reliés.
Si vous avez beaucoup d'argent à dépenser ou peu de matériel ou de compétences en électronique, choisissez ce modèle.
## Logiciel
[Guide pour le modèle Teensy](./teensy/README.md)
Programmer le Teensy avec le programme fourni.
### Attiny402
## Finition
Ce modèle utilise des composants beaucoup moins chers et moins sujets aux ruptures de stock, mais demande un peu plus de matériel et de compétences en électronique.
* Fabriquer le boîtier d'isolation du Teensy à l'aide d'une imprimante 3D (`teensy_case.stl`), et le placer sur le Teensy (il peut être fixé avec des boulons M3).
* Si besoin, faire un petit trou dans la coque du téléphone pour faire passer le câble USB (ce qui permet l'alimentation et la programmation facilement).
* Indiquer quelque part sur l'appareil les informations nécessaires à son utilisation ou son amélioration futures (par exemple l'adresse de ce dépôt).
## Utilisation
### Fichiers audio
Les fichiers doivent être au format WAV, taux d'échantillonnage (sampling rate) 44100Hz, 16bit. Les noms des fichiers doivent être de `0.wav` à `9.wav`, ce qui correspond aux chiffres du cadran.
Le son peut être en stéréo, mais un seul des deux canaux sera joué.
Pour convertir un fichier audio :
* Ouvrir le fichier avec Audacity
* Sélectionner la piste en cliquant dessus
* Menu "Pistes" -> "Rééchantillonner"
* Sélectionner "44100" puis Valider
* Menu "Fichier" -> "Exporter" -> "Exporter en WAV"
* Choisir l'encodage "Signed 16-bit PCM" et enregistrer le fichier.
La conversion peut également être effectuée en ligne de commande :
```bash
ffmpeg -i FICHIER_EXISTANT -y -ar 44100 -ac 1 -aq 16 CHIFFRE.wav
```
### Partitionnement
Si le Teensy n'arrive pas à lire la carte SD (ce qui est signalé par un bip toutes les 2 secondes), vérifier le partitionnement, qui doit être FAT32 (et non FAT16, par exemple).
## Améliorations
Pistes d'amélioration qui n'ont pas encore été réalisées :
* Les deux sorties L/R pourraient être utilisées pour contrôler deux téléphones. Le Teensy pourrait alors être dans un boîtier externe, relié aux téléphones par leur prise en T (moyennant un recâblage minime à l'intérieur des téléphones).
* Faire sonner la cloche ?
* Numéros à plusieurs chiffres. Cela nécessite la détection de la fin de la numérotation, soit avec un nombre fixé de chiffres, soit avec un timeout, soit avec des règles de numérotation spéciales, éventuellement avec découverte des fichiers sur la carte SD.
* Microcontrôleur moins cher ? (par exemple un ATtiny, mais à voir pour l'audio/SD)
* Interaction avec un ordinateur et une carte son (permet plus de complexité et déleste le microcontrôleur de la gestion du son)
[Guide pour le modèle Attiny402](./attiny402/README.md)
## Licence
CopyLeft 2022 Pascal Engélibert
CopyLeft 2022-2023 Pascal Engélibert
Ces instructions sont mises à disposition selon les termes de la licence [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/).

44
attiny402/README.md Normal file
View File

@ -0,0 +1,44 @@
# Téléphone jukebox
## Prérequis
* 1 Attiny402
* 1 dfplayer-mini
* 1 condensateur de l'ordre de 1µF
* 1 résistance de 4,7kΩ
* 1 résistance de 1kΩ
* de quoi fabriquer un PCB (précision SOIC requise pour le Attiny)
* ce qu'il faut pour programmer un Attiny (https://github.com/SpenceKonde/megaTinyCore)
* une Arduino suffit. Suivez de toute façon les instructions de megaTinyCore.
* 1 carte micro-SD
## Électronique
Utilisez KiCAD pour avoir un exemple de circuit assez compact et pouvant être dessiné à la main.
* Relier les GND du Attiny et du dfplayer.
* Relier les VCC du Attiny et du dfplayer.
* Relier le RX du Attiny au TX du dfplayer.
* Relier le TX du Attiny au RX du dfplayer avec une résistance de 1kΩ.
* Relier le UPDI du Attiny à une broche libre avec une résistance de 4,7kΩ.
* Relier le PA1 et le GND du Attiny aux fils du cadran du téléphone. (trouvez les bons avec un ohmmètre. La résistance devrait varier en fonction de si le téléphone est décroché ou non, et si oui, de la rotation du cadran. Ce sont souvent les fils bleu et blanc.)
* Mettre un condensateur d'environ 1µF entre VCC et GND, assez près du Attiny.
* Relier les SPK1 et SPK2 du dfplayer au haut-parleur du téléphone. (ajouter une résistance de 1kΩ ou plus sur un des fils si le son est trop fort)
Laissez des broches VCC, GND et UPDI accessibles pour pouvoir reprogrammer facilement.
Si les fils sont cassants (monobrins), je conseille de les enrouler autour du manchon en métal de la patte qui est fixée au boulon, plutôt que de l'enrouler autour de la vis serrée avec le boulon, afin d'éviter de trop contraindre le fil.
## Utilisation
### Fichiers audio
Placez les fichiers audio au format MP3 dans le dossier `mp3` de la carte SD. Ils doivent être nommés de `0001.mp3` à `0009.mp3`. Le fichier `0099.mp3` est lu en boucle quand aucun numéro n'est composé (on peut y mettre un BIP de quelques secondes par exemple).
## Licence
CopyLeft 2023 Pascal Engélibert
Ces instructions sont mises à disposition selon les termes de la licence [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/).
Merci à la compagnie [Léna d'Azy](https://www.lenadazy.fr/) d'avoir financé la conception et la documentation.

749
attiny402/attiny.kicad_pcb Normal file
View File

@ -0,0 +1,749 @@
(kicad_pcb (version 20211014) (generator pcbnew)
(general
(thickness 1.6)
)
(paper "A4")
(layers
(0 "F.Cu" signal)
(31 "B.Cu" signal)
(32 "B.Adhes" user "B.Adhesive")
(33 "F.Adhes" user "F.Adhesive")
(34 "B.Paste" user)
(35 "F.Paste" user)
(36 "B.SilkS" user "B.Silkscreen")
(37 "F.SilkS" user "F.Silkscreen")
(38 "B.Mask" user)
(39 "F.Mask" user)
(40 "Dwgs.User" user "User.Drawings")
(41 "Cmts.User" user "User.Comments")
(42 "Eco1.User" user "User.Eco1")
(43 "Eco2.User" user "User.Eco2")
(44 "Edge.Cuts" user)
(45 "Margin" user)
(46 "B.CrtYd" user "B.Courtyard")
(47 "F.CrtYd" user "F.Courtyard")
(48 "B.Fab" user)
(49 "F.Fab" user)
(50 "User.1" user)
(51 "User.2" user)
(52 "User.3" user)
(53 "User.4" user)
(54 "User.5" user)
(55 "User.6" user)
(56 "User.7" user)
(57 "User.8" user)
(58 "User.9" user)
)
(setup
(pad_to_mask_clearance 0)
(pcbplotparams
(layerselection 0x00010fc_ffffffff)
(disableapertmacros false)
(usegerberextensions false)
(usegerberattributes true)
(usegerberadvancedattributes true)
(creategerberjobfile true)
(svguseinch false)
(svgprecision 6)
(excludeedgelayer true)
(plotframeref false)
(viasonmask false)
(mode 1)
(useauxorigin false)
(hpglpennumber 1)
(hpglpenspeed 20)
(hpglpendiameter 15.000000)
(dxfpolygonmode true)
(dxfimperialunits true)
(dxfusepcbnewfont true)
(psnegative false)
(psa4output false)
(plotreference true)
(plotvalue true)
(plotinvisibletext false)
(sketchpadsonfab false)
(subtractmaskfromsilk false)
(outputformat 1)
(mirror false)
(drillshape 1)
(scaleselection 1)
(outputdirectory "")
)
)
(net 0 "")
(footprint "Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical" (layer "F.Cu")
(tedit 59FED5CC) (tstamp 0b10604d-b49e-4678-b559-57647c17147d)
(at 186.69 98.425)
(descr "Through hole straight pin header, 1x01, 2.54mm pitch, single row")
(tags "Through hole pin header THT 1x01 2.54mm single row")
(attr through_hole)
(fp_text reference "REF**" (at 0 -2.33) (layer "F.SilkS") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 37bccd0b-57a0-4b22-b77f-78e5330c6b07)
)
(fp_text value "PinHeader_1x01_P2.54mm_Vertical" (at 0 2.33) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 67801af8-9376-44d1-ab76-03b08a32d582)
)
(fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp dd814e81-7cbf-47a9-8f91-86fbce424b1d)
)
(fp_line (start -1.33 -1.33) (end 0 -1.33) (layer "F.SilkS") (width 0.12) (tstamp 11035863-fb91-4686-a145-72bc8c3eab5e))
(fp_line (start -1.33 1.27) (end 1.33 1.27) (layer "F.SilkS") (width 0.12) (tstamp 14eb3f03-8dcb-4d7d-a1d0-8eb06ba58cba))
(fp_line (start -1.33 1.27) (end -1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp 26608cf8-0f14-4fec-9634-e501c4b2191c))
(fp_line (start 1.33 1.27) (end 1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp 731752c7-fde0-43d8-b8bb-d81ea707dc57))
(fp_line (start -1.33 0) (end -1.33 -1.33) (layer "F.SilkS") (width 0.12) (tstamp cb43bb7c-7933-4fb3-906e-6e2873c4a5a2))
(fp_line (start -1.33 1.33) (end 1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp e35af5d5-e716-443e-8b91-4242954a1cf6))
(fp_line (start -1.8 -1.8) (end -1.8 1.8) (layer "F.CrtYd") (width 0.05) (tstamp 136e8240-0d7a-4d6b-a851-47477fbb06fc))
(fp_line (start 1.8 -1.8) (end -1.8 -1.8) (layer "F.CrtYd") (width 0.05) (tstamp 2f7c6ddf-ccf0-40c4-a560-1d6355d02361))
(fp_line (start -1.8 1.8) (end 1.8 1.8) (layer "F.CrtYd") (width 0.05) (tstamp 6dbcedb6-9e7c-41e6-91da-e8c71a3a7348))
(fp_line (start 1.8 1.8) (end 1.8 -1.8) (layer "F.CrtYd") (width 0.05) (tstamp b6cbd2d0-1bf9-446b-9b2d-9372e10d4604))
(fp_line (start 1.27 -1.27) (end 1.27 1.27) (layer "F.Fab") (width 0.1) (tstamp 47b1dc5f-49a6-4d4a-8dc1-c40db1ef62cb))
(fp_line (start -1.27 1.27) (end -1.27 -0.635) (layer "F.Fab") (width 0.1) (tstamp 84ce3ccd-b7e8-4328-9c97-830e5568b885))
(fp_line (start 1.27 1.27) (end -1.27 1.27) (layer "F.Fab") (width 0.1) (tstamp 9da0df4d-2f6e-4cbf-8fea-e41dcd95113f))
(fp_line (start -1.27 -0.635) (end -0.635 -1.27) (layer "F.Fab") (width 0.1) (tstamp a1fbf506-7953-4b26-8434-0f1b334a3075))
(fp_line (start -0.635 -1.27) (end 1.27 -1.27) (layer "F.Fab") (width 0.1) (tstamp d6bb0dec-e406-4fe9-b585-69561f41ccd9))
(pad "1" thru_hole rect (at 0 0) (size 1.7 1.7) (drill 1) (layers F&B.Cu *.Mask) (tstamp dcd8eeea-3116-49ac-ba58-4053e820e187))
(model "${KICAD6_3DMODEL_DIR}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x01_P2.54mm_Vertical.wrl"
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(footprint "Resistor_SMD:R_0201_0603Metric" (layer "F.Cu")
(tedit 5F68FEEE) (tstamp 289447d7-5739-4f9c-a495-276037a17e54)
(at 177.8 100.965 -90)
(descr "Resistor SMD 0201 (0603 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: https://www.vishay.com/docs/20052/crcw0201e3.pdf), generated with kicad-footprint-generator")
(tags "resistor")
(attr smd)
(fp_text reference "REF**" (at 0 -1.05 90) (layer "F.SilkS") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp d725f31b-085d-4b6e-be28-e2d32a5d62aa)
)
(fp_text value "R_0201_0603Metric" (at 0 1.05 90) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 9a7947ed-d270-4a40-8830-055b4d0ab0a5)
)
(fp_text user "${REFERENCE}" (at 0 -0.68 90) (layer "F.Fab")
(effects (font (size 0.25 0.25) (thickness 0.04)))
(tstamp 74de90ec-4417-4c4c-9994-356a60989007)
)
(fp_line (start 0.7 -0.35) (end 0.7 0.35) (layer "F.CrtYd") (width 0.05) (tstamp 4708bbfc-f8e5-430e-831d-1d87acbd8ecb))
(fp_line (start 0.7 0.35) (end -0.7 0.35) (layer "F.CrtYd") (width 0.05) (tstamp 4e9d3733-4432-4d39-8916-9d6f52ad0060))
(fp_line (start -0.7 0.35) (end -0.7 -0.35) (layer "F.CrtYd") (width 0.05) (tstamp 849ac1f0-c834-4620-b165-d24984a49462))
(fp_line (start -0.7 -0.35) (end 0.7 -0.35) (layer "F.CrtYd") (width 0.05) (tstamp 92e14a59-888b-4904-91cd-3711d9c4da8f))
(fp_line (start -0.3 -0.15) (end 0.3 -0.15) (layer "F.Fab") (width 0.1) (tstamp 630130ba-d920-4157-b42d-92e9cc2e0033))
(fp_line (start 0.3 0.15) (end -0.3 0.15) (layer "F.Fab") (width 0.1) (tstamp 7c589fa5-9398-41af-bfe3-6666d1d98b2d))
(fp_line (start 0.3 -0.15) (end 0.3 0.15) (layer "F.Fab") (width 0.1) (tstamp 801a4601-d965-4bee-a052-787b61140e28))
(fp_line (start -0.3 0.15) (end -0.3 -0.15) (layer "F.Fab") (width 0.1) (tstamp 9f3718db-ad21-40e7-9c38-ce3b70805733))
(pad "" smd roundrect (at -0.345 0 270) (size 0.318 0.36) (layers "F.Paste") (roundrect_rratio 0.25) (tstamp 1f981372-bcf1-445d-8ce5-53427e1a70d8))
(pad "" smd roundrect (at 0.345 0 270) (size 0.318 0.36) (layers "F.Paste") (roundrect_rratio 0.25) (tstamp 69403ed7-c402-4c2f-b934-8490a23f735a))
(pad "1" smd roundrect (at -0.32 0 270) (size 0.46 0.4) (layers "F.Cu" "F.Mask") (roundrect_rratio 0.25) (tstamp 4d83dc55-fd90-4edc-8ae7-5900f8782f39))
(pad "2" smd roundrect (at 0.32 0 270) (size 0.46 0.4) (layers "F.Cu" "F.Mask") (roundrect_rratio 0.25) (tstamp 5bb2f24e-b9ea-4102-b0e0-e4af5f745df5))
(model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0201_0603Metric.wrl"
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(footprint "Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_Vertical" locked (layer "F.Cu")
(tedit 59FED5CC) (tstamp 306e189b-0d1d-4124-aa84-a4ed488053c7)
(at 182.88 87.645)
(descr "Through hole straight pin header, 1x08, 2.54mm pitch, single row")
(tags "Through hole pin header THT 1x08 2.54mm single row")
(attr through_hole)
(fp_text reference "REF**" (at 0 -2.33) (layer "F.SilkS") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp d8ee5144-82ea-4eb9-be3b-d0b0bf492775)
)
(fp_text value "PinHeader_1x08_P2.54mm_Vertical" (at 0 20.11) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp a48852b3-6b29-4f1b-bbfd-8359efed1d6f)
)
(fp_text user "${REFERENCE}" (at 0 8.89 90) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 132e16ed-7525-4994-83a3-a905d4324371)
)
(fp_line (start -1.33 0) (end -1.33 -1.33) (layer "F.SilkS") (width 0.12) (tstamp 2c03a02e-4585-4ba8-8a95-52885d4d9d47))
(fp_line (start -1.33 19.11) (end 1.33 19.11) (layer "F.SilkS") (width 0.12) (tstamp 2c6de043-ef30-4b75-a178-08b62aade648))
(fp_line (start -1.33 1.27) (end 1.33 1.27) (layer "F.SilkS") (width 0.12) (tstamp 4db93f7f-9322-4847-a7d4-b9fb8ddcebae))
(fp_line (start -1.33 -1.33) (end 0 -1.33) (layer "F.SilkS") (width 0.12) (tstamp 5eada6ea-f5bb-4449-a135-18abb8dab314))
(fp_line (start 1.33 1.27) (end 1.33 19.11) (layer "F.SilkS") (width 0.12) (tstamp 6e73f8d6-6704-44cd-939b-7b1854873509))
(fp_line (start -1.33 1.27) (end -1.33 19.11) (layer "F.SilkS") (width 0.12) (tstamp d9270f1a-7e76-4b07-854c-7e3e12ef0401))
(fp_line (start 1.8 -1.8) (end -1.8 -1.8) (layer "F.CrtYd") (width 0.05) (tstamp 3b4fff9c-3835-4a20-827e-85131e9e24e4))
(fp_line (start 1.8 19.55) (end 1.8 -1.8) (layer "F.CrtYd") (width 0.05) (tstamp 596386f2-5155-4a07-9560-47bd824b4c3e))
(fp_line (start -1.8 19.55) (end 1.8 19.55) (layer "F.CrtYd") (width 0.05) (tstamp b60693d3-3e2a-4db4-a3c7-bfeb04883530))
(fp_line (start -1.8 -1.8) (end -1.8 19.55) (layer "F.CrtYd") (width 0.05) (tstamp f843f087-4a12-49d1-8688-ddb7693fa46e))
(fp_line (start -1.27 19.05) (end -1.27 -0.635) (layer "F.Fab") (width 0.1) (tstamp 345178dd-e0cf-4b00-844d-9767f0da1624))
(fp_line (start 1.27 19.05) (end -1.27 19.05) (layer "F.Fab") (width 0.1) (tstamp 5296df64-3d3d-4cd9-9623-162602ac0120))
(fp_line (start 1.27 -1.27) (end 1.27 19.05) (layer "F.Fab") (width 0.1) (tstamp 56a32fd3-4e56-4a91-839a-fdfdd64b9046))
(fp_line (start -0.635 -1.27) (end 1.27 -1.27) (layer "F.Fab") (width 0.1) (tstamp bd9ea384-06f6-4dd6-98dc-370e00699483))
(fp_line (start -1.27 -0.635) (end -0.635 -1.27) (layer "F.Fab") (width 0.1) (tstamp c2a6f018-4a1d-4007-83e6-3b01c8397bb2))
(pad "1 VCC" thru_hole rect locked (at 0 0) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) (tstamp f3b3d26b-0619-4346-9084-cd6091d1dd2a))
(pad "2 RX" thru_hole oval locked (at 0 2.54) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) (tstamp 0f558465-7a54-40c0-8428-139acf4a0fbd))
(pad "3 TX" thru_hole oval locked (at 0 5.08) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) (tstamp 6ba66543-c582-4384-b6e5-a99348656de3))
(pad "4" thru_hole oval locked (at 0 7.62) (size 1.7 1.7) (drill 1) (layers F&B.Cu *.Mask) (tstamp 508349e0-0767-442c-ac3a-00f8334b4bc0))
(pad "5" thru_hole oval locked (at 0 10.16) (size 1.7 1.7) (drill 1) (layers F&B.Cu *.Mask) (tstamp 6df8a558-3e62-4164-8a7d-aba9be6dd691))
(pad "6 SPK1" thru_hole oval locked (at 0 12.7) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) (tstamp 6604e1ce-3e1f-4bab-b2d1-29ab44192056))
(pad "7 GND" thru_hole oval locked (at 0 15.24) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) (tstamp 249fa663-f918-4329-af2c-5d937cc7a5db))
(pad "8 SPK2" thru_hole oval locked (at 0 17.78) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) (tstamp 8bb7eef7-bf88-46ee-907e-f28b593de761))
(model "${KICAD6_3DMODEL_DIR}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x08_P2.54mm_Vertical.wrl"
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(footprint "Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical" (layer "F.Cu")
(tedit 59FED5CC) (tstamp 356311df-5ea7-4e8a-9a58-8d5d7590bcee)
(at 186.69 105.41)
(descr "Through hole straight pin header, 1x01, 2.54mm pitch, single row")
(tags "Through hole pin header THT 1x01 2.54mm single row")
(attr through_hole)
(fp_text reference "REF**" (at 0 -2.33) (layer "F.SilkS") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 37bccd0b-57a0-4b22-b77f-78e5330c6b07)
)
(fp_text value "PinHeader_1x01_P2.54mm_Vertical" (at 0 2.33) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 67801af8-9376-44d1-ab76-03b08a32d582)
)
(fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp dd814e81-7cbf-47a9-8f91-86fbce424b1d)
)
(fp_line (start -1.33 -1.33) (end 0 -1.33) (layer "F.SilkS") (width 0.12) (tstamp 11035863-fb91-4686-a145-72bc8c3eab5e))
(fp_line (start -1.33 1.27) (end 1.33 1.27) (layer "F.SilkS") (width 0.12) (tstamp 14eb3f03-8dcb-4d7d-a1d0-8eb06ba58cba))
(fp_line (start -1.33 1.27) (end -1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp 26608cf8-0f14-4fec-9634-e501c4b2191c))
(fp_line (start 1.33 1.27) (end 1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp 731752c7-fde0-43d8-b8bb-d81ea707dc57))
(fp_line (start -1.33 0) (end -1.33 -1.33) (layer "F.SilkS") (width 0.12) (tstamp cb43bb7c-7933-4fb3-906e-6e2873c4a5a2))
(fp_line (start -1.33 1.33) (end 1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp e35af5d5-e716-443e-8b91-4242954a1cf6))
(fp_line (start -1.8 -1.8) (end -1.8 1.8) (layer "F.CrtYd") (width 0.05) (tstamp 136e8240-0d7a-4d6b-a851-47477fbb06fc))
(fp_line (start 1.8 -1.8) (end -1.8 -1.8) (layer "F.CrtYd") (width 0.05) (tstamp 2f7c6ddf-ccf0-40c4-a560-1d6355d02361))
(fp_line (start -1.8 1.8) (end 1.8 1.8) (layer "F.CrtYd") (width 0.05) (tstamp 6dbcedb6-9e7c-41e6-91da-e8c71a3a7348))
(fp_line (start 1.8 1.8) (end 1.8 -1.8) (layer "F.CrtYd") (width 0.05) (tstamp b6cbd2d0-1bf9-446b-9b2d-9372e10d4604))
(fp_line (start 1.27 -1.27) (end 1.27 1.27) (layer "F.Fab") (width 0.1) (tstamp 47b1dc5f-49a6-4d4a-8dc1-c40db1ef62cb))
(fp_line (start -1.27 1.27) (end -1.27 -0.635) (layer "F.Fab") (width 0.1) (tstamp 84ce3ccd-b7e8-4328-9c97-830e5568b885))
(fp_line (start 1.27 1.27) (end -1.27 1.27) (layer "F.Fab") (width 0.1) (tstamp 9da0df4d-2f6e-4cbf-8fea-e41dcd95113f))
(fp_line (start -1.27 -0.635) (end -0.635 -1.27) (layer "F.Fab") (width 0.1) (tstamp a1fbf506-7953-4b26-8434-0f1b334a3075))
(fp_line (start -0.635 -1.27) (end 1.27 -1.27) (layer "F.Fab") (width 0.1) (tstamp d6bb0dec-e406-4fe9-b585-69561f41ccd9))
(pad "1" thru_hole rect (at 0 0) (size 1.7 1.7) (drill 1) (layers F&B.Cu *.Mask) (tstamp dcd8eeea-3116-49ac-ba58-4053e820e187))
(model "${KICAD6_3DMODEL_DIR}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x01_P2.54mm_Vertical.wrl"
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(footprint "Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical" (layer "F.Cu")
(tedit 59FED5CC) (tstamp 3be287fe-8cc7-4ede-8676-4dd2006fd7ec)
(at 186.69 95.25)
(descr "Through hole straight pin header, 1x01, 2.54mm pitch, single row")
(tags "Through hole pin header THT 1x01 2.54mm single row")
(attr through_hole)
(fp_text reference "REF**" (at 0 -2.33) (layer "F.SilkS") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 37bccd0b-57a0-4b22-b77f-78e5330c6b07)
)
(fp_text value "PinHeader_1x01_P2.54mm_Vertical" (at 0 2.33) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 67801af8-9376-44d1-ab76-03b08a32d582)
)
(fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp dd814e81-7cbf-47a9-8f91-86fbce424b1d)
)
(fp_line (start -1.33 -1.33) (end 0 -1.33) (layer "F.SilkS") (width 0.12) (tstamp 11035863-fb91-4686-a145-72bc8c3eab5e))
(fp_line (start -1.33 1.27) (end 1.33 1.27) (layer "F.SilkS") (width 0.12) (tstamp 14eb3f03-8dcb-4d7d-a1d0-8eb06ba58cba))
(fp_line (start -1.33 1.27) (end -1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp 26608cf8-0f14-4fec-9634-e501c4b2191c))
(fp_line (start 1.33 1.27) (end 1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp 731752c7-fde0-43d8-b8bb-d81ea707dc57))
(fp_line (start -1.33 0) (end -1.33 -1.33) (layer "F.SilkS") (width 0.12) (tstamp cb43bb7c-7933-4fb3-906e-6e2873c4a5a2))
(fp_line (start -1.33 1.33) (end 1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp e35af5d5-e716-443e-8b91-4242954a1cf6))
(fp_line (start -1.8 -1.8) (end -1.8 1.8) (layer "F.CrtYd") (width 0.05) (tstamp 136e8240-0d7a-4d6b-a851-47477fbb06fc))
(fp_line (start 1.8 -1.8) (end -1.8 -1.8) (layer "F.CrtYd") (width 0.05) (tstamp 2f7c6ddf-ccf0-40c4-a560-1d6355d02361))
(fp_line (start -1.8 1.8) (end 1.8 1.8) (layer "F.CrtYd") (width 0.05) (tstamp 6dbcedb6-9e7c-41e6-91da-e8c71a3a7348))
(fp_line (start 1.8 1.8) (end 1.8 -1.8) (layer "F.CrtYd") (width 0.05) (tstamp b6cbd2d0-1bf9-446b-9b2d-9372e10d4604))
(fp_line (start 1.27 -1.27) (end 1.27 1.27) (layer "F.Fab") (width 0.1) (tstamp 47b1dc5f-49a6-4d4a-8dc1-c40db1ef62cb))
(fp_line (start -1.27 1.27) (end -1.27 -0.635) (layer "F.Fab") (width 0.1) (tstamp 84ce3ccd-b7e8-4328-9c97-830e5568b885))
(fp_line (start 1.27 1.27) (end -1.27 1.27) (layer "F.Fab") (width 0.1) (tstamp 9da0df4d-2f6e-4cbf-8fea-e41dcd95113f))
(fp_line (start -1.27 -0.635) (end -0.635 -1.27) (layer "F.Fab") (width 0.1) (tstamp a1fbf506-7953-4b26-8434-0f1b334a3075))
(fp_line (start -0.635 -1.27) (end 1.27 -1.27) (layer "F.Fab") (width 0.1) (tstamp d6bb0dec-e406-4fe9-b585-69561f41ccd9))
(pad "1" thru_hole rect (at 0 0) (size 1.7 1.7) (drill 1) (layers F&B.Cu *.Mask) (tstamp dcd8eeea-3116-49ac-ba58-4053e820e187))
(model "${KICAD6_3DMODEL_DIR}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x01_P2.54mm_Vertical.wrl"
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(footprint "Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical" (layer "F.Cu")
(tedit 59FED5CC) (tstamp 3cbf2aa9-d912-4dfc-883e-338bb22613d9)
(at 186.69 91.44)
(descr "Through hole straight pin header, 1x01, 2.54mm pitch, single row")
(tags "Through hole pin header THT 1x01 2.54mm single row")
(attr through_hole)
(fp_text reference "REF**" (at 0 -2.33) (layer "F.SilkS") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 0334c8e5-fa39-44e8-8881-d5facb2cc018)
)
(fp_text value "PinHeader_1x01_P2.54mm_Vertical" (at 0 2.33) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp c80cbac9-5f68-4fd0-95ff-2986ee1dc71e)
)
(fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 5752b620-fc76-449c-8063-f43b04a1d296)
)
(fp_line (start -1.33 0) (end -1.33 -1.33) (layer "F.SilkS") (width 0.12) (tstamp 2514f851-4370-457f-9d99-2ff7a927cbb2))
(fp_line (start -1.33 1.27) (end -1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp 706f6887-db55-4175-be4a-2e0e8741f791))
(fp_line (start 1.33 1.27) (end 1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp 82331796-c20a-431e-a4ca-2ee3b20c18fa))
(fp_line (start -1.33 -1.33) (end 0 -1.33) (layer "F.SilkS") (width 0.12) (tstamp b0de6742-7331-4d4b-8b5a-c9475d31677e))
(fp_line (start -1.33 1.27) (end 1.33 1.27) (layer "F.SilkS") (width 0.12) (tstamp dc2a327c-6c5b-41c5-b36e-7a4ca7c3ccda))
(fp_line (start -1.33 1.33) (end 1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp df428735-a224-4304-9540-3858e50539de))
(fp_line (start -1.8 -1.8) (end -1.8 1.8) (layer "F.CrtYd") (width 0.05) (tstamp 1895e0bc-533b-499f-8f53-3eff8d0b790b))
(fp_line (start 1.8 1.8) (end 1.8 -1.8) (layer "F.CrtYd") (width 0.05) (tstamp 2f591e9b-2526-4c17-9d11-27256446cc90))
(fp_line (start -1.8 1.8) (end 1.8 1.8) (layer "F.CrtYd") (width 0.05) (tstamp d0985ea3-92e9-443c-b01a-bca5a6726227))
(fp_line (start 1.8 -1.8) (end -1.8 -1.8) (layer "F.CrtYd") (width 0.05) (tstamp dfdf875a-259f-475b-99c3-9cc8a27dfa71))
(fp_line (start 1.27 1.27) (end -1.27 1.27) (layer "F.Fab") (width 0.1) (tstamp 02b1efe5-6038-43d7-b2f1-9253bce7b8e4))
(fp_line (start -1.27 1.27) (end -1.27 -0.635) (layer "F.Fab") (width 0.1) (tstamp 8aeaf1e6-574f-43f8-bd9f-d6ea7ab2c2c5))
(fp_line (start 1.27 -1.27) (end 1.27 1.27) (layer "F.Fab") (width 0.1) (tstamp af3f7993-83bd-49ae-b2d9-5ba4a46e60f7))
(fp_line (start -1.27 -0.635) (end -0.635 -1.27) (layer "F.Fab") (width 0.1) (tstamp b8b875dd-7c1f-4830-bb24-7529c93b7c92))
(fp_line (start -0.635 -1.27) (end 1.27 -1.27) (layer "F.Fab") (width 0.1) (tstamp c7358a61-165c-4397-b50a-80a1df4d2680))
(pad "1" thru_hole rect (at 0 0) (size 1.7 1.7) (drill 1) (layers F&B.Cu *.Mask) (tstamp 054ab87a-9c4e-47c9-b801-e4c482f263c2))
(model "${KICAD6_3DMODEL_DIR}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x01_P2.54mm_Vertical.wrl"
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(footprint "Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_Vertical" locked (layer "F.Cu")
(tedit 59FED5CC) (tstamp 4a90dadd-8746-439c-951c-784cf7e8ec22)
(at 162.56 87.645)
(descr "Through hole straight pin header, 1x08, 2.54mm pitch, single row")
(tags "Through hole pin header THT 1x08 2.54mm single row")
(attr through_hole)
(fp_text reference "REF**" (at 0 -2.33) (layer "F.SilkS") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 2bf86343-7844-41ab-adea-074620d480d6)
)
(fp_text value "PinHeader_1x08_P2.54mm_Vertical" (at 0 20.11) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp ed24f315-d6a3-4caf-ac95-bff7d3a02a0b)
)
(fp_text user "${REFERENCE}" (at 0 8.89 90) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 62e80903-6587-49c1-a84d-4b6188efa5be)
)
(fp_line (start -1.33 19.11) (end 1.33 19.11) (layer "F.SilkS") (width 0.12) (tstamp 159cd7d3-6d28-41ec-96ed-4167fafe44f1))
(fp_line (start 1.33 1.27) (end 1.33 19.11) (layer "F.SilkS") (width 0.12) (tstamp 1ad5e7d7-eb18-438b-82ab-94ac60c80b62))
(fp_line (start -1.33 0) (end -1.33 -1.33) (layer "F.SilkS") (width 0.12) (tstamp 8c7f6c2c-5bee-4f74-a1dc-0a915abace3a))
(fp_line (start -1.33 -1.33) (end 0 -1.33) (layer "F.SilkS") (width 0.12) (tstamp 92af29e2-fd87-4dcb-84ad-95670220c814))
(fp_line (start -1.33 1.27) (end -1.33 19.11) (layer "F.SilkS") (width 0.12) (tstamp 956953e4-967c-47fb-9ad3-e2eb1390fdbb))
(fp_line (start -1.33 1.27) (end 1.33 1.27) (layer "F.SilkS") (width 0.12) (tstamp ce521926-d73e-4749-8ead-8dd46a220621))
(fp_line (start 1.8 -1.8) (end -1.8 -1.8) (layer "F.CrtYd") (width 0.05) (tstamp 387b995c-13f7-4f66-8d0a-14e78b38a651))
(fp_line (start 1.8 19.55) (end 1.8 -1.8) (layer "F.CrtYd") (width 0.05) (tstamp 6fb4ab03-d4e4-4b09-b1a0-a39e8929906f))
(fp_line (start -1.8 19.55) (end 1.8 19.55) (layer "F.CrtYd") (width 0.05) (tstamp adb3c9ad-11cf-4d10-a877-1faf7aafdb4c))
(fp_line (start -1.8 -1.8) (end -1.8 19.55) (layer "F.CrtYd") (width 0.05) (tstamp ec1b063d-482c-4c32-a27e-f72948f00eb2))
(fp_line (start -1.27 -0.635) (end -0.635 -1.27) (layer "F.Fab") (width 0.1) (tstamp 4e7bc124-97e7-4da7-86e1-1eb8ee26d465))
(fp_line (start -1.27 19.05) (end -1.27 -0.635) (layer "F.Fab") (width 0.1) (tstamp 4f93bbcd-2808-423f-8460-8cc6690fb91a))
(fp_line (start 1.27 -1.27) (end 1.27 19.05) (layer "F.Fab") (width 0.1) (tstamp 9a2617f7-28ee-4406-8fa3-50c15bf79c88))
(fp_line (start -0.635 -1.27) (end 1.27 -1.27) (layer "F.Fab") (width 0.1) (tstamp b0804aa0-dc6a-42fd-b7e3-7741b4386559))
(fp_line (start 1.27 19.05) (end -1.27 19.05) (layer "F.Fab") (width 0.1) (tstamp f5c97735-1ad9-49a9-a661-2eebc088be7b))
(pad "9" thru_hole oval locked (at 0 17.78) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) (tstamp 47b2c196-99f3-43c5-95e1-e78db0c86436))
(pad "10 GND" thru_hole oval locked (at 0 15.24) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) (tstamp b1bcebea-2a1b-4a19-9035-c1c62900fce7))
(pad "11" thru_hole oval locked (at 0 12.7) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) (tstamp 592495cc-70f3-4214-8521-8fc3506036b0))
(pad "12" thru_hole oval locked (at 0 10.16) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) (tstamp ccc73e75-dcaf-48e4-b14e-2ba3ea2ac262))
(pad "13" thru_hole oval locked (at 0 7.62) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) (tstamp f1b6a01a-cbf5-4891-8d5a-875ff211652a))
(pad "14" thru_hole oval locked (at 0 5.08) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) (tstamp 2644b42a-9b41-4641-b9d0-65a4cf3ed3c4))
(pad "15" thru_hole oval locked (at 0 2.54) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) (tstamp b905933c-322f-4d49-8e4c-66b157a31281))
(pad "16" thru_hole rect locked (at 0 0) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) (tstamp f48bd2cf-5c28-40de-8e57-73ae6554f1be))
(model "${KICAD6_3DMODEL_DIR}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x08_P2.54mm_Vertical.wrl"
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm" (layer "F.Cu")
(tedit 5D9F72B1) (tstamp 7a9404cb-d06d-4366-9024-e59b3511a084)
(at 172.72 97.155)
(descr "SOIC, 8 Pin (JEDEC MS-012AA, https://www.analog.com/media/en/package-pcb-resources/package/pkg_pdf/soic_narrow-r/r_8.pdf), generated with kicad-footprint-generator ipc_gullwing_generator.py")
(tags "SOIC SO")
(attr smd)
(fp_text reference "REF**" (at 0 -3.4) (layer "F.SilkS") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp e7b64eab-3d1d-405d-be3f-b9937da14310)
)
(fp_text value "SOIC-8_3.9x4.9mm_P1.27mm" (at 0 3.4) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 860d082c-cb94-41fa-911c-189c949ead5f)
)
(fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") hide
(effects (font (size 0.98 0.98) (thickness 0.15)))
(tstamp 6fa5a95e-4e51-47d4-8b3d-002c6bc17928)
)
(fp_line (start 0 -2.56) (end -3.45 -2.56) (layer "F.SilkS") (width 0.12) (tstamp 36033d2d-61fa-48e8-9a49-f3a8430256e9))
(fp_line (start 0 2.56) (end 1.95 2.56) (layer "F.SilkS") (width 0.12) (tstamp 5889dffe-4d8a-4173-8309-987a52ed502f))
(fp_line (start 0 -2.56) (end 1.95 -2.56) (layer "F.SilkS") (width 0.12) (tstamp 8eeb266d-ac74-4bad-ac83-e9287377238a))
(fp_line (start 0 2.56) (end -1.95 2.56) (layer "F.SilkS") (width 0.12) (tstamp ead3d23e-9e58-4a7c-9c93-9b507c4e3d0f))
(fp_line (start -3.7 2.7) (end 3.7 2.7) (layer "F.CrtYd") (width 0.05) (tstamp 1dbf4427-b455-4276-844f-2fd5892c73cd))
(fp_line (start 3.7 -2.7) (end -3.7 -2.7) (layer "F.CrtYd") (width 0.05) (tstamp 406def43-a32f-43c9-95b1-8e96ad2c7aef))
(fp_line (start -3.7 -2.7) (end -3.7 2.7) (layer "F.CrtYd") (width 0.05) (tstamp 7f771c75-c1a7-4f03-99c4-855ab8986b6d))
(fp_line (start 3.7 2.7) (end 3.7 -2.7) (layer "F.CrtYd") (width 0.05) (tstamp c7f6cc89-7d08-439d-9ae8-5e170e53ee07))
(fp_line (start -1.95 -1.475) (end -0.975 -2.45) (layer "F.Fab") (width 0.1) (tstamp 43b5d966-a972-460f-ad93-bd97b56c7ebf))
(fp_line (start 1.95 -2.45) (end 1.95 2.45) (layer "F.Fab") (width 0.1) (tstamp 48ef875d-2e52-44aa-aac8-26fc8b8f23db))
(fp_line (start -1.95 2.45) (end -1.95 -1.475) (layer "F.Fab") (width 0.1) (tstamp 7f61deaf-49cd-405f-a92f-ca0e18813878))
(fp_line (start -0.975 -2.45) (end 1.95 -2.45) (layer "F.Fab") (width 0.1) (tstamp 9c7ca1f8-52aa-455c-b63d-269ac1a30211))
(fp_line (start 1.95 2.45) (end -1.95 2.45) (layer "F.Fab") (width 0.1) (tstamp e5e426d8-7387-4111-a301-f49689691c58))
(pad "1 VDD" smd roundrect (at -2.475 -1.905) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 58943be4-34d5-47f7-95e0-09ff22b141eb))
(pad "2 PA6" smd roundrect (at -2.475 -0.635) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp c6238391-fedb-47a9-9f02-36c73153307a))
(pad "3 PA7" smd roundrect (at -2.475 0.635) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp ffec74f3-6acf-4166-b6f0-593bdef64d51))
(pad "4 PA1" smd roundrect (at -2.475 1.905) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 33fed36e-f202-4684-84c7-f518f6840a1f))
(pad "5 PA2" smd roundrect (at 2.475 1.905) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp d59d24d0-70bb-4bc1-8bb2-8647b0ec254e))
(pad "6 PA0/UP" smd roundrect (at 2.475 0.635) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 511c6e71-fb46-4171-90fa-87516ee2afb4))
(pad "7 PA3/CK" smd roundrect (at 2.475 -0.635) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 832c2872-c74c-44b9-82f4-8efd68e0153f))
(pad "8 GND" smd roundrect (at 2.475 -1.905) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 2c9be01d-e0fc-4760-a621-a7b6d9f30278))
(model "${KICAD6_3DMODEL_DIR}/Package_SO.3dshapes/SOIC-8_3.9x4.9mm_P1.27mm.wrl"
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(footprint "Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical" (layer "F.Cu")
(tedit 59FED5CC) (tstamp 8bbcfb15-ab83-471b-bb71-84f9e9d8d4b2)
(at 158.75 102.87)
(descr "Through hole straight pin header, 1x01, 2.54mm pitch, single row")
(tags "Through hole pin header THT 1x01 2.54mm single row")
(attr through_hole)
(fp_text reference "REF**" (at 0 -2.33) (layer "F.SilkS") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 374aa017-c254-4c40-99d3-371052110396)
)
(fp_text value "PinHeader_1x01_P2.54mm_Vertical" (at 0 2.33) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 19a74f06-f894-439f-b01e-71d0d86fa825)
)
(fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 18ebd42d-71c4-4e69-a8e7-71e5bf9ec424)
)
(fp_line (start -1.33 -1.33) (end 0 -1.33) (layer "F.SilkS") (width 0.12) (tstamp 2452568d-c438-466e-ac2e-fb52cfe23914))
(fp_line (start -1.33 0) (end -1.33 -1.33) (layer "F.SilkS") (width 0.12) (tstamp 53244f7e-7cde-4653-9120-02373097779d))
(fp_line (start 1.33 1.27) (end 1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp 8fa24104-a361-49ac-ba02-8d28ea054862))
(fp_line (start -1.33 1.33) (end 1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp bcf641bf-e7dd-4f48-8311-0b258fbfc947))
(fp_line (start -1.33 1.27) (end -1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp e464d9c0-81df-4fb9-914a-dff8d19f69bb))
(fp_line (start -1.33 1.27) (end 1.33 1.27) (layer "F.SilkS") (width 0.12) (tstamp eb5ddc98-788e-4aa3-94d1-bce19ca3eedd))
(fp_line (start -1.8 -1.8) (end -1.8 1.8) (layer "F.CrtYd") (width 0.05) (tstamp 40dd313e-0876-479b-b80f-dd1fff188f42))
(fp_line (start 1.8 1.8) (end 1.8 -1.8) (layer "F.CrtYd") (width 0.05) (tstamp 5dbc30a9-6524-44a2-a5e5-3a1c4b38283a))
(fp_line (start 1.8 -1.8) (end -1.8 -1.8) (layer "F.CrtYd") (width 0.05) (tstamp 81865984-19e5-48e3-8b74-ebc8cfed4cd9))
(fp_line (start -1.8 1.8) (end 1.8 1.8) (layer "F.CrtYd") (width 0.05) (tstamp b6fcec72-9bbe-45f0-843d-7dcc217bfda8))
(fp_line (start -0.635 -1.27) (end 1.27 -1.27) (layer "F.Fab") (width 0.1) (tstamp 1b7ca33d-1d88-448c-9f79-f544442e0805))
(fp_line (start -1.27 1.27) (end -1.27 -0.635) (layer "F.Fab") (width 0.1) (tstamp 3db6af06-d52a-4270-a839-af2004e1ee60))
(fp_line (start 1.27 -1.27) (end 1.27 1.27) (layer "F.Fab") (width 0.1) (tstamp 80a5a370-e8a6-4823-8b26-b6d61c9d95c0))
(fp_line (start 1.27 1.27) (end -1.27 1.27) (layer "F.Fab") (width 0.1) (tstamp 893b4a83-88a3-4d17-8fe1-1031f6056768))
(fp_line (start -1.27 -0.635) (end -0.635 -1.27) (layer "F.Fab") (width 0.1) (tstamp cf2d0126-4c18-426f-8f51-4af204be9454))
(pad "1" thru_hole rect (at 0 0) (size 1.7 1.7) (drill 1) (layers F&B.Cu *.Mask) (tstamp 6b7be3b8-0f9e-447d-82f0-edd69f1144c3))
(model "${KICAD6_3DMODEL_DIR}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x01_P2.54mm_Vertical.wrl"
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(footprint "Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical" (layer "F.Cu")
(tedit 59FED5CC) (tstamp adb12a4a-9042-411e-9384-efbfc5d48840)
(at 166.37 90.805)
(descr "Through hole straight pin header, 1x01, 2.54mm pitch, single row")
(tags "Through hole pin header THT 1x01 2.54mm single row")
(attr through_hole)
(fp_text reference "REF**" (at 0 -2.33) (layer "F.SilkS") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp a3c9f2cc-2bf6-4c2d-8f5d-ea082b8eb1b0)
)
(fp_text value "PinHeader_1x01_P2.54mm_Vertical" (at 0 2.33) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 3a262078-7175-43f6-97e1-4e5547a0da56)
)
(fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 007619ed-bbb6-4e90-b946-d99a4ecfa495)
)
(fp_line (start -1.33 0) (end -1.33 -1.33) (layer "F.SilkS") (width 0.12) (tstamp 011d18b5-016e-4301-9664-1941604a310f))
(fp_line (start -1.33 1.27) (end 1.33 1.27) (layer "F.SilkS") (width 0.12) (tstamp 198a411e-6ac2-4f5a-8635-92ad936e2bdd))
(fp_line (start -1.33 1.33) (end 1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp 5a7e44aa-adb8-4465-b5b2-084de591c4d6))
(fp_line (start -1.33 -1.33) (end 0 -1.33) (layer "F.SilkS") (width 0.12) (tstamp 847c9957-a8ee-4fc3-9de8-07b3831f834c))
(fp_line (start 1.33 1.27) (end 1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp bbfb149b-66d4-43c8-a83b-ee37234d1bc9))
(fp_line (start -1.33 1.27) (end -1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp f83d9268-f828-418f-9293-f16a64d959af))
(fp_line (start -1.8 -1.8) (end -1.8 1.8) (layer "F.CrtYd") (width 0.05) (tstamp 2a3c9c06-acf7-4e39-8626-169d253a535b))
(fp_line (start 1.8 1.8) (end 1.8 -1.8) (layer "F.CrtYd") (width 0.05) (tstamp 4b4bc6e0-5bd7-47fd-96d5-a9a6f2bd237c))
(fp_line (start -1.8 1.8) (end 1.8 1.8) (layer "F.CrtYd") (width 0.05) (tstamp 9f8f3ab0-e52c-448c-883a-eaf9b11793eb))
(fp_line (start 1.8 -1.8) (end -1.8 -1.8) (layer "F.CrtYd") (width 0.05) (tstamp d8e523b3-36eb-4924-a938-6f80953c544b))
(fp_line (start 1.27 1.27) (end -1.27 1.27) (layer "F.Fab") (width 0.1) (tstamp 00b9a489-8cac-48a2-8a67-5bc2b9f8ede3))
(fp_line (start 1.27 -1.27) (end 1.27 1.27) (layer "F.Fab") (width 0.1) (tstamp 31d3cb58-85b4-4401-878f-0411a8af3da6))
(fp_line (start -0.635 -1.27) (end 1.27 -1.27) (layer "F.Fab") (width 0.1) (tstamp a9eba177-13ae-46d4-b234-ebb8abe0643e))
(fp_line (start -1.27 -0.635) (end -0.635 -1.27) (layer "F.Fab") (width 0.1) (tstamp f2e67452-551a-456b-a08a-e4b7e700f811))
(fp_line (start -1.27 1.27) (end -1.27 -0.635) (layer "F.Fab") (width 0.1) (tstamp fc9ce3aa-3f8e-479a-af79-ef301880433d))
(pad "1" thru_hole rect (at 0 0) (size 1.7 1.7) (drill 1) (layers F&B.Cu *.Mask) (tstamp 52769ab9-867b-421b-89df-9122b0b98194))
(model "${KICAD6_3DMODEL_DIR}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x01_P2.54mm_Vertical.wrl"
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(footprint "Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical" (layer "F.Cu")
(tedit 59FED5CC) (tstamp b5e5b356-93bd-4cd6-8ce8-afe60551c232)
(at 186.69 87.645)
(descr "Through hole straight pin header, 1x01, 2.54mm pitch, single row")
(tags "Through hole pin header THT 1x01 2.54mm single row")
(attr through_hole)
(fp_text reference "REF**" (at 0 -2.33) (layer "F.SilkS") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 254dc20e-ae0a-4419-8545-6302915d1374)
)
(fp_text value "PinHeader_1x01_P2.54mm_Vertical" (at 0 2.33) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp a110d1b8-8b8e-43b7-abba-49a53100aa2a)
)
(fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 81fc2c79-b835-439f-8fce-207ef8318cdc)
)
(fp_line (start 1.33 1.27) (end 1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp 039cb527-6b4e-4faf-8377-9a2d64e78b97))
(fp_line (start -1.33 -1.33) (end 0 -1.33) (layer "F.SilkS") (width 0.12) (tstamp 07f788bf-6b4b-41d9-bdd4-92cede538b92))
(fp_line (start -1.33 1.27) (end 1.33 1.27) (layer "F.SilkS") (width 0.12) (tstamp 07fbf409-6e79-4f20-9aae-209d2960bc5d))
(fp_line (start -1.33 1.33) (end 1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp 483844c1-3d91-4cee-85b0-dcee5596d1eb))
(fp_line (start -1.33 1.27) (end -1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp 684af43a-7174-4196-919c-d375827954fb))
(fp_line (start -1.33 0) (end -1.33 -1.33) (layer "F.SilkS") (width 0.12) (tstamp 990dd6e7-4d47-408f-94b3-c4d9ff8adb1a))
(fp_line (start 1.8 1.8) (end 1.8 -1.8) (layer "F.CrtYd") (width 0.05) (tstamp 47abd283-0434-4a26-83a9-6994162edb80))
(fp_line (start 1.8 -1.8) (end -1.8 -1.8) (layer "F.CrtYd") (width 0.05) (tstamp 6f614904-0530-4159-821e-ac88a4210d88))
(fp_line (start -1.8 -1.8) (end -1.8 1.8) (layer "F.CrtYd") (width 0.05) (tstamp c11ec2e3-3cfe-4ad7-8331-d5b8e0f79791))
(fp_line (start -1.8 1.8) (end 1.8 1.8) (layer "F.CrtYd") (width 0.05) (tstamp c6de8a9c-18f5-461a-b9bf-18529e9926b8))
(fp_line (start 1.27 1.27) (end -1.27 1.27) (layer "F.Fab") (width 0.1) (tstamp 05db3374-b86d-4b21-840b-e7e249bdb0eb))
(fp_line (start 1.27 -1.27) (end 1.27 1.27) (layer "F.Fab") (width 0.1) (tstamp 271d4b95-dcb9-4b7b-bc78-f5db5ff4ded2))
(fp_line (start -0.635 -1.27) (end 1.27 -1.27) (layer "F.Fab") (width 0.1) (tstamp 2749ed80-5256-465d-9a68-b028cbaff5d7))
(fp_line (start -1.27 1.27) (end -1.27 -0.635) (layer "F.Fab") (width 0.1) (tstamp 4c8bf446-4586-47a5-92dd-170fda8d2ee3))
(fp_line (start -1.27 -0.635) (end -0.635 -1.27) (layer "F.Fab") (width 0.1) (tstamp 9184c97c-0e78-40fd-be0a-bc218e1376a0))
(pad "1" thru_hole rect (at 0 0) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) (tstamp f6b1b4a7-4b0f-49e4-b2c0-445839040b1b))
(model "${KICAD6_3DMODEL_DIR}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x01_P2.54mm_Vertical.wrl"
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(footprint "Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical" (layer "F.Cu")
(tedit 59FED5CC) (tstamp bac492c2-a55f-44f2-b5bf-99f28c450fc4)
(at 158.75 105.41)
(descr "Through hole straight pin header, 1x01, 2.54mm pitch, single row")
(tags "Through hole pin header THT 1x01 2.54mm single row")
(attr through_hole)
(fp_text reference "REF**" (at 0 -2.33) (layer "F.SilkS") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 37bccd0b-57a0-4b22-b77f-78e5330c6b07)
)
(fp_text value "PinHeader_1x01_P2.54mm_Vertical" (at 0 2.33) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 67801af8-9376-44d1-ab76-03b08a32d582)
)
(fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp dd814e81-7cbf-47a9-8f91-86fbce424b1d)
)
(fp_line (start -1.33 -1.33) (end 0 -1.33) (layer "F.SilkS") (width 0.12) (tstamp 11035863-fb91-4686-a145-72bc8c3eab5e))
(fp_line (start -1.33 1.27) (end 1.33 1.27) (layer "F.SilkS") (width 0.12) (tstamp 14eb3f03-8dcb-4d7d-a1d0-8eb06ba58cba))
(fp_line (start -1.33 1.27) (end -1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp 26608cf8-0f14-4fec-9634-e501c4b2191c))
(fp_line (start 1.33 1.27) (end 1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp 731752c7-fde0-43d8-b8bb-d81ea707dc57))
(fp_line (start -1.33 0) (end -1.33 -1.33) (layer "F.SilkS") (width 0.12) (tstamp cb43bb7c-7933-4fb3-906e-6e2873c4a5a2))
(fp_line (start -1.33 1.33) (end 1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp e35af5d5-e716-443e-8b91-4242954a1cf6))
(fp_line (start -1.8 -1.8) (end -1.8 1.8) (layer "F.CrtYd") (width 0.05) (tstamp 136e8240-0d7a-4d6b-a851-47477fbb06fc))
(fp_line (start 1.8 -1.8) (end -1.8 -1.8) (layer "F.CrtYd") (width 0.05) (tstamp 2f7c6ddf-ccf0-40c4-a560-1d6355d02361))
(fp_line (start -1.8 1.8) (end 1.8 1.8) (layer "F.CrtYd") (width 0.05) (tstamp 6dbcedb6-9e7c-41e6-91da-e8c71a3a7348))
(fp_line (start 1.8 1.8) (end 1.8 -1.8) (layer "F.CrtYd") (width 0.05) (tstamp b6cbd2d0-1bf9-446b-9b2d-9372e10d4604))
(fp_line (start 1.27 -1.27) (end 1.27 1.27) (layer "F.Fab") (width 0.1) (tstamp 47b1dc5f-49a6-4d4a-8dc1-c40db1ef62cb))
(fp_line (start -1.27 1.27) (end -1.27 -0.635) (layer "F.Fab") (width 0.1) (tstamp 84ce3ccd-b7e8-4328-9c97-830e5568b885))
(fp_line (start 1.27 1.27) (end -1.27 1.27) (layer "F.Fab") (width 0.1) (tstamp 9da0df4d-2f6e-4cbf-8fea-e41dcd95113f))
(fp_line (start -1.27 -0.635) (end -0.635 -1.27) (layer "F.Fab") (width 0.1) (tstamp a1fbf506-7953-4b26-8434-0f1b334a3075))
(fp_line (start -0.635 -1.27) (end 1.27 -1.27) (layer "F.Fab") (width 0.1) (tstamp d6bb0dec-e406-4fe9-b585-69561f41ccd9))
(pad "1" thru_hole rect (at 0 0) (size 1.7 1.7) (drill 1) (layers F&B.Cu *.Mask) (tstamp dcd8eeea-3116-49ac-ba58-4053e820e187))
(model "${KICAD6_3DMODEL_DIR}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x01_P2.54mm_Vertical.wrl"
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(footprint "Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical" (layer "F.Cu")
(tedit 59FED5CC) (tstamp d4686e1c-6842-430b-b4ba-7b73b3190e72)
(at 158.75 99.695)
(descr "Through hole straight pin header, 1x01, 2.54mm pitch, single row")
(tags "Through hole pin header THT 1x01 2.54mm single row")
(attr through_hole)
(fp_text reference "REF**" (at 0 -2.33) (layer "F.SilkS") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 37bccd0b-57a0-4b22-b77f-78e5330c6b07)
)
(fp_text value "PinHeader_1x01_P2.54mm_Vertical" (at 0 2.33) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 67801af8-9376-44d1-ab76-03b08a32d582)
)
(fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp dd814e81-7cbf-47a9-8f91-86fbce424b1d)
)
(fp_line (start -1.33 -1.33) (end 0 -1.33) (layer "F.SilkS") (width 0.12) (tstamp 11035863-fb91-4686-a145-72bc8c3eab5e))
(fp_line (start -1.33 1.27) (end 1.33 1.27) (layer "F.SilkS") (width 0.12) (tstamp 14eb3f03-8dcb-4d7d-a1d0-8eb06ba58cba))
(fp_line (start -1.33 1.27) (end -1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp 26608cf8-0f14-4fec-9634-e501c4b2191c))
(fp_line (start 1.33 1.27) (end 1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp 731752c7-fde0-43d8-b8bb-d81ea707dc57))
(fp_line (start -1.33 0) (end -1.33 -1.33) (layer "F.SilkS") (width 0.12) (tstamp cb43bb7c-7933-4fb3-906e-6e2873c4a5a2))
(fp_line (start -1.33 1.33) (end 1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp e35af5d5-e716-443e-8b91-4242954a1cf6))
(fp_line (start -1.8 -1.8) (end -1.8 1.8) (layer "F.CrtYd") (width 0.05) (tstamp 136e8240-0d7a-4d6b-a851-47477fbb06fc))
(fp_line (start 1.8 -1.8) (end -1.8 -1.8) (layer "F.CrtYd") (width 0.05) (tstamp 2f7c6ddf-ccf0-40c4-a560-1d6355d02361))
(fp_line (start -1.8 1.8) (end 1.8 1.8) (layer "F.CrtYd") (width 0.05) (tstamp 6dbcedb6-9e7c-41e6-91da-e8c71a3a7348))
(fp_line (start 1.8 1.8) (end 1.8 -1.8) (layer "F.CrtYd") (width 0.05) (tstamp b6cbd2d0-1bf9-446b-9b2d-9372e10d4604))
(fp_line (start 1.27 -1.27) (end 1.27 1.27) (layer "F.Fab") (width 0.1) (tstamp 47b1dc5f-49a6-4d4a-8dc1-c40db1ef62cb))
(fp_line (start -1.27 1.27) (end -1.27 -0.635) (layer "F.Fab") (width 0.1) (tstamp 84ce3ccd-b7e8-4328-9c97-830e5568b885))
(fp_line (start 1.27 1.27) (end -1.27 1.27) (layer "F.Fab") (width 0.1) (tstamp 9da0df4d-2f6e-4cbf-8fea-e41dcd95113f))
(fp_line (start -1.27 -0.635) (end -0.635 -1.27) (layer "F.Fab") (width 0.1) (tstamp a1fbf506-7953-4b26-8434-0f1b334a3075))
(fp_line (start -0.635 -1.27) (end 1.27 -1.27) (layer "F.Fab") (width 0.1) (tstamp d6bb0dec-e406-4fe9-b585-69561f41ccd9))
(pad "1" thru_hole rect (at 0 0) (size 1.7 1.7) (drill 1) (layers F&B.Cu *.Mask) (tstamp dcd8eeea-3116-49ac-ba58-4053e820e187))
(model "${KICAD6_3DMODEL_DIR}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x01_P2.54mm_Vertical.wrl"
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(footprint "Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical" (layer "F.Cu")
(tedit 59FED5CC) (tstamp e4d6aac5-5a50-4bd7-9038-50f4615a1556)
(at 179.07 90.17)
(descr "Through hole straight pin header, 1x01, 2.54mm pitch, single row")
(tags "Through hole pin header THT 1x01 2.54mm single row")
(attr through_hole)
(fp_text reference "REF**" (at 0 -2.33) (layer "F.SilkS") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp cd41f734-3984-4733-8a37-141f9a7f2485)
)
(fp_text value "PinHeader_1x01_P2.54mm_Vertical" (at 0 2.33) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 3c1f6a5e-780e-40d9-9cee-21be3200ddf2)
)
(fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 82ea8692-d8d1-48ce-81de-b80877eff645)
)
(fp_line (start 1.33 1.27) (end 1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp 017a9528-bcab-4d2a-996c-f270547f22fb))
(fp_line (start -1.33 1.33) (end 1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp 3c947216-04e6-41a3-9b37-d60358f73b56))
(fp_line (start -1.33 1.27) (end -1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp 40d755f9-9f3c-41b2-b4dc-78440423db17))
(fp_line (start -1.33 -1.33) (end 0 -1.33) (layer "F.SilkS") (width 0.12) (tstamp 53f77234-dc7d-40d3-b15a-eb0dea9f1c50))
(fp_line (start -1.33 1.27) (end 1.33 1.27) (layer "F.SilkS") (width 0.12) (tstamp 56043859-81c8-4ec1-8e31-916fc07155de))
(fp_line (start -1.33 0) (end -1.33 -1.33) (layer "F.SilkS") (width 0.12) (tstamp b662e155-3384-49ec-9592-4870aeee79fa))
(fp_line (start -1.8 -1.8) (end -1.8 1.8) (layer "F.CrtYd") (width 0.05) (tstamp 22e30d5a-ef7b-47dd-992a-cda42bb762b4))
(fp_line (start -1.8 1.8) (end 1.8 1.8) (layer "F.CrtYd") (width 0.05) (tstamp 3dc6e9a5-80b0-4e0f-9abb-ea6bacb0d420))
(fp_line (start 1.8 1.8) (end 1.8 -1.8) (layer "F.CrtYd") (width 0.05) (tstamp ef403184-6fc7-4f36-a242-f1c1b00800bd))
(fp_line (start 1.8 -1.8) (end -1.8 -1.8) (layer "F.CrtYd") (width 0.05) (tstamp efdc5909-51cf-4b9d-a579-41c6643be5a8))
(fp_line (start 1.27 -1.27) (end 1.27 1.27) (layer "F.Fab") (width 0.1) (tstamp 697883c0-8bd9-4e07-b5b0-a3a565450355))
(fp_line (start -1.27 1.27) (end -1.27 -0.635) (layer "F.Fab") (width 0.1) (tstamp 8e5a71fc-0357-4e6f-8e37-90471cb8482d))
(fp_line (start 1.27 1.27) (end -1.27 1.27) (layer "F.Fab") (width 0.1) (tstamp b717cfe9-571b-4626-8d19-2f7f27967b87))
(fp_line (start -0.635 -1.27) (end 1.27 -1.27) (layer "F.Fab") (width 0.1) (tstamp b760986d-49c8-488d-886a-21671e9fcf8c))
(fp_line (start -1.27 -0.635) (end -0.635 -1.27) (layer "F.Fab") (width 0.1) (tstamp e8b9f183-edda-45c1-8620-e0fa707c0674))
(pad "1" thru_hole rect (at 0 0) (size 1.7 1.7) (drill 1) (layers F&B.Cu *.Mask) (tstamp b2e816f8-f46e-4e52-a3b7-b3b1e7374e20))
(model "${KICAD6_3DMODEL_DIR}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x01_P2.54mm_Vertical.wrl"
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(footprint "Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical" (layer "F.Cu")
(tedit 59FED5CC) (tstamp fbabd2af-bc30-4695-a57c-d8b9b5bf03a0)
(at 158.75 96.52)
(descr "Through hole straight pin header, 1x01, 2.54mm pitch, single row")
(tags "Through hole pin header THT 1x01 2.54mm single row")
(attr through_hole)
(fp_text reference "REF**" (at 0 -2.33) (layer "F.SilkS") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 56eecb1c-7c7f-405b-b16d-21981b9648c4)
)
(fp_text value "PinHeader_1x01_P2.54mm_Vertical" (at 0 2.33) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 6be3a687-c368-4b68-b6a8-7c62cda0356e)
)
(fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15)))
(tstamp ae1243ff-9721-4cb8-aa97-c28f8736a35a)
)
(fp_line (start -1.33 1.27) (end -1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp 045920c5-a484-4869-96c2-fdf315ec03e6))
(fp_line (start 1.33 1.27) (end 1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp 29d7cd35-92e5-4431-bd70-418149b11358))
(fp_line (start -1.33 1.33) (end 1.33 1.33) (layer "F.SilkS") (width 0.12) (tstamp 5c0b93a5-ffbc-41ac-a3b8-e4c04e7b5df4))
(fp_line (start -1.33 1.27) (end 1.33 1.27) (layer "F.SilkS") (width 0.12) (tstamp 6a1e3e09-827b-4189-9c1a-c9911bfa849c))
(fp_line (start -1.33 -1.33) (end 0 -1.33) (layer "F.SilkS") (width 0.12) (tstamp 76e01440-44b4-48f6-97f4-f5821617b729))
(fp_line (start -1.33 0) (end -1.33 -1.33) (layer "F.SilkS") (width 0.12) (tstamp af36282b-dd89-4baf-9814-66ca7f1e8b0f))
(fp_line (start 1.8 -1.8) (end -1.8 -1.8) (layer "F.CrtYd") (width 0.05) (tstamp 013887af-5141-43b7-811b-115313debfc3))
(fp_line (start -1.8 -1.8) (end -1.8 1.8) (layer "F.CrtYd") (width 0.05) (tstamp 3460dc16-1d7e-4cdb-b9ea-5da4799e8bcb))
(fp_line (start -1.8 1.8) (end 1.8 1.8) (layer "F.CrtYd") (width 0.05) (tstamp 36e02e93-2c58-41bf-a211-0e6a23f17738))
(fp_line (start 1.8 1.8) (end 1.8 -1.8) (layer "F.CrtYd") (width 0.05) (tstamp f3a06d53-18ae-47bb-88c9-fe6ab9604c34))
(fp_line (start 1.27 1.27) (end -1.27 1.27) (layer "F.Fab") (width 0.1) (tstamp 1a15aa7f-8141-40c6-a5cb-4c510a421ee8))
(fp_line (start -1.27 -0.635) (end -0.635 -1.27) (layer "F.Fab") (width 0.1) (tstamp 2d567737-7605-4b02-b9f3-5d4a470055ae))
(fp_line (start 1.27 -1.27) (end 1.27 1.27) (layer "F.Fab") (width 0.1) (tstamp 843e2b19-9972-4edc-8c04-60c54b8f76b8))
(fp_line (start -1.27 1.27) (end -1.27 -0.635) (layer "F.Fab") (width 0.1) (tstamp a158cd1c-ab1a-493a-aac1-10e700caa964))
(fp_line (start -0.635 -1.27) (end 1.27 -1.27) (layer "F.Fab") (width 0.1) (tstamp d46933e2-4fe2-42cd-935c-d8a8333274e5))
(pad "1" thru_hole rect (at 0 0) (size 1.7 1.7) (drill 1) (layers F&B.Cu *.Mask) (tstamp 8fa34023-f893-4423-af3a-1eabb1568120))
(model "${KICAD6_3DMODEL_DIR}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x01_P2.54mm_Vertical.wrl"
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(gr_line (start 165.735 99.06) (end 158.75 96.52) (layer "F.Cu") (width 0.2) (tstamp a44c8b0c-822b-4398-adfd-1fb844797950))
(gr_line (start 186.69 87.645) (end 182.88 87.645) (layer "F.Cu") (width 0.2) (tstamp f0871793-b5a4-4281-8017-8458e36978c9))
(segment (start 179.705 102.87) (end 179.72 102.885) (width 0.25) (layer "F.Cu") (net 0) (tstamp 07b336fe-6a7d-4df8-a7e9-7cb483afee9b))
(segment (start 175.195 99.06) (end 174.625 99.06) (width 0.25) (layer "F.Cu") (net 0) (tstamp 0b5d5523-8d18-4da2-abd1-283c15bfaca6))
(segment (start 175.195 99.06) (end 175.195 99.125) (width 0.25) (layer "F.Cu") (net 0) (tstamp 0c092261-5153-48da-93d8-ee6e3e25129c))
(segment (start 186.69 105.41) (end 177.8 105.41) (width 0.2) (layer "F.Cu") (net 0) (tstamp 10a3f7be-877a-4409-9db8-aba265b3bf17))
(segment (start 172.72 92.71) (end 179.07 92.71) (width 0.25) (layer "F.Cu") (net 0) (tstamp 120b5955-0323-4e88-8614-fa303ba07b6a))
(segment (start 158.765 102.885) (end 158.75 102.87) (width 0.25) (layer "F.Cu") (net 0) (tstamp 1546723f-1e6a-40ef-b4ad-289137cf103c))
(segment (start 182.88 90.185) (end 179.085 90.185) (width 0.25) (layer "F.Cu") (net 0) (tstamp 1b58379c-e04a-41a3-9fc2-64dbcea92ede))
(segment (start 179.705 95.25) (end 175.195 95.25) (width 0.25) (layer "F.Cu") (net 0) (tstamp 27f0c192-ee5f-450f-9080-29eda7fe75cd))
(segment (start 170.18 95.185) (end 170.245 95.25) (width 0.25) (layer "F.Cu") (net 0) (tstamp 2f960069-1b86-4a7f-a279-9103ac63f83f))
(segment (start 177.8 100.645) (end 177.8 97.79) (width 0.25) (layer "F.Cu") (net 0) (tstamp 3550bd85-41ef-4eb5-8d5f-f00d9d93b910))
(segment (start 170.18 87.63) (end 170.18 95.185) (width 0.25) (layer "F.Cu") (net 0) (tstamp 35c85cf4-a5ff-40d4-8ee5-5f4c61f89743))
(segment (start 186.69 95.25) (end 186.69 91.44) (width 0.2) (layer "F.Cu") (net 0) (tstamp 3d87777f-ae3c-4ade-a229-e013a32e3f6e))
(segment (start 177.8 101.285) (end 177.8 105.41) (width 0.25) (layer "F.Cu") (net 0) (tstamp 40a0fe1a-8b43-4aed-a8fb-4283b6a2bb38))
(segment (start 170.245 96.52) (end 166.37 96.52) (width 0.2) (layer "F.Cu") (net 0) (tstamp 44233b9d-5c15-478d-9ce8-8432229aa4db))
(segment (start 170.18 87.63) (end 182.546802 87.63) (width 0.25) (layer "F.Cu") (net 0) (tstamp 44503f8f-eba2-4a00-b02f-83a301455b32))
(segment (start 158.75 102.87) (end 158.75 99.695) (width 0.2) (layer "F.Cu") (net 0) (tstamp 455e2b1d-e024-411e-8bc3-1756537d345f))
(segment (start 166.37 96.52) (end 166.37 90.805) (width 0.2) (layer "F.Cu") (net 0) (tstamp 60c8cc5c-c643-48f2-896b-2093384a26ca))
(segment (start 186.69 91.44) (end 186.69 88.210685) (width 0.2) (layer "F.Cu") (net 0) (tstamp 686acc5b-5096-477a-9394-43ad828618d7))
(segment (start 182.865 87.63) (end 182.88 87.645) (width 0.25) (layer "F.Cu") (net 0) (tstamp 75f80da4-1cf5-47eb-8e9c-7c9fe3ddeeb5))
(segment (start 182.88 92.725) (end 179.085 92.725) (width 0.25) (layer "F.Cu") (net 0) (tstamp 7c07afbf-86e5-4517-8d3d-b3278c6f7bd6))
(segment (start 158.75 105.41) (end 158.75 102.87) (width 0.2) (layer "F.Cu") (net 0) (tstamp 85259ebd-0483-458c-9f58-105a2d47268f))
(segment (start 182.546802 87.63) (end 182.720901 87.804099) (width 0.25) (layer "F.Cu") (net 0) (tstamp 8758e363-8ba2-48e4-a856-cc6a8d92fe71))
(segment (start 170.245 97.79) (end 172.72 97.79) (width 0.2) (layer "F.Cu") (net 0) (tstamp 8eb8789a-7dcc-4b48-b262-c43e07329a61))
(segment (start 186.69 98.425) (end 179.705 98.425) (width 0.2) (layer "F.Cu") (net 0) (tstamp 962f268c-0790-4297-8375-1890aca23d11))
(segment (start 179.72 102.885) (end 182.88 102.885) (width 0.25) (layer "F.Cu") (net 0) (tstamp 9811110a-4008-4824-adc4-12ce92f6d6b6))
(segment (start 179.085 90.185) (end 179.07 90.17) (width 0.25) (layer "F.Cu") (net 0) (tstamp 9b44e871-9dd8-43d7-a7be-dbf0141dc615))
(segment (start 170.18 99.06) (end 170.245 99.06) (width 0.25) (layer "F.Cu") (net 0) (tstamp aa35ee0a-5a3d-4029-9696-f3757ea6b99c))
(segment (start 162.56 102.885) (end 158.765 102.885) (width 0.25) (layer "F.Cu") (net 0) (tstamp ccef8f6d-8a89-4ea4-8316-c93ef1aa23d7))
(segment (start 172.72 97.79) (end 172.72 92.71) (width 0.2) (layer "F.Cu") (net 0) (tstamp ce537739-3d74-4fc3-ae6e-96e136c090d7))
(segment (start 186.69 88.210685) (end 186.972843 87.927842) (width 0.2) (layer "F.Cu") (net 0) (tstamp d52d9ecf-9db7-4d90-aa17-49bcedfd20dc))
(segment (start 177.8 97.79) (end 175.195 97.79) (width 0.25) (layer "F.Cu") (net 0) (tstamp db17365c-ae8c-4bd2-a4f8-513896509b10))
(segment (start 179.705 98.425) (end 179.705 95.25) (width 0.25) (layer "F.Cu") (net 0) (tstamp e5985aa3-43c9-45d4-8e47-5ed3ceec978a))
(segment (start 162.575 102.87) (end 162.56 102.885) (width 0.25) (layer "F.Cu") (net 0) (tstamp ef6f4545-cacf-437d-85df-5a4054ec4de5))
(segment (start 170.245 99.06) (end 165.735 99.06) (width 0.25) (layer "F.Cu") (net 0) (tstamp f2934199-26fd-4589-a8af-7e4352ee07b7))
(segment (start 179.705 102.87) (end 179.705 98.425) (width 0.25) (layer "F.Cu") (net 0) (tstamp f800506e-3ad5-4d0c-9f16-6f7b89436611))
(segment (start 179.085 92.725) (end 179.07 92.71) (width 0.25) (layer "F.Cu") (net 0) (tstamp fd8d8414-278a-4d64-acd1-aa766e7ff99d))
)

View File

@ -0,0 +1,75 @@
{
"board": {
"active_layer": 0,
"active_layer_preset": "All Layers",
"auto_track_width": true,
"hidden_nets": [],
"high_contrast_mode": 0,
"net_color_mode": 1,
"opacity": {
"pads": 1.0,
"tracks": 1.0,
"vias": 1.0,
"zones": 0.6
},
"ratsnest_display_mode": 0,
"selection_filter": {
"dimensions": true,
"footprints": true,
"graphics": true,
"keepouts": true,
"lockedItems": true,
"otherItems": true,
"pads": true,
"text": true,
"tracks": true,
"vias": true,
"zones": true
},
"visible_items": [
0,
1,
2,
3,
4,
5,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
32,
33,
34,
35,
36
],
"visible_layers": "fffffff_ffffffff",
"zone_display_mode": 0
},
"meta": {
"filename": "attiny.kicad_prl",
"version": 3
},
"project": {
"files": []
}
}

174
attiny402/attiny.kicad_pro Normal file
View File

@ -0,0 +1,174 @@
{
"board": {
"design_settings": {
"defaults": {
"board_outline_line_width": 0.049999999999999996,
"copper_line_width": 0.19999999999999998,
"copper_text_italic": false,
"copper_text_size_h": 1.5,
"copper_text_size_v": 1.5,
"copper_text_thickness": 0.3,
"copper_text_upright": false,
"courtyard_line_width": 0.049999999999999996,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": false,
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.09999999999999999,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
"fab_text_thickness": 0.15,
"fab_text_upright": false,
"other_line_width": 0.09999999999999999,
"other_text_italic": false,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
"other_text_thickness": 0.15,
"other_text_upright": false,
"pads": {
"drill": 1.0,
"height": 1.7,
"width": 1.7
},
"silk_line_width": 0.12,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.15,
"silk_text_upright": false,
"zones": {
"45_degree_only": false,
"min_clearance": 0.508
}
},
"diff_pair_dimensions": [],
"drc_exclusions": [],
"meta": {
"version": 2
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"copper_edge_clearance": "error",
"courtyards_overlap": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"footprint_type_mismatch": "error",
"hole_clearance": "error",
"hole_near_hole": "error",
"invalid_outline": "error",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"npth_inside_courtyard": "ignore",
"padstack": "error",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"silk_over_copper": "warning",
"silk_overlap": "warning",
"skew_out_of_range": "error",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_dangling": "warning",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zone_has_empty_net": "error",
"zones_intersect": "error"
},
"rules": {
"allow_blind_buried_vias": false,
"allow_microvias": false,
"max_error": 0.005,
"min_clearance": 0.0,
"min_copper_edge_clearance": 0.01,
"min_hole_clearance": 0.25,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.19999999999999998,
"min_microvia_drill": 0.09999999999999999,
"min_silk_clearance": 0.0,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.19999999999999998,
"min_via_annular_width": 0.049999999999999996,
"min_via_diameter": 0.39999999999999997,
"use_height_for_length_calcs": true
},
"track_widths": [],
"via_dimensions": [],
"zones_allow_external_fillets": false,
"zones_use_no_outline": true
},
"layer_presets": []
},
"boards": [],
"cvpcb": {
"equivalence_files": []
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "attiny.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12.0,
"clearance": 0.2,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "Default",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.25,
"via_diameter": 0.8,
"via_drill": 0.4,
"wire_width": 6.0
}
],
"meta": {
"version": 2
},
"net_colors": null
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "",
"specctra_dsn": "",
"step": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"legacy_lib_dir": "",
"legacy_lib_list": []
},
"sheets": [],
"text_variables": {}
}

87123
attiny402/fp-info-cache Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,106 @@
#include <DFMiniMp3.h>
/*
* CopyLeft 2022-2023 Pascal Engélibert
*
* This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, version 3 of the License.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.
*/
// Telephone Jukebox
#define PIN_STOP PIN_PA1
#define PIN_TX PIN_PA6
#define PIN_RX PIN_PA7
#define PULSE_DELAY 100
unsigned long pulses_end = 0;
unsigned int pulses = 0;
bool pulse = false;
bool playing = false;
class Mp3Notify;
typedef DFMiniMp3<HardwareSerial, Mp3Notify> DfMp3;
DfMp3 dfmp3(Serial);
class Mp3Notify {
public:
static void PrintlnSourceAction(DfMp3_PlaySources source, const char* action)
{
}
static void OnError([[maybe_unused]] DfMp3& mp3, uint16_t errorCode)
{
}
static void OnPlayFinished([[maybe_unused]] DfMp3& mp3, [[maybe_unused]] DfMp3_PlaySources source, uint16_t track) {
playing = false;
}
static void OnPlaySourceOnline([[maybe_unused]] DfMp3& mp3, DfMp3_PlaySources source) {}
static void OnPlaySourceInserted([[maybe_unused]] DfMp3& mp3, DfMp3_PlaySources source) {}
static void OnPlaySourceRemoved([[maybe_unused]] DfMp3& mp3, DfMp3_PlaySources source) {}
};
void wait_ms(uint16_t msWait) {
uint32_t start = millis();
while((millis() - start) < msWait) {
// if you have loops with delays, its important to
// call dfmp3.loop() periodically so it allows for notifications
// to be handled without interrupts
dfmp3.loop();
delay(1);
}
}
void setup() {
pinMode(PIN_STOP, INPUT_PULLUP);
//Serial.begin(9600, SERIAL_8N1);
dfmp3.begin();
dfmp3.setVolume(24);
//dfmp3.setPlaybackSource(DfMp3_PlaySource_Sd);
wait_ms(500);
dfmp3.playMp3FolderTrack(0);
wait_ms(1000);
}
void loop() {
// If phone is hang up
if(digitalRead(PIN_STOP)) {
// Stop tone and music
if(playing) {
dfmp3.stop();
//dfmp3.sleep();
playing = false;
}
if(!pulse) {
pulse = true;
pulses ++;
pulses_end = millis() + PULSE_DELAY;
}
else if(millis() > pulses_end) {
pulses = 0;
}
} else {
if(!playing) {
// Start tone
//dfmp3.awake();
//dfmp3.loopGlobalTrack(99);
dfmp3.playMp3FolderTrack(99);
playing = true;
}
if(pulse) {
pulse = false;
pulses_end = millis() + PULSE_DELAY;
} else if(pulses && millis() > pulses_end) {
dfmp3.playMp3FolderTrack(pulses % 10);
pulses = 0;
}
}
wait_ms(10);
}

71
teensy/README.md Normal file
View File

@ -0,0 +1,71 @@
# Téléphone jukebox
Les instructions qui suivent ont été testées avec des Teensy versions 3.1 et 4.0 (et les modules audio correspondant).
## Électronique
* Souder le Teensy sur la carte audio. Le plus compact est de les empiler à l'aide de broches. Faites bien attention à les mettre dans le bon sens (les noms des pins doivent correspondre). Il n'est pas nécessaire de connecter les pins 0 à 5.
* Ouvrir le boîtier du téléphone par les deux vis du dessous
* Positionner le boulon de réglage glissant sur "3/MINI" (s'il existe sur votre modèle)
* Relier le GND du Teensy (un trou libellé "G" ou "GND" sur la carte audio) au fil rouge-blanc du cadran (boulon II)
* Relier le fil rouge-blanc du cadran (boulon II) au fil jaune de la prise en T (boulon 15)
* Relier le pin 2 du Teensy au fil blanc de la prise en T (boulon 11)
* Relier le VGND du module audio (pad de la prise jack le plus vers l'extérieur, dans le coin de la carte) au fil bleu du combiné (boulon 3)
* Relier le canal droit ou gauche de la prise jack (un trou libellé L ou R à côté de la prise jack) au fil rouge du combiné (boulon 5)
Si les fils sont cassants (monobrins), je conseille de les enrouler autour du manchon en métal de la patte qui est fixée au boulon, plutôt que de l'enrouler autour de la vis serrée avec le boulon, afin d'éviter de trop contraindre le fil.
Attention, GND et VGND ne doivent pas être reliés.
## Logiciel
Programmer le Teensy avec le programme fourni.
## Finition
* Fabriquer le boîtier d'isolation du Teensy à l'aide d'une imprimante 3D (`teensy_case.stl`), et le placer sur le Teensy (il peut être fixé avec des boulons M3).
* Si besoin, faire un petit trou dans la coque du téléphone pour faire passer le câble USB (ce qui permet l'alimentation et la programmation facilement).
* Indiquer quelque part sur l'appareil les informations nécessaires à son utilisation ou son amélioration futures (par exemple l'adresse de ce dépôt).
## Utilisation
### Fichiers audio
Les fichiers doivent être au format WAV, taux d'échantillonnage (sampling rate) 44100Hz, 16bit. Les noms des fichiers doivent être de `0.wav` à `9.wav`, ce qui correspond aux chiffres du cadran.
Le son peut être en stéréo, mais un seul des deux canaux sera joué.
Pour convertir un fichier audio :
* Ouvrir le fichier avec Audacity
* Sélectionner la piste en cliquant dessus
* Menu "Pistes" -> "Rééchantillonner"
* Sélectionner "44100" puis Valider
* Menu "Fichier" -> "Exporter" -> "Exporter en WAV"
* Choisir l'encodage "Signed 16-bit PCM" et enregistrer le fichier.
La conversion peut également être effectuée en ligne de commande :
```bash
ffmpeg -i FICHIER_EXISTANT -y -ar 44100 -ac 1 -aq 16 CHIFFRE.wav
```
### Partitionnement
Si le Teensy n'arrive pas à lire la carte SD (ce qui est signalé par un bip toutes les 2 secondes), vérifier le partitionnement, qui doit être FAT32 (et non FAT16, par exemple).
## Améliorations
Pistes d'amélioration qui n'ont pas encore été réalisées :
* Les deux sorties L/R pourraient être utilisées pour contrôler deux téléphones. Le Teensy pourrait alors être dans un boîtier externe, relié aux téléphones par leur prise en T (moyennant un recâblage minime à l'intérieur des téléphones).
* Faire sonner la cloche ?
* Numéros à plusieurs chiffres. Cela nécessite la détection de la fin de la numérotation, soit avec un nombre fixé de chiffres, soit avec un timeout, soit avec des règles de numérotation spéciales, éventuellement avec découverte des fichiers sur la carte SD.
* Microcontrôleur moins cher ? (par exemple un ATtiny, mais à voir pour l'audio/SD)
* Interaction avec un ordinateur et une carte son (permet plus de complexité et déleste le microcontrôleur de la gestion du son)
## Licence
CopyLeft 2022 Pascal Engélibert
Ces instructions sont mises à disposition selon les termes de la licence [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/).
Merci à la compagnie [Léna d'Azy](https://www.lenadazy.fr/) d'avoir financé la conception et la documentation.

BIN
teensy/teensy_case.stl Normal file

Binary file not shown.

Binary file not shown.