├── Black Mage Eyes board ├── report.txt ├── fp-lib-table ├── BOM of materials.txt ├── Black Mage Eyes-NPTH.drl ├── Black Mage Eyes-B_Paste.gbr ├── Black Mage Eyes-F_Paste.gbr ├── Black Mage Eyes-Edge_Cuts.gbr ├── Black Mage Eyes-drl.rpt ├── Black Mage Eyes.kicad_prl ├── Black Mage Eyes-PTH.drl ├── Black Mage Eyes-B_Mask.gbr ├── Black Mage Eyes-F_Mask.gbr ├── Black Mage Eyes-job.gbrjob ├── Black Mage Eyes-B_Cu.gbr ├── customfootprints.pretty │ └── MODULE_ARDUINO_PRO_MINI.kicad_mod ├── Black Mage Eyes-F_Cu.gbr ├── Black Mage Eyes-F_Silkscreen.gbr ├── Black Mage Eyes.kicad_pro ├── Black Mage Eyes-B_Silkscreen.gbr ├── Black Mage Eyes-NPTH-drl_map.gbr └── Black Mage Eyes.kicad_sch ├── README.md └── Black Mage Eyes code └── 3dPrintedEyes.ino /Black Mage Eyes board/report.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Black Mage Eyes board/fp-lib-table: -------------------------------------------------------------------------------- 1 | (fp_lib_table 2 | (version 7) 3 | (lib (name "UJ2_BV_1_TH")(type "KiCad")(uri "${KIPRJMOD}/footprints/UJ2_BV_1_TH")(options "")(descr "")) 4 | (lib (name "customfootprints")(type "KiCad")(uri "${KIPRJMOD}/customfootprints.pretty")(options "")(descr "")) 5 | ) 6 | -------------------------------------------------------------------------------- /Black Mage Eyes board/BOM of materials.txt: -------------------------------------------------------------------------------- 1 | capacitor 2 | https://www.digikey.com/en/products/detail/panasonic-electronic-components/ECA-0JM102/244974 3 | USB B port 4 | https://www.digikey.com/en/products/detail/cui-devices/UJ2-BV-1-TH/6187915 5 | RJ 45 6 | https://www.digikey.com/en/products/detail/amphenol-cs-fci/54601-908WPLF/1488544 -------------------------------------------------------------------------------- /Black Mage Eyes board/Black Mage Eyes-NPTH.drl: -------------------------------------------------------------------------------- 1 | M48 2 | ; DRILL file {KiCad 7.0.6} date Sun Oct 29 14:41:24 2023 3 | ; FORMAT={-:-/ absolute / inch / decimal} 4 | ; #@! TF.CreationDate,2023-10-29T14:41:24-05:00 5 | ; #@! TF.GenerationSoftware,Kicad,Pcbnew,7.0.6 6 | ; #@! TF.FileFunction,NonPlated,1,2,NPTH 7 | FMAT,2 8 | INCH 9 | ; #@! TA.AperFunction,NonPlated,NPTH,ComponentDrill 10 | T1C0.1260 11 | % 12 | G90 13 | G05 14 | T1 15 | X4.1406Y-5.2516 16 | X4.5906Y-5.2516 17 | T0 18 | M30 19 | -------------------------------------------------------------------------------- /Black Mage Eyes board/Black Mage Eyes-B_Paste.gbr: -------------------------------------------------------------------------------- 1 | %TF.GenerationSoftware,KiCad,Pcbnew,7.0.6*% 2 | %TF.CreationDate,2023-10-29T14:46:36-05:00*% 3 | %TF.ProjectId,Black Mage Eyes,426c6163-6b20-44d6-9167-652045796573,V01*% 4 | %TF.SameCoordinates,Original*% 5 | %TF.FileFunction,Paste,Bot*% 6 | %TF.FilePolarity,Positive*% 7 | %FSLAX46Y46*% 8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 9 | G04 Created by KiCad (PCBNEW 7.0.6) date 2023-10-29 14:46:36* 10 | %MOMM*% 11 | %LPD*% 12 | G01* 13 | G04 APERTURE LIST* 14 | G04 APERTURE END LIST* 15 | M02* 16 | -------------------------------------------------------------------------------- /Black Mage Eyes board/Black Mage Eyes-F_Paste.gbr: -------------------------------------------------------------------------------- 1 | %TF.GenerationSoftware,KiCad,Pcbnew,7.0.6*% 2 | %TF.CreationDate,2023-10-29T14:46:36-05:00*% 3 | %TF.ProjectId,Black Mage Eyes,426c6163-6b20-44d6-9167-652045796573,V01*% 4 | %TF.SameCoordinates,Original*% 5 | %TF.FileFunction,Paste,Top*% 6 | %TF.FilePolarity,Positive*% 7 | %FSLAX46Y46*% 8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 9 | G04 Created by KiCad (PCBNEW 7.0.6) date 2023-10-29 14:46:36* 10 | %MOMM*% 11 | %LPD*% 12 | G01* 13 | G04 APERTURE LIST* 14 | G04 APERTURE END LIST* 15 | M02* 16 | -------------------------------------------------------------------------------- /Black Mage Eyes board/Black Mage Eyes-Edge_Cuts.gbr: -------------------------------------------------------------------------------- 1 | %TF.GenerationSoftware,KiCad,Pcbnew,7.0.6*% 2 | %TF.CreationDate,2023-10-29T14:46:36-05:00*% 3 | %TF.ProjectId,Black Mage Eyes,426c6163-6b20-44d6-9167-652045796573,V01*% 4 | %TF.SameCoordinates,Original*% 5 | %TF.FileFunction,Profile,NP*% 6 | %FSLAX46Y46*% 7 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 8 | G04 Created by KiCad (PCBNEW 7.0.6) date 2023-10-29 14:46:36* 9 | %MOMM*% 10 | %LPD*% 11 | G01* 12 | G04 APERTURE LIST* 13 | %TA.AperFunction,Profile*% 14 | %ADD10C,0.100000*% 15 | %TD*% 16 | G04 APERTURE END LIST* 17 | D10* 18 | X99770000Y-50000000D02* 19 | X122770000Y-50000000D01* 20 | X122770000Y-142000000D01* 21 | X99770000Y-142000000D01* 22 | X99770000Y-50000000D01* 23 | M02* 24 | -------------------------------------------------------------------------------- /Black Mage Eyes board/Black Mage Eyes-drl.rpt: -------------------------------------------------------------------------------- 1 | Drill report for Black Mage Eyes.kicad_pcb 2 | Created on 10/29/2023 2:41:20 PM 3 | 4 | Copper Layer Stackup: 5 | ============================================================= 6 | L1 : F.Cu front 7 | L2 : B.Cu back 8 | 9 | 10 | Drill file 'Black Mage Eyes-PTH.drl' contains 11 | plated through holes: 12 | ============================================================= 13 | T1 0.760mm 0.0299" (8 holes) 14 | T2 0.800mm 0.0315" (7 holes) 15 | T3 0.920mm 0.0362" (4 holes) 16 | T4 1.016mm 0.0400" (34 holes) 17 | T5 2.300mm 0.0906" (2 holes) 18 | 19 | Total plated holes count 55 20 | 21 | 22 | Drill file 'Black Mage Eyes-NPTH.drl' contains 23 | unplated through holes: 24 | ============================================================= 25 | T1 3.200mm 0.1260" (2 holes) 26 | 27 | Total unplated holes count 2 28 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # BlackMageEyes 2 | For the code behind the eyes here https://www.youtube.com/watch?v=K9V43iSXRQA 3 | 4 | The main gyst of this code is to read button pushes (contact closures) from a controller to change patterns in Adafruit's Neopixel Array. 5 | 6 | For details on the Hardware behind it see here 7 | https://www.deviantart.com/dukeofdummies 8 | 9 | This current eye pattern is one strand in this orientation zig zagging up and down, many LEDs aren't actually used 10 | ``` 11 | 0 18 36 54 55 56 57 58 59 60 78 96 12 | 1 17 19 35 37 53 61 77 79 95 97 113 13 | 2 16 20 34 38 52 62 76 80 94 98 112 14 | 3 15 21 33 39 51 63 75 81 93 99 111 15 | 4 14 22 32 40 50 64 74 82 92 100 110 16 | 5 13 23 31 41 49 65 73 83 91 101 109 17 | 6 12 24 30 42 48 66 72 84 90 102 108 18 | 7 11 25 29 43 47 67 71 85 89 103 107 19 | 8 10 26 28 44 46 68 70 86 88 104 106 20 | 9 27 45 69 87 105 21 | ``` 22 | 23 | 24 | every expression also has a positive number associated with it in the "expression" variable. 25 | If we're already expressing the expression, the code shouldn't do anything. 26 | (this saves on quite a bit of power) Each expression is associated with a number. 27 | 28 | The general pattern will look like this 29 | -------------------------------------------------------------------------------- /Black Mage Eyes board/Black Mage Eyes.kicad_prl: -------------------------------------------------------------------------------- 1 | { 2 | "board": { 3 | "active_layer": 0, 4 | "active_layer_preset": "", 5 | "auto_track_width": true, 6 | "hidden_netclasses": [], 7 | "hidden_nets": [], 8 | "high_contrast_mode": 0, 9 | "net_color_mode": 1, 10 | "opacity": { 11 | "images": 0.6, 12 | "pads": 1.0, 13 | "tracks": 1.0, 14 | "vias": 1.0, 15 | "zones": 0.6 16 | }, 17 | "selection_filter": { 18 | "dimensions": true, 19 | "footprints": true, 20 | "graphics": true, 21 | "keepouts": true, 22 | "lockedItems": false, 23 | "otherItems": true, 24 | "pads": true, 25 | "text": true, 26 | "tracks": true, 27 | "vias": true, 28 | "zones": true 29 | }, 30 | "visible_items": [ 31 | 0, 32 | 1, 33 | 2, 34 | 3, 35 | 4, 36 | 5, 37 | 8, 38 | 9, 39 | 10, 40 | 11, 41 | 12, 42 | 13, 43 | 15, 44 | 16, 45 | 17, 46 | 18, 47 | 19, 48 | 20, 49 | 21, 50 | 22, 51 | 23, 52 | 24, 53 | 25, 54 | 26, 55 | 27, 56 | 28, 57 | 29, 58 | 30, 59 | 32, 60 | 33, 61 | 34, 62 | 35, 63 | 36, 64 | 39, 65 | 40 66 | ], 67 | "visible_layers": "fffffff_ffffffff", 68 | "zone_display_mode": 0 69 | }, 70 | "meta": { 71 | "filename": "Black Mage Eyes.kicad_prl", 72 | "version": 3 73 | }, 74 | "project": { 75 | "files": [] 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /Black Mage Eyes board/Black Mage Eyes-PTH.drl: -------------------------------------------------------------------------------- 1 | M48 2 | ; DRILL file {KiCad 7.0.6} date Sun Oct 29 14:41:24 2023 3 | ; FORMAT={-:-/ absolute / inch / decimal} 4 | ; #@! TF.CreationDate,2023-10-29T14:41:24-05:00 5 | ; #@! TF.GenerationSoftware,Kicad,Pcbnew,7.0.6 6 | ; #@! TF.FileFunction,Plated,1,2,PTH 7 | FMAT,2 8 | INCH 9 | ; #@! TA.AperFunction,Plated,PTH,ComponentDrill 10 | T1C0.0299 11 | ; #@! TA.AperFunction,Plated,PTH,ComponentDrill 12 | T2C0.0315 13 | ; #@! TA.AperFunction,Plated,PTH,ComponentDrill 14 | T3C0.0362 15 | ; #@! TA.AperFunction,Plated,PTH,ComponentDrill 16 | T4C0.0400 17 | ; #@! TA.AperFunction,Plated,PTH,ComponentDrill 18 | T5C0.0906 19 | % 20 | G90 21 | G05 22 | T1 23 | X4.1906Y-5.0016 24 | X4.2406Y-4.9016 25 | X4.2906Y-5.0016 26 | X4.3406Y-4.9016 27 | X4.3906Y-5.0016 28 | X4.4406Y-4.9016 29 | X4.4906Y-5.0016 30 | X4.5406Y-4.9016 31 | T2 32 | X4.1437Y-3.5433 33 | X4.2815Y-3.5433 34 | X4.4071Y-3.6811 35 | X4.4882Y-3.5039 36 | X4.5669Y-3.5039 37 | X4.6457Y-3.5039 38 | X4.7071Y-3.6811 39 | T3 40 | X4.2831Y-4.2331 41 | X4.2831Y-4.3315 42 | X4.4091Y-4.2331 43 | X4.4091Y-4.3315 44 | T4 45 | X4.0807Y-2.1866 46 | X4.0807Y-2.2866 47 | X4.0807Y-2.3866 48 | X4.0807Y-2.4866 49 | X4.0807Y-2.5866 50 | X4.0807Y-2.6866 51 | X4.0807Y-2.7866 52 | X4.0807Y-2.8866 53 | X4.0807Y-2.9866 54 | X4.0807Y-3.0866 55 | X4.0807Y-3.1866 56 | X4.0807Y-3.2866 57 | X4.1307Y-2.0866 58 | X4.2307Y-2.0866 59 | X4.3307Y-2.0866 60 | X4.4307Y-2.0866 61 | X4.5307Y-2.0866 62 | X4.5657Y-2.5316 63 | X4.5657Y-2.6316 64 | X4.5657Y-2.9416 65 | X4.5657Y-3.0416 66 | X4.6307Y-2.0866 67 | X4.6807Y-2.1866 68 | X4.6807Y-2.2866 69 | X4.6807Y-2.3866 70 | X4.6807Y-2.4866 71 | X4.6807Y-2.5866 72 | X4.6807Y-2.6866 73 | X4.6807Y-2.7866 74 | X4.6807Y-2.8866 75 | X4.6807Y-2.9866 76 | X4.6807Y-3.0866 77 | X4.6807Y-3.1866 78 | X4.6807Y-3.2866 79 | T5 80 | X4.3898Y-4.0453 81 | X4.3898Y-4.5193 82 | T0 83 | M30 84 | -------------------------------------------------------------------------------- /Black Mage Eyes board/Black Mage Eyes-B_Mask.gbr: -------------------------------------------------------------------------------- 1 | %TF.GenerationSoftware,KiCad,Pcbnew,7.0.6*% 2 | %TF.CreationDate,2023-10-29T14:46:36-05:00*% 3 | %TF.ProjectId,Black Mage Eyes,426c6163-6b20-44d6-9167-652045796573,V01*% 4 | %TF.SameCoordinates,Original*% 5 | %TF.FileFunction,Soldermask,Bot*% 6 | %TF.FilePolarity,Negative*% 7 | %FSLAX46Y46*% 8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 9 | G04 Created by KiCad (PCBNEW 7.0.6) date 2023-10-29 14:46:36* 10 | %MOMM*% 11 | %LPD*% 12 | G01* 13 | G04 APERTURE LIST* 14 | %ADD10C,1.600000*% 15 | %ADD11C,2.083600*% 16 | %ADD12O,1.600000X1.600000*% 17 | %ADD13C,3.200000*% 18 | %ADD14R,1.500000X1.500000*% 19 | %ADD15C,1.500000*% 20 | %ADD16R,1.400000X1.400000*% 21 | %ADD17C,1.400000*% 22 | %ADD18C,3.000000*% 23 | %ADD19R,1.350000X1.350000*% 24 | %ADD20O,1.350000X1.350000*% 25 | G04 APERTURE END LIST* 26 | D10* 27 | %TO.C,C1*% 28 | X105250000Y-90000000D03* 29 | X108750000Y-90000000D03* 30 | %TD*% 31 | D11* 32 | %TO.C,U2*% 33 | X117620000Y-53000000D03* 34 | X115080000Y-53000000D03* 35 | X112540000Y-53000000D03* 36 | X110000000Y-53000000D03* 37 | X107460000Y-53000000D03* 38 | X104920000Y-53000000D03* 39 | X115969000Y-66843000D03* 40 | X115969000Y-64303000D03* 41 | X115969000Y-77257000D03* 42 | X115969000Y-74717000D03* 43 | X118890000Y-55540000D03* 44 | X118890000Y-58080000D03* 45 | X118890000Y-60620000D03* 46 | X118890000Y-63160000D03* 47 | X118890000Y-65700000D03* 48 | X118890000Y-68240000D03* 49 | X118890000Y-70780000D03* 50 | X118890000Y-73320000D03* 51 | X118890000Y-75860000D03* 52 | X118890000Y-78400000D03* 53 | X118890000Y-80940000D03* 54 | X118890000Y-83480000D03* 55 | X103650000Y-83480000D03* 56 | X103650000Y-80940000D03* 57 | X103650000Y-78400000D03* 58 | X103650000Y-75860000D03* 59 | X103650000Y-73320000D03* 60 | X103650000Y-70780000D03* 61 | X103650000Y-68240000D03* 62 | X103650000Y-65700000D03* 63 | X103650000Y-63160000D03* 64 | X103650000Y-60620000D03* 65 | X103650000Y-58080000D03* 66 | X103650000Y-55540000D03* 67 | %TD*% 68 | D10* 69 | %TO.C,R1*% 70 | X119560000Y-93500000D03* 71 | D12* 72 | X111940000Y-93500000D03* 73 | %TD*% 74 | D13* 75 | %TO.C,J2*% 76 | X105170000Y-133390000D03* 77 | X116600000Y-133390000D03* 78 | D14* 79 | X106440000Y-127040000D03* 80 | D15* 81 | X107710000Y-124500000D03* 82 | X108980000Y-127040000D03* 83 | X110250000Y-124500000D03* 84 | X111520000Y-127040000D03* 85 | X112790000Y-124500000D03* 86 | X114060000Y-127040000D03* 87 | X115330000Y-124500000D03* 88 | %TD*% 89 | D16* 90 | %TO.C,J1*% 91 | X108790000Y-107520000D03* 92 | D17* 93 | X108790000Y-110020000D03* 94 | X111990000Y-110020000D03* 95 | X111990000Y-107520000D03* 96 | D18* 97 | X111500000Y-114790000D03* 98 | X111500000Y-102750000D03* 99 | %TD*% 100 | D19* 101 | %TO.C,NEO1*% 102 | X114000000Y-89000000D03* 103 | D20* 104 | X116000000Y-89000000D03* 105 | X118000000Y-89000000D03* 106 | %TD*% 107 | M02* 108 | -------------------------------------------------------------------------------- /Black Mage Eyes board/Black Mage Eyes-F_Mask.gbr: -------------------------------------------------------------------------------- 1 | %TF.GenerationSoftware,KiCad,Pcbnew,7.0.6*% 2 | %TF.CreationDate,2023-10-29T14:46:36-05:00*% 3 | %TF.ProjectId,Black Mage Eyes,426c6163-6b20-44d6-9167-652045796573,V01*% 4 | %TF.SameCoordinates,Original*% 5 | %TF.FileFunction,Soldermask,Top*% 6 | %TF.FilePolarity,Negative*% 7 | %FSLAX46Y46*% 8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 9 | G04 Created by KiCad (PCBNEW 7.0.6) date 2023-10-29 14:46:36* 10 | %MOMM*% 11 | %LPD*% 12 | G01* 13 | G04 APERTURE LIST* 14 | %ADD10C,1.600000*% 15 | %ADD11C,2.083600*% 16 | %ADD12O,1.600000X1.600000*% 17 | %ADD13C,3.200000*% 18 | %ADD14R,1.500000X1.500000*% 19 | %ADD15C,1.500000*% 20 | %ADD16R,1.400000X1.400000*% 21 | %ADD17C,1.400000*% 22 | %ADD18C,3.000000*% 23 | %ADD19R,1.350000X1.350000*% 24 | %ADD20O,1.350000X1.350000*% 25 | G04 APERTURE END LIST* 26 | D10* 27 | %TO.C,C1*% 28 | X105250000Y-90000000D03* 29 | X108750000Y-90000000D03* 30 | %TD*% 31 | D11* 32 | %TO.C,U2*% 33 | X117620000Y-53000000D03* 34 | X115080000Y-53000000D03* 35 | X112540000Y-53000000D03* 36 | X110000000Y-53000000D03* 37 | X107460000Y-53000000D03* 38 | X104920000Y-53000000D03* 39 | X115969000Y-66843000D03* 40 | X115969000Y-64303000D03* 41 | X115969000Y-77257000D03* 42 | X115969000Y-74717000D03* 43 | X118890000Y-55540000D03* 44 | X118890000Y-58080000D03* 45 | X118890000Y-60620000D03* 46 | X118890000Y-63160000D03* 47 | X118890000Y-65700000D03* 48 | X118890000Y-68240000D03* 49 | X118890000Y-70780000D03* 50 | X118890000Y-73320000D03* 51 | X118890000Y-75860000D03* 52 | X118890000Y-78400000D03* 53 | X118890000Y-80940000D03* 54 | X118890000Y-83480000D03* 55 | X103650000Y-83480000D03* 56 | X103650000Y-80940000D03* 57 | X103650000Y-78400000D03* 58 | X103650000Y-75860000D03* 59 | X103650000Y-73320000D03* 60 | X103650000Y-70780000D03* 61 | X103650000Y-68240000D03* 62 | X103650000Y-65700000D03* 63 | X103650000Y-63160000D03* 64 | X103650000Y-60620000D03* 65 | X103650000Y-58080000D03* 66 | X103650000Y-55540000D03* 67 | %TD*% 68 | D10* 69 | %TO.C,R1*% 70 | X119560000Y-93500000D03* 71 | D12* 72 | X111940000Y-93500000D03* 73 | %TD*% 74 | D13* 75 | %TO.C,J2*% 76 | X105170000Y-133390000D03* 77 | X116600000Y-133390000D03* 78 | D14* 79 | X106440000Y-127040000D03* 80 | D15* 81 | X107710000Y-124500000D03* 82 | X108980000Y-127040000D03* 83 | X110250000Y-124500000D03* 84 | X111520000Y-127040000D03* 85 | X112790000Y-124500000D03* 86 | X114060000Y-127040000D03* 87 | X115330000Y-124500000D03* 88 | %TD*% 89 | D16* 90 | %TO.C,J1*% 91 | X108790000Y-107520000D03* 92 | D17* 93 | X108790000Y-110020000D03* 94 | X111990000Y-110020000D03* 95 | X111990000Y-107520000D03* 96 | D18* 97 | X111500000Y-114790000D03* 98 | X111500000Y-102750000D03* 99 | %TD*% 100 | D19* 101 | %TO.C,NEO1*% 102 | X114000000Y-89000000D03* 103 | D20* 104 | X116000000Y-89000000D03* 105 | X118000000Y-89000000D03* 106 | %TD*% 107 | M02* 108 | -------------------------------------------------------------------------------- /Black Mage Eyes board/Black Mage Eyes-job.gbrjob: -------------------------------------------------------------------------------- 1 | { 2 | "Header": { 3 | "GenerationSoftware": { 4 | "Vendor": "KiCad", 5 | "Application": "Pcbnew", 6 | "Version": "7.0.6" 7 | }, 8 | "CreationDate": "2023-10-29T14:46:37-05:00" 9 | }, 10 | "GeneralSpecs": { 11 | "ProjectId": { 12 | "Name": "Black Mage Eyes", 13 | "GUID": "426c6163-6b20-44d6-9167-652045796573", 14 | "Revision": "V01" 15 | }, 16 | "Size": { 17 | "X": 23.1, 18 | "Y": 92.1 19 | }, 20 | "LayerNumber": 2, 21 | "BoardThickness": 1.6, 22 | "Finish": "None" 23 | }, 24 | "DesignRules": [ 25 | { 26 | "Layers": "Outer", 27 | "PadToPad": 0.2, 28 | "PadToTrack": 0.2, 29 | "TrackToTrack": 0.2, 30 | "MinLineWidth": 0.25 31 | } 32 | ], 33 | "FilesAttributes": [ 34 | { 35 | "Path": "Black Mage Eyes-F_Cu.gbr", 36 | "FileFunction": "Copper,L1,Top", 37 | "FilePolarity": "Positive" 38 | }, 39 | { 40 | "Path": "Black Mage Eyes-B_Cu.gbr", 41 | "FileFunction": "Copper,L2,Bot", 42 | "FilePolarity": "Positive" 43 | }, 44 | { 45 | "Path": "Black Mage Eyes-F_Paste.gbr", 46 | "FileFunction": "SolderPaste,Top", 47 | "FilePolarity": "Positive" 48 | }, 49 | { 50 | "Path": "Black Mage Eyes-B_Paste.gbr", 51 | "FileFunction": "SolderPaste,Bot", 52 | "FilePolarity": "Positive" 53 | }, 54 | { 55 | "Path": "Black Mage Eyes-F_Silkscreen.gbr", 56 | "FileFunction": "Legend,Top", 57 | "FilePolarity": "Positive" 58 | }, 59 | { 60 | "Path": "Black Mage Eyes-B_Silkscreen.gbr", 61 | "FileFunction": "Legend,Bot", 62 | "FilePolarity": "Positive" 63 | }, 64 | { 65 | "Path": "Black Mage Eyes-F_Mask.gbr", 66 | "FileFunction": "SolderMask,Top", 67 | "FilePolarity": "Negative" 68 | }, 69 | { 70 | "Path": "Black Mage Eyes-B_Mask.gbr", 71 | "FileFunction": "SolderMask,Bot", 72 | "FilePolarity": "Negative" 73 | }, 74 | { 75 | "Path": "Black Mage Eyes-Edge_Cuts.gbr", 76 | "FileFunction": "Profile", 77 | "FilePolarity": "Positive" 78 | } 79 | ], 80 | "MaterialStackup": [ 81 | { 82 | "Type": "Legend", 83 | "Name": "Top Silk Screen" 84 | }, 85 | { 86 | "Type": "SolderPaste", 87 | "Name": "Top Solder Paste" 88 | }, 89 | { 90 | "Type": "SolderMask", 91 | "Thickness": 0.01, 92 | "Name": "Top Solder Mask" 93 | }, 94 | { 95 | "Type": "Copper", 96 | "Thickness": 0.035, 97 | "Name": "F.Cu" 98 | }, 99 | { 100 | "Type": "Dielectric", 101 | "Thickness": 1.51, 102 | "Material": "FR4", 103 | "Name": "F.Cu/B.Cu", 104 | "Notes": "Type: dielectric layer 1 (from F.Cu to B.Cu)" 105 | }, 106 | { 107 | "Type": "Copper", 108 | "Thickness": 0.035, 109 | "Name": "B.Cu" 110 | }, 111 | { 112 | "Type": "SolderMask", 113 | "Thickness": 0.01, 114 | "Name": "Bottom Solder Mask" 115 | }, 116 | { 117 | "Type": "SolderPaste", 118 | "Name": "Bottom Solder Paste" 119 | }, 120 | { 121 | "Type": "Legend", 122 | "Name": "Bottom Silk Screen" 123 | } 124 | ] 125 | } 126 | -------------------------------------------------------------------------------- /Black Mage Eyes board/Black Mage Eyes-B_Cu.gbr: -------------------------------------------------------------------------------- 1 | %TF.GenerationSoftware,KiCad,Pcbnew,7.0.6*% 2 | %TF.CreationDate,2023-10-29T14:46:36-05:00*% 3 | %TF.ProjectId,Black Mage Eyes,426c6163-6b20-44d6-9167-652045796573,V01*% 4 | %TF.SameCoordinates,Original*% 5 | %TF.FileFunction,Copper,L2,Bot*% 6 | %TF.FilePolarity,Positive*% 7 | %FSLAX46Y46*% 8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 9 | G04 Created by KiCad (PCBNEW 7.0.6) date 2023-10-29 14:46:36* 10 | %MOMM*% 11 | %LPD*% 12 | G01* 13 | G04 APERTURE LIST* 14 | %TA.AperFunction,ComponentPad*% 15 | %ADD10C,1.600000*% 16 | %TD*% 17 | %TA.AperFunction,ComponentPad*% 18 | %ADD11C,1.879600*% 19 | %TD*% 20 | %TA.AperFunction,ComponentPad*% 21 | %ADD12O,1.600000X1.600000*% 22 | %TD*% 23 | %TA.AperFunction,ComponentPad*% 24 | %ADD13R,1.500000X1.500000*% 25 | %TD*% 26 | %TA.AperFunction,ComponentPad*% 27 | %ADD14C,1.500000*% 28 | %TD*% 29 | %TA.AperFunction,ComponentPad*% 30 | %ADD15R,1.400000X1.400000*% 31 | %TD*% 32 | %TA.AperFunction,ComponentPad*% 33 | %ADD16C,1.400000*% 34 | %TD*% 35 | %TA.AperFunction,ComponentPad*% 36 | %ADD17C,3.000000*% 37 | %TD*% 38 | %TA.AperFunction,ComponentPad*% 39 | %ADD18R,1.350000X1.350000*% 40 | %TD*% 41 | %TA.AperFunction,ComponentPad*% 42 | %ADD19O,1.350000X1.350000*% 43 | %TD*% 44 | %TA.AperFunction,Conductor*% 45 | %ADD20C,0.250000*% 46 | %TD*% 47 | %TA.AperFunction,Conductor*% 48 | %ADD21C,0.500000*% 49 | %TD*% 50 | %TA.AperFunction,Conductor*% 51 | %ADD22C,1.250000*% 52 | %TD*% 53 | G04 APERTURE END LIST* 54 | D10* 55 | %TO.P,C1,1*% 56 | %TO.N,Net-(NEO1-5V)*% 57 | X105250000Y-90000000D03* 58 | %TO.P,C1,2*% 59 | %TO.N,Net-(J1-VBUS)*% 60 | X108750000Y-90000000D03* 61 | %TD*% 62 | D11* 63 | %TO.P,U2,JP1_1,DTR*% 64 | %TO.N,unconnected-(U2-DTR-PadJP1_1)*% 65 | X117620000Y-53000000D03* 66 | %TO.P,U2,JP1_2,TXO*% 67 | %TO.N,unconnected-(U2-TXO-PadJP1_2)*% 68 | X115080000Y-53000000D03* 69 | %TO.P,U2,JP1_3,RXI*% 70 | %TO.N,unconnected-(U2-RXI-PadJP1_3)*% 71 | X112540000Y-53000000D03* 72 | %TO.P,U2,JP1_4,VCC*% 73 | %TO.N,unconnected-(U2-VCC-PadJP1_4)*% 74 | X110000000Y-53000000D03* 75 | %TO.P,U2,JP1_5,GND*% 76 | %TO.N,Net-(U2-GND-PadJP1_5)*% 77 | X107460000Y-53000000D03* 78 | %TO.P,U2,JP1_6,GND*% 79 | X104920000Y-53000000D03* 80 | %TO.P,U2,JP2_1,A4*% 81 | %TO.N,unconnected-(U2-A4-PadJP2_1)*% 82 | X115969000Y-66843000D03* 83 | %TO.P,U2,JP2_2,A5*% 84 | %TO.N,unconnected-(U2-A5-PadJP2_2)*% 85 | X115969000Y-64303000D03* 86 | %TO.P,U2,JP3_1,A6*% 87 | %TO.N,unconnected-(U2-A6-PadJP3_1)*% 88 | X115969000Y-77257000D03* 89 | %TO.P,U2,JP3_2,A7*% 90 | %TO.N,unconnected-(U2-A7-PadJP3_2)*% 91 | X115969000Y-74717000D03* 92 | %TO.P,U2,JP6_1,RAW*% 93 | %TO.N,Net-(J1-VBUS)*% 94 | X118890000Y-55540000D03* 95 | %TO.P,U2,JP6_2,GND_1*% 96 | %TO.N,Net-(J1-GND)*% 97 | X118890000Y-58080000D03* 98 | %TO.P,U2,JP6_3,RST_1*% 99 | %TO.N,unconnected-(U2-RST_1-PadJP6_3)*% 100 | X118890000Y-60620000D03* 101 | %TO.P,U2,JP6_4,VCC_1*% 102 | %TO.N,unconnected-(U2-VCC_1-PadJP6_4)*% 103 | X118890000Y-63160000D03* 104 | %TO.P,U2,JP6_5,A3*% 105 | %TO.N,unconnected-(U2-A3-PadJP6_5)*% 106 | X118890000Y-65700000D03* 107 | %TO.P,U2,JP6_6,A2*% 108 | %TO.N,unconnected-(U2-A2-PadJP6_6)*% 109 | X118890000Y-68240000D03* 110 | %TO.P,U2,JP6_7,A1*% 111 | %TO.N,unconnected-(U2-A1-PadJP6_7)*% 112 | X118890000Y-70780000D03* 113 | %TO.P,U2,JP6_8,A0*% 114 | %TO.N,unconnected-(U2-A0-PadJP6_8)*% 115 | X118890000Y-73320000D03* 116 | %TO.P,U2,JP6_9,SCK*% 117 | %TO.N,unconnected-(U2-SCK-PadJP6_9)*% 118 | X118890000Y-75860000D03* 119 | %TO.P,U2,JP6_10,MISO*% 120 | %TO.N,Net-(U2-MISO)*% 121 | X118890000Y-78400000D03* 122 | %TO.P,U2,JP6_11,MOSI*% 123 | %TO.N,Net-(U2-MOSI)*% 124 | X118890000Y-80940000D03* 125 | %TO.P,U2,JP6_12,D10*% 126 | %TO.N,Net-(U2-D10)*% 127 | X118890000Y-83480000D03* 128 | %TO.P,U2,JP7_1,D9*% 129 | %TO.N,Net-(U2-D9)*% 130 | X103650000Y-83480000D03* 131 | %TO.P,U2,JP7_2,D8*% 132 | %TO.N,Net-(U2-D8)*% 133 | X103650000Y-80940000D03* 134 | %TO.P,U2,JP7_3,D7*% 135 | %TO.N,Net-(U2-D7)*% 136 | X103650000Y-78400000D03* 137 | %TO.P,U2,JP7_4,D6*% 138 | %TO.N,Net-(U2-D6)*% 139 | X103650000Y-75860000D03* 140 | %TO.P,U2,JP7_5,D5*% 141 | %TO.N,unconnected-(U2-D5-PadJP7_5)*% 142 | X103650000Y-73320000D03* 143 | %TO.P,U2,JP7_6,D4*% 144 | %TO.N,unconnected-(U2-D4-PadJP7_6)*% 145 | X103650000Y-70780000D03* 146 | %TO.P,U2,JP7_7,D3*% 147 | %TO.N,unconnected-(U2-D3-PadJP7_7)*% 148 | X103650000Y-68240000D03* 149 | %TO.P,U2,JP7_8,D2*% 150 | %TO.N,unconnected-(U2-D2-PadJP7_8)*% 151 | X103650000Y-65700000D03* 152 | %TO.P,U2,JP7_9,GND_2*% 153 | %TO.N,unconnected-(U2-GND_2-PadJP7_9)*% 154 | X103650000Y-63160000D03* 155 | %TO.P,U2,JP7_10,RST_2*% 156 | %TO.N,unconnected-(U2-RST_2-PadJP7_10)*% 157 | X103650000Y-60620000D03* 158 | %TO.P,U2,JP7_11,RXI_2*% 159 | %TO.N,unconnected-(U2-RXI_2-PadJP7_11)*% 160 | X103650000Y-58080000D03* 161 | %TO.P,U2,JP7_12,TXO_2*% 162 | %TO.N,unconnected-(U2-TXO_2-PadJP7_12)*% 163 | X103650000Y-55540000D03* 164 | %TD*% 165 | D10* 166 | %TO.P,R1,1*% 167 | %TO.N,Net-(U2-D6)*% 168 | X119560000Y-93500000D03* 169 | D12* 170 | %TO.P,R1,2*% 171 | %TO.N,Net-(NEO1-Din)*% 172 | X111940000Y-93500000D03* 173 | %TD*% 174 | D13* 175 | %TO.P,J2,1*% 176 | %TO.N,unconnected-(J2-Pad1)*% 177 | X106440000Y-127040000D03* 178 | D14* 179 | %TO.P,J2,2*% 180 | %TO.N,Net-(J1-GND)*% 181 | X107710000Y-124500000D03* 182 | %TO.P,J2,3*% 183 | %TO.N,Net-(U2-D9)*% 184 | X108980000Y-127040000D03* 185 | %TO.P,J2,4*% 186 | %TO.N,Net-(U2-D10)*% 187 | X110250000Y-124500000D03* 188 | %TO.P,J2,5*% 189 | %TO.N,Net-(U2-D8)*% 190 | X111520000Y-127040000D03* 191 | %TO.P,J2,6*% 192 | %TO.N,Net-(U2-MOSI)*% 193 | X112790000Y-124500000D03* 194 | %TO.P,J2,7*% 195 | %TO.N,Net-(U2-D7)*% 196 | X114060000Y-127040000D03* 197 | %TO.P,J2,8*% 198 | %TO.N,Net-(U2-MISO)*% 199 | X115330000Y-124500000D03* 200 | %TD*% 201 | D15* 202 | %TO.P,J1,1,VBUS*% 203 | %TO.N,Net-(J1-VBUS)*% 204 | X108790000Y-107520000D03* 205 | D16* 206 | %TO.P,J1,2,D-*% 207 | %TO.N,unconnected-(J1-D--Pad2)*% 208 | X108790000Y-110020000D03* 209 | %TO.P,J1,3,D+*% 210 | %TO.N,unconnected-(J1-D+-Pad3)*% 211 | X111990000Y-110020000D03* 212 | %TO.P,J1,4,GND*% 213 | %TO.N,Net-(J1-GND)*% 214 | X111990000Y-107520000D03* 215 | D17* 216 | %TO.P,J1,5,Shield*% 217 | %TO.N,unconnected-(J1-Shield-Pad5)*% 218 | X111500000Y-114790000D03* 219 | X111500000Y-102750000D03* 220 | %TD*% 221 | D18* 222 | %TO.P,NEO1,1,GND*% 223 | %TO.N,Net-(J1-GND)*% 224 | X114000000Y-89000000D03* 225 | D19* 226 | %TO.P,NEO1,2,Din*% 227 | %TO.N,Net-(NEO1-Din)*% 228 | X116000000Y-89000000D03* 229 | %TO.P,NEO1,3,5V*% 230 | %TO.N,Net-(NEO1-5V)*% 231 | X118000000Y-89000000D03* 232 | %TD*% 233 | D20* 234 | %TO.N,unconnected-(J1-Shield-Pad5)*% 235 | X113015000Y-104265000D02* 236 | X111500000Y-102750000D01* 237 | X111500000Y-114790000D02* 238 | X113015000Y-113275000D01* 239 | X113015000Y-113275000D02* 240 | X113015000Y-104265000D01* 241 | D21* 242 | %TO.N,Net-(U2-D6)*% 243 | X120250000Y-92810000D02* 244 | X119560000Y-93500000D01* 245 | X120250000Y-88000000D02* 246 | X120250000Y-92810000D01* 247 | X109540000Y-81750000D02* 248 | X114000000Y-81750000D01* 249 | X103650000Y-75860000D02* 250 | X109540000Y-81750000D01* 251 | X114000000Y-81750000D02* 252 | X120250000Y-88000000D01* 253 | %TO.N,Net-(NEO1-Din)*% 254 | X116000000Y-90000000D02* 255 | X112500000Y-93500000D01* 256 | X112500000Y-93500000D02* 257 | X111940000Y-93500000D01* 258 | X116000000Y-89000000D02* 259 | X116000000Y-90000000D01* 260 | D22* 261 | %TO.N,Net-(NEO1-5V)*% 262 | X107500000Y-86000000D02* 263 | X116250000Y-86000000D01* 264 | X105250000Y-90000000D02* 265 | X105250000Y-88250000D01* 266 | X105250000Y-88250000D02* 267 | X107500000Y-86000000D01* 268 | X118000000Y-87750000D02* 269 | X118000000Y-89000000D01* 270 | X116250000Y-86000000D02* 271 | X118000000Y-87750000D01* 272 | %TD*% 273 | M02* 274 | -------------------------------------------------------------------------------- /Black Mage Eyes board/customfootprints.pretty/MODULE_ARDUINO_PRO_MINI.kicad_mod: -------------------------------------------------------------------------------- 1 | (footprint "MODULE_ARDUINO_PRO_MINI" (version 20221018) (generator pcbnew) 2 | (layer "F.Cu") 3 | (attr through_hole) 4 | (fp_text reference "REF**" (at -5.825 -17.635) (layer "F.SilkS") 5 | (effects (font (size 1 1) (thickness 0.15))) 6 | (tstamp 81eb24b8-f7e6-43fc-879c-d66a17a81b06) 7 | ) 8 | (fp_text value "MODULE_ARDUINO_PRO_MINI" (at 5.605 17.865) (layer "F.Fab") 9 | (effects (font (size 1 1) (thickness 0.15))) 10 | (tstamp d4dd1bae-95f7-4271-a831-8de083c04054) 11 | ) 12 | (fp_line (start -8.89 -16.51) (end -8.89 16.51) 13 | (stroke (width 0.127) (type solid)) (layer "F.SilkS") (tstamp 4847e49f-f1fc-4030-9480-7847d429ad59)) 14 | (fp_line (start -8.89 16.51) (end 8.89 16.51) 15 | (stroke (width 0.127) (type solid)) (layer "F.SilkS") (tstamp e340900c-b6c2-4ce5-812c-fd4e15cf3ff0)) 16 | (fp_line (start 8.89 -16.51) (end -8.89 -16.51) 17 | (stroke (width 0.127) (type solid)) (layer "F.SilkS") (tstamp b346f993-fc0d-4ae5-ab2d-4a8c3752c589)) 18 | (fp_line (start 8.89 16.51) (end 8.89 -16.51) 19 | (stroke (width 0.127) (type solid)) (layer "F.SilkS") (tstamp 4b741e65-ae78-42c1-be71-190117478209)) 20 | (fp_line (start -9.14 -16.76) (end 9.14 -16.76) 21 | (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f6babee7-6b1e-470a-b60d-56f40b9de366)) 22 | (fp_line (start -9.14 16.76) (end -9.14 -16.76) 23 | (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0a2b661d-8bae-44d1-9922-5262f54c619e)) 24 | (fp_line (start 9.14 -16.76) (end 9.14 16.76) 25 | (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 368737f0-33fc-42a3-8d8a-c8c190de82db)) 26 | (fp_line (start 9.14 16.76) (end -9.14 16.76) 27 | (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 3fc9371b-aeb4-4aa1-b1ec-38f9cf2b535f)) 28 | (fp_line (start -8.89 -16.51) (end -8.89 16.51) 29 | (stroke (width 0.127) (type solid)) (layer "F.Fab") (tstamp 814c0714-506b-46d0-838f-148fe2f55d52)) 30 | (fp_line (start -8.89 16.51) (end 8.89 16.51) 31 | (stroke (width 0.127) (type solid)) (layer "F.Fab") (tstamp cb8d7158-d8a9-4d14-bfd9-2f73a18ea731)) 32 | (fp_line (start 8.89 -16.51) (end -8.89 -16.51) 33 | (stroke (width 0.127) (type solid)) (layer "F.Fab") (tstamp a0741c9d-4fa4-4df8-89ad-6d829cb24a2d)) 34 | (fp_line (start 8.89 16.51) (end 8.89 -16.51) 35 | (stroke (width 0.127) (type solid)) (layer "F.Fab") (tstamp 8be05b4e-3b22-4763-987f-b6ec5a8d9360)) 36 | (pad "JP1_1" thru_hole circle (at 6.35 -15.24) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 37 | (solder_mask_margin 0.102) (tstamp 1ad07003-754b-4e3b-b27b-4e27695054f9)) 38 | (pad "JP1_2" thru_hole circle (at 3.81 -15.24) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 39 | (solder_mask_margin 0.102) (tstamp c772f634-7474-495c-8bf0-d4b355ff88b9)) 40 | (pad "JP1_3" thru_hole circle (at 1.27 -15.24) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 41 | (solder_mask_margin 0.102) (tstamp 1bd3d630-5a3d-4c99-864a-4e12513c1d9b)) 42 | (pad "JP1_4" thru_hole circle (at -1.27 -15.24) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 43 | (solder_mask_margin 0.102) (tstamp f6e3d9b8-273e-452a-ac9a-3cf684ef1e13)) 44 | (pad "JP1_5" thru_hole circle (at -3.81 -15.24) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 45 | (solder_mask_margin 0.102) (tstamp d4fd60a9-f197-4124-a1fd-82642dcae41f)) 46 | (pad "JP1_6" thru_hole circle (at -6.35 -15.24) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 47 | (solder_mask_margin 0.102) (tstamp 52280789-69df-41bf-926d-d2d1961c339c)) 48 | (pad "JP2_1" thru_hole circle (at 4.699 -1.397) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 49 | (solder_mask_margin 0.102) (tstamp c3178564-1f58-49e5-8e49-71b6aa93e4af)) 50 | (pad "JP2_2" thru_hole circle (at 4.699 -3.937) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 51 | (solder_mask_margin 0.102) (tstamp f48975e4-07c0-468a-ae2c-3394756f5409)) 52 | (pad "JP3_1" thru_hole circle (at 4.699 9.017) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 53 | (solder_mask_margin 0.102) (tstamp 6dd8578d-79ce-4411-9066-40c31c2ea1bb)) 54 | (pad "JP3_2" thru_hole circle (at 4.699 6.477) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 55 | (solder_mask_margin 0.102) (tstamp 8fd05c56-5129-4628-a4f9-5d6fcc169d2f)) 56 | (pad "JP6_1" thru_hole circle (at 7.62 -12.7) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 57 | (solder_mask_margin 0.102) (tstamp 70093f43-b0c5-47c8-95ab-982ffaa8b78b)) 58 | (pad "JP6_2" thru_hole circle (at 7.62 -10.16) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 59 | (solder_mask_margin 0.102) (tstamp 28667e9e-5e87-4bd9-9ddd-7c71bdb23460)) 60 | (pad "JP6_3" thru_hole circle (at 7.62 -7.62) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 61 | (solder_mask_margin 0.102) (tstamp 68c586c8-253f-4307-88b1-2a7a4dd813c7)) 62 | (pad "JP6_4" thru_hole circle (at 7.62 -5.08) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 63 | (solder_mask_margin 0.102) (tstamp 818cc2f7-6c67-45f8-9340-424d09cb6a3d)) 64 | (pad "JP6_5" thru_hole circle (at 7.62 -2.54) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 65 | (solder_mask_margin 0.102) (tstamp 8f83d507-4032-4ba2-8123-e9260fa24e2c)) 66 | (pad "JP6_6" thru_hole circle (at 7.62 0) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 67 | (solder_mask_margin 0.102) (tstamp 771e7516-5ef4-409e-806c-97219e4eecd0)) 68 | (pad "JP6_7" thru_hole circle (at 7.62 2.54) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 69 | (solder_mask_margin 0.102) (tstamp 0014bf1c-6e7b-4d98-955d-65fc42d64896)) 70 | (pad "JP6_8" thru_hole circle (at 7.62 5.08) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 71 | (solder_mask_margin 0.102) (tstamp e31705a4-1c14-43eb-962b-45eee2c21100)) 72 | (pad "JP6_9" thru_hole circle (at 7.62 7.62) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 73 | (solder_mask_margin 0.102) (tstamp b2ec94f8-ca6d-47cb-bd4e-ed65555a4466)) 74 | (pad "JP6_10" thru_hole circle (at 7.62 10.16) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 75 | (solder_mask_margin 0.102) (tstamp d147f41f-0437-4de5-8f17-f4d7c1024b8a)) 76 | (pad "JP6_11" thru_hole circle (at 7.62 12.7) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 77 | (solder_mask_margin 0.102) (tstamp a471e1eb-c273-4858-abd4-e5c4d0fa37f8)) 78 | (pad "JP6_12" thru_hole circle (at 7.62 15.24) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 79 | (solder_mask_margin 0.102) (tstamp 9c365714-bcf9-4df2-ac9a-9de6284cf32e)) 80 | (pad "JP7_1" thru_hole circle (at -7.62 15.24) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 81 | (solder_mask_margin 0.102) (tstamp a40c9e4a-8b00-40cb-a325-c2d47c77328f)) 82 | (pad "JP7_2" thru_hole circle (at -7.62 12.7) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 83 | (solder_mask_margin 0.102) (tstamp 5b077f0d-ff71-47f9-8267-3f6d2e07b4d4)) 84 | (pad "JP7_3" thru_hole circle (at -7.62 10.16) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 85 | (solder_mask_margin 0.102) (tstamp 1477819b-c92b-431e-a73e-e95060dc9253)) 86 | (pad "JP7_4" thru_hole circle (at -7.62 7.62) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 87 | (solder_mask_margin 0.102) (tstamp eeecf749-5fa2-4b35-86b9-5b855bd96fee)) 88 | (pad "JP7_5" thru_hole circle (at -7.62 5.08) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 89 | (solder_mask_margin 0.102) (tstamp 52881543-128a-46df-8bd0-0f4c76867433)) 90 | (pad "JP7_6" thru_hole circle (at -7.62 2.54) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 91 | (solder_mask_margin 0.102) (tstamp c3c4e1c3-6439-4b77-85ec-8053b31d56b8)) 92 | (pad "JP7_7" thru_hole circle (at -7.62 0) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 93 | (solder_mask_margin 0.102) (tstamp 9b6fa02e-3597-45ab-9a85-061df106a7f0)) 94 | (pad "JP7_8" thru_hole circle (at -7.62 -2.54) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 95 | (solder_mask_margin 0.102) (tstamp f49c102a-e384-4ecb-b0c4-98cc1c87de11)) 96 | (pad "JP7_9" thru_hole circle (at -7.62 -5.08) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 97 | (solder_mask_margin 0.102) (tstamp 60867485-018f-43fc-847f-23ac7d5aecb4)) 98 | (pad "JP7_10" thru_hole circle (at -7.62 -7.62) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 99 | (solder_mask_margin 0.102) (tstamp 9088ffbb-56a9-4c07-b361-b9924b6d4a32)) 100 | (pad "JP7_11" thru_hole circle (at -7.62 -10.16) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 101 | (solder_mask_margin 0.102) (tstamp 93671538-7e9d-41d6-997b-f810ba3f5d38)) 102 | (pad "JP7_12" thru_hole circle (at -7.62 -12.7) (size 1.8796 1.8796) (drill 1.016) (layers "*.Cu" "*.Mask") 103 | (solder_mask_margin 0.102) (tstamp 0b978477-0d6b-4c1d-8d99-edbcc4fae5ad)) 104 | ) 105 | -------------------------------------------------------------------------------- /Black Mage Eyes code/3dPrintedEyes.ino: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | //pins in use 4 | 5 | int leftpin = 3; 6 | int uppin = 4; 7 | int downpin = 5; 8 | int rightpin= 6; 9 | int toppin = 8; 10 | int botpin =7; 11 | 12 | //neopixel data pin and length 13 | int pixelPin = 14; 14 | int pixelLength = 114; 15 | 16 | 17 | //first pixel in left eye 18 | int lefteye = 1; 19 | //first pixel in right eye 20 | int righteye = 61; 21 | 22 | Adafruit_NeoPixel pixels = Adafruit_NeoPixel(pixelLength, pixelPin, NEO_GRB + NEO_KHZ800); 23 | 24 | 25 | //colors 26 | uint32_t eyecolor = pixels.Color(2,1,0); 27 | uint32_t angercolor = pixels.Color(3,0,0); 28 | uint32_t tearcolor = pixels.Color(0,0,3); 29 | uint32_t blushcolor = pixels.Color(5,1,1); 30 | uint32_t off = pixels.Color(0,0,0); 31 | 32 | //eye patterns 33 | //Since these arrays are created before compile time (thanks C++ -_-) we need to spell out exactly how many pixels we're going to change 34 | int normaleye[]={31,10,11,12,13,14,25,24,23,22,21,20,19,33,32,31,30,29,28,27,37,38,39,40,41,42,43,50,49,48,47,46}; 35 | 36 | int closedeye[]={5,48,40,30,22,12}; 37 | 38 | int happyeye[]={5,48,39,31,21,12}; 39 | 40 | int blushingeye[] = {18,14,13,12,19,20,21,22,33,32,31,30,37,38,39,40,50,49,48}; 41 | 42 | int eyeblush[] = {5,44,43,26,9,8}; 43 | 44 | int hearteye[] = {26,2,3,4,15,14,13,12,11,20,21,22,23,24,32,31,30,29,28,37,38,39,40,41,50,49,48}; 45 | 46 | int sleepyeye[]={23,49,48,47,46,39,40,41,42,43,31,30,29,28,27,21,22,23,24,25,13,12,11,10}; 47 | 48 | int surprisedeye[] ={24,1,2,3,4,5,6,9,25,27,43,46,47,48,49,50,51,36,34,18,16,31,21,30,22}; 49 | 50 | int slanteye[] = {31,0,1,2,3,4,5,6,9,10,11,12,13,14,15,20,21,22,23,24,25,31,30,29,28,27,40,41,42,43,47,46}; 51 | 52 | int teareye[] = {13,46,43,27,25,9,6,47,42,28,24,10,5,44}; 53 | 54 | int suspiciouseye[] = {14,14,13,12,20,21,22,32,31,30,38,39,40,49,48}; 55 | 56 | int raisedeye[] = {36,51,36,34,18,15,10,11,12,13,14,25,24,23,22,21,20,19,33,32,31,30,29,28,27,37,38,39,40,41,42,43,50,49,48,47,46}; 57 | 58 | int realangryeye[] = {29,0,1,2,3,4,5,6,15,14,13,12,11,10,9,20,21,22,23,24,25,31,30,29,28,27,40,41,42,47}; 59 | 60 | int squinteye[] = {7,19,32,39,48,41,28,25}; 61 | 62 | int deadeye[] = {9,37,32,21,14,1,41,30,12,5}; 63 | 64 | void blackout(){ 65 | for(int i=0;i