├── Hardware
├── Electrical
│ ├── LED Driver
│ │ ├── LED Driver - Schematic.pdf
│ │ ├── LED Driver-B_Mask.gbr
│ │ ├── LED Driver-B_Paste.gbr
│ │ ├── LED Driver-B_SilkS.gbr
│ │ ├── LED Driver-Bottom.gbr
│ │ ├── LED Driver-Edge_Cuts.gbr
│ │ ├── LED Driver-F_Mask.gbr
│ │ ├── LED Driver-F_Paste.gbr
│ │ ├── LED Driver-F_SilkS.gbr
│ │ ├── LED Driver-Top.gbr
│ │ ├── LED Driver-bottom-pos.csv
│ │ ├── LED Driver-top-pos.csv
│ │ ├── LED Driver.drl
│ │ ├── LED Driver.kicad_pcb
│ │ ├── LED Driver.pro
│ │ └── fp-info-cache
│ └── LED Harness
│ │ ├── GREEN
│ │ ├── LED_Harness_3x2_GREEN-B_Cu.gbr
│ │ ├── LED_Harness_3x2_GREEN-B_Mask.gbr
│ │ ├── LED_Harness_3x2_GREEN-B_Paste.gbr
│ │ ├── LED_Harness_3x2_GREEN-B_SilkS.gbr
│ │ ├── LED_Harness_3x2_GREEN-Edge_Cuts.gbr
│ │ ├── LED_Harness_3x2_GREEN-F_Cu.gbr
│ │ ├── LED_Harness_3x2_GREEN-F_Mask.gbr
│ │ ├── LED_Harness_3x2_GREEN-F_Paste.gbr
│ │ ├── LED_Harness_3x2_GREEN-F_SilkS.gbr
│ │ ├── LED_Harness_3x2_GREEN-bottom-pos.csv
│ │ ├── LED_Harness_3x2_GREEN-top-pos.csv
│ │ ├── LED_Harness_3x2_GREEN.drl
│ │ ├── LED_Harness_3x2_GREEN.kicad_pcb
│ │ └── _autosave-LED_Harness_3x2_GREEN.kicad_pcb
│ │ └── RED+BLUE
│ │ ├── LED_Harness_3x2_RED+BLUE-B_Cu.gbr
│ │ ├── LED_Harness_3x2_RED+BLUE-B_Mask.gbr
│ │ ├── LED_Harness_3x2_RED+BLUE-B_Paste.gbr
│ │ ├── LED_Harness_3x2_RED+BLUE-B_SilkS.gbr
│ │ ├── LED_Harness_3x2_RED+BLUE-Edge_Cuts.gbr
│ │ ├── LED_Harness_3x2_RED+BLUE-F_Cu.gbr
│ │ ├── LED_Harness_3x2_RED+BLUE-F_Mask.gbr
│ │ ├── LED_Harness_3x2_RED+BLUE-F_Paste.gbr
│ │ ├── LED_Harness_3x2_RED+BLUE-F_SilkS.gbr
│ │ ├── LED_Harness_3x2_RED+BLUE-bottom-pos.csv
│ │ ├── LED_Harness_3x2_RED+BLUE-top-pos.csv
│ │ ├── LED_Harness_3x2_RED+BLUE.drl
│ │ └── LED_Harness_3x2_RED+BLUE.kicad_pcb
├── GelSlim Hardware Quick Start Tutorial.pdf
├── GelSlim Quick Start Tutorial-Updated.pdf
├── Mechanical
│ ├── Elastomer
│ │ ├── 92095A216_BUTTON HEAD HEX DRIVE SCREW.step
│ │ ├── 94545A225_18-8 SS WING NUTS.step
│ │ ├── cutting_template.step
│ │ ├── mold_back.step
│ │ └── mold_front.step
│ ├── Fasteners
│ │ ├── 6659K650_OIL-EMBEDDED FLANGED SLEEVE BEARING.step
│ │ ├── 91698A204_METRIC 18-8 SS FLAT HEAD PHIL MACHINE SCREW.step
│ │ ├── 94180A307_HEAT-SET INSERTS FOR PLASTICS.step
│ │ └── McMasterCarr_Order.PNG
│ ├── Finger
│ │ ├── Robtiq 2F-85
│ │ │ ├── STEP
│ │ │ │ ├── finger_back.step
│ │ │ │ ├── finger_body.step
│ │ │ │ └── finger_tip.step
│ │ │ └── STL
│ │ │ │ ├── finger_back.stl
│ │ │ │ ├── finger_body.stl
│ │ │ │ └── finger_tip.stl
│ │ └── Weiss WSG-32
│ │ │ ├── STEP
│ │ │ ├── finger_back.step
│ │ │ ├── finger_body.step
│ │ │ └── finger_tip.step
│ │ │ └── STL
│ │ │ ├── finger_back.stl
│ │ │ ├── finger_body.stl
│ │ │ └── finger_tip.stl
│ ├── Shaping Lens
│ │ └── shaping_lens.step
│ └── exploded_assembly.step
└── README.md
├── LICENSE
├── Ordering
├── LED_Driver_DigiKey_Quote.csv
├── LED_Driver_Digikey_Quote.pdf
├── LED_Harness_Mouser_Quote.csv
└── LED_Harness_Mouser_Quote.pdf
├── README.md
├── Simulation and Optimization
├── Results
│ └── README.txt
└── Settings
│ └── README.txt
├── Software
├── GUI
│ ├── GelSlim
│ │ ├── GelSlim.sh
│ │ ├── ROS.sh
│ │ ├── abe_corr.npz
│ │ ├── calibration.py
│ │ ├── calibration.pyc
│ │ ├── camera.sh
│ │ ├── depth_realtime.py
│ │ ├── fast_poisson.py
│ │ ├── fast_poisson.pyc
│ │ ├── gelsight_show_image.py
│ │ ├── gui.py
│ │ ├── gui.pyc
│ │ ├── img_processor.py
│ │ ├── load
│ │ │ ├── arp_cache.txt
│ │ │ ├── count_map.npy
│ │ │ ├── count_map_3.npy
│ │ │ ├── raspberry_new.launch
│ │ │ ├── suction_env.sh
│ │ │ ├── table_3.npy
│ │ │ └── table_3_smooth.npy
│ │ ├── raspi_connect.sh
│ │ ├── reboot.sh
│ │ ├── recon_jpg.py
│ │ ├── reconfigure.sh
│ │ ├── reconstruction
│ │ │ ├── images
│ │ │ │ ├── reconstruct_0.jpg
│ │ │ │ ├── reconstruct_1.jpg
│ │ │ │ ├── reconstruct_10.jpg
│ │ │ │ ├── reconstruct_2.jpg
│ │ │ │ ├── reconstruct_3.jpg
│ │ │ │ ├── reconstruct_5.jpg
│ │ │ │ ├── reconstruct_6.jpg
│ │ │ │ ├── reconstruct_7.jpg
│ │ │ │ ├── reconstruct_8.jpg
│ │ │ │ ├── reconstruct_9.jpg
│ │ │ │ ├── sample.zip
│ │ │ │ └── updated_reconstruction.zip
│ │ │ └── plots
│ │ │ │ ├── Figure_1-1.png
│ │ │ │ ├── Figure_1.png
│ │ │ │ ├── sample_plot.png
│ │ │ │ └── sample_realtime_depth.mp4
│ │ ├── slip_detector_both.py
│ │ ├── test_data
│ │ │ ├── ref.jpg
│ │ │ ├── sample.zip
│ │ │ ├── sample_10.jpg
│ │ │ ├── sample_13.jpg
│ │ │ ├── sample_14.jpg
│ │ │ ├── sample_15.jpg
│ │ │ ├── sample_17.jpg
│ │ │ ├── sample_18.jpg
│ │ │ ├── sample_19.jpg
│ │ │ ├── sample_20.jpg
│ │ │ ├── sample_21.jpg
│ │ │ ├── sample_22.jpg
│ │ │ ├── sample_23.jpg
│ │ │ ├── sample_25.jpg
│ │ │ ├── sample_26.jpg
│ │ │ ├── sample_27.jpg
│ │ │ ├── sample_28.jpg
│ │ │ ├── sample_29.jpg
│ │ │ ├── sample_3.jpg
│ │ │ ├── sample_30.jpg
│ │ │ ├── sample_31.jpg
│ │ │ ├── sample_32.jpg
│ │ │ ├── sample_33.jpg
│ │ │ ├── sample_35.jpg
│ │ │ ├── sample_37.jpg
│ │ │ ├── sample_38.jpg
│ │ │ ├── sample_39.jpg
│ │ │ ├── sample_4.jpg
│ │ │ ├── sample_40.jpg
│ │ │ ├── sample_41.jpg
│ │ │ ├── sample_42.jpg
│ │ │ ├── sample_43.jpg
│ │ │ ├── sample_44.jpg
│ │ │ ├── sample_46.jpg
│ │ │ ├── sample_48.jpg
│ │ │ ├── sample_49.jpg
│ │ │ ├── sample_5.jpg
│ │ │ ├── sample_6.jpg
│ │ │ ├── sample_7.jpg
│ │ │ ├── sample_8.jpg
│ │ │ ├── sample_9.jpg
│ │ │ └── updated_calib.zip
│ │ └── test_poisson.py
│ └── README.md
├── README.txt
└── Raspberry Pi
│ └── README.txt
├── _layouts
└── default.html
├── docs
├── extrinsic.mp4
├── gelslim.mp4
├── gelslim1.PNG
├── gelslim2.png
├── index.html
├── logo.png
└── style.css
└── src
└── images
├── alcohol.JPG
├── body_1.JPG
├── calibration.png
├── cover_plate.JPG
├── electrical
├── camera.JPG
├── connectors_and_adapters.JPG
├── led_driver.JPG
└── led_harness.JPG
├── flex_pcb.JPG
├── hot_plate.JPG
├── knife.JPG
├── mechanical
├── body.JPG
├── elastomer.JPG
├── fasteners.JPG
└── shaping_lens.JPG
├── more_details
├── contributing.jpg
├── electronics.jpg
├── hot_plate.JPG
├── known_issues.jpg
├── known_issues.png
├── mechanical-01.jpg
├── mechanical.jpg
└── screwdrivers.JPG
├── pop_primer.JPG
├── psilpoxy.JPG
├── screwdrivers.JPG
├── software
├── calibration.jpg
├── calibration.png
├── calibration.svg
├── dependencies.jpg
├── dependencies.png
├── gui.jpg
├── gui.png
├── raspberrypi_pcb.jpg
├── raspberrypi_pcb.png
└── raspberrypi_pcb.svg
├── solder_paste.JPG
├── step_by_step
├── 3d_printing.jpg
├── 3d_printing.png
├── 3d_printing.svg
├── assembly.JPG
├── elastomer_fabrication.JPG
└── pcb.JPG
└── tweezers.JPG
/Hardware/Electrical/LED Driver/LED Driver - Schematic.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Hardware/Electrical/LED Driver/LED Driver - Schematic.pdf
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Driver/LED Driver-B_Mask.gbr:
--------------------------------------------------------------------------------
1 | G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3*
2 | G04 #@! TF.CreationDate,2021-03-15T13:52:55-04:00*
3 | G04 #@! TF.ProjectId,GelSight-Micro HDMI V2.3-INTERIM,47656c53-6967-4687-942d-4d6963726f20,rev?*
4 | G04 #@! TF.SameCoordinates,Original*
5 | G04 #@! TF.FileFunction,Soldermask,Bot*
6 | G04 #@! TF.FilePolarity,Negative*
7 | %FSLAX46Y46*%
8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
9 | G04 Created by KiCad (PCBNEW (5.1.5)-3) date 2021-03-15 13:52:55*
10 | %MOMM*%
11 | %LPD*%
12 | G04 APERTURE LIST*
13 | %ADD10C,0.601600*%
14 | %ADD11O,1.901600X1.001600*%
15 | G04 APERTURE END LIST*
16 | D10*
17 | X165455600Y-88053600D03*
18 | X165455600Y-81453600D03*
19 | D11*
20 | X165455600Y-88053600D03*
21 | X165455600Y-81453600D03*
22 | M02*
23 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Driver/LED Driver-B_Paste.gbr:
--------------------------------------------------------------------------------
1 | G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3*
2 | G04 #@! TF.CreationDate,2021-03-15T13:52:55-04:00*
3 | G04 #@! TF.ProjectId,GelSight-Micro HDMI V2.3-INTERIM,47656c53-6967-4687-942d-4d6963726f20,rev?*
4 | G04 #@! TF.SameCoordinates,Original*
5 | G04 #@! TF.FileFunction,Paste,Bot*
6 | G04 #@! TF.FilePolarity,Positive*
7 | %FSLAX46Y46*%
8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
9 | G04 Created by KiCad (PCBNEW (5.1.5)-3) date 2021-03-15 13:52:55*
10 | %MOMM*%
11 | %LPD*%
12 | G04 APERTURE LIST*
13 | G04 APERTURE END LIST*
14 | M02*
15 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Driver/LED Driver-B_SilkS.gbr:
--------------------------------------------------------------------------------
1 | G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3*
2 | G04 #@! TF.CreationDate,2021-03-15T13:52:55-04:00*
3 | G04 #@! TF.ProjectId,GelSight-Micro HDMI V2.3-INTERIM,47656c53-6967-4687-942d-4d6963726f20,rev?*
4 | G04 #@! TF.SameCoordinates,Original*
5 | G04 #@! TF.FileFunction,Legend,Bot*
6 | G04 #@! TF.FilePolarity,Positive*
7 | %FSLAX46Y46*%
8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
9 | G04 Created by KiCad (PCBNEW (5.1.5)-3) date 2021-03-15 13:52:55*
10 | %MOMM*%
11 | %LPD*%
12 | G04 APERTURE LIST*
13 | G04 APERTURE END LIST*
14 | M02*
15 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Driver/LED Driver-Bottom.gbr:
--------------------------------------------------------------------------------
1 | G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3*
2 | G04 #@! TF.CreationDate,2021-03-15T13:52:55-04:00*
3 | G04 #@! TF.ProjectId,GelSight-Micro HDMI V2.3-INTERIM,47656c53-6967-4687-942d-4d6963726f20,rev?*
4 | G04 #@! TF.SameCoordinates,Original*
5 | G04 #@! TF.FileFunction,Copper,L2,Bot*
6 | G04 #@! TF.FilePolarity,Positive*
7 | %FSLAX46Y46*%
8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
9 | G04 Created by KiCad (PCBNEW (5.1.5)-3) date 2021-03-15 13:52:55*
10 | %MOMM*%
11 | %LPD*%
12 | G04 APERTURE LIST*
13 | %ADD10O,1.800000X0.900000*%
14 | G04 APERTURE END LIST*
15 | D10*
16 | X165455600Y-88053600D03*
17 | X165455600Y-81453600D03*
18 | M02*
19 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Driver/LED Driver-Edge_Cuts.gbr:
--------------------------------------------------------------------------------
1 | G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3*
2 | G04 #@! TF.CreationDate,2021-03-15T13:52:55-04:00*
3 | G04 #@! TF.ProjectId,GelSight-Micro HDMI V2.3-INTERIM,47656c53-6967-4687-942d-4d6963726f20,rev?*
4 | G04 #@! TF.SameCoordinates,Original*
5 | G04 #@! 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 (5.1.5)-3) date 2021-03-15 13:52:55*
9 | %MOMM*%
10 | %LPD*%
11 | G04 APERTURE LIST*
12 | %ADD10C,0.100000*%
13 | G04 APERTURE END LIST*
14 | D10*
15 | X134735000Y-106735000D02*
16 | X165265000Y-106735000D01*
17 | X165265000Y-106735000D02*
18 | X165265000Y-89514996D01*
19 | X165265000Y-89514996D02*
20 | X167655000Y-89514996D01*
21 | X167655000Y-89514996D02*
22 | X167655000Y-80015000D01*
23 | X167655000Y-80014999D02*
24 | X132345046Y-80015000D01*
25 | X132345046Y-80015000D02*
26 | X132345046Y-88514999D01*
27 | X132345046Y-88514999D02*
28 | X134735000Y-88514999D01*
29 | X134735000Y-88514999D02*
30 | X134735000Y-106735000D01*
31 | M02*
32 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Driver/LED Driver-F_Mask.gbr:
--------------------------------------------------------------------------------
1 | G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3*
2 | G04 #@! TF.CreationDate,2021-03-15T13:52:55-04:00*
3 | G04 #@! TF.ProjectId,GelSight-Micro HDMI V2.3-INTERIM,47656c53-6967-4687-942d-4d6963726f20,rev?*
4 | G04 #@! TF.SameCoordinates,Original*
5 | G04 #@! TF.FileFunction,Soldermask,Top*
6 | G04 #@! TF.FilePolarity,Negative*
7 | %FSLAX46Y46*%
8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
9 | G04 Created by KiCad (PCBNEW (5.1.5)-3) date 2021-03-15 13:52:55*
10 | %MOMM*%
11 | %LPD*%
12 | G04 APERTURE LIST*
13 | %ADD10R,0.401600X1.101600*%
14 | %ADD11R,0.401600X0.801600*%
15 | %ADD12R,1.451600X0.501600*%
16 | %ADD13R,1.501600X1.701600*%
17 | %ADD14R,2.001600X2.001600*%
18 | %ADD15C,0.601600*%
19 | %ADD16O,1.901600X1.001600*%
20 | %ADD17R,3.521600X1.341600*%
21 | %ADD18R,3.421600X1.341600*%
22 | G04 APERTURE END LIST*
23 | D10*
24 | X146256500Y-93755600D03*
25 | X143176500Y-93755600D03*
26 | D11*
27 | X145466500Y-91105600D03*
28 | X144966500Y-91105600D03*
29 | X144466500Y-91105600D03*
30 | X143966500Y-91105600D03*
31 | D10*
32 | X152276300Y-93755600D03*
33 | X149196300Y-93755600D03*
34 | D11*
35 | X151486300Y-91105600D03*
36 | X150986300Y-91105600D03*
37 | X150486300Y-91105600D03*
38 | X149986300Y-91105600D03*
39 | D10*
40 | X158296100Y-93755600D03*
41 | X155216100Y-93755600D03*
42 | D11*
43 | X157506100Y-91105600D03*
44 | X157006100Y-91105600D03*
45 | X156506100Y-91105600D03*
46 | X156006100Y-91105600D03*
47 | D12*
48 | X162780600Y-86053600D03*
49 | X162780600Y-85403600D03*
50 | X162780600Y-84753600D03*
51 | X162780600Y-84103600D03*
52 | X162780600Y-83453600D03*
53 | D13*
54 | X163005600Y-87953600D03*
55 | X163005600Y-81553600D03*
56 | D14*
57 | X165455600Y-85953600D03*
58 | X165455600Y-83553600D03*
59 | D15*
60 | X165455600Y-88053600D03*
61 | X165455600Y-81453600D03*
62 | D16*
63 | X165455600Y-88053600D03*
64 | X165455600Y-81453600D03*
65 | D17*
66 | X157124400Y-81977800D03*
67 | X157124400Y-88057800D03*
68 | X144126375Y-88057800D03*
69 | X144126375Y-81977800D03*
70 | D18*
71 | X148443050Y-88057800D03*
72 | X148443050Y-82077800D03*
73 | D17*
74 | X152759725Y-88057800D03*
75 | X152759725Y-81977800D03*
76 | M02*
77 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Driver/LED Driver-F_Paste.gbr:
--------------------------------------------------------------------------------
1 | G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3*
2 | G04 #@! TF.CreationDate,2021-03-15T13:52:55-04:00*
3 | G04 #@! TF.ProjectId,GelSight-Micro HDMI V2.3-INTERIM,47656c53-6967-4687-942d-4d6963726f20,rev?*
4 | G04 #@! TF.SameCoordinates,Original*
5 | G04 #@! TF.FileFunction,Paste,Top*
6 | G04 #@! TF.FilePolarity,Positive*
7 | %FSLAX46Y46*%
8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
9 | G04 Created by KiCad (PCBNEW (5.1.5)-3) date 2021-03-15 13:52:55*
10 | %MOMM*%
11 | %LPD*%
12 | G04 APERTURE LIST*
13 | %ADD10R,0.300000X1.000000*%
14 | %ADD11R,0.300000X0.700000*%
15 | %ADD12R,1.350000X0.400000*%
16 | %ADD13R,1.400000X1.600000*%
17 | %ADD14R,1.900000X1.900000*%
18 | %ADD15R,3.420000X1.240000*%
19 | %ADD16R,3.320000X1.240000*%
20 | G04 APERTURE END LIST*
21 | D10*
22 | X146256500Y-93755600D03*
23 | X143176500Y-93755600D03*
24 | D11*
25 | X145466500Y-91105600D03*
26 | X144966500Y-91105600D03*
27 | X144466500Y-91105600D03*
28 | X143966500Y-91105600D03*
29 | D10*
30 | X152276300Y-93755600D03*
31 | X149196300Y-93755600D03*
32 | D11*
33 | X151486300Y-91105600D03*
34 | X150986300Y-91105600D03*
35 | X150486300Y-91105600D03*
36 | X149986300Y-91105600D03*
37 | D10*
38 | X158296100Y-93755600D03*
39 | X155216100Y-93755600D03*
40 | D11*
41 | X157506100Y-91105600D03*
42 | X157006100Y-91105600D03*
43 | X156506100Y-91105600D03*
44 | X156006100Y-91105600D03*
45 | D12*
46 | X162780600Y-86053600D03*
47 | X162780600Y-85403600D03*
48 | X162780600Y-84753600D03*
49 | X162780600Y-84103600D03*
50 | X162780600Y-83453600D03*
51 | D13*
52 | X163005600Y-87953600D03*
53 | X163005600Y-81553600D03*
54 | D14*
55 | X165455600Y-85953600D03*
56 | X165455600Y-83553600D03*
57 | D15*
58 | X157124400Y-81977800D03*
59 | X157124400Y-88057800D03*
60 | X144126375Y-88057800D03*
61 | X144126375Y-81977800D03*
62 | D16*
63 | X148443050Y-88057800D03*
64 | X148443050Y-82077800D03*
65 | D15*
66 | X152759725Y-88057800D03*
67 | X152759725Y-81977800D03*
68 | M02*
69 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Driver/LED Driver-Top.gbr:
--------------------------------------------------------------------------------
1 | G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3*
2 | G04 #@! TF.CreationDate,2021-03-15T13:52:55-04:00*
3 | G04 #@! TF.ProjectId,GelSight-Micro HDMI V2.3-INTERIM,47656c53-6967-4687-942d-4d6963726f20,rev?*
4 | G04 #@! TF.SameCoordinates,Original*
5 | G04 #@! TF.FileFunction,Copper,L1,Top*
6 | G04 #@! TF.FilePolarity,Positive*
7 | %FSLAX46Y46*%
8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
9 | G04 Created by KiCad (PCBNEW (5.1.5)-3) date 2021-03-15 13:52:55*
10 | %MOMM*%
11 | %LPD*%
12 | G04 APERTURE LIST*
13 | %ADD10R,0.300000X1.000000*%
14 | %ADD11R,0.300000X0.700000*%
15 | %ADD12R,1.350000X0.400000*%
16 | %ADD13R,1.400000X1.600000*%
17 | %ADD14R,1.900000X1.900000*%
18 | %ADD15O,1.800000X0.900000*%
19 | %ADD16R,3.420000X1.240000*%
20 | %ADD17R,3.320000X1.240000*%
21 | %ADD18C,0.152400*%
22 | G04 APERTURE END LIST*
23 | D10*
24 | X146256500Y-93755600D03*
25 | X143176500Y-93755600D03*
26 | D11*
27 | X145466500Y-91105600D03*
28 | X144966500Y-91105600D03*
29 | X144466500Y-91105600D03*
30 | X143966500Y-91105600D03*
31 | D10*
32 | X152276300Y-93755600D03*
33 | X149196300Y-93755600D03*
34 | D11*
35 | X151486300Y-91105600D03*
36 | X150986300Y-91105600D03*
37 | X150486300Y-91105600D03*
38 | X149986300Y-91105600D03*
39 | D10*
40 | X158296100Y-93755600D03*
41 | X155216100Y-93755600D03*
42 | D11*
43 | X157506100Y-91105600D03*
44 | X157006100Y-91105600D03*
45 | X156506100Y-91105600D03*
46 | X156006100Y-91105600D03*
47 | D12*
48 | X162780600Y-86053600D03*
49 | X162780600Y-85403600D03*
50 | X162780600Y-84753600D03*
51 | X162780600Y-84103600D03*
52 | X162780600Y-83453600D03*
53 | D13*
54 | X163005600Y-87953600D03*
55 | X163005600Y-81553600D03*
56 | D14*
57 | X165455600Y-85953600D03*
58 | X165455600Y-83553600D03*
59 | D15*
60 | X165455600Y-88053600D03*
61 | X165455600Y-81453600D03*
62 | D16*
63 | X157124400Y-81977800D03*
64 | X157124400Y-88057800D03*
65 | X144126375Y-88057800D03*
66 | X144126375Y-81977800D03*
67 | D17*
68 | X148443050Y-88057800D03*
69 | X148443050Y-82077800D03*
70 | D16*
71 | X152759725Y-88057800D03*
72 | X152759725Y-81977800D03*
73 | D18*
74 | X145988775Y-88057800D02*
75 | X148443050Y-88057800D01*
76 | X144126375Y-88057800D02*
77 | X145988775Y-88057800D01*
78 | X152759725Y-88057800D02*
79 | X148443050Y-88057800D01*
80 | X155262000Y-88057800D02*
81 | X152759725Y-88057800D01*
82 | X157124400Y-88057800D02*
83 | X155262000Y-88057800D01*
84 | X162305600Y-86053600D02*
85 | X162780600Y-86053600D01*
86 | X162122719Y-88982201D02*
87 | X161953200Y-88812682D01*
88 | X161953200Y-86406000D02*
89 | X162305600Y-86053600D01*
90 | X165936698Y-88982201D02*
91 | X162122719Y-88982201D01*
92 | X166634201Y-88284698D02*
93 | X165936698Y-88982201D01*
94 | X161953200Y-88812682D02*
95 | X161953200Y-86406000D01*
96 | X165936698Y-80524999D02*
97 | X166634201Y-81222502D01*
98 | X166634201Y-81222502D02*
99 | X166634201Y-88284698D01*
100 | X157804801Y-80524999D02*
101 | X165936698Y-80524999D01*
102 | X157124400Y-81205400D02*
103 | X157804801Y-80524999D01*
104 | X157124400Y-81977800D02*
105 | X157124400Y-81205400D01*
106 | X157506100Y-91105600D02*
107 | X157006100Y-91105600D01*
108 | X151486300Y-91105600D02*
109 | X150986300Y-91105600D01*
110 | X145466500Y-91105600D02*
111 | X144966500Y-91105600D01*
112 | X151486300Y-91608000D02*
113 | X151486300Y-91105600D01*
114 | X151562501Y-91684201D02*
115 | X151486300Y-91608000D01*
116 | X157506100Y-91608000D02*
117 | X157429899Y-91684201D01*
118 | X157429899Y-91684201D02*
119 | X151562501Y-91684201D01*
120 | X157506100Y-91105600D02*
121 | X157506100Y-91608000D01*
122 | X159367810Y-89546290D02*
123 | X157808500Y-91105600D01*
124 | X157808500Y-91105600D02*
125 | X157506100Y-91105600D01*
126 | X159367810Y-86038990D02*
127 | X159367810Y-89546290D01*
128 | X161953200Y-83453600D02*
129 | X159367810Y-86038990D01*
130 | X162780600Y-83453600D02*
131 | X161953200Y-83453600D01*
132 | X150986300Y-90603200D02*
133 | X150986300Y-91105600D01*
134 | X146347501Y-90526999D02*
135 | X150910099Y-90526999D01*
136 | X145768900Y-91105600D02*
137 | X146347501Y-90526999D01*
138 | X150910099Y-90526999D02*
139 | X150986300Y-90603200D01*
140 | X145466500Y-91105600D02*
141 | X145768900Y-91105600D01*
142 | X144466500Y-91105600D02*
143 | X143857100Y-91105600D01*
144 | X142187774Y-89629274D02*
145 | X143664100Y-91105600D01*
146 | X142187774Y-84688801D02*
147 | X142187774Y-89629274D01*
148 | X144126375Y-82750200D02*
149 | X142187774Y-84688801D01*
150 | X143664100Y-91105600D02*
151 | X143966500Y-91105600D01*
152 | X144126375Y-81977800D02*
153 | X144126375Y-82750200D01*
154 | X148443050Y-82077800D02*
155 | X149483050Y-82077800D01*
156 | X156506100Y-91105600D02*
157 | X156006100Y-91105600D01*
158 | X156006100Y-90603200D02*
159 | X156006100Y-91105600D01*
160 | X156082301Y-90526999D02*
161 | X156006100Y-90603200D01*
162 | X159063001Y-88860681D02*
163 | X157396683Y-90526999D01*
164 | X159063001Y-87254919D02*
165 | X159063001Y-88860681D01*
166 | X159017281Y-87209199D02*
167 | X159063001Y-87254919D01*
168 | X152802049Y-87209199D02*
169 | X159017281Y-87209199D01*
170 | X157396683Y-90526999D02*
171 | X156082301Y-90526999D01*
172 | X148443050Y-82850200D02*
173 | X152802049Y-87209199D01*
174 | X148443050Y-82077800D02*
175 | X148443050Y-82850200D01*
176 | X150486300Y-91105600D02*
177 | X149986300Y-91105600D01*
178 | X150486300Y-91608000D02*
179 | X150486300Y-91105600D01*
180 | X150410099Y-91684201D02*
181 | X150486300Y-91608000D01*
182 | X141882965Y-89933547D02*
183 | X143633619Y-91684201D01*
184 | X142462103Y-80900590D02*
185 | X141882965Y-81479728D01*
186 | X145790647Y-80900590D02*
187 | X142462103Y-80900590D01*
188 | X146554449Y-81664392D02*
189 | X145790647Y-80900590D01*
190 | X150897325Y-81205400D02*
191 | X146623968Y-81205400D01*
192 | X146554449Y-81274919D02*
193 | X146554449Y-81664392D01*
194 | X151669725Y-81977800D02*
195 | X150897325Y-81205400D01*
196 | X141882965Y-81479728D02*
197 | X141882965Y-89933547D01*
198 | X146623968Y-81205400D02*
199 | X146554449Y-81274919D01*
200 | X152759725Y-81977800D02*
201 | X151669725Y-81977800D01*
202 | X143633619Y-91684201D02*
203 | X150410099Y-91684201D01*
204 | X143176500Y-93755600D02*
205 | X146256500Y-93755600D01*
206 | X155518500Y-93755600D02*
207 | X158296100Y-93755600D01*
208 | X155216100Y-93755600D02*
209 | X155518500Y-93755600D01*
210 | X149196300Y-93755600D02*
211 | X152276300Y-93755600D01*
212 | X164976343Y-88053600D02*
213 | X164976343Y-88030496D01*
214 | X164976343Y-81453600D02*
215 | X164976343Y-81430418D01*
216 | X163958000Y-81453600D02*
217 | X164976343Y-81453600D01*
218 | X163005600Y-81553600D02*
219 | X163858000Y-81553600D01*
220 | X163858000Y-81553600D02*
221 | X163958000Y-81453600D01*
222 | X165455600Y-84851200D02*
223 | X165455600Y-83553600D01*
224 | X165455600Y-85953600D02*
225 | X165455600Y-84851200D01*
226 | X164353200Y-83553600D02*
227 | X165455600Y-83553600D01*
228 | X163958000Y-83158400D02*
229 | X164353200Y-83553600D01*
230 | X163958000Y-81453600D02*
231 | X163958000Y-83158400D01*
232 | X164353200Y-85953600D02*
233 | X165455600Y-85953600D01*
234 | X163958000Y-86348800D02*
235 | X164353200Y-85953600D01*
236 | X163005600Y-87953600D02*
237 | X163858000Y-87953600D01*
238 | X163958000Y-88053600D02*
239 | X163958000Y-86348800D01*
240 | X163858000Y-87953600D02*
241 | X163958000Y-88053600D01*
242 | X163958000Y-88053600D02*
243 | X164976343Y-88053600D01*
244 | M02*
245 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Driver/LED Driver-bottom-pos.csv:
--------------------------------------------------------------------------------
1 | Ref,Val,Package,PosX,PosY,Rot,Side
2 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Driver/LED Driver-top-pos.csv:
--------------------------------------------------------------------------------
1 | Ref,Val,Package,PosX,PosY,Rot,Side
2 | " ","ERJ-1TNF43R2U","RESC6432X70N",157.124400,-85.017800,270.000000,top
3 | " ","ERJ-1TNF88R7U ","RESC6432X70N",144.126375,-85.017800,90.000000,top
4 | " ","CRCW25120000Z0EG","RESC6331X70N",148.443050,-85.067800,90.000000,top
5 | " ","ERJ-1TNF14R3U","RESC6432X70N",152.759725,-85.017800,90.000000,top
6 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Driver/LED Driver.drl:
--------------------------------------------------------------------------------
1 | M48
2 | ; DRILL file {KiCad (5.1.5)-3} date 3/15/2021 1:49:35 PM
3 | ; FORMAT={-:-/ absolute / inch / decimal}
4 | ; #@! TF.CreationDate,2021-03-15T13:49:35-04:00
5 | ; #@! TF.GenerationSoftware,Kicad,Pcbnew,(5.1.5)-3
6 | FMAT,2
7 | INCH
8 | T1C0.0197
9 | T2C0.0197
10 | %
11 | G90
12 | G05
13 | T2
14 | X6.514Y-3.2068
15 | X6.514Y-3.4667
16 | T1
17 | G00X6.5002Y-3.2068
18 | M15
19 | G01X6.5278Y-3.2068
20 | M16
21 | G05
22 | G00X6.5002Y-3.4667
23 | M15
24 | G01X6.5278Y-3.4667
25 | M16
26 | G05
27 | T0
28 | M30
29 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Driver/LED Driver.pro:
--------------------------------------------------------------------------------
1 | update=22/05/2015 07:44:53
2 | version=1
3 | last_client=kicad
4 | [general]
5 | version=1
6 | RootSch=
7 | BoardNm=
8 | [pcbnew]
9 | version=1
10 | LastNetListRead=
11 | UseCmpFile=1
12 | PadDrill=0.600000000000
13 | PadDrillOvalY=0.600000000000
14 | PadSizeH=1.500000000000
15 | PadSizeV=1.500000000000
16 | PcbTextSizeV=1.500000000000
17 | PcbTextSizeH=1.500000000000
18 | PcbTextThickness=0.300000000000
19 | ModuleTextSizeV=1.000000000000
20 | ModuleTextSizeH=1.000000000000
21 | ModuleTextSizeThickness=0.150000000000
22 | SolderMaskClearance=0.000000000000
23 | SolderMaskMinWidth=0.000000000000
24 | DrawSegmentWidth=0.200000000000
25 | BoardOutlineThickness=0.100000000000
26 | ModuleOutlineThickness=0.150000000000
27 | [cvpcb]
28 | version=1
29 | NetIExt=net
30 | [eeschema]
31 | version=1
32 | LibDir=
33 | [eeschema/libraries]
34 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Driver/fp-info-cache:
--------------------------------------------------------------------------------
1 | 0
2 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Harness/GREEN/LED_Harness_3x2_GREEN-B_Cu.gbr:
--------------------------------------------------------------------------------
1 | G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3*
2 | G04 #@! TF.CreationDate,2021-03-18T13:28:47-04:00*
3 | G04 #@! TF.ProjectId,LED_Harness_3x2_GREEN,4c45445f-4861-4726-9e65-73735f337832,rev?*
4 | G04 #@! TF.SameCoordinates,Original*
5 | G04 #@! TF.FileFunction,Copper,L2,Bot*
6 | G04 #@! TF.FilePolarity,Positive*
7 | %FSLAX46Y46*%
8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
9 | G04 Created by KiCad (PCBNEW (5.1.5)-3) date 2021-03-18 13:28:47*
10 | %MOMM*%
11 | %LPD*%
12 | G04 APERTURE LIST*
13 | %ADD10C,0.800000*%
14 | %ADD11C,0.250000*%
15 | G04 APERTURE END LIST*
16 | D10*
17 | X127228262Y-84354292D03*
18 | X128136820Y-87264807D03*
19 | X136728538Y-135076308D03*
20 | X135819980Y-132165793D03*
21 | X141624220Y-87468007D03*
22 | X140715662Y-84557492D03*
23 | X149860338Y-135127108D03*
24 | X148951780Y-132216593D03*
25 | X130274763Y-84894799D03*
26 | X130454400Y-80669138D03*
27 | X133682037Y-134535801D03*
28 | X133502400Y-138761462D03*
29 | X143941800Y-80872338D03*
30 | X143762163Y-85097999D03*
31 | X146634200Y-138812262D03*
32 | X146813837Y-134586601D03*
33 | D11*
34 | X127628261Y-84754291D02*
35 | X128267031Y-84754291D01*
36 | X127228262Y-84354292D02*
37 | X127628261Y-84754291D01*
38 | X128267031Y-84754291D02*
39 | X128136820Y-84884502D01*
40 | X128136820Y-84884502D02*
41 | X128136820Y-87264807D01*
42 | X135689769Y-134676309D02*
43 | X135819980Y-134546098D01*
44 | X136328539Y-134676309D02*
45 | X135689769Y-134676309D01*
46 | X135819980Y-134546098D02*
47 | X135819980Y-132165793D01*
48 | X136728538Y-135076308D02*
49 | X136328539Y-134676309D01*
50 | X141115661Y-84957491D02*
51 | X141754431Y-84957491D01*
52 | X141624220Y-85087702D02*
53 | X141624220Y-87468007D01*
54 | X141754431Y-84957491D02*
55 | X141624220Y-85087702D01*
56 | X140715662Y-84557492D02*
57 | X141115661Y-84957491D01*
58 | X149460339Y-134727109D02*
59 | X148821569Y-134727109D01*
60 | X148951780Y-134596898D02*
61 | X148951780Y-132216593D01*
62 | X149860338Y-135127108D02*
63 | X149460339Y-134727109D01*
64 | X148821569Y-134727109D02*
65 | X148951780Y-134596898D01*
66 | X130274763Y-84894799D02*
67 | X130274763Y-80848775D01*
68 | X130274763Y-80848775D02*
69 | X130454400Y-80669138D01*
70 | X133682037Y-134535801D02*
71 | X133682037Y-138581825D01*
72 | X133682037Y-138581825D02*
73 | X133502400Y-138761462D01*
74 | X143762163Y-85097999D02*
75 | X143762163Y-81051975D01*
76 | X143762163Y-81051975D02*
77 | X143941800Y-80872338D01*
78 | X146813837Y-134586601D02*
79 | X146813837Y-138632625D01*
80 | X146813837Y-138632625D02*
81 | X146634200Y-138812262D01*
82 | M02*
83 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Harness/GREEN/LED_Harness_3x2_GREEN-B_Mask.gbr:
--------------------------------------------------------------------------------
1 | G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3*
2 | G04 #@! TF.CreationDate,2021-03-18T13:28:47-04:00*
3 | G04 #@! TF.ProjectId,LED_Harness_3x2_GREEN,4c45445f-4861-4726-9e65-73735f337832,rev?*
4 | G04 #@! TF.SameCoordinates,Original*
5 | G04 #@! TF.FileFunction,Soldermask,Bot*
6 | G04 #@! TF.FilePolarity,Negative*
7 | %FSLAX46Y46*%
8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
9 | G04 Created by KiCad (PCBNEW (5.1.5)-3) date 2021-03-18 13:28:47*
10 | %MOMM*%
11 | %LPD*%
12 | G04 APERTURE LIST*
13 | G04 APERTURE END LIST*
14 | M02*
15 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Harness/GREEN/LED_Harness_3x2_GREEN-B_Paste.gbr:
--------------------------------------------------------------------------------
1 | G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3*
2 | G04 #@! TF.CreationDate,2021-03-18T13:28:47-04:00*
3 | G04 #@! TF.ProjectId,LED_Harness_3x2_GREEN,4c45445f-4861-4726-9e65-73735f337832,rev?*
4 | G04 #@! TF.SameCoordinates,Original*
5 | G04 #@! TF.FileFunction,Paste,Bot*
6 | G04 #@! TF.FilePolarity,Positive*
7 | %FSLAX46Y46*%
8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
9 | G04 Created by KiCad (PCBNEW (5.1.5)-3) date 2021-03-18 13:28:47*
10 | %MOMM*%
11 | %LPD*%
12 | G04 APERTURE LIST*
13 | G04 APERTURE END LIST*
14 | M02*
15 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Harness/GREEN/LED_Harness_3x2_GREEN-B_SilkS.gbr:
--------------------------------------------------------------------------------
1 | G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3*
2 | G04 #@! TF.CreationDate,2021-03-18T13:28:47-04:00*
3 | G04 #@! TF.ProjectId,LED_Harness_3x2_GREEN,4c45445f-4861-4726-9e65-73735f337832,rev?*
4 | G04 #@! TF.SameCoordinates,Original*
5 | G04 #@! TF.FileFunction,Legend,Bot*
6 | G04 #@! TF.FilePolarity,Positive*
7 | %FSLAX46Y46*%
8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
9 | G04 Created by KiCad (PCBNEW (5.1.5)-3) date 2021-03-18 13:28:47*
10 | %MOMM*%
11 | %LPD*%
12 | G04 APERTURE LIST*
13 | G04 APERTURE END LIST*
14 | M02*
15 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Harness/GREEN/LED_Harness_3x2_GREEN-Edge_Cuts.gbr:
--------------------------------------------------------------------------------
1 | G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3*
2 | G04 #@! TF.CreationDate,2021-03-18T13:28:47-04:00*
3 | G04 #@! TF.ProjectId,LED_Harness_3x2_GREEN,4c45445f-4861-4726-9e65-73735f337832,rev?*
4 | G04 #@! TF.SameCoordinates,Original*
5 | G04 #@! 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 (5.1.5)-3) date 2021-03-18 13:28:47*
9 | %MOMM*%
10 | %LPD*%
11 | G04 APERTURE LIST*
12 | %ADD10C,0.100000*%
13 | G04 APERTURE END LIST*
14 | D10*
15 | X153670000Y-78740000D02*
16 | X153670000Y-140970000D01*
17 | X123190000Y-78740000D02*
18 | X153670000Y-78740000D01*
19 | X123190000Y-140970000D02*
20 | X123190000Y-78740000D01*
21 | X153670000Y-140970000D02*
22 | X123190000Y-140970000D01*
23 | X144344185Y-133181000D02*
24 | G75*
25 | G02X144594185Y-132931000I250000J0D01*
26 | G01*
27 | X147233000Y-130931000D02*
28 | G75*
29 | G02X145233000Y-132931000I-2000000J0D01*
30 | G01*
31 | X152621814Y-140135800D02*
32 | G75*
33 | G02X152371814Y-140385800I-250000J0D01*
34 | G01*
35 | X152371814Y-140385800D02*
36 | X144594185Y-140385800D01*
37 | X144344185Y-140135800D02*
38 | X144344185Y-139983400D01*
39 | X144344185Y-133181000D02*
40 | X144344185Y-133333400D01*
41 | X149733000Y-79349600D02*
42 | X149733000Y-82931000D01*
43 | X149733000Y-79349600D02*
44 | X147233000Y-79349600D01*
45 | X152621814Y-133333400D02*
46 | X152621814Y-133181000D01*
47 | X144344185Y-139983400D02*
48 | X144344185Y-133333400D01*
49 | X152371814Y-132931000D02*
50 | G75*
51 | G02X152621814Y-133181000I0J-250000D01*
52 | G01*
53 | X147233000Y-130931000D02*
54 | X147233000Y-82931000D01*
55 | X152621814Y-133333400D02*
56 | X152621814Y-139983400D01*
57 | X151733000Y-132931000D02*
58 | X152371814Y-132931000D01*
59 | X152621814Y-139983400D02*
60 | X152621814Y-140135800D01*
61 | X149733000Y-130931000D02*
62 | X149733000Y-82931000D01*
63 | X147233000Y-82931000D02*
64 | X147233000Y-79349600D01*
65 | X151733000Y-132931000D02*
66 | G75*
67 | G02X149733000Y-130931000I0J2000000D01*
68 | G01*
69 | X144594185Y-140385800D02*
70 | G75*
71 | G02X144344185Y-140135800I0J250000D01*
72 | G01*
73 | X145233000Y-132931000D02*
74 | X144594185Y-132931000D01*
75 | X138204186Y-79298800D02*
76 | X145981815Y-79298800D01*
77 | X140843000Y-140335000D02*
78 | X143343000Y-140335000D01*
79 | X146231815Y-86503600D02*
80 | G75*
81 | G02X145981815Y-86753600I-250000J0D01*
82 | G01*
83 | X143343000Y-88753600D02*
84 | G75*
85 | G02X145343000Y-86753600I2000000J0D01*
86 | G01*
87 | X137954186Y-79548800D02*
88 | G75*
89 | G02X138204186Y-79298800I250000J0D01*
90 | G01*
91 | X140843000Y-140335000D02*
92 | X140843000Y-136753600D01*
93 | X146231815Y-86503600D02*
94 | X146231815Y-86351200D01*
95 | X146231815Y-79548800D02*
96 | X146231815Y-79701200D01*
97 | X137954186Y-79701200D02*
98 | X137954186Y-79548800D01*
99 | X137954186Y-86351200D02*
100 | X137954186Y-79701200D01*
101 | X146231815Y-79701200D02*
102 | X146231815Y-86351200D01*
103 | X138204186Y-86753600D02*
104 | G75*
105 | G02X137954186Y-86503600I0J250000D01*
106 | G01*
107 | X138843000Y-86753600D02*
108 | X138204186Y-86753600D01*
109 | X143343000Y-136753600D02*
110 | X143343000Y-140335000D01*
111 | X143343000Y-88753600D02*
112 | X143343000Y-136753600D01*
113 | X140843000Y-88753600D02*
114 | X140843000Y-136753600D01*
115 | X138843000Y-86753600D02*
116 | G75*
117 | G02X140843000Y-88753600I0J-2000000D01*
118 | G01*
119 | X145981815Y-79298800D02*
120 | G75*
121 | G02X146231815Y-79548800I0J-250000D01*
122 | G01*
123 | X137954186Y-86351200D02*
124 | X137954186Y-86503600D01*
125 | X145343000Y-86753600D02*
126 | X145981815Y-86753600D01*
127 | X139490014Y-133282600D02*
128 | X139490014Y-133130200D01*
129 | X131462385Y-140335000D02*
130 | G75*
131 | G02X131212385Y-140085000I0J250000D01*
132 | G01*
133 | X139490014Y-133282600D02*
134 | X139490014Y-139932600D01*
135 | X139240014Y-132880200D02*
136 | G75*
137 | G02X139490014Y-133130200I0J-250000D01*
138 | G01*
139 | X131212385Y-139932600D02*
140 | X131212385Y-133282600D01*
141 | X134101200Y-130880200D02*
142 | X134101200Y-82880200D01*
143 | X134101200Y-82880200D02*
144 | X134101200Y-79298800D01*
145 | X138601200Y-132880200D02*
146 | X139240014Y-132880200D01*
147 | X132101200Y-132880200D02*
148 | X131462385Y-132880200D01*
149 | X136601200Y-130880200D02*
150 | X136601200Y-82880200D01*
151 | X138601200Y-132880200D02*
152 | G75*
153 | G02X136601200Y-130880200I0J2000000D01*
154 | G01*
155 | X139240014Y-140335000D02*
156 | X131462385Y-140335000D01*
157 | X136601200Y-79298800D02*
158 | X134101200Y-79298800D01*
159 | X131212385Y-133130200D02*
160 | G75*
161 | G02X131462385Y-132880200I250000J0D01*
162 | G01*
163 | X134101200Y-130880200D02*
164 | G75*
165 | G02X132101200Y-132880200I-2000000J0D01*
166 | G01*
167 | X139490014Y-140085000D02*
168 | G75*
169 | G02X139240014Y-140335000I-250000J0D01*
170 | G01*
171 | X136601200Y-79298800D02*
172 | X136601200Y-82880200D01*
173 | X131212385Y-133130200D02*
174 | X131212385Y-133282600D01*
175 | X131212385Y-140085000D02*
176 | X131212385Y-139932600D01*
177 | X139490014Y-139932600D02*
178 | X139490014Y-140085000D01*
179 | X124466786Y-79498000D02*
180 | X124466786Y-79345600D01*
181 | X132744415Y-79345600D02*
182 | X132744415Y-79498000D01*
183 | X132744415Y-86300400D02*
184 | X132744415Y-86148000D01*
185 | X124466786Y-86148000D02*
186 | X124466786Y-86300400D01*
187 | X127355600Y-140131800D02*
188 | X127355600Y-136550400D01*
189 | X129855600Y-136550400D02*
190 | X129855600Y-140131800D01*
191 | X124466786Y-86148000D02*
192 | X124466786Y-79498000D01*
193 | X124716786Y-86550400D02*
194 | G75*
195 | G02X124466786Y-86300400I0J250000D01*
196 | G01*
197 | X125355600Y-86550400D02*
198 | G75*
199 | G02X127355600Y-88550400I0J-2000000D01*
200 | G01*
201 | X125355600Y-86550400D02*
202 | X124716786Y-86550400D01*
203 | X124716786Y-79095600D02*
204 | X132494415Y-79095600D01*
205 | X131855600Y-86550400D02*
206 | X132494415Y-86550400D01*
207 | X129855600Y-88550400D02*
208 | X129855600Y-136550400D01*
209 | X132494415Y-79095600D02*
210 | G75*
211 | G02X132744415Y-79345600I0J-250000D01*
212 | G01*
213 | X132744415Y-79498000D02*
214 | X132744415Y-86148000D01*
215 | X124466786Y-79345600D02*
216 | G75*
217 | G02X124716786Y-79095600I250000J0D01*
218 | G01*
219 | X129855600Y-88550400D02*
220 | G75*
221 | G02X131855600Y-86550400I2000000J0D01*
222 | G01*
223 | X127355600Y-88550400D02*
224 | X127355600Y-136550400D01*
225 | X132744415Y-86300400D02*
226 | G75*
227 | G02X132494415Y-86550400I-250000J0D01*
228 | G01*
229 | X127355600Y-140131800D02*
230 | X129855600Y-140131800D01*
231 | M02*
232 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Harness/GREEN/LED_Harness_3x2_GREEN-F_Cu.gbr:
--------------------------------------------------------------------------------
1 | G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3*
2 | G04 #@! TF.CreationDate,2021-03-18T13:28:47-04:00*
3 | G04 #@! TF.ProjectId,LED_Harness_3x2_GREEN,4c45445f-4861-4726-9e65-73735f337832,rev?*
4 | G04 #@! TF.SameCoordinates,Original*
5 | G04 #@! TF.FileFunction,Copper,L1,Top*
6 | G04 #@! TF.FilePolarity,Positive*
7 | %FSLAX46Y46*%
8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
9 | G04 Created by KiCad (PCBNEW (5.1.5)-3) date 2021-03-18 13:28:47*
10 | %MOMM*%
11 | %LPD*%
12 | G04 APERTURE LIST*
13 | %ADD10R,0.300000X50.000000*%
14 | %ADD11R,2.250000X1.500000*%
15 | %ADD12C,0.800000*%
16 | %ADD13C,0.250000*%
17 | G04 APERTURE END LIST*
18 | D10*
19 | X147726780Y-104546400D03*
20 | X148226780Y-104546400D03*
21 | X148726780Y-104546400D03*
22 | X149226780Y-104546400D03*
23 | D11*
24 | X145671540Y-133837680D03*
25 | X145656300Y-135935720D03*
26 | X151290020Y-133835140D03*
27 | X151274780Y-135933180D03*
28 | X148468080Y-135930640D03*
29 | X148483320Y-133832600D03*
30 | X151277320Y-137462260D03*
31 | X151262080Y-139560300D03*
32 | X148454110Y-139555220D03*
33 | X148469350Y-137457180D03*
34 | X145658840Y-137462260D03*
35 | X145643600Y-139560300D03*
36 | X144917160Y-82222340D03*
37 | X144932400Y-80124300D03*
38 | X144904460Y-85846920D03*
39 | X144919700Y-83748880D03*
40 | D10*
41 | X142849220Y-115138200D03*
42 | X142349220Y-115138200D03*
43 | X141849220Y-115138200D03*
44 | X141349220Y-115138200D03*
45 | D11*
46 | X139285980Y-85849460D03*
47 | X139301220Y-83751420D03*
48 | X142107920Y-83753960D03*
49 | X142092680Y-85852000D03*
50 | X142121890Y-80129380D03*
51 | X142106650Y-82227420D03*
52 | X139298680Y-82222340D03*
53 | X139313920Y-80124300D03*
54 | X135337550Y-137406380D03*
55 | X135322310Y-139504420D03*
56 | X135351520Y-133781800D03*
57 | X135336280Y-135879840D03*
58 | X132511800Y-139509500D03*
59 | X132527040Y-137411460D03*
60 | X138130280Y-139509500D03*
61 | X138145520Y-137411460D03*
62 | X132524500Y-135884920D03*
63 | X132539740Y-133786880D03*
64 | D10*
65 | X136094980Y-104495600D03*
66 | X135594980Y-104495600D03*
67 | X135094980Y-104495600D03*
68 | X134594980Y-104495600D03*
69 | D11*
70 | X138142980Y-135882380D03*
71 | X138158220Y-133784340D03*
72 | D10*
73 | X129361820Y-114935000D03*
74 | X128861820Y-114935000D03*
75 | X128361820Y-114935000D03*
76 | X127861820Y-114935000D03*
77 | D11*
78 | X125811280Y-82019140D03*
79 | X125826520Y-79921100D03*
80 | X128634490Y-79926180D03*
81 | X128619250Y-82024220D03*
82 | X131429760Y-82019140D03*
83 | X131445000Y-79921100D03*
84 | X125798580Y-85646260D03*
85 | X125813820Y-83548220D03*
86 | X128620520Y-83550760D03*
87 | X128605280Y-85648800D03*
88 | X131417060Y-85643720D03*
89 | X131432300Y-83545680D03*
90 | D12*
91 | X127228262Y-84354292D03*
92 | X128136820Y-87264807D03*
93 | X136728538Y-135076308D03*
94 | X135819980Y-132165793D03*
95 | X141624220Y-87468007D03*
96 | X140715662Y-84557492D03*
97 | X149860338Y-135127108D03*
98 | X148951780Y-132216593D03*
99 | X130274763Y-84894799D03*
100 | X130454400Y-80669138D03*
101 | X133682037Y-134535801D03*
102 | X133502400Y-138761462D03*
103 | X143941800Y-80872338D03*
104 | X143762163Y-85097999D03*
105 | X146634200Y-138812262D03*
106 | X146813837Y-134586601D03*
107 | D13*
108 | X131432300Y-82021680D02*
109 | X131429760Y-82019140D01*
110 | X131432300Y-83545680D02*
111 | X131432300Y-82021680D01*
112 | X128620520Y-82025490D02*
113 | X128619250Y-82024220D01*
114 | X128620520Y-83550760D02*
115 | X128620520Y-82025490D01*
116 | X125813820Y-82021680D02*
117 | X125811280Y-82019140D01*
118 | X125813820Y-83548220D02*
119 | X125813820Y-82021680D01*
120 | X128614170Y-82019140D02*
121 | X128619250Y-82024220D01*
122 | X125811280Y-82019140D02*
123 | X128614170Y-82019140D01*
124 | X131424680Y-82024220D02*
125 | X131429760Y-82019140D01*
126 | X128619250Y-82024220D02*
127 | X131424680Y-82024220D01*
128 | X128625600Y-83545680D02*
129 | X128620520Y-83550760D01*
130 | X131432300Y-83545680D02*
131 | X128625600Y-83545680D01*
132 | X125816360Y-83550760D02*
133 | X125813820Y-83548220D01*
134 | X128620520Y-83550760D02*
135 | X125816360Y-83550760D01*
136 | X128620520Y-83550760D02*
137 | X128031794Y-83550760D01*
138 | X128031794Y-83550760D02*
139 | X127228262Y-84354292D01*
140 | X128136820Y-87830492D02*
141 | X128307168Y-88000840D01*
142 | X128136820Y-87264807D02*
143 | X128136820Y-87830492D01*
144 | X128361820Y-89837640D02*
145 | X128361820Y-114935000D01*
146 | X128307168Y-89782988D02*
147 | X128361820Y-89837640D01*
148 | X128307168Y-88000840D02*
149 | X128307168Y-89782988D01*
150 | X127736821Y-87664806D02*
151 | X127736821Y-88069641D01*
152 | X128136820Y-87264807D02*
153 | X127736821Y-87664806D01*
154 | X127861820Y-88194640D02*
155 | X127861820Y-114935000D01*
156 | X127736821Y-88069641D02*
157 | X127861820Y-88194640D01*
158 | X132524500Y-135884920D02*
159 | X132524500Y-137408920D01*
160 | X135336280Y-137405110D02*
161 | X135337550Y-137406380D01*
162 | X138142980Y-137408920D02*
163 | X138145520Y-137411460D01*
164 | X132532120Y-137406380D02*
165 | X132527040Y-137411460D01*
166 | X138140440Y-135879840D02*
167 | X138142980Y-135882380D01*
168 | X132524500Y-135884920D02*
169 | X135331200Y-135884920D01*
170 | X135336280Y-135879840D02*
171 | X138140440Y-135879840D01*
172 | X135342630Y-137411460D02*
173 | X135337550Y-137406380D01*
174 | X135336280Y-135879840D02*
175 | X135336280Y-137405110D01*
176 | X135925006Y-135879840D02*
177 | X136728538Y-135076308D01*
178 | X138145520Y-137411460D02*
179 | X135342630Y-137411460D01*
180 | X135819980Y-131600108D02*
181 | X135649632Y-131429760D01*
182 | X135331200Y-135884920D02*
183 | X135336280Y-135879840D01*
184 | X135819980Y-132165793D02*
185 | X135819980Y-131600108D01*
186 | X135594980Y-129592960D02*
187 | X135594980Y-104495600D01*
188 | X135649632Y-129647612D02*
189 | X135594980Y-129592960D01*
190 | X135649632Y-131429760D02*
191 | X135649632Y-129647612D01*
192 | X135336280Y-135879840D02*
193 | X135925006Y-135879840D01*
194 | X135337550Y-137406380D02*
195 | X132532120Y-137406380D01*
196 | X136219979Y-131765794D02*
197 | X136219979Y-131360959D01*
198 | X132524500Y-137408920D02*
199 | X132527040Y-137411460D01*
200 | X138142980Y-135882380D02*
201 | X138142980Y-137408920D01*
202 | X136094980Y-131235960D02*
203 | X136094980Y-104495600D01*
204 | X136219979Y-131360959D02*
205 | X136094980Y-131235960D01*
206 | X135819980Y-132165793D02*
207 | X136219979Y-131765794D01*
208 | X141794568Y-88204040D02*
209 | X141794568Y-89986188D01*
210 | X141794568Y-89986188D02*
211 | X141849220Y-90040840D01*
212 | X139301220Y-83751420D02*
213 | X139301220Y-82224880D01*
214 | X144912080Y-82227420D02*
215 | X144917160Y-82222340D01*
216 | X139298680Y-82222340D02*
217 | X142101570Y-82222340D01*
218 | X144919700Y-83748880D02*
219 | X144919700Y-82224880D01*
220 | X141624220Y-87468007D02*
221 | X141624220Y-88033692D01*
222 | X142107920Y-82228690D02*
223 | X142106650Y-82227420D01*
224 | X141849220Y-90040840D02*
225 | X141849220Y-115138200D01*
226 | X142113000Y-83748880D02*
227 | X142107920Y-83753960D01*
228 | X142106650Y-82227420D02*
229 | X144912080Y-82227420D01*
230 | X141624220Y-88033692D02*
231 | X141794568Y-88204040D01*
232 | X139301220Y-82224880D02*
233 | X139298680Y-82222340D01*
234 | X141349220Y-88397840D02*
235 | X141349220Y-115138200D01*
236 | X139303760Y-83753960D02*
237 | X139301220Y-83751420D01*
238 | X142107920Y-83753960D02*
239 | X142107920Y-82228690D01*
240 | X144919700Y-83748880D02*
241 | X142113000Y-83748880D01*
242 | X142101570Y-82222340D02*
243 | X142106650Y-82227420D01*
244 | X141519194Y-83753960D02*
245 | X140715662Y-84557492D01*
246 | X142107920Y-83753960D02*
247 | X141519194Y-83753960D01*
248 | X141224221Y-87868006D02*
249 | X141224221Y-88272841D01*
250 | X142107920Y-83753960D02*
251 | X139303760Y-83753960D01*
252 | X144919700Y-82224880D02*
253 | X144917160Y-82222340D01*
254 | X141624220Y-87468007D02*
255 | X141224221Y-87868006D01*
256 | X141224221Y-88272841D02*
257 | X141349220Y-88397840D01*
258 | X149226780Y-131286760D02*
259 | X149226780Y-104546400D01*
260 | X148469350Y-137457180D02*
261 | X145663920Y-137457180D01*
262 | X148781432Y-129698412D02*
263 | X148726780Y-129643760D01*
264 | X151274780Y-135933180D02*
265 | X151274780Y-137459720D01*
266 | X145663920Y-137457180D02*
267 | X145658840Y-137462260D01*
268 | X145656300Y-135935720D02*
269 | X145656300Y-137459720D01*
270 | X148951780Y-132216593D02*
271 | X148951780Y-131650908D01*
272 | X148726780Y-129643760D02*
273 | X148726780Y-104546400D01*
274 | X148781432Y-131480560D02*
275 | X148781432Y-129698412D01*
276 | X151277320Y-137462260D02*
277 | X148474430Y-137462260D01*
278 | X148468080Y-137455910D02*
279 | X148469350Y-137457180D01*
280 | X148463000Y-135935720D02*
281 | X148468080Y-135930640D01*
282 | X148951780Y-131650908D02*
283 | X148781432Y-131480560D01*
284 | X151274780Y-137459720D02*
285 | X151277320Y-137462260D01*
286 | X151272240Y-135930640D02*
287 | X151274780Y-135933180D01*
288 | X148474430Y-137462260D02*
289 | X148469350Y-137457180D01*
290 | X145656300Y-135935720D02*
291 | X148463000Y-135935720D01*
292 | X148468080Y-135930640D02*
293 | X148468080Y-137455910D01*
294 | X149351779Y-131816594D02*
295 | X149351779Y-131411759D01*
296 | X148468080Y-135930640D02*
297 | X149056806Y-135930640D01*
298 | X149056806Y-135930640D02*
299 | X149860338Y-135127108D01*
300 | X149351779Y-131411759D02*
301 | X149226780Y-131286760D01*
302 | X145656300Y-137459720D02*
303 | X145658840Y-137462260D01*
304 | X148468080Y-135930640D02*
305 | X151272240Y-135930640D01*
306 | X148951780Y-132216593D02*
307 | X149351779Y-131816594D01*
308 | X128629410Y-79921100D02*
309 | X128634490Y-79926180D01*
310 | X125826520Y-79921100D02*
311 | X128629410Y-79921100D01*
312 | X131439920Y-79926180D02*
313 | X131445000Y-79921100D01*
314 | X128634490Y-79926180D02*
315 | X131439920Y-79926180D01*
316 | X128602740Y-85646260D02*
317 | X128605280Y-85648800D01*
318 | X125798580Y-85646260D02*
319 | X128602740Y-85646260D01*
320 | X128610360Y-85643720D02*
321 | X128605280Y-85648800D01*
322 | X131417060Y-85643720D02*
323 | X128610360Y-85643720D01*
324 | X128861820Y-89685000D02*
325 | X128861820Y-114935000D01*
326 | X128861820Y-86905340D02*
327 | X128861820Y-89685000D01*
328 | X128605280Y-86648800D02*
329 | X128861820Y-86905340D01*
330 | X128605280Y-85648800D02*
331 | X128605280Y-86648800D01*
332 | X129361820Y-86405340D02*
333 | X128605280Y-85648800D01*
334 | X129361820Y-114935000D02*
335 | X129361820Y-86405340D01*
336 | X131417060Y-85643720D02*
337 | X131023684Y-85643720D01*
338 | X131023684Y-85643720D02*
339 | X130274763Y-84894799D01*
340 | X130696962Y-80669138D02*
341 | X131445000Y-79921100D01*
342 | X130454400Y-80669138D02*
343 | X130696962Y-80669138D01*
344 | X135327390Y-139509500D02*
345 | X135322310Y-139504420D01*
346 | X135322310Y-139504420D02*
347 | X132516880Y-139504420D01*
348 | X135354060Y-133784340D02*
349 | X135351520Y-133781800D01*
350 | X132539740Y-133786880D02*
351 | X135346440Y-133786880D01*
352 | X135351520Y-133781800D02*
353 | X135351520Y-132781800D01*
354 | X135094980Y-132525260D02*
355 | X135094980Y-129745600D01*
356 | X134594980Y-133025260D02*
357 | X135351520Y-133781800D01*
358 | X132516880Y-139504420D02*
359 | X132511800Y-139509500D01*
360 | X133259838Y-138761462D02*
361 | X132511800Y-139509500D01*
362 | X138158220Y-133784340D02*
363 | X135354060Y-133784340D01*
364 | X135346440Y-133786880D02*
365 | X135351520Y-133781800D01*
366 | X134594980Y-104495600D02*
367 | X134594980Y-133025260D01*
368 | X132539740Y-133786880D02*
369 | X132933116Y-133786880D01*
370 | X135351520Y-132781800D02*
371 | X135094980Y-132525260D01*
372 | X132933116Y-133786880D02*
373 | X133682037Y-134535801D01*
374 | X133502400Y-138761462D02*
375 | X133259838Y-138761462D01*
376 | X135094980Y-129745600D02*
377 | X135094980Y-104495600D01*
378 | X138130280Y-139509500D02*
379 | X135327390Y-139509500D01*
380 | X142090140Y-85849460D02*
381 | X142092680Y-85852000D01*
382 | X144904460Y-85846920D02*
383 | X142097760Y-85846920D01*
384 | X144927320Y-80129380D02*
385 | X144932400Y-80124300D01*
386 | X144184362Y-80872338D02*
387 | X144932400Y-80124300D01*
388 | X142116810Y-80124300D02*
389 | X142121890Y-80129380D01*
390 | X142349220Y-87108540D02*
391 | X142349220Y-89888200D01*
392 | X139285980Y-85849460D02*
393 | X142090140Y-85849460D01*
394 | X142097760Y-85846920D02*
395 | X142092680Y-85852000D01*
396 | X142849220Y-115138200D02*
397 | X142849220Y-86608540D01*
398 | X142121890Y-80129380D02*
399 | X144927320Y-80129380D01*
400 | X142092680Y-85852000D02*
401 | X142092680Y-86852000D01*
402 | X142849220Y-86608540D02*
403 | X142092680Y-85852000D01*
404 | X144904460Y-85846920D02*
405 | X144511084Y-85846920D01*
406 | X142092680Y-86852000D02*
407 | X142349220Y-87108540D01*
408 | X143941800Y-80872338D02*
409 | X144184362Y-80872338D01*
410 | X139313920Y-80124300D02*
411 | X142116810Y-80124300D01*
412 | X142349220Y-89888200D02*
413 | X142349220Y-115138200D01*
414 | X144511084Y-85846920D02*
415 | X143762163Y-85097999D01*
416 | X145671540Y-133837680D02*
417 | X148478240Y-133837680D01*
418 | X148226780Y-132576060D02*
419 | X148226780Y-129796400D01*
420 | X145648680Y-139555220D02*
421 | X145643600Y-139560300D01*
422 | X146391638Y-138812262D02*
423 | X145643600Y-139560300D01*
424 | X148485860Y-133835140D02*
425 | X148483320Y-133832600D01*
426 | X148459190Y-139560300D02*
427 | X148454110Y-139555220D01*
428 | X148454110Y-139555220D02*
429 | X145648680Y-139555220D01*
430 | X146064916Y-133837680D02*
431 | X146813837Y-134586601D01*
432 | X148483320Y-133832600D02*
433 | X148483320Y-132832600D01*
434 | X148483320Y-132832600D02*
435 | X148226780Y-132576060D01*
436 | X151262080Y-139560300D02*
437 | X148459190Y-139560300D01*
438 | X147726780Y-133076060D02*
439 | X148483320Y-133832600D01*
440 | X151290020Y-133835140D02*
441 | X148485860Y-133835140D01*
442 | X146634200Y-138812262D02*
443 | X146391638Y-138812262D01*
444 | X145671540Y-133837680D02*
445 | X146064916Y-133837680D01*
446 | X148478240Y-133837680D02*
447 | X148483320Y-133832600D01*
448 | X148226780Y-129796400D02*
449 | X148226780Y-104546400D01*
450 | X147726780Y-104546400D02*
451 | X147726780Y-133076060D01*
452 | M02*
453 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Harness/GREEN/LED_Harness_3x2_GREEN-F_Mask.gbr:
--------------------------------------------------------------------------------
1 | G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3*
2 | G04 #@! TF.CreationDate,2021-03-18T13:28:47-04:00*
3 | G04 #@! TF.ProjectId,LED_Harness_3x2_GREEN,4c45445f-4861-4726-9e65-73735f337832,rev?*
4 | G04 #@! TF.SameCoordinates,Original*
5 | G04 #@! TF.FileFunction,Soldermask,Top*
6 | G04 #@! TF.FilePolarity,Negative*
7 | %FSLAX46Y46*%
8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
9 | G04 Created by KiCad (PCBNEW (5.1.5)-3) date 2021-03-18 13:28:47*
10 | %MOMM*%
11 | %LPD*%
12 | G04 APERTURE LIST*
13 | %ADD10R,0.300000X50.000000*%
14 | %ADD11R,2.250000X1.500000*%
15 | G04 APERTURE END LIST*
16 | D10*
17 | X147726780Y-104546400D03*
18 | X148226780Y-104546400D03*
19 | X148726780Y-104546400D03*
20 | X149226780Y-104546400D03*
21 | D11*
22 | X145671540Y-133837680D03*
23 | X145656300Y-135935720D03*
24 | X151290020Y-133835140D03*
25 | X151274780Y-135933180D03*
26 | X148468080Y-135930640D03*
27 | X148483320Y-133832600D03*
28 | X151277320Y-137462260D03*
29 | X151262080Y-139560300D03*
30 | X148454110Y-139555220D03*
31 | X148469350Y-137457180D03*
32 | X145658840Y-137462260D03*
33 | X145643600Y-139560300D03*
34 | X144917160Y-82222340D03*
35 | X144932400Y-80124300D03*
36 | X144904460Y-85846920D03*
37 | X144919700Y-83748880D03*
38 | D10*
39 | X142849220Y-115138200D03*
40 | X142349220Y-115138200D03*
41 | X141849220Y-115138200D03*
42 | X141349220Y-115138200D03*
43 | D11*
44 | X139285980Y-85849460D03*
45 | X139301220Y-83751420D03*
46 | X142107920Y-83753960D03*
47 | X142092680Y-85852000D03*
48 | X142121890Y-80129380D03*
49 | X142106650Y-82227420D03*
50 | X139298680Y-82222340D03*
51 | X139313920Y-80124300D03*
52 | X135337550Y-137406380D03*
53 | X135322310Y-139504420D03*
54 | X135351520Y-133781800D03*
55 | X135336280Y-135879840D03*
56 | X132511800Y-139509500D03*
57 | X132527040Y-137411460D03*
58 | X138130280Y-139509500D03*
59 | X138145520Y-137411460D03*
60 | X132524500Y-135884920D03*
61 | X132539740Y-133786880D03*
62 | D10*
63 | X136094980Y-104495600D03*
64 | X135594980Y-104495600D03*
65 | X135094980Y-104495600D03*
66 | X134594980Y-104495600D03*
67 | D11*
68 | X138142980Y-135882380D03*
69 | X138158220Y-133784340D03*
70 | D10*
71 | X129361820Y-114935000D03*
72 | X128861820Y-114935000D03*
73 | X128361820Y-114935000D03*
74 | X127861820Y-114935000D03*
75 | D11*
76 | X125811280Y-82019140D03*
77 | X125826520Y-79921100D03*
78 | X128634490Y-79926180D03*
79 | X128619250Y-82024220D03*
80 | X131429760Y-82019140D03*
81 | X131445000Y-79921100D03*
82 | X125798580Y-85646260D03*
83 | X125813820Y-83548220D03*
84 | X128620520Y-83550760D03*
85 | X128605280Y-85648800D03*
86 | X131417060Y-85643720D03*
87 | X131432300Y-83545680D03*
88 | M02*
89 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Harness/GREEN/LED_Harness_3x2_GREEN-F_Paste.gbr:
--------------------------------------------------------------------------------
1 | G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3*
2 | G04 #@! TF.CreationDate,2021-03-18T13:28:47-04:00*
3 | G04 #@! TF.ProjectId,LED_Harness_3x2_GREEN,4c45445f-4861-4726-9e65-73735f337832,rev?*
4 | G04 #@! TF.SameCoordinates,Original*
5 | G04 #@! TF.FileFunction,Paste,Top*
6 | G04 #@! TF.FilePolarity,Positive*
7 | %FSLAX46Y46*%
8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
9 | G04 Created by KiCad (PCBNEW (5.1.5)-3) date 2021-03-18 13:28:47*
10 | %MOMM*%
11 | %LPD*%
12 | G04 APERTURE LIST*
13 | %ADD10R,0.300000X50.000000*%
14 | %ADD11R,2.250000X1.500000*%
15 | G04 APERTURE END LIST*
16 | D10*
17 | X147726780Y-104546400D03*
18 | X148226780Y-104546400D03*
19 | X148726780Y-104546400D03*
20 | X149226780Y-104546400D03*
21 | D11*
22 | X145671540Y-133837680D03*
23 | X145656300Y-135935720D03*
24 | X151290020Y-133835140D03*
25 | X151274780Y-135933180D03*
26 | X148468080Y-135930640D03*
27 | X148483320Y-133832600D03*
28 | X151277320Y-137462260D03*
29 | X151262080Y-139560300D03*
30 | X148454110Y-139555220D03*
31 | X148469350Y-137457180D03*
32 | X145658840Y-137462260D03*
33 | X145643600Y-139560300D03*
34 | X144917160Y-82222340D03*
35 | X144932400Y-80124300D03*
36 | X144904460Y-85846920D03*
37 | X144919700Y-83748880D03*
38 | D10*
39 | X142849220Y-115138200D03*
40 | X142349220Y-115138200D03*
41 | X141849220Y-115138200D03*
42 | X141349220Y-115138200D03*
43 | D11*
44 | X139285980Y-85849460D03*
45 | X139301220Y-83751420D03*
46 | X142107920Y-83753960D03*
47 | X142092680Y-85852000D03*
48 | X142121890Y-80129380D03*
49 | X142106650Y-82227420D03*
50 | X139298680Y-82222340D03*
51 | X139313920Y-80124300D03*
52 | X135337550Y-137406380D03*
53 | X135322310Y-139504420D03*
54 | X135351520Y-133781800D03*
55 | X135336280Y-135879840D03*
56 | X132511800Y-139509500D03*
57 | X132527040Y-137411460D03*
58 | X138130280Y-139509500D03*
59 | X138145520Y-137411460D03*
60 | X132524500Y-135884920D03*
61 | X132539740Y-133786880D03*
62 | D10*
63 | X136094980Y-104495600D03*
64 | X135594980Y-104495600D03*
65 | X135094980Y-104495600D03*
66 | X134594980Y-104495600D03*
67 | D11*
68 | X138142980Y-135882380D03*
69 | X138158220Y-133784340D03*
70 | D10*
71 | X129361820Y-114935000D03*
72 | X128861820Y-114935000D03*
73 | X128361820Y-114935000D03*
74 | X127861820Y-114935000D03*
75 | D11*
76 | X125811280Y-82019140D03*
77 | X125826520Y-79921100D03*
78 | X128634490Y-79926180D03*
79 | X128619250Y-82024220D03*
80 | X131429760Y-82019140D03*
81 | X131445000Y-79921100D03*
82 | X125798580Y-85646260D03*
83 | X125813820Y-83548220D03*
84 | X128620520Y-83550760D03*
85 | X128605280Y-85648800D03*
86 | X131417060Y-85643720D03*
87 | X131432300Y-83545680D03*
88 | M02*
89 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Harness/GREEN/LED_Harness_3x2_GREEN-bottom-pos.csv:
--------------------------------------------------------------------------------
1 | Ref,Val,Package,PosX,PosY,Rot,Side
2 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Harness/GREEN/LED_Harness_3x2_GREEN-top-pos.csv:
--------------------------------------------------------------------------------
1 | Ref,Val,Package,PosX,PosY,Rot,Side
2 | "J1","Conn_01x02_Male","FFC_Male_1x02-1MP_P0.50m",148.476780,-80.196400,180.000000,top
3 | "J1","Conn_01x02_Male","FFC_Male_1x02-1MP_P0.50m",128.611820,-139.285000,0.000000,top
4 | "J1","Conn_01x02_Male","FFC_Male_1x02-1MP_P0.50m",135.344980,-80.145600,180.000000,top
5 | "J1","Conn_01x02_Male","FFC_Male_1x02-1MP_P0.50m",142.099220,-139.488200,0.000000,top
6 | "LED1","LB_T64G-V1CA-59-Z","LEDM3528X210N",125.813820,-80.970120,90.000000,top
7 | "LED1","LB_T64G-V1CA-59-Z","LEDM3528X210N",151.274780,-138.511280,270.000000,top
8 | "LED1","LB_T64G-V1CA-59-Z","LEDM3528X210N",138.142980,-138.460480,270.000000,top
9 | "LED1","LB_T64G-V1CA-59-Z","LEDM3528X210N",139.301220,-81.173320,90.000000,top
10 | "LED2","LB_T64G-V1CA-59-Z","LEDM3528X210N",142.109190,-81.178400,90.000000,top
11 | "LED2","LB_T64G-V1CA-59-Z","LEDM3528X210N",128.621790,-80.975200,90.000000,top
12 | "LED2","LB_T64G-V1CA-59-Z","LEDM3528X210N",135.335010,-138.455400,270.000000,top
13 | "LED2","LB_T64G-V1CA-59-Z","LEDM3528X210N",148.466810,-138.506200,270.000000,top
14 | "LED3","LB_T64G-V1CA-59-Z","LEDM3528X210N",132.524500,-138.460480,270.000000,top
15 | "LED3","LB_T64G-V1CA-59-Z","LEDM3528X210N",144.919700,-81.173320,90.000000,top
16 | "LED3","LB_T64G-V1CA-59-Z","LEDM3528X210N",145.656300,-138.511280,270.000000,top
17 | "LED3","LB_T64G-V1CA-59-Z","LEDM3528X210N",131.432300,-80.970120,90.000000,top
18 | "LED4","LB_T64G-V1CA-59-Z","LEDM3528X210N",139.298680,-84.800440,270.000000,top
19 | "LED4","LB_T64G-V1CA-59-Z","LEDM3528X210N",125.811280,-84.597240,270.000000,top
20 | "LED4","LB_T64G-V1CA-59-Z","LEDM3528X210N",138.145520,-134.833360,90.000000,top
21 | "LED4","LB_T64G-V1CA-59-Z","LEDM3528X210N",151.277320,-134.884160,90.000000,top
22 | "LED5","LB_T64G-V1CA-59-Z","LEDM3528X210N",142.105380,-84.802980,270.000000,top
23 | "LED5","LB_T64G-V1CA-59-Z","LEDM3528X210N",128.617980,-84.599780,270.000000,top
24 | "LED5","LB_T64G-V1CA-59-Z","LEDM3528X210N",135.338820,-134.830820,90.000000,top
25 | "LED5","LB_T64G-V1CA-59-Z","LEDM3528X210N",148.470620,-134.881620,90.000000,top
26 | "LED6","LB_T64G-V1CA-59-Z","LEDM3528X210N",131.429760,-84.594700,270.000000,top
27 | "LED6","LB_T64G-V1CA-59-Z","LEDM3528X210N",132.527040,-134.835900,90.000000,top
28 | "LED6","LB_T64G-V1CA-59-Z","LEDM3528X210N",144.917160,-84.797900,270.000000,top
29 | "LED6","LB_T64G-V1CA-59-Z","LEDM3528X210N",145.658840,-134.886700,90.000000,top
30 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Harness/GREEN/LED_Harness_3x2_GREEN.drl:
--------------------------------------------------------------------------------
1 | M48
2 | ; DRILL file {KiCad (5.1.5)-3} date 3/18/2021 1:28:50 PM
3 | ; FORMAT={-:-/ absolute / inch / decimal}
4 | ; #@! TF.CreationDate,2021-03-18T13:28:50-04:00
5 | ; #@! TF.GenerationSoftware,Kicad,Pcbnew,(5.1.5)-3
6 | FMAT,2
7 | INCH
8 | T1C0.0157
9 | %
10 | G90
11 | G05
12 | T1
13 | X5.009Y-3.321
14 | X5.0448Y-3.4356
15 | X5.1289Y-3.3423
16 | X5.136Y-3.176
17 | X5.256Y-5.463
18 | X5.2631Y-5.2967
19 | X5.3472Y-5.2034
20 | X5.383Y-5.318
21 | X5.54Y-3.329
22 | X5.5758Y-3.4436
23 | X5.6599Y-3.3503
24 | X5.667Y-3.184
25 | X5.773Y-5.465
26 | X5.7801Y-5.2987
27 | X5.8642Y-5.2054
28 | X5.9Y-5.32
29 | T0
30 | M30
31 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Harness/RED+BLUE/LED_Harness_3x2_RED+BLUE-B_Cu.gbr:
--------------------------------------------------------------------------------
1 | G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3*
2 | G04 #@! TF.CreationDate,2021-03-18T13:29:50-04:00*
3 | G04 #@! TF.ProjectId,LED_Harness_3x2_RED+BLUE,4c45445f-4861-4726-9e65-73735f337832,rev?*
4 | G04 #@! TF.SameCoordinates,Original*
5 | G04 #@! TF.FileFunction,Copper,L2,Bot*
6 | G04 #@! TF.FilePolarity,Positive*
7 | %FSLAX46Y46*%
8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
9 | G04 Created by KiCad (PCBNEW (5.1.5)-3) date 2021-03-18 13:29:50*
10 | %MOMM*%
11 | %LPD*%
12 | G04 APERTURE LIST*
13 | %ADD10C,0.800000*%
14 | %ADD11C,0.250000*%
15 | G04 APERTURE END LIST*
16 | D10*
17 | X158072050Y-122408002D03*
18 | X162306000Y-122402600D03*
19 | X131953000Y-66929000D03*
20 | X133078220Y-62210950D03*
21 | X140462000Y-60629800D03*
22 | X144695950Y-60624398D03*
23 | X131757650Y-60725998D03*
24 | X135991600Y-60731400D03*
25 | X117340150Y-122585802D03*
26 | X113106200Y-122580400D03*
27 | X131024521Y-66557609D03*
28 | X130980180Y-62195710D03*
29 | D11*
30 | X158072050Y-122408002D02*
31 | X162300598Y-122408002D01*
32 | X131953000Y-66929000D02*
33 | X131953000Y-63336170D01*
34 | X131953000Y-63336170D02*
35 | X133078220Y-62210950D01*
36 | X144695950Y-60624398D02*
37 | X140467402Y-60624398D01*
38 | X131757650Y-60725998D02*
39 | X135986198Y-60725998D01*
40 | X135986198Y-60725998D02*
41 | X135991600Y-60731400D01*
42 | X117340150Y-122585802D02*
43 | X113111602Y-122585802D01*
44 | X113111602Y-122585802D02*
45 | X113106200Y-122580400D01*
46 | X131024521Y-66557609D02*
47 | X131024521Y-62240051D01*
48 | X131024521Y-62240051D02*
49 | X130980180Y-62195710D01*
50 | M02*
51 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Harness/RED+BLUE/LED_Harness_3x2_RED+BLUE-B_Mask.gbr:
--------------------------------------------------------------------------------
1 | G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3*
2 | G04 #@! TF.CreationDate,2021-03-18T13:29:50-04:00*
3 | G04 #@! TF.ProjectId,LED_Harness_3x2_RED+BLUE,4c45445f-4861-4726-9e65-73735f337832,rev?*
4 | G04 #@! TF.SameCoordinates,Original*
5 | G04 #@! TF.FileFunction,Soldermask,Bot*
6 | G04 #@! TF.FilePolarity,Negative*
7 | %FSLAX46Y46*%
8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
9 | G04 Created by KiCad (PCBNEW (5.1.5)-3) date 2021-03-18 13:29:50*
10 | %MOMM*%
11 | %LPD*%
12 | G04 APERTURE LIST*
13 | G04 APERTURE END LIST*
14 | M02*
15 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Harness/RED+BLUE/LED_Harness_3x2_RED+BLUE-B_Paste.gbr:
--------------------------------------------------------------------------------
1 | G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3*
2 | G04 #@! TF.CreationDate,2021-03-18T13:29:50-04:00*
3 | G04 #@! TF.ProjectId,LED_Harness_3x2_RED+BLUE,4c45445f-4861-4726-9e65-73735f337832,rev?*
4 | G04 #@! TF.SameCoordinates,Original*
5 | G04 #@! TF.FileFunction,Paste,Bot*
6 | G04 #@! TF.FilePolarity,Positive*
7 | %FSLAX46Y46*%
8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
9 | G04 Created by KiCad (PCBNEW (5.1.5)-3) date 2021-03-18 13:29:50*
10 | %MOMM*%
11 | %LPD*%
12 | G04 APERTURE LIST*
13 | G04 APERTURE END LIST*
14 | M02*
15 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Harness/RED+BLUE/LED_Harness_3x2_RED+BLUE-B_SilkS.gbr:
--------------------------------------------------------------------------------
1 | G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3*
2 | G04 #@! TF.CreationDate,2021-03-18T13:29:50-04:00*
3 | G04 #@! TF.ProjectId,LED_Harness_3x2_RED+BLUE,4c45445f-4861-4726-9e65-73735f337832,rev?*
4 | G04 #@! TF.SameCoordinates,Original*
5 | G04 #@! TF.FileFunction,Legend,Bot*
6 | G04 #@! TF.FilePolarity,Positive*
7 | %FSLAX46Y46*%
8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
9 | G04 Created by KiCad (PCBNEW (5.1.5)-3) date 2021-03-18 13:29:50*
10 | %MOMM*%
11 | %LPD*%
12 | G04 APERTURE LIST*
13 | G04 APERTURE END LIST*
14 | M02*
15 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Harness/RED+BLUE/LED_Harness_3x2_RED+BLUE-Edge_Cuts.gbr:
--------------------------------------------------------------------------------
1 | G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3*
2 | G04 #@! TF.CreationDate,2021-03-18T13:29:50-04:00*
3 | G04 #@! TF.ProjectId,LED_Harness_3x2_RED+BLUE,4c45445f-4861-4726-9e65-73735f337832,rev?*
4 | G04 #@! TF.SameCoordinates,Original*
5 | G04 #@! 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 (5.1.5)-3) date 2021-03-18 13:29:50*
9 | %MOMM*%
10 | %LPD*%
11 | G04 APERTURE LIST*
12 | %ADD10C,0.100000*%
13 | G04 APERTURE END LIST*
14 | D10*
15 | X165100000Y-57150000D02*
16 | X165100000Y-125730000D01*
17 | X110490000Y-57150000D02*
18 | X165100000Y-57150000D01*
19 | X110490000Y-125730000D02*
20 | X110490000Y-57150000D01*
21 | X165100000Y-125730000D02*
22 | X110490000Y-125730000D01*
23 | X126507501Y-101847495D02*
24 | X135927602Y-101847495D01*
25 | X125563516Y-99393834D02*
26 | X116542610Y-105815938D01*
27 | X116437599Y-106019600D02*
28 | G75*
29 | G02X116542610Y-105815938I250001J0D01*
30 | G01*
31 | X111559000Y-117183922D02*
32 | G75*
33 | G02X111809000Y-116933922I250000J0D01*
34 | G01*
35 | X126362512Y-101893833D02*
36 | G75*
37 | G02X126507501Y-101847495I144989J-203662D01*
38 | G01*
39 | X111809000Y-116933922D02*
40 | X115959000Y-116933922D01*
41 | X116187600Y-116933922D02*
42 | X115959000Y-116933922D01*
43 | X133677602Y-99097495D02*
44 | X133677602Y-67504729D01*
45 | X111809000Y-125225535D02*
46 | X118459000Y-125225535D01*
47 | X118937599Y-107308632D02*
48 | G75*
49 | G02X119042610Y-107104970I250001J0D01*
50 | G01*
51 | X111809000Y-125225535D02*
52 | G75*
53 | G02X111559000Y-124975535I0J250000D01*
54 | G01*
55 | X111559000Y-124975535D02*
56 | X111559000Y-117183922D01*
57 | X116437600Y-116683922D02*
58 | X116437600Y-106019600D01*
59 | X136177602Y-67504729D02*
60 | X133677602Y-67504729D01*
61 | X133427602Y-99347495D02*
62 | X125708506Y-99347495D01*
63 | X118937600Y-124975535D02*
64 | X118937600Y-117183922D01*
65 | X118937600Y-124975535D02*
66 | G75*
67 | G02X118687600Y-125225535I-250000J0D01*
68 | G01*
69 | X118687600Y-125225535D02*
70 | X118459000Y-125225535D01*
71 | X133677602Y-99097495D02*
72 | G75*
73 | G02X133427602Y-99347495I-250000J0D01*
74 | G01*
75 | X125563517Y-99393833D02*
76 | G75*
77 | G02X125708506Y-99347495I144989J-203662D01*
78 | G01*
79 | X136177602Y-101597495D02*
80 | X136177602Y-67504729D01*
81 | X116437600Y-116683922D02*
82 | G75*
83 | G02X116187600Y-116933922I-250000J0D01*
84 | G01*
85 | X136177602Y-101597495D02*
86 | G75*
87 | G02X135927602Y-101847495I-250000J0D01*
88 | G01*
89 | X118937600Y-117179729D02*
90 | X118937600Y-107308632D01*
91 | X118937565Y-117179729D02*
92 | G75*
93 | G02X118937600Y-117183922I-249965J-4193D01*
94 | G01*
95 | X119042610Y-107104970D02*
96 | X126362512Y-101893834D01*
97 | X158974600Y-116506122D02*
98 | X158974600Y-105841800D01*
99 | X149049688Y-101716033D02*
100 | G75*
101 | G03X148904699Y-101669695I-144989J-203662D01*
102 | G01*
103 | X156474600Y-124797735D02*
104 | G75*
105 | G03X156724600Y-125047735I250000J0D01*
106 | G01*
107 | X139234598Y-67326929D02*
108 | X141734598Y-67326929D01*
109 | X158974601Y-105841800D02*
110 | G75*
111 | G03X158869590Y-105638138I-250001J0D01*
112 | G01*
113 | X163853200Y-117006122D02*
114 | G75*
115 | G03X163603200Y-116756122I-250000J0D01*
116 | G01*
117 | X156474600Y-117001929D02*
118 | X156474600Y-107130832D01*
119 | X163603200Y-116756122D02*
120 | X159453200Y-116756122D01*
121 | X163853200Y-124797735D02*
122 | X163853200Y-117006122D01*
123 | X149848683Y-99216033D02*
124 | G75*
125 | G03X149703694Y-99169695I-144989J-203662D01*
126 | G01*
127 | X156474601Y-107130832D02*
128 | G75*
129 | G03X156369590Y-106927170I-250001J0D01*
130 | G01*
131 | X139234598Y-101419695D02*
132 | G75*
133 | G03X139484598Y-101669695I250000J0D01*
134 | G01*
135 | X141734598Y-98919695D02*
136 | G75*
137 | G03X141984598Y-99169695I250000J0D01*
138 | G01*
139 | X148904699Y-101669695D02*
140 | X139484598Y-101669695D01*
141 | X149848684Y-99216034D02*
142 | X158869590Y-105638138D01*
143 | X141984598Y-99169695D02*
144 | X149703694Y-99169695D01*
145 | X156474635Y-117001929D02*
146 | G75*
147 | G03X156474600Y-117006122I249965J-4193D01*
148 | G01*
149 | X159224600Y-116756122D02*
150 | X159453200Y-116756122D01*
151 | X156724600Y-125047735D02*
152 | X156953200Y-125047735D01*
153 | X141734598Y-98919695D02*
154 | X141734598Y-67326929D01*
155 | X163603200Y-125047735D02*
156 | G75*
157 | G03X163853200Y-124797735I0J250000D01*
158 | G01*
159 | X156474600Y-124797735D02*
160 | X156474600Y-117006122D01*
161 | X163603200Y-125047735D02*
162 | X156953200Y-125047735D01*
163 | X139234598Y-101419695D02*
164 | X139234598Y-67326929D01*
165 | X158974600Y-116506122D02*
166 | G75*
167 | G03X159224600Y-116756122I250000J0D01*
168 | G01*
169 | X156369590Y-106927170D02*
170 | X149049688Y-101716034D01*
171 | X146398410Y-76105230D02*
172 | X153718312Y-81316366D01*
173 | X143793400Y-66526278D02*
174 | G75*
175 | G03X143543400Y-66276278I-250000J0D01*
176 | G01*
177 | X163533402Y-81612705D02*
178 | X163533402Y-115705471D01*
179 | X146293365Y-66030471D02*
180 | G75*
181 | G03X146293400Y-66026278I-249965J4193D01*
182 | G01*
183 | X146293400Y-66030471D02*
184 | X146293400Y-75901568D01*
185 | X138914800Y-66026278D02*
186 | G75*
187 | G03X139164800Y-66276278I250000J0D01*
188 | G01*
189 | X152919317Y-83816367D02*
190 | G75*
191 | G03X153064306Y-83862705I144989J203662D01*
192 | G01*
193 | X163533402Y-81612705D02*
194 | G75*
195 | G03X163283402Y-81362705I-250000J0D01*
196 | G01*
197 | X139164800Y-57984665D02*
198 | X145814800Y-57984665D01*
199 | X146293399Y-75901568D02*
200 | G75*
201 | G03X146398410Y-76105230I250001J0D01*
202 | G01*
203 | X160783402Y-83862705D02*
204 | X153064306Y-83862705D01*
205 | X161033402Y-84112705D02*
206 | G75*
207 | G03X160783402Y-83862705I-250000J0D01*
208 | G01*
209 | X146293400Y-58234665D02*
210 | G75*
211 | G03X146043400Y-57984665I-250000J0D01*
212 | G01*
213 | X146293400Y-58234665D02*
214 | X146293400Y-66026278D01*
215 | X161033402Y-84112705D02*
216 | X161033402Y-115705471D01*
217 | X163533402Y-115705471D02*
218 | X161033402Y-115705471D01*
219 | X138914800Y-58234665D02*
220 | X138914800Y-66026278D01*
221 | X153718312Y-81316367D02*
222 | G75*
223 | G03X153863301Y-81362705I144989J203662D01*
224 | G01*
225 | X143793400Y-66526278D02*
226 | X143793400Y-77190600D01*
227 | X139164800Y-57984665D02*
228 | G75*
229 | G03X138914800Y-58234665I0J-250000D01*
230 | G01*
231 | X139164800Y-66276278D02*
232 | X143314800Y-66276278D01*
233 | X153863301Y-81362705D02*
234 | X163283402Y-81362705D01*
235 | X146043400Y-57984665D02*
236 | X145814800Y-57984665D01*
237 | X143543400Y-66276278D02*
238 | X143314800Y-66276278D01*
239 | X152919316Y-83816366D02*
240 | X143898410Y-77394262D01*
241 | X143793399Y-77190600D02*
242 | G75*
243 | G03X143898410Y-77394262I250001J0D01*
244 | G01*
245 | X132910200Y-66377878D02*
246 | X133138800Y-66377878D01*
247 | X130410200Y-58086265D02*
248 | X130638800Y-58086265D01*
249 | X130055190Y-76206830D02*
250 | X122735288Y-81417966D01*
251 | X132660200Y-66627878D02*
252 | G75*
253 | G02X132910200Y-66377878I250000J0D01*
254 | G01*
255 | X112920198Y-81714305D02*
256 | X112920198Y-115807071D01*
257 | X130160235Y-66132071D02*
258 | G75*
259 | G02X130160200Y-66127878I249965J4193D01*
260 | G01*
261 | X130160200Y-66132071D02*
262 | X130160200Y-76003168D01*
263 | X137538800Y-66127878D02*
264 | G75*
265 | G02X137288800Y-66377878I-250000J0D01*
266 | G01*
267 | X123534283Y-83917967D02*
268 | G75*
269 | G02X123389294Y-83964305I-144989J203662D01*
270 | G01*
271 | X112920198Y-81714305D02*
272 | G75*
273 | G02X113170198Y-81464305I250000J0D01*
274 | G01*
275 | X137288800Y-58086265D02*
276 | X130638800Y-58086265D01*
277 | X130160201Y-76003168D02*
278 | G75*
279 | G02X130055190Y-76206830I-250001J0D01*
280 | G01*
281 | X115670198Y-83964305D02*
282 | X123389294Y-83964305D01*
283 | X115420198Y-84214305D02*
284 | G75*
285 | G02X115670198Y-83964305I250000J0D01*
286 | G01*
287 | X130160200Y-58336265D02*
288 | G75*
289 | G02X130410200Y-58086265I250000J0D01*
290 | G01*
291 | X130160200Y-58336265D02*
292 | X130160200Y-66127878D01*
293 | X115420198Y-84214305D02*
294 | X115420198Y-115807071D01*
295 | X112920198Y-115807071D02*
296 | X115420198Y-115807071D01*
297 | X137538800Y-58336265D02*
298 | X137538800Y-66127878D01*
299 | X122735288Y-81417967D02*
300 | G75*
301 | G02X122590299Y-81464305I-144989J203662D01*
302 | G01*
303 | X132660200Y-66627878D02*
304 | X132660200Y-77292200D01*
305 | X137288800Y-58086265D02*
306 | G75*
307 | G02X137538800Y-58336265I0J-250000D01*
308 | G01*
309 | X137288800Y-66377878D02*
310 | X133138800Y-66377878D01*
311 | X122590299Y-81464305D02*
312 | X113170198Y-81464305D01*
313 | X123534284Y-83917966D02*
314 | X132555190Y-77495862D01*
315 | X132660201Y-77292200D02*
316 | G75*
317 | G02X132555190Y-77495862I-250001J0D01*
318 | G01*
319 | M02*
320 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Harness/RED+BLUE/LED_Harness_3x2_RED+BLUE-F_Cu.gbr:
--------------------------------------------------------------------------------
1 | G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3*
2 | G04 #@! TF.CreationDate,2021-03-18T13:29:50-04:00*
3 | G04 #@! TF.ProjectId,LED_Harness_3x2_RED+BLUE,4c45445f-4861-4726-9e65-73735f337832,rev?*
4 | G04 #@! TF.SameCoordinates,Original*
5 | G04 #@! TF.FileFunction,Copper,L1,Top*
6 | G04 #@! TF.FilePolarity,Positive*
7 | %FSLAX46Y46*%
8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
9 | G04 Created by KiCad (PCBNEW (5.1.5)-3) date 2021-03-18 13:29:50*
10 | %MOMM*%
11 | %LPD*%
12 | G04 APERTURE LIST*
13 | %ADD10R,1.500000X2.250000*%
14 | %ADD11R,0.300000X25.000000*%
15 | %ADD12C,0.800000*%
16 | %ADD13C,0.250000*%
17 | G04 APERTURE END LIST*
18 | D10*
19 | X163014660Y-123705620D03*
20 | X160916620Y-123690380D03*
21 | X157294580Y-120869710D03*
22 | X159392620Y-120884950D03*
23 | X159387540Y-118074440D03*
24 | X157289500Y-118059200D03*
25 | X159387540Y-123692920D03*
26 | X157289500Y-123677680D03*
27 | X160919160Y-120883680D03*
28 | X163017200Y-120898920D03*
29 | X163012120Y-118087140D03*
30 | X160914080Y-118071900D03*
31 | D11*
32 | X141237400Y-80247200D03*
33 | X140737400Y-80247200D03*
34 | X140237400Y-80247200D03*
35 | X139737400Y-80247200D03*
36 | X163030600Y-102878600D03*
37 | X162530600Y-102878600D03*
38 | X162030600Y-102878600D03*
39 | X161530600Y-102878600D03*
40 | D10*
41 | X143413480Y-59347100D03*
42 | X145511520Y-59362340D03*
43 | X141892020Y-62160150D03*
44 | X139793980Y-62144910D03*
45 | X139788900Y-64952880D03*
46 | X141886940Y-64968120D03*
47 | X139788900Y-59334400D03*
48 | X141886940Y-59349640D03*
49 | X145516600Y-62174120D03*
50 | X143418560Y-62158880D03*
51 | X143416020Y-64965580D03*
52 | X145514060Y-64980820D03*
53 | X114498120Y-123913900D03*
54 | X112400080Y-123898660D03*
55 | X116019580Y-121100850D03*
56 | X118117620Y-121116090D03*
57 | X118122700Y-118308120D03*
58 | X116024660Y-118292880D03*
59 | X118122700Y-123926600D03*
60 | X116024660Y-123911360D03*
61 | D11*
62 | X134170800Y-80289400D03*
63 | X134670800Y-80289400D03*
64 | X135170800Y-80289400D03*
65 | X135670800Y-80289400D03*
66 | D10*
67 | X112395000Y-121086880D03*
68 | X114493040Y-121102120D03*
69 | X114495580Y-118295420D03*
70 | X112397540Y-118280180D03*
71 | D11*
72 | X113427000Y-103022400D03*
73 | X113927000Y-103022400D03*
74 | X114427000Y-103022400D03*
75 | X114927000Y-103022400D03*
76 | D10*
77 | X133073140Y-65018920D03*
78 | X130975100Y-65003680D03*
79 | X130980180Y-62195710D03*
80 | X133078220Y-62210950D03*
81 | X133073140Y-59400440D03*
82 | X130975100Y-59385200D03*
83 | X136700260Y-65031620D03*
84 | X134602220Y-65016380D03*
85 | X134604760Y-62209680D03*
86 | X136702800Y-62224920D03*
87 | X136697720Y-59413140D03*
88 | X134599680Y-59397900D03*
89 | D12*
90 | X158072050Y-122408002D03*
91 | X162306000Y-122402600D03*
92 | X131953000Y-66929000D03*
93 | X133078220Y-62210950D03*
94 | X140462000Y-60629800D03*
95 | X144695950Y-60624398D03*
96 | X131757650Y-60725998D03*
97 | X135991600Y-60731400D03*
98 | X117340150Y-122585802D03*
99 | X113106200Y-122580400D03*
100 | X131024521Y-66557609D03*
101 | X130980180Y-62195710D03*
102 | D13*
103 | X139741400Y-92861600D02*
104 | X139623800Y-92979200D01*
105 | X139623800Y-101269800D02*
106 | X139609608Y-101283992D01*
107 | X139663392Y-101283992D02*
108 | X139674085Y-101294685D01*
109 | X157082856Y-106459179D02*
110 | X157075790Y-106417192D01*
111 | X141853920Y-59296300D02*
112 | X143377920Y-59296300D01*
113 | X143377920Y-59296300D02*
114 | X143380460Y-59298840D01*
115 | X143374110Y-62108080D02*
116 | X143375380Y-62109350D01*
117 | X141848840Y-64912240D02*
118 | X141851380Y-64914780D01*
119 | X143380460Y-64917320D02*
120 | X143380460Y-62114430D01*
121 | X141848840Y-62108080D02*
122 | X141848840Y-62696806D01*
123 | X141848840Y-62108080D02*
124 | X143374110Y-62108080D01*
125 | X143375380Y-62109350D02*
126 | X143375380Y-59303920D01*
127 | X141848840Y-62108080D02*
128 | X141848840Y-64912240D01*
129 | X141851380Y-64914780D02*
130 | X143377920Y-64914780D01*
131 | X141853920Y-59296300D02*
132 | X141853920Y-62103000D01*
133 | X143380460Y-62114430D02*
134 | X143375380Y-62109350D01*
135 | X143377920Y-64914780D02*
136 | X143380460Y-64917320D01*
137 | X143375380Y-59303920D02*
138 | X143380460Y-59298840D01*
139 | X141853920Y-62103000D02*
140 | X141848840Y-62108080D01*
141 | X161526600Y-102920800D02*
142 | X161526600Y-83989800D01*
143 | X145685144Y-76573221D02*
144 | X145692210Y-76615208D01*
145 | X152997366Y-81915000D02*
146 | X153090602Y-81915000D01*
147 | X143380460Y-64917320D02*
148 | X143380460Y-65292320D01*
149 | X162026600Y-90170800D02*
150 | X162026600Y-102920800D01*
151 | X145468381Y-76356458D02*
152 | X145685144Y-76573221D01*
153 | X162001200Y-83515200D02*
154 | X162026600Y-90170800D01*
155 | X143380460Y-65292320D02*
156 | X145468380Y-67380240D01*
157 | X153363327Y-82187725D02*
158 | X161319725Y-82187725D01*
159 | X153090602Y-81915000D02*
160 | X153363327Y-82187725D01*
161 | X152653186Y-81570820D02*
162 | X152997366Y-81915000D01*
163 | X145692210Y-76615208D02*
164 | X150471481Y-80017635D01*
165 | X161526600Y-83989800D02*
166 | X162001200Y-83515200D01*
167 | X150471481Y-80017635D02*
168 | X152653186Y-81570820D01*
169 | X162026600Y-82894600D02*
170 | X162001200Y-83515200D01*
171 | X145468380Y-67380240D02*
172 | X145468381Y-76356458D01*
173 | X161319725Y-82187725D02*
174 | X162026600Y-82894600D01*
175 | X162306000Y-122402600D02*
176 | X162306000Y-123014740D01*
177 | X162306000Y-123014740D02*
178 | X163012120Y-123720860D01*
179 | X149499555Y-101575967D02*
180 | X156662954Y-106675687D01*
181 | X139674085Y-101294685D02*
182 | X149218273Y-101294685D01*
183 | X139741400Y-80111600D02*
184 | X139741400Y-92861600D01*
185 | X157294580Y-120938290D02*
186 | X157294580Y-123743720D01*
187 | X156849610Y-116586000D02*
188 | X157120180Y-116586000D01*
189 | X162300598Y-122408002D02*
190 | X162306000Y-122402600D01*
191 | X157289500Y-118130320D02*
192 | X157289500Y-120933210D01*
193 | X139609608Y-101283992D02*
194 | X139663392Y-101283992D01*
195 | X163012120Y-120914160D02*
196 | X163017200Y-120909080D01*
197 | X157289500Y-120933210D02*
198 | X157294580Y-120938290D01*
199 | X149218273Y-101294685D02*
200 | X149499555Y-101575967D01*
201 | X157289500Y-123190552D02*
202 | X158072050Y-122408002D01*
203 | X157294580Y-123743720D02*
204 | X157289500Y-123748800D01*
205 | X163012120Y-123720860D02*
206 | X163012120Y-123327484D01*
207 | X157289500Y-116755320D02*
208 | X157289500Y-118130320D01*
209 | X156849610Y-106862343D02*
210 | X156849610Y-116586000D01*
211 | X139623800Y-92979200D02*
212 | X139623800Y-101269800D01*
213 | X140241400Y-80111600D02*
214 | X140241400Y-99901408D01*
215 | X163014660Y-118102380D02*
216 | X163014660Y-120906540D01*
217 | X163014660Y-120906540D02*
218 | X163017200Y-120909080D01*
219 | X163012120Y-123720860D02*
220 | X163012120Y-120914160D01*
221 | X157289500Y-123748800D02*
222 | X157289500Y-123190552D01*
223 | X157120180Y-116586000D02*
224 | X157289500Y-116755320D01*
225 | X140241400Y-99901408D02*
226 | X139609608Y-100533200D01*
227 | X156662954Y-106675687D02*
228 | X156849610Y-106862343D01*
229 | X133075680Y-59397900D02*
230 | X133073140Y-59400440D01*
231 | X134599680Y-59397900D02*
232 | X133075680Y-59397900D01*
233 | X133079490Y-62209680D02*
234 | X133078220Y-62210950D01*
235 | X134604760Y-62209680D02*
236 | X133079490Y-62209680D01*
237 | X133075680Y-65016380D02*
238 | X133073140Y-65018920D01*
239 | X134602220Y-65016380D02*
240 | X133075680Y-65016380D01*
241 | X133073140Y-62216030D02*
242 | X133078220Y-62210950D01*
243 | X133073140Y-65018920D02*
244 | X133073140Y-62216030D01*
245 | X133078220Y-59405520D02*
246 | X133073140Y-59400440D01*
247 | X133078220Y-62210950D02*
248 | X133078220Y-59405520D01*
249 | X134599680Y-62204600D02*
250 | X134604760Y-62209680D01*
251 | X134599680Y-59397900D02*
252 | X134599680Y-62204600D01*
253 | X134604760Y-65013840D02*
254 | X134602220Y-65016380D01*
255 | X134604760Y-62209680D02*
256 | X134604760Y-65013840D01*
257 | X134604760Y-62209680D02*
258 | X134604760Y-62798406D01*
259 | X114427000Y-90272400D02*
260 | X114427000Y-103022400D01*
261 | X115133875Y-82289325D02*
262 | X114427000Y-82996200D01*
263 | X130768456Y-76674821D02*
264 | X130761390Y-76716808D01*
265 | X130985219Y-76458058D02*
266 | X130768456Y-76674821D01*
267 | X130761390Y-76716808D02*
268 | X125982119Y-80119235D01*
269 | X130985220Y-67481840D02*
270 | X130985219Y-76458058D01*
271 | X123456234Y-82016600D02*
272 | X123362998Y-82016600D01*
273 | X125982119Y-80119235D02*
274 | X123800414Y-81672420D01*
275 | X123800414Y-81672420D02*
276 | X123456234Y-82016600D01*
277 | X123090273Y-82289325D02*
278 | X115133875Y-82289325D01*
279 | X133073140Y-65018920D02*
280 | X133073140Y-65393920D01*
281 | X123362998Y-82016600D02*
282 | X123090273Y-82289325D01*
283 | X114927000Y-84091400D02*
284 | X114452400Y-83616800D01*
285 | X114927000Y-103022400D02*
286 | X114927000Y-84091400D01*
287 | X114427000Y-82996200D02*
288 | X114452400Y-83616800D01*
289 | X114452400Y-83616800D02*
290 | X114427000Y-90272400D01*
291 | X114493040Y-118297960D02*
292 | X114495580Y-118295420D01*
293 | X114498120Y-121107200D02*
294 | X114493040Y-121102120D01*
295 | X134170800Y-99220400D02*
296 | X134645400Y-99695000D01*
297 | X118336410Y-106594992D02*
298 | X123115681Y-103192565D01*
299 | X114498120Y-123913900D02*
300 | X116022120Y-123913900D01*
301 | X116024660Y-121095770D02*
302 | X116019580Y-121100850D01*
303 | X116019580Y-123906280D02*
304 | X116024660Y-123911360D01*
305 | X114493040Y-121102120D02*
306 | X114493040Y-120513394D01*
307 | X114493040Y-121102120D02*
308 | X116018310Y-121102120D01*
309 | X116024660Y-118292880D02*
310 | X116024660Y-121095770D01*
311 | X116022120Y-118295420D02*
312 | X116024660Y-118292880D01*
313 | X134670800Y-93039400D02*
314 | X134670800Y-80289400D01*
315 | X118112580Y-115829960D02*
316 | X118112581Y-106853742D01*
317 | X118112581Y-106853742D02*
318 | X118329344Y-106636979D01*
319 | X116022120Y-123913900D02*
320 | X116024660Y-123911360D01*
321 | X123115681Y-103192565D02*
322 | X125297386Y-101639380D01*
323 | X114493040Y-121102120D02*
324 | X114493040Y-118297960D01*
325 | X116018310Y-121102120D02*
326 | X116019580Y-121100850D01*
327 | X114498120Y-123913900D02*
328 | X114498120Y-121107200D01*
329 | X125297386Y-101639380D02*
330 | X125641566Y-101295200D01*
331 | X116019580Y-121100850D02*
332 | X116019580Y-123906280D01*
333 | X133963925Y-101022475D02*
334 | X134670800Y-100315600D01*
335 | X126007527Y-101022475D02*
336 | X133963925Y-101022475D01*
337 | X118329344Y-106636979D02*
338 | X118336410Y-106594992D01*
339 | X125734802Y-101295200D02*
340 | X126007527Y-101022475D01*
341 | X134170800Y-80289400D02*
342 | X134170800Y-99220400D01*
343 | X134670800Y-100315600D02*
344 | X134645400Y-99695000D01*
345 | X116024660Y-117917880D02*
346 | X118112580Y-115829960D01*
347 | X114495580Y-118295420D02*
348 | X116022120Y-118295420D01*
349 | X134645400Y-99695000D02*
350 | X134670800Y-93039400D01*
351 | X125641566Y-101295200D02*
352 | X125734802Y-101295200D01*
353 | X116024660Y-118292880D02*
354 | X116024660Y-117917880D01*
355 | X130985220Y-67481840D02*
356 | X131400160Y-67481840D01*
357 | X131400160Y-67481840D02*
358 | X131953000Y-66929000D01*
359 | X145473420Y-62094110D02*
360 | X145473420Y-59288680D01*
361 | X139753340Y-64930020D02*
362 | X139753340Y-62125860D01*
363 | X139755880Y-59311540D02*
364 | X139755880Y-59704916D01*
365 | X145478500Y-64902080D02*
366 | X145478500Y-62099190D01*
367 | X139755880Y-62118240D02*
368 | X139750800Y-62123320D01*
369 | X139753340Y-62125860D02*
370 | X139750800Y-62123320D01*
371 | X145473420Y-59288680D02*
372 | X145478500Y-59283600D01*
373 | X139755880Y-59311540D02*
374 | X139755880Y-62118240D01*
375 | X145478500Y-62099190D02*
376 | X145473420Y-62094110D01*
377 | X145478500Y-59283600D02*
378 | X145478500Y-59841848D01*
379 | X145918390Y-66446400D02*
380 | X145647820Y-66446400D01*
381 | X163144200Y-90053200D02*
382 | X163144200Y-81762600D01*
383 | X163026600Y-90170800D02*
384 | X163144200Y-90053200D01*
385 | X163158392Y-81748408D02*
386 | X163104608Y-81748408D01*
387 | X145478500Y-66277080D02*
388 | X145478500Y-64902080D01*
389 | X145647820Y-66446400D02*
390 | X145478500Y-66277080D01*
391 | X163144200Y-81762600D02*
392 | X163158392Y-81748408D01*
393 | X153549727Y-81737715D02*
394 | X153268445Y-81456433D01*
395 | X140467402Y-60624398D02*
396 | X140462000Y-60629800D01*
397 | X145478500Y-59841848D02*
398 | X144695950Y-60624398D01*
399 | X140462000Y-60629800D02*
400 | X140462000Y-60017660D01*
401 | X140462000Y-60017660D02*
402 | X139755880Y-59311540D01*
403 | X145918390Y-76170057D02*
404 | X145918390Y-66446400D01*
405 | X153268445Y-81456433D02*
406 | X146105046Y-76356713D01*
407 | X163104608Y-81748408D02*
408 | X163093915Y-81737715D01*
409 | X162526600Y-102920800D02*
410 | X162526600Y-83130992D01*
411 | X163093915Y-81737715D02*
412 | X153549727Y-81737715D01*
413 | X163026600Y-102920800D02*
414 | X163026600Y-90170800D01*
415 | X162526600Y-83130992D02*
416 | X163158392Y-82499200D01*
417 | X146105046Y-76356713D02*
418 | X145918390Y-76170057D01*
419 | X159390080Y-123736100D02*
420 | X159387540Y-123733560D01*
421 | X159393890Y-120924320D02*
422 | X159392620Y-120923050D01*
423 | X160914080Y-123736100D02*
424 | X159390080Y-123736100D01*
425 | X140741400Y-92861600D02*
426 | X140741400Y-80111600D01*
427 | X141241400Y-99042600D02*
428 | X140766800Y-99517200D01*
429 | X157299620Y-115652160D02*
430 | X157299619Y-106675942D01*
431 | X149677398Y-101117400D02*
432 | X149404673Y-100844675D01*
433 | X160919160Y-120924320D02*
434 | X159393890Y-120924320D01*
435 | X159387540Y-120917970D02*
436 | X159392620Y-120923050D01*
437 | X159392620Y-123728480D02*
438 | X159387540Y-123733560D01*
439 | X149770634Y-101117400D02*
440 | X149677398Y-101117400D01*
441 | X159387540Y-118115080D02*
442 | X159387540Y-117740080D01*
443 | X140766800Y-99517200D02*
444 | X140741400Y-92861600D01*
445 | X160919160Y-118120160D02*
446 | X160916620Y-118117620D01*
447 | X149404673Y-100844675D02*
448 | X141448275Y-100844675D01*
449 | X160919160Y-120924320D02*
450 | X160919160Y-118120160D01*
451 | X152296519Y-103014765D02*
452 | X150114814Y-101461580D01*
453 | X159387540Y-118115080D02*
454 | X159387540Y-120917970D01*
455 | X160916620Y-118117620D02*
456 | X159390080Y-118117620D01*
457 | X157299619Y-106675942D02*
458 | X157082856Y-106459179D01*
459 | X141448275Y-100844675D02*
460 | X140741400Y-100137800D01*
461 | X160914080Y-120929400D02*
462 | X160919160Y-120924320D01*
463 | X159390080Y-118117620D02*
464 | X159387540Y-118115080D01*
465 | X141241400Y-80111600D02*
466 | X141241400Y-99042600D01*
467 | X159392620Y-120923050D02*
468 | X159392620Y-123728480D01*
469 | X160919160Y-120924320D02*
470 | X160919160Y-120335594D01*
471 | X157075790Y-106417192D02*
472 | X152296519Y-103014765D01*
473 | X140741400Y-100137800D02*
474 | X140766800Y-99517200D01*
475 | X160914080Y-123736100D02*
476 | X160914080Y-120929400D01*
477 | X159387540Y-117740080D02*
478 | X157299620Y-115652160D01*
479 | X150114814Y-101461580D02*
480 | X149770634Y-101117400D01*
481 | X130975100Y-62200790D02*
482 | X130980180Y-62195710D01*
483 | X130975100Y-65003680D02*
484 | X130975100Y-62200790D01*
485 | X130980180Y-59390280D02*
486 | X130975100Y-59385200D01*
487 | X130980180Y-62195710D02*
488 | X130980180Y-59390280D01*
489 | X136700260Y-62227460D02*
490 | X136702800Y-62224920D01*
491 | X136700260Y-65031620D02*
492 | X136700260Y-62227460D01*
493 | X136697720Y-62219840D02*
494 | X136702800Y-62224920D01*
495 | X136697720Y-59413140D02*
496 | X136697720Y-62219840D01*
497 | X136697720Y-59413140D02*
498 | X136697720Y-59806516D01*
499 | X130975100Y-59385200D02*
500 | X130975100Y-59943448D01*
501 | X130975100Y-59943448D02*
502 | X131757650Y-60725998D01*
503 | X135991600Y-60119260D02*
504 | X136697720Y-59413140D01*
505 | X135991600Y-60731400D02*
506 | X135991600Y-60119260D01*
507 | X113309400Y-90154800D02*
508 | X113309400Y-81864200D01*
509 | X113295208Y-81850008D02*
510 | X113348992Y-81850008D01*
511 | X113427000Y-90272400D02*
512 | X113309400Y-90154800D01*
513 | X113309400Y-81864200D02*
514 | X113295208Y-81850008D01*
515 | X122903873Y-81839315D02*
516 | X123185155Y-81558033D01*
517 | X113427000Y-103022400D02*
518 | X113427000Y-90272400D01*
519 | X113348992Y-81850008D02*
520 | X113359685Y-81839315D01*
521 | X130348554Y-76458313D02*
522 | X130535210Y-76271657D01*
523 | X113359685Y-81839315D02*
524 | X122903873Y-81839315D01*
525 | X123185155Y-81558033D02*
526 | X130348554Y-76458313D01*
527 | X130535210Y-76271657D02*
528 | X130535210Y-66548000D01*
529 | X113927000Y-83232592D02*
530 | X113295208Y-82600800D01*
531 | X113927000Y-103022400D02*
532 | X113927000Y-83232592D01*
533 | X118122700Y-118308120D02*
534 | X118122700Y-121111010D01*
535 | X118117620Y-123921520D02*
536 | X118122700Y-123926600D01*
537 | X118117620Y-121116090D02*
538 | X118117620Y-123921520D01*
539 | X118122700Y-121111010D02*
540 | X118117620Y-121116090D01*
541 | X118749246Y-106853487D02*
542 | X118562590Y-107040143D01*
543 | X135738115Y-101472485D02*
544 | X126193927Y-101472485D01*
545 | X112400080Y-123898660D02*
546 | X112400080Y-121091960D01*
547 | X112397540Y-121084340D02*
548 | X112395000Y-121086880D01*
549 | X112400080Y-121091960D02*
550 | X112395000Y-121086880D01*
551 | X118562590Y-107040143D02*
552 | X118562590Y-116763800D01*
553 | X118292020Y-116763800D02*
554 | X118122700Y-116933120D01*
555 | X118122700Y-123926600D02*
556 | X118122700Y-123368352D01*
557 | X113106200Y-123192540D02*
558 | X112400080Y-123898660D01*
559 | X135670800Y-93039400D02*
560 | X135788400Y-93157000D01*
561 | X118122700Y-116933120D02*
562 | X118122700Y-118308120D01*
563 | X125912645Y-101753767D02*
564 | X118749246Y-106853487D01*
565 | X118562590Y-116763800D02*
566 | X118292020Y-116763800D01*
567 | X118122700Y-123368352D02*
568 | X117340150Y-122585802D01*
569 | X135170800Y-80289400D02*
570 | X135170800Y-100079208D01*
571 | X126193927Y-101472485D02*
572 | X125912645Y-101753767D01*
573 | X113106200Y-122580400D02*
574 | X113106200Y-123192540D01*
575 | X135748808Y-101461792D02*
576 | X135738115Y-101472485D01*
577 | X135788400Y-93157000D02*
578 | X135788400Y-101447600D01*
579 | X135670800Y-80289400D02*
580 | X135670800Y-93039400D01*
581 | X135170800Y-100079208D02*
582 | X135802592Y-100711000D01*
583 | X112397540Y-118280180D02*
584 | X112397540Y-121084340D01*
585 | X135802592Y-101461792D02*
586 | X135748808Y-101461792D01*
587 | X112400080Y-123898660D02*
588 | X112400080Y-123505284D01*
589 | X135788400Y-101447600D02*
590 | X135802592Y-101461792D01*
591 | X130535210Y-66548000D02*
592 | X131014912Y-66548000D01*
593 | X131014912Y-66548000D02*
594 | X131024521Y-66557609D01*
595 | M02*
596 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Harness/RED+BLUE/LED_Harness_3x2_RED+BLUE-F_Mask.gbr:
--------------------------------------------------------------------------------
1 | G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3*
2 | G04 #@! TF.CreationDate,2021-03-18T13:29:50-04:00*
3 | G04 #@! TF.ProjectId,LED_Harness_3x2_RED+BLUE,4c45445f-4861-4726-9e65-73735f337832,rev?*
4 | G04 #@! TF.SameCoordinates,Original*
5 | G04 #@! TF.FileFunction,Soldermask,Top*
6 | G04 #@! TF.FilePolarity,Negative*
7 | %FSLAX46Y46*%
8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
9 | G04 Created by KiCad (PCBNEW (5.1.5)-3) date 2021-03-18 13:29:50*
10 | %MOMM*%
11 | %LPD*%
12 | G04 APERTURE LIST*
13 | %ADD10R,1.500000X2.250000*%
14 | %ADD11R,0.300000X25.000000*%
15 | G04 APERTURE END LIST*
16 | D10*
17 | X163014660Y-123705620D03*
18 | X160916620Y-123690380D03*
19 | X157294580Y-120869710D03*
20 | X159392620Y-120884950D03*
21 | X159387540Y-118074440D03*
22 | X157289500Y-118059200D03*
23 | X159387540Y-123692920D03*
24 | X157289500Y-123677680D03*
25 | X160919160Y-120883680D03*
26 | X163017200Y-120898920D03*
27 | X163012120Y-118087140D03*
28 | X160914080Y-118071900D03*
29 | D11*
30 | X141237400Y-80247200D03*
31 | X140737400Y-80247200D03*
32 | X140237400Y-80247200D03*
33 | X139737400Y-80247200D03*
34 | X163030600Y-102878600D03*
35 | X162530600Y-102878600D03*
36 | X162030600Y-102878600D03*
37 | X161530600Y-102878600D03*
38 | D10*
39 | X143413480Y-59347100D03*
40 | X145511520Y-59362340D03*
41 | X141892020Y-62160150D03*
42 | X139793980Y-62144910D03*
43 | X139788900Y-64952880D03*
44 | X141886940Y-64968120D03*
45 | X139788900Y-59334400D03*
46 | X141886940Y-59349640D03*
47 | X145516600Y-62174120D03*
48 | X143418560Y-62158880D03*
49 | X143416020Y-64965580D03*
50 | X145514060Y-64980820D03*
51 | X114498120Y-123913900D03*
52 | X112400080Y-123898660D03*
53 | X116019580Y-121100850D03*
54 | X118117620Y-121116090D03*
55 | X118122700Y-118308120D03*
56 | X116024660Y-118292880D03*
57 | X118122700Y-123926600D03*
58 | X116024660Y-123911360D03*
59 | D11*
60 | X134170800Y-80289400D03*
61 | X134670800Y-80289400D03*
62 | X135170800Y-80289400D03*
63 | X135670800Y-80289400D03*
64 | D10*
65 | X112395000Y-121086880D03*
66 | X114493040Y-121102120D03*
67 | X114495580Y-118295420D03*
68 | X112397540Y-118280180D03*
69 | D11*
70 | X113427000Y-103022400D03*
71 | X113927000Y-103022400D03*
72 | X114427000Y-103022400D03*
73 | X114927000Y-103022400D03*
74 | D10*
75 | X133073140Y-65018920D03*
76 | X130975100Y-65003680D03*
77 | X130980180Y-62195710D03*
78 | X133078220Y-62210950D03*
79 | X133073140Y-59400440D03*
80 | X130975100Y-59385200D03*
81 | X136700260Y-65031620D03*
82 | X134602220Y-65016380D03*
83 | X134604760Y-62209680D03*
84 | X136702800Y-62224920D03*
85 | X136697720Y-59413140D03*
86 | X134599680Y-59397900D03*
87 | M02*
88 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Harness/RED+BLUE/LED_Harness_3x2_RED+BLUE-F_Paste.gbr:
--------------------------------------------------------------------------------
1 | G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3*
2 | G04 #@! TF.CreationDate,2021-03-18T13:29:50-04:00*
3 | G04 #@! TF.ProjectId,LED_Harness_3x2_RED+BLUE,4c45445f-4861-4726-9e65-73735f337832,rev?*
4 | G04 #@! TF.SameCoordinates,Original*
5 | G04 #@! TF.FileFunction,Paste,Top*
6 | G04 #@! TF.FilePolarity,Positive*
7 | %FSLAX46Y46*%
8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
9 | G04 Created by KiCad (PCBNEW (5.1.5)-3) date 2021-03-18 13:29:50*
10 | %MOMM*%
11 | %LPD*%
12 | G04 APERTURE LIST*
13 | %ADD10R,1.500000X2.250000*%
14 | %ADD11R,0.300000X25.000000*%
15 | G04 APERTURE END LIST*
16 | D10*
17 | X163014660Y-123705620D03*
18 | X160916620Y-123690380D03*
19 | X157294580Y-120869710D03*
20 | X159392620Y-120884950D03*
21 | X159387540Y-118074440D03*
22 | X157289500Y-118059200D03*
23 | X159387540Y-123692920D03*
24 | X157289500Y-123677680D03*
25 | X160919160Y-120883680D03*
26 | X163017200Y-120898920D03*
27 | X163012120Y-118087140D03*
28 | X160914080Y-118071900D03*
29 | D11*
30 | X141237400Y-80247200D03*
31 | X140737400Y-80247200D03*
32 | X140237400Y-80247200D03*
33 | X139737400Y-80247200D03*
34 | X163030600Y-102878600D03*
35 | X162530600Y-102878600D03*
36 | X162030600Y-102878600D03*
37 | X161530600Y-102878600D03*
38 | D10*
39 | X143413480Y-59347100D03*
40 | X145511520Y-59362340D03*
41 | X141892020Y-62160150D03*
42 | X139793980Y-62144910D03*
43 | X139788900Y-64952880D03*
44 | X141886940Y-64968120D03*
45 | X139788900Y-59334400D03*
46 | X141886940Y-59349640D03*
47 | X145516600Y-62174120D03*
48 | X143418560Y-62158880D03*
49 | X143416020Y-64965580D03*
50 | X145514060Y-64980820D03*
51 | X114498120Y-123913900D03*
52 | X112400080Y-123898660D03*
53 | X116019580Y-121100850D03*
54 | X118117620Y-121116090D03*
55 | X118122700Y-118308120D03*
56 | X116024660Y-118292880D03*
57 | X118122700Y-123926600D03*
58 | X116024660Y-123911360D03*
59 | D11*
60 | X134170800Y-80289400D03*
61 | X134670800Y-80289400D03*
62 | X135170800Y-80289400D03*
63 | X135670800Y-80289400D03*
64 | D10*
65 | X112395000Y-121086880D03*
66 | X114493040Y-121102120D03*
67 | X114495580Y-118295420D03*
68 | X112397540Y-118280180D03*
69 | D11*
70 | X113427000Y-103022400D03*
71 | X113927000Y-103022400D03*
72 | X114427000Y-103022400D03*
73 | X114927000Y-103022400D03*
74 | D10*
75 | X133073140Y-65018920D03*
76 | X130975100Y-65003680D03*
77 | X130980180Y-62195710D03*
78 | X133078220Y-62210950D03*
79 | X133073140Y-59400440D03*
80 | X130975100Y-59385200D03*
81 | X136700260Y-65031620D03*
82 | X134602220Y-65016380D03*
83 | X134604760Y-62209680D03*
84 | X136702800Y-62224920D03*
85 | X136697720Y-59413140D03*
86 | X134599680Y-59397900D03*
87 | M02*
88 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Harness/RED+BLUE/LED_Harness_3x2_RED+BLUE-bottom-pos.csv:
--------------------------------------------------------------------------------
1 | Ref,Val,Package,PosX,PosY,Rot,Side
2 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Harness/RED+BLUE/LED_Harness_3x2_RED+BLUE-top-pos.csv:
--------------------------------------------------------------------------------
1 | Ref,Val,Package,PosX,PosY,Rot,Side
2 | "J1"," ","FFC_Male_1x02-1MP_P0.50m",114.177000,-78.672400,180.000000,top
3 | "J1"," ","FFC_Male_1x02-1MP_P0.50m",140.487400,-104.597200,0.000000,top
4 | "J1"," ","FFC_Male_1x02-1MP_P0.50m",162.280600,-127.228600,0.000000,top
5 | "J1"," ","FFC_Male_1x02-1MP_P0.50m",134.920800,-104.639400,0.000000,top
6 | "LED1","LB_T64G-V1CA-59-Z","LEDM3528X210N",158.338520,-123.690380,180.000000,top
7 | "LED1","LB_T64G-V1CA-59-Z","LEDM3528X210N",132.024120,-65.016380,180.000000,top
8 | "LED1","LB_T64G-V1CA-59-Z","LEDM3528X210N",140.837920,-64.965580,180.000000,top
9 | "LED1","LB_T64G-V1CA-59-Z","LEDM3528X210N",117.073680,-118.295420,0.000000,top
10 | "LED2","LB_T64G-V1CA-59-Z","LEDM3528X210N",158.343600,-120.882410,180.000000,top
11 | "LED2","LB_T64G-V1CA-59-Z","LEDM3528X210N",132.029200,-62.208410,180.000000,top
12 | "LED2","LB_T64G-V1CA-59-Z","LEDM3528X210N",140.843000,-62.157610,180.000000,top
13 | "LED2","LB_T64G-V1CA-59-Z","LEDM3528X210N",117.068600,-121.103390,0.000000,top
14 | "LED3","LB_T64G-V1CA-59-Z","LEDM3528X210N",132.024120,-59.397900,180.000000,top
15 | "LED3","LB_T64G-V1CA-59-Z","LEDM3528X210N",117.073680,-123.913900,0.000000,top
16 | "LED3","LB_T64G-V1CA-59-Z","LEDM3528X210N",140.837920,-59.347100,180.000000,top
17 | "LED3","LB_T64G-V1CA-59-Z","LEDM3528X210N",158.338520,-118.071900,180.000000,top
18 | "LED4","LB_T64G-V1CA-59-Z","LEDM3528X210N",135.651240,-65.018920,0.000000,top
19 | "LED4","LB_T64G-V1CA-59-Z","LEDM3528X210N",144.465040,-64.968120,0.000000,top
20 | "LED4","LB_T64G-V1CA-59-Z","LEDM3528X210N",113.446560,-118.292880,180.000000,top
21 | "LED4","LB_T64G-V1CA-59-Z","LEDM3528X210N",161.965640,-123.692920,0.000000,top
22 | "LED5","LB_T64G-V1CA-59-Z","LEDM3528X210N",144.467580,-62.161420,0.000000,top
23 | "LED5","LB_T64G-V1CA-59-Z","LEDM3528X210N",135.653780,-62.212220,0.000000,top
24 | "LED5","LB_T64G-V1CA-59-Z","LEDM3528X210N",113.444020,-121.099580,180.000000,top
25 | "LED5","LB_T64G-V1CA-59-Z","LEDM3528X210N",161.968180,-120.886220,0.000000,top
26 | "LED6","LB_T64G-V1CA-59-Z","LEDM3528X210N",135.648700,-59.400440,0.000000,top
27 | "LED6","LB_T64G-V1CA-59-Z","LEDM3528X210N",113.449100,-123.911360,180.000000,top
28 | "LED6","LB_T64G-V1CA-59-Z","LEDM3528X210N",144.462500,-59.349640,0.000000,top
29 | "LED6","LB_T64G-V1CA-59-Z","LEDM3528X210N",161.963100,-118.074440,0.000000,top
30 |
--------------------------------------------------------------------------------
/Hardware/Electrical/LED Harness/RED+BLUE/LED_Harness_3x2_RED+BLUE.drl:
--------------------------------------------------------------------------------
1 | M48
2 | ; DRILL file {KiCad (5.1.5)-3} date 3/18/2021 1:29:54 PM
3 | ; FORMAT={-:-/ absolute / inch / decimal}
4 | ; #@! TF.CreationDate,2021-03-18T13:29:54-04:00
5 | ; #@! TF.GenerationSoftware,Kicad,Pcbnew,(5.1.5)-3
6 | FMAT,2
7 | INCH
8 | T1C0.0157
9 | %
10 | G90
11 | G05
12 | T1
13 | X4.453Y-4.826
14 | X4.6197Y-4.8262
15 | X5.1567Y-2.4486
16 | X5.1584Y-2.6204
17 | X5.1873Y-2.3908
18 | X5.195Y-2.635
19 | X5.2393Y-2.4493
20 | X5.354Y-2.391
21 | X5.53Y-2.387
22 | X5.6967Y-2.3868
23 | X6.2233Y-4.8192
24 | X6.39Y-4.819
25 | T0
26 | M30
27 |
--------------------------------------------------------------------------------
/Hardware/GelSlim Hardware Quick Start Tutorial.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Hardware/GelSlim Hardware Quick Start Tutorial.pdf
--------------------------------------------------------------------------------
/Hardware/GelSlim Quick Start Tutorial-Updated.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Hardware/GelSlim Quick Start Tutorial-Updated.pdf
--------------------------------------------------------------------------------
/Hardware/Mechanical/Elastomer/cutting_template.step:
--------------------------------------------------------------------------------
1 | ISO-10303-21;
2 | HEADER;
3 | /* Generated by software containing ST-Developer
4 | * from STEP Tools, Inc. (www.steptools.com)
5 | */
6 | /* OPTION: using custom renumber hook */
7 |
8 | FILE_DESCRIPTION(
9 | /* description */ ('STEP AP214'),
10 | /* implementation_level */ '2;1');
11 |
12 | FILE_NAME(
13 | /* name */ '6053769552977113f60a320c',
14 | /* time_stamp */ '2021-03-18T15:49:41+00:00',
15 | /* author */ (''),
16 | /* organization */ (''),
17 | /* preprocessor_version */ 'ST-DEVELOPER v18.1',
18 | /* originating_system */ ' ',
19 | /* authorisation */ ' ');
20 |
21 | FILE_SCHEMA (('AUTOMOTIVE_DESIGN {1 0 10303 214 3 1 1}'));
22 | ENDSEC;
23 |
24 | DATA;
25 | #10=PROPERTY_DEFINITION_REPRESENTATION(#14,#12);
26 | #11=PROPERTY_DEFINITION_REPRESENTATION(#15,#13);
27 | #12=REPRESENTATION('',(#16),#85);
28 | #13=REPRESENTATION('',(#17),#85);
29 | #14=PROPERTY_DEFINITION('pmi validation property','',#90);
30 | #15=PROPERTY_DEFINITION('pmi validation property','',#90);
31 | #16=VALUE_REPRESENTATION_ITEM('number of annotations',COUNT_MEASURE(0.));
32 | #17=VALUE_REPRESENTATION_ITEM('number of views',COUNT_MEASURE(0.));
33 | #18=SHAPE_REPRESENTATION_RELATIONSHIP('','',#57,#19);
34 | #19=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#55),#85);
35 | #20=PLANE('',#62);
36 | #21=PLANE('',#63);
37 | #22=ORIENTED_EDGE('',*,*,#26,.T.);
38 | #23=ORIENTED_EDGE('',*,*,#27,.F.);
39 | #24=ORIENTED_EDGE('',*,*,#26,.F.);
40 | #25=ORIENTED_EDGE('',*,*,#27,.T.);
41 | #26=EDGE_CURVE('',#28,#28,#30,.T.);
42 | #27=EDGE_CURVE('',#29,#29,#31,.T.);
43 | #28=VERTEX_POINT('',#79);
44 | #29=VERTEX_POINT('',#81);
45 | #30=CIRCLE('',#60,0.0160729880916987);
46 | #31=CIRCLE('',#61,0.0160729880916987);
47 | #32=EDGE_LOOP('',(#22));
48 | #33=EDGE_LOOP('',(#23));
49 | #34=EDGE_LOOP('',(#24));
50 | #35=EDGE_LOOP('',(#25));
51 | #36=FACE_BOUND('',#32,.T.);
52 | #37=FACE_BOUND('',#33,.T.);
53 | #38=FACE_BOUND('',#34,.T.);
54 | #39=FACE_BOUND('',#35,.T.);
55 | #40=CYLINDRICAL_SURFACE('',#59,0.0160729880916987);
56 | #41=ADVANCED_FACE('',(#36,#37),#40,.T.);
57 | #42=ADVANCED_FACE('',(#38),#20,.F.);
58 | #43=ADVANCED_FACE('',(#39),#21,.T.);
59 | #44=CLOSED_SHELL('',(#41,#42,#43));
60 | #45=STYLED_ITEM('',(#46),#55);
61 | #46=PRESENTATION_STYLE_ASSIGNMENT((#47));
62 | #47=SURFACE_STYLE_USAGE(.BOTH.,#48);
63 | #48=SURFACE_SIDE_STYLE('',(#51,#49));
64 | #49=SURFACE_STYLE_RENDERING_WITH_PROPERTIES(.CONSTANT_SHADING.,#54,(#50));
65 | #50=SURFACE_STYLE_TRANSPARENT(0.490196078431373);
66 | #51=SURFACE_STYLE_FILL_AREA(#52);
67 | #52=FILL_AREA_STYLE('',(#53));
68 | #53=FILL_AREA_STYLE_COLOUR('',#54);
69 | #54=COLOUR_RGB('',0.901960784313726,0.901960784313726,0.901960784313726);
70 | #55=MANIFOLD_SOLID_BREP('Gel',#44);
71 | #56=SHAPE_DEFINITION_REPRESENTATION(#90,#57);
72 | #57=SHAPE_REPRESENTATION('Gel',(#58),#85);
73 | #58=AXIS2_PLACEMENT_3D('',#76,#64,#65);
74 | #59=AXIS2_PLACEMENT_3D('',#77,#66,#67);
75 | #60=AXIS2_PLACEMENT_3D('',#78,#68,#69);
76 | #61=AXIS2_PLACEMENT_3D('',#80,#70,#71);
77 | #62=AXIS2_PLACEMENT_3D('',#82,#72,#73);
78 | #63=AXIS2_PLACEMENT_3D('',#83,#74,#75);
79 | #64=DIRECTION('',(0.,0.,1.));
80 | #65=DIRECTION('',(1.,0.,0.));
81 | #66=DIRECTION('',(0.,-1.,0.));
82 | #67=DIRECTION('',(0.,0.,-1.));
83 | #68=DIRECTION('',(0.,-1.,0.));
84 | #69=DIRECTION('',(0.,0.,-1.));
85 | #70=DIRECTION('',(0.,-1.,0.));
86 | #71=DIRECTION('',(0.,0.,-1.));
87 | #72=DIRECTION('',(0.,-1.,0.));
88 | #73=DIRECTION('',(1.,0.,0.));
89 | #74=DIRECTION('',(0.,-1.,0.));
90 | #75=DIRECTION('',(1.,0.,0.));
91 | #76=CARTESIAN_POINT('',(0.,0.,0.));
92 | #77=CARTESIAN_POINT('',(9.84186670961618E-19,0.0015,0.));
93 | #78=CARTESIAN_POINT('',(9.84186670961618E-19,0.0015,0.));
94 | #79=CARTESIAN_POINT('',(9.84186670961618E-19,0.0015,-0.0160729880916987));
95 | #80=CARTESIAN_POINT('',(9.84186670961618E-19,0.,0.));
96 | #81=CARTESIAN_POINT('',(9.84186670961618E-19,0.,-0.0160729880916987));
97 | #82=CARTESIAN_POINT('',(0.,0.0015,0.));
98 | #83=CARTESIAN_POINT('',(-0.01368346208073,0.,-0.01185022577363));
99 | #84=MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#45),#85);
100 | #85=(
101 | GEOMETRIC_REPRESENTATION_CONTEXT(3)
102 | GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#86))
103 | GLOBAL_UNIT_ASSIGNED_CONTEXT((#89,#88,#87))
104 | REPRESENTATION_CONTEXT('Gel','TOP_LEVEL_ASSEMBLY_PART')
105 | );
106 | #86=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(5.E-6),#89,
107 | 'DISTANCE_ACCURACY_VALUE','Maximum Tolerance applied to model');
108 | #87=(
109 | NAMED_UNIT(*)
110 | SI_UNIT($,.STERADIAN.)
111 | SOLID_ANGLE_UNIT()
112 | );
113 | #88=(
114 | NAMED_UNIT(*)
115 | PLANE_ANGLE_UNIT()
116 | SI_UNIT($,.RADIAN.)
117 | );
118 | #89=(
119 | LENGTH_UNIT()
120 | NAMED_UNIT(*)
121 | SI_UNIT($,.METRE.)
122 | );
123 | #90=PRODUCT_DEFINITION_SHAPE('','',#91);
124 | #91=PRODUCT_DEFINITION('','',#93,#92);
125 | #92=PRODUCT_DEFINITION_CONTEXT('',#99,'design');
126 | #93=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('','',#95,
127 | .NOT_KNOWN.);
128 | #94=PRODUCT_RELATED_PRODUCT_CATEGORY('','',(#95));
129 | #95=PRODUCT('Gel','Gel','Gel',(#97));
130 | #96=PRODUCT_CATEGORY('','');
131 | #97=PRODUCT_CONTEXT('',#99,'mechanical');
132 | #98=APPLICATION_PROTOCOL_DEFINITION('international standard',
133 | 'automotive_design',2010,#99);
134 | #99=APPLICATION_CONTEXT(
135 | 'core data for automotive mechanical design processes');
136 | ENDSEC;
137 | END-ISO-10303-21;
138 |
--------------------------------------------------------------------------------
/Hardware/Mechanical/Fasteners/6659K650_OIL-EMBEDDED FLANGED SLEEVE BEARING.step:
--------------------------------------------------------------------------------
1 | ISO-10303-21;
2 | HEADER;
3 | /* Generated by software containing ST-Developer
4 | * from STEP Tools, Inc. (www.steptools.com)
5 | */
6 | /* OPTION: using custom renumber hook */
7 |
8 | FILE_DESCRIPTION(
9 | /* description */ ('STEP AP214'),
10 | /* implementation_level */ '2;1');
11 |
12 | FILE_NAME(
13 | /* name */ '6053712352977113f60a0c5c',
14 | /* time_stamp */ '2021-03-18T15:26:28+00:00',
15 | /* author */ (''),
16 | /* organization */ (''),
17 | /* preprocessor_version */ 'ST-DEVELOPER v18.1',
18 | /* originating_system */ ' ',
19 | /* authorisation */ ' ');
20 |
21 | FILE_SCHEMA (('AUTOMOTIVE_DESIGN {1 0 10303 214 3 1 1}'));
22 | ENDSEC;
23 |
24 | DATA;
25 | #10=PROPERTY_DEFINITION_REPRESENTATION(#14,#12);
26 | #11=PROPERTY_DEFINITION_REPRESENTATION(#15,#13);
27 | #12=REPRESENTATION('',(#16),#157);
28 | #13=REPRESENTATION('',(#17),#157);
29 | #14=PROPERTY_DEFINITION('pmi validation property','',#162);
30 | #15=PROPERTY_DEFINITION('pmi validation property','',#162);
31 | #16=VALUE_REPRESENTATION_ITEM('number of annotations',COUNT_MEASURE(0.));
32 | #17=VALUE_REPRESENTATION_ITEM('number of views',COUNT_MEASURE(0.));
33 | #18=SHAPE_REPRESENTATION_RELATIONSHIP('','',#97,#19);
34 | #19=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#95),#157);
35 | #20=CYLINDRICAL_SURFACE('',#105,0.00351);
36 | #21=CYLINDRICAL_SURFACE('',#107,0.002);
37 | #22=CYLINDRICAL_SURFACE('',#110,0.005);
38 | #23=ORIENTED_EDGE('',*,*,#35,.T.);
39 | #24=ORIENTED_EDGE('',*,*,#36,.F.);
40 | #25=ORIENTED_EDGE('',*,*,#37,.T.);
41 | #26=ORIENTED_EDGE('',*,*,#38,.F.);
42 | #27=ORIENTED_EDGE('',*,*,#39,.T.);
43 | #28=ORIENTED_EDGE('',*,*,#35,.F.);
44 | #29=ORIENTED_EDGE('',*,*,#36,.T.);
45 | #30=ORIENTED_EDGE('',*,*,#37,.F.);
46 | #31=ORIENTED_EDGE('',*,*,#40,.T.);
47 | #32=ORIENTED_EDGE('',*,*,#39,.F.);
48 | #33=ORIENTED_EDGE('',*,*,#40,.F.);
49 | #34=ORIENTED_EDGE('',*,*,#38,.T.);
50 | #35=EDGE_CURVE('',#41,#41,#47,.T.);
51 | #36=EDGE_CURVE('',#42,#42,#48,.T.);
52 | #37=EDGE_CURVE('',#43,#43,#49,.T.);
53 | #38=EDGE_CURVE('',#44,#44,#50,.T.);
54 | #39=EDGE_CURVE('',#45,#45,#51,.T.);
55 | #40=EDGE_CURVE('',#46,#46,#52,.T.);
56 | #41=VERTEX_POINT('',#140);
57 | #42=VERTEX_POINT('',#142);
58 | #43=VERTEX_POINT('',#145);
59 | #44=VERTEX_POINT('',#147);
60 | #45=VERTEX_POINT('',#150);
61 | #46=VERTEX_POINT('',#154);
62 | #47=CIRCLE('',#100,0.00351);
63 | #48=CIRCLE('',#101,0.002);
64 | #49=CIRCLE('',#103,0.002);
65 | #50=CIRCLE('',#104,0.005);
66 | #51=CIRCLE('',#106,0.00351);
67 | #52=CIRCLE('',#109,0.005);
68 | #53=EDGE_LOOP('',(#23));
69 | #54=EDGE_LOOP('',(#24));
70 | #55=EDGE_LOOP('',(#25));
71 | #56=EDGE_LOOP('',(#26));
72 | #57=EDGE_LOOP('',(#27));
73 | #58=EDGE_LOOP('',(#28));
74 | #59=EDGE_LOOP('',(#29));
75 | #60=EDGE_LOOP('',(#30));
76 | #61=EDGE_LOOP('',(#31));
77 | #62=EDGE_LOOP('',(#32));
78 | #63=EDGE_LOOP('',(#33));
79 | #64=EDGE_LOOP('',(#34));
80 | #65=FACE_BOUND('',#53,.T.);
81 | #66=FACE_BOUND('',#54,.T.);
82 | #67=FACE_BOUND('',#55,.T.);
83 | #68=FACE_BOUND('',#56,.T.);
84 | #69=FACE_BOUND('',#57,.T.);
85 | #70=FACE_BOUND('',#58,.T.);
86 | #71=FACE_BOUND('',#59,.T.);
87 | #72=FACE_BOUND('',#60,.T.);
88 | #73=FACE_BOUND('',#61,.T.);
89 | #74=FACE_BOUND('',#62,.T.);
90 | #75=FACE_BOUND('',#63,.T.);
91 | #76=FACE_BOUND('',#64,.T.);
92 | #77=PLANE('',#99);
93 | #78=PLANE('',#102);
94 | #79=PLANE('',#108);
95 | #80=ADVANCED_FACE('',(#65,#66),#77,.T.);
96 | #81=ADVANCED_FACE('',(#67,#68),#78,.F.);
97 | #82=ADVANCED_FACE('',(#69,#70),#20,.T.);
98 | #83=ADVANCED_FACE('',(#71,#72),#21,.F.);
99 | #84=ADVANCED_FACE('',(#73,#74),#79,.T.);
100 | #85=ADVANCED_FACE('',(#75,#76),#22,.T.);
101 | #86=CLOSED_SHELL('',(#80,#81,#82,#83,#84,#85));
102 | #87=STYLED_ITEM('',(#88),#95);
103 | #88=PRESENTATION_STYLE_ASSIGNMENT((#89));
104 | #89=SURFACE_STYLE_USAGE(.BOTH.,#90);
105 | #90=SURFACE_SIDE_STYLE('',(#91));
106 | #91=SURFACE_STYLE_FILL_AREA(#92);
107 | #92=FILL_AREA_STYLE('',(#93));
108 | #93=FILL_AREA_STYLE_COLOUR('',#94);
109 | #94=COLOUR_RGB('',0.752941176470588,0.752941176470588,0.752941176470588);
110 | #95=MANIFOLD_SOLID_BREP('Part 1',#86);
111 | #96=SHAPE_DEFINITION_REPRESENTATION(#162,#97);
112 | #97=SHAPE_REPRESENTATION('Part 1',(#98),#157);
113 | #98=AXIS2_PLACEMENT_3D('',#137,#111,#112);
114 | #99=AXIS2_PLACEMENT_3D('',#138,#113,#114);
115 | #100=AXIS2_PLACEMENT_3D('',#139,#115,#116);
116 | #101=AXIS2_PLACEMENT_3D('',#141,#117,#118);
117 | #102=AXIS2_PLACEMENT_3D('',#143,#119,#120);
118 | #103=AXIS2_PLACEMENT_3D('',#144,#121,#122);
119 | #104=AXIS2_PLACEMENT_3D('',#146,#123,#124);
120 | #105=AXIS2_PLACEMENT_3D('',#148,#125,#126);
121 | #106=AXIS2_PLACEMENT_3D('',#149,#127,#128);
122 | #107=AXIS2_PLACEMENT_3D('',#151,#129,#130);
123 | #108=AXIS2_PLACEMENT_3D('',#152,#131,#132);
124 | #109=AXIS2_PLACEMENT_3D('',#153,#133,#134);
125 | #110=AXIS2_PLACEMENT_3D('',#155,#135,#136);
126 | #111=DIRECTION('',(0.,0.,1.));
127 | #112=DIRECTION('',(1.,0.,0.));
128 | #113=DIRECTION('',(0.,0.,1.));
129 | #114=DIRECTION('',(0.,-1.,0.));
130 | #115=DIRECTION('',(0.,0.,1.));
131 | #116=DIRECTION('',(0.,-1.,0.));
132 | #117=DIRECTION('',(0.,0.,1.));
133 | #118=DIRECTION('',(0.,-1.,0.));
134 | #119=DIRECTION('',(0.,0.,1.));
135 | #120=DIRECTION('',(0.,-1.,0.));
136 | #121=DIRECTION('',(0.,0.,1.));
137 | #122=DIRECTION('',(0.,-1.,0.));
138 | #123=DIRECTION('',(0.,0.,1.));
139 | #124=DIRECTION('',(0.,-1.,0.));
140 | #125=DIRECTION('',(0.,0.,-1.));
141 | #126=DIRECTION('',(0.,1.,0.));
142 | #127=DIRECTION('',(0.,0.,1.));
143 | #128=DIRECTION('',(0.,-1.,0.));
144 | #129=DIRECTION('',(0.,0.,-1.));
145 | #130=DIRECTION('',(0.,1.,0.));
146 | #131=DIRECTION('',(0.,0.,1.));
147 | #132=DIRECTION('',(0.,-1.,0.));
148 | #133=DIRECTION('',(0.,0.,1.));
149 | #134=DIRECTION('',(0.,-1.,0.));
150 | #135=DIRECTION('',(0.,0.,-1.));
151 | #136=DIRECTION('',(0.,1.,0.));
152 | #137=CARTESIAN_POINT('',(0.,0.,0.));
153 | #138=CARTESIAN_POINT('',(0.,0.,0.006));
154 | #139=CARTESIAN_POINT('',(0.,0.,0.006));
155 | #140=CARTESIAN_POINT('',(0.,-0.00351,0.006));
156 | #141=CARTESIAN_POINT('',(0.,0.,0.006));
157 | #142=CARTESIAN_POINT('',(0.,-0.002,0.006));
158 | #143=CARTESIAN_POINT('',(0.,0.,0.));
159 | #144=CARTESIAN_POINT('',(0.,0.,0.));
160 | #145=CARTESIAN_POINT('',(0.,-0.002,0.));
161 | #146=CARTESIAN_POINT('',(0.,0.,0.));
162 | #147=CARTESIAN_POINT('',(0.,-0.005,0.));
163 | #148=CARTESIAN_POINT('',(0.,0.,0.006));
164 | #149=CARTESIAN_POINT('',(0.,0.,0.0015));
165 | #150=CARTESIAN_POINT('',(0.,-0.00351,0.0015));
166 | #151=CARTESIAN_POINT('',(0.,0.,0.006));
167 | #152=CARTESIAN_POINT('',(0.,0.,0.0015));
168 | #153=CARTESIAN_POINT('',(0.,0.,0.0015));
169 | #154=CARTESIAN_POINT('',(0.,-0.005,0.0015));
170 | #155=CARTESIAN_POINT('',(0.,0.,0.0015));
171 | #156=MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#87),#157);
172 | #157=(
173 | GEOMETRIC_REPRESENTATION_CONTEXT(3)
174 | GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#158))
175 | GLOBAL_UNIT_ASSIGNED_CONTEXT((#161,#160,#159))
176 | REPRESENTATION_CONTEXT('Part 1','TOP_LEVEL_ASSEMBLY_PART')
177 | );
178 | #158=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(5.E-6),#161,
179 | 'DISTANCE_ACCURACY_VALUE','Maximum Tolerance applied to model');
180 | #159=(
181 | NAMED_UNIT(*)
182 | SI_UNIT($,.STERADIAN.)
183 | SOLID_ANGLE_UNIT()
184 | );
185 | #160=(
186 | NAMED_UNIT(*)
187 | PLANE_ANGLE_UNIT()
188 | SI_UNIT($,.RADIAN.)
189 | );
190 | #161=(
191 | LENGTH_UNIT()
192 | NAMED_UNIT(*)
193 | SI_UNIT($,.METRE.)
194 | );
195 | #162=PRODUCT_DEFINITION_SHAPE('','',#163);
196 | #163=PRODUCT_DEFINITION('','',#165,#164);
197 | #164=PRODUCT_DEFINITION_CONTEXT('',#171,'design');
198 | #165=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('','',#167,
199 | .NOT_KNOWN.);
200 | #166=PRODUCT_RELATED_PRODUCT_CATEGORY('','',(#167));
201 | #167=PRODUCT('Part 1','Part 1','Part 1',(#169));
202 | #168=PRODUCT_CATEGORY('','');
203 | #169=PRODUCT_CONTEXT('',#171,'mechanical');
204 | #170=APPLICATION_PROTOCOL_DEFINITION('international standard',
205 | 'automotive_design',2010,#171);
206 | #171=APPLICATION_CONTEXT(
207 | 'core data for automotive mechanical design processes');
208 | ENDSEC;
209 | END-ISO-10303-21;
210 |
--------------------------------------------------------------------------------
/Hardware/Mechanical/Fasteners/McMasterCarr_Order.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Hardware/Mechanical/Fasteners/McMasterCarr_Order.PNG
--------------------------------------------------------------------------------
/Hardware/Mechanical/Finger/Robtiq 2F-85/STL/finger_back.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Hardware/Mechanical/Finger/Robtiq 2F-85/STL/finger_back.stl
--------------------------------------------------------------------------------
/Hardware/Mechanical/Finger/Robtiq 2F-85/STL/finger_body.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Hardware/Mechanical/Finger/Robtiq 2F-85/STL/finger_body.stl
--------------------------------------------------------------------------------
/Hardware/Mechanical/Finger/Robtiq 2F-85/STL/finger_tip.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Hardware/Mechanical/Finger/Robtiq 2F-85/STL/finger_tip.stl
--------------------------------------------------------------------------------
/Hardware/Mechanical/Finger/Weiss WSG-32/STL/finger_back.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Hardware/Mechanical/Finger/Weiss WSG-32/STL/finger_back.stl
--------------------------------------------------------------------------------
/Hardware/Mechanical/Finger/Weiss WSG-32/STL/finger_body.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Hardware/Mechanical/Finger/Weiss WSG-32/STL/finger_body.stl
--------------------------------------------------------------------------------
/Hardware/Mechanical/Finger/Weiss WSG-32/STL/finger_tip.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Hardware/Mechanical/Finger/Weiss WSG-32/STL/finger_tip.stl
--------------------------------------------------------------------------------
/Hardware/README.md:
--------------------------------------------------------------------------------
1 | # CAD Models
2 | Public model files of the electrical and mechanical hardware can be found at the following [link](https://cad.onshape.com/documents/d349cbe923c6f7dbdb5a9266/w/20eed945a1a4fb3729cc1f11/e/83841e7147a77c529f63497d)
3 | or can be downloaded individually from the github repo folders.
4 |
5 | # Raspicam Spectral Response
6 | Optical transmission information for the Raspicam's OV5647 sensor can be found [here](https://github.com/scivision/raspicam-spectra/).
7 |
8 | # LED Datasheets
9 | Datasheets for LED selection can be found on the manufacturers [website](https://www.osram.com/appsn/ProductSelector/?lang=en&refinementList%5Bhbc%5D%5B0%5D=TOPLED&refinementList%5Bhbc%5D%5B1%5D=Mini%20TOPLED&refinementList%5Bhbc%5D%5B2%5D=Power%20TOPLED&refinementList%5Bcolor_emulti%5D%5B0%5D=Blue%20%28450-480%20nm%29&refinementList%5Bcolor_emulti%5D%5B1%5D=True%20Green%20%28513-545%20nm%29&refinementList%5Bcolor_emulti%5D%5B2%5D=Pure%20Green%20%28554-566%20nm%29&refinementList%5Bcolor_emulti%5D%5B3%5D=Red%20%28612-630%20nm%29&refinementList%5Bcolor_emulti%5D%5B4%5D=Super%20Red%20%28627-639%20nm%29&refinementList%5Bcolor_emulti%5D%5B5%5D=Deep%20Blue%20%28439-461%20nm%29&page=1&range%5Bbeam_angle_keyword%5D%5Bmin%5D=50&range%5Bbeam_angle_keyword%5D%5Bmax%5D=70).
10 |
--------------------------------------------------------------------------------
/Ordering/LED_Driver_DigiKey_Quote.csv:
--------------------------------------------------------------------------------
1 | Digi-Key Part Number,Manufacturer,Manufacturer Part Number,Description,Customer Reference,Quantity 1,Price,Quantity 2,Price,Quantity 3,Price,Stock Status,Mfg Std Lead Time,Comments,RoHS Status,Lead Free Status,REACH Status
2 | 541-0.0XCT-ND,VISHAY DALE (VA),CRCW25120000Z0EG,RES SMD 0 OHM JUMPER 1W 2512,,1," 0.28000",10," 0.23400",100," 0.09100",IN STOCK,28 Weeks,Alternate Packaging Exists,ROHS3 Compliant,Lead free,Not Available
3 | 609-4616-1-ND,AMPHENOL FCI (VA),10118193-0001LF,CONN RCPT USB2.0 MICRO B SMD R/A,,1," 0.41000",10," 0.38800",100," 0.27100",IN STOCK,14 Weeks,Alternate Packaging Exists Import Tariff may apply to this part if shipping to the United States,RoHS Compliant,Lead free,Unaffected Jan-2021
4 | 255-5484-1-ND,PANASONIC ELECTRIC WORKS (VA),AYF530265T,CONN FPC 2POS 0.50MM R/A,,3," 1.52000",30," 1.29000",300," 1.06600",IN STOCK,10 Weeks,Alternate Packaging Exists,RoHS Compliant,Lead free,Not Available
5 | YAG5595CT-ND,YAGEO (VA),AC2512FK-0745R3L,RES SMD 45.3 OHM 1% 1W 2512,,2," 0.46000",20," 0.34400",200," 0.14500",IN STOCK,20 Weeks,Alternate Packaging Exists Import Tariff may apply to this part if shipping to the United States,ROHS3 Compliant,Lead free,Unaffected Jun-2020
6 | RMCF2512FT60R4CT-ND,STACKPOLE ELECTRONICS INC (VA),RMCF2512FT60R4,RES 60.4 OHM 1% 1W 2512,,1," 0.32000",10," 0.26900",100," 0.10500",IN STOCK,21 Weeks,Alternate Packaging Exists,ROHS3 Compliant,Lead free,Unaffected Jun-2020
7 |
--------------------------------------------------------------------------------
/Ordering/LED_Driver_Digikey_Quote.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Ordering/LED_Driver_Digikey_Quote.pdf
--------------------------------------------------------------------------------
/Ordering/LED_Harness_Mouser_Quote.csv:
--------------------------------------------------------------------------------
1 | ,,,,,,,,,,
2 | ,,,,,,,,,,
3 | ,,,,,,,,,,
4 | ,,,,,,,,,,
5 | ,,,,,,,,,,
6 | SHOPPING CART,,,,,,,,,,
7 | This is not an invoice,,,,,,,,,,
8 | 18-Mar-21 11:27:07,,,,,,,,,,
9 | ,Mouser #,Mfr. #,Manufacturer,Customer #,Description,RoHS,Lifecycle,Order Qty.,Price (USD),Ext.: (USD)
10 | 1,720-LBT66GV2CAA7291,LB T66G-V2CA-59-Z484,Osram Opto Semiconductor,,Standard LEDs - SMD Blue TOPLED TF,RoHS Compliant,Obsolete,100,$-.--,$-.--
11 | 2,720-LTT66GCBEAA7293,LT T66G-CBEA-29-N424-20-R33-Z,Osram Opto Semiconductor,,Standard LEDs - SMD True Green TOPLED Black,RoHS Compliant,New Product,100,$0.324,$32.40
12 | 3,720-LRT66FAABB11Z,LR T66F-AABB-1-1-Z,Osram Opto Semiconductor,,Standard LEDs - SMD Red,RoHS Compliant,,100,$0.242,$24.20
13 | ,,,,,,,,,,
14 | ,,,,,,,,,,
15 | By submitting your order you agree to these terms and conditions.,,,,,,,,,Merchandise:,$56.60
16 | Prices are reflected at the date and time shown.,,,,,,,,,Shipping Charge:,$7.99
17 |
--------------------------------------------------------------------------------
/Ordering/LED_Harness_Mouser_Quote.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Ordering/LED_Harness_Mouser_Quote.pdf
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # GelSlim 3.0
2 | **Note:** The MCube Lab at MIT has closed and no longer distributes pre-made sensors by mail upon request.
3 | Consider the latest version [GelSlim 4.0](https://www.mmintlab.com/research/gelslim-4-0/) at the University of Michigan's [MMint Lab](https://www.mmintlab.com/) for an easier to reproduce version of the sensor.
4 |
5 | ## Quick-Start
6 | Please follow the [Hardware Quick Start Guide](https://github.com/mcubelab/gelslim/blob/main/Hardware/GelSlim%20Quick%20Start%20Tutorial-Updated.pdf) instructions to build your own sensor. The step-by-step resources found below are in the process of being updated.
7 |
8 | ## Step-by-Step Instructions
9 | **Click on the pictures below for more information**
10 |
11 | | 3-D Printing | PCB Fabrication | Elastomer Fabrication | Assembly |
12 | |---|---|---|---|
13 | |
|
|
|
|
14 |
15 | ## Mechanical
16 | | Elastomer | Fasteners | Body | Shaping Lens |
17 | |---|---|---|---|
18 | |
|
|
|
|
19 |
20 | ## Electrical
21 | | LED Driver | LED Harness | Camera | Connectors and Adapters |
22 | |---|---|---|---|
23 | |
|
|
|
|
24 |
25 | ## Software
26 | | Raspberry Pi | Dependencies | GUI | Calibration |
27 | |---|---|---|---|
28 | |
|
|
|
|
29 |
30 | ## More Details
31 | | Mechanical Tools and Consumables | Electronics Components and Tools | Known Issues | Contributing |
32 | |---|---|---|---|
33 | |
|
|
|
|
34 |
35 | ## More Information
36 | [GelSlim 3.0 - Webpage](https://ianhtaylor.net/gelslim-30)
37 | [GelSlim 3.0 - Paper](https://arxiv.org/abs/2103.12269)
38 | [GelSlim 3.0 - Demo](https://www.youtube.com/watch?v=Y10XN9byO0g)
39 | [MCube Lab - YouTube Channel](https://www.youtube.com/channel/UCMYUWZTFWZjj7pUc3UPUjig)
40 |
41 | ## Notice
42 | This repo is under construction, the following files and folders are not present.
43 | - src/images/step_by_step/3d_printing.jpg
44 | - Image links to and README documentation for root sub-folders
45 | - Step-by-step Instructions
46 | - Mechanical
47 | - Electrical
48 | - Software
49 | - More Details
50 | - /Simulation and Optimization/Results
51 | - /Simulation and Optimization/Settings
52 | - /Software/GUI
53 | - Tangential Force Calculation
54 | - Normal Force Calculation
55 |
56 | ## Authors
57 | Ian Taylor
58 |
59 | ## License
60 | These design files are licensed under CC-by-NC, as found in the [LICENSE](https://github.com/mcubelab/gelslim/blob/main/LICENSE) file.
61 |
--------------------------------------------------------------------------------
/Simulation and Optimization/Results/README.txt:
--------------------------------------------------------------------------------
1 | Results Table
--------------------------------------------------------------------------------
/Simulation and Optimization/Settings/README.txt:
--------------------------------------------------------------------------------
1 | Settings Table
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/GelSlim.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | tab=" --tab"
4 | options=()
5 |
6 | cmds[1]="roscore"
7 | cmds[2]="bash raspi_connect.sh"
8 | #cmds[3]="rosrun rqt_reconfigure rqt_reconfigure"
9 |
10 | options1=(--tab -- "bash -c '${cmds[1]} ; bash'")
11 | options2=(--tab -- "bash -c '${cmds[2]} ; bash'")
12 | #options3=(--tab -e "bash -c '${cmds[3]} ; bash'")
13 |
14 | gnome-terminal "${options1[@]}"
15 | sleep 5
16 |
17 | gnome-terminal "${options2[@]}"
18 | sleep 10
19 |
20 | #gnome-terminal "${options3[@]}"
21 | #sleep 5
22 |
23 | exit 0
24 |
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/ROS.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | tab=" --tab"
4 | options=()
5 |
6 | cmds[1]="roscore"
7 | cmds[2]="bash raspi_connect.sh"
8 | #cmds[3]="rosrun rqt_reconfigure rqt_reconfigure"
9 |
10 | options1=(--tab -e "bash -c '${cmds[1]} ; bash'")
11 | options2=(--tab -e "bash -c '${cmds[2]} ; bash'")
12 | #options3=(--tab -e "bash -c '${cmds[3]} ; bash'")
13 |
14 | gnome-terminal "${options1[@]}"
15 | sleep 5
16 |
17 | gnome-terminal "${options2[@]}"
18 | sleep 10
19 |
20 | #gnome-terminal "${options3[@]}"
21 | #sleep 5
22 |
23 | exit 0
24 |
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/abe_corr.npz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/abe_corr.npz
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/calibration.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/calibration.pyc
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/camera.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | echo -n '[INFO] Showing Camera Feed ...'
3 | python gelsight_show_image.py
4 |
5 |
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/fast_poisson.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python2
2 | # -*- coding: utf-8 -*-
3 | """
4 | Created on Thu Oct 4 19:11:16 2018
5 |
6 | @author: siyuan
7 | """
8 | import numpy as np
9 | from scipy.fftpack import dst
10 | from scipy.fftpack import idst
11 | #import matplotlib.pyplot as plt
12 |
13 | def fast_poisson(gx,gy):
14 |
15 | # j = 1:ydim-1;
16 | # k = 1:xdim-1;
17 | #
18 | # % Laplacian
19 | # gyy(j+1,k) = gy(j+1,k) - gy(j,k);
20 | # gxx(j,k+1) = gx(j,k+1) - gx(j,k);
21 |
22 |
23 | m,n = gx.shape
24 | gxx = np.zeros((m,n))
25 | gyy = np.zeros((m,n))
26 | f = np.zeros((m,n))
27 | img = np.zeros((m,n))
28 | gyy[1:,:-1] = gy[1:,:-1] - gy[:-1,:-1]
29 | gxx[:-1,1:] = gx[:-1,1:] - gx[:-1,:-1]
30 | f = gxx + gyy
31 |
32 | f2 = f[1:-1,1:-1].copy()
33 |
34 | f_sinx = dst(f2,norm='ortho')
35 | f_sinxy = dst(f_sinx.T,norm='ortho').T
36 |
37 |
38 |
39 | x_mesh, y_mesh = np.meshgrid(range(n-2),range(m-2))
40 | x_mesh = x_mesh +1
41 | y_mesh = y_mesh +1
42 | denom = (2*np.cos(np.pi*x_mesh/(n-1))-2) + (2*np.cos(np.pi*y_mesh/(m-1))-2)
43 |
44 |
45 | f3 = f_sinxy/denom
46 | # plt.figure(10)
47 | # plt.imshow(denom)
48 | # plt.show()
49 | f_realx = idst(f3,norm='ortho')
50 | f_realxy = idst(f_realx.T,norm='ortho').T
51 | img[1:-1,1:-1] = f_realxy.copy()
52 | return img
53 |
54 | #%%
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/fast_poisson.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/fast_poisson.pyc
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/gelsight_show_image.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 |
3 | from sensor_msgs.msg import CompressedImage
4 | import numpy as np
5 | import time
6 | import rospy, math, cv2, os
7 |
8 | global count
9 | count=0
10 | class slip_detection_reaction:
11 |
12 | def __init__(self):
13 |
14 | self.image_sub = rospy.Subscriber("/raspicam_node1/image/compressed",CompressedImage,self.call_back,queue_size = 1,buff_size=2**24)
15 |
16 | def rgb2gray(self,rgb):
17 | return np.dot(rgb[...,:3], [0.5, 0.5, 0.])
18 |
19 | def call_back(self,data):
20 | t = time.time()
21 | np_arr = np.fromstring(data.data, np.uint8)
22 |
23 |
24 |
25 | raw_imag = cv2.imdecode(np_arr, cv2.IMREAD_COLOR).astype(np.uint8)
26 |
27 | ab_array = np.load('abe_corr.npz')
28 | x_index = ab_array['x']
29 | y_index = ab_array['y']
30 | raw_imag = raw_imag[x_index, y_index, :]
31 |
32 | cv2.imshow('raw_image',raw_imag)
33 | #cv2.imshow('red',raw_imag[:,:,2])
34 | #cv2.imshow('green',raw_imag[:,:,1])
35 | #cv2.imshow('blue',raw_imag[:,:,0])
36 | cv2.waitKey(1) & 0xFF
37 |
38 | # if the `q` key was pressed, break from the loop
39 | if cv2.waitKey(1) & 0xFF == ord('q'):
40 | cv2.destroyAllWindows()
41 |
42 | def main():
43 | print("\n[INFO] Press Ctrl+C in terminal to exit camera live feed...")
44 | rospy.init_node('slip_detector', anonymous=True)
45 | while not rospy.is_shutdown():
46 |
47 | slip_detector = slip_detection_reaction()
48 | rospy.spin()
49 |
50 |
51 | if __name__ == "__main__":
52 | main()
53 |
54 | #%%
55 |
56 |
57 |
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/gui.py:
--------------------------------------------------------------------------------
1 | from __future__ import print_function
2 | import tkSimpleDialog as simpledialog
3 | from Tkinter import *
4 | import Tkinter , Tkconstants, tkFileDialog
5 | import tkMessageBox as messagebox
6 | import os, signal, rosgraph, time, roswtf
7 | from os import path
8 | import socket
9 | import sys
10 | import fileinput
11 | import argparse
12 | from subprocess import Popen, PIPE
13 |
14 |
15 | root_calib= None
16 | root_recon= None
17 | filename = None
18 | tablename = None
19 | BallDiam = str(4.76)
20 | Pixdiam = str(80)
21 | local_ip = None
22 | raspi_ip = None
23 | res_w=str(427)
24 | res_h=str(320)
25 | ip_count=0
26 | ball_count=0
27 | funny=0
28 |
29 | ap = argparse.ArgumentParser()
30 | ap.add_argument("-a","--automatic", required=False, type=int, help="[1] find IP addresses automatically, [2] Manually input IP addresses.")
31 | args=vars(ap.parse_args())
32 |
33 |
34 |
35 | #CONNECT TO RASPBERRY PI (FINISHED)
36 | def Connect():
37 | global funny
38 | if rosgraph.is_master_online():
39 | print('[INFO] Raspberry Pi is already connected...')
40 | funny += 1
41 | if funny ==10 :
42 | print ("HA HA verrry funny...")
43 | if funny ==13:
44 | print ("why")
45 | if funny ==14:
46 | print ("are")
47 | if funny ==15:
48 | print ("you")
49 | if funny ==16:
50 | print ("so")
51 | if funny ==17:
52 | print ("disrespectful")
53 | if funny ==18:
54 | print ("?")
55 | if funny ==20:
56 | print ("Goodbye")
57 | on_closing()
58 | if funny ==25:
59 | print (":P")
60 | if funny ==30:
61 | os.system("rosnode kill --all")
62 | pid=os.fork()
63 | os.kill(pid,signal.SIGSTOP)
64 | root.destroy()
65 | os.system("pkill roscore")
66 | os.system("pkill ssh")
67 | os.system("pkill -n bash")
68 | os.system("pkill bash")
69 | exit()
70 | else:
71 | unconnected()
72 | #os.system("./camera.sh")
73 |
74 |
75 | #DISPLAY CAMERA FEED (FINISHED)
76 | def CameraFeed():
77 | if rosgraph.is_master_online():
78 | os.system("./camera.sh")
79 | else:
80 | unconnected()
81 | os.system("./camera.sh")
82 |
83 |
84 | #SENSOR CALIBRATION
85 | def Calibration():
86 | global root_calib
87 | try:
88 | root_calib.destroy()
89 | Calibration()
90 | except:
91 | root_calib = Tk()
92 | root_calib.title("GelSlim - Sensor Calibration")
93 | root_calib.geometry("500x250")
94 | W=59; H=2; d=50;
95 | y1=0; y2=y1+d; y3=y2+d; y4=y3+d; y5=y4+d;
96 | B1 = Button(root_calib, text="Reconfigure Camera Parameters",width=W, height=H, command =Reconfigure).place(x=0,y=y1)
97 | B2 = Button(root_calib, text="Capture New Calibration Data",width=W, height=H, command =capture_data).place(x=0,y=y2)
98 | B3 = Button(root_calib, text="Label Calibration Data",width=W, height=H, command =label_data).place(x=0,y=y3)
99 | B4 = Button(root_calib, text="Load Existing Calibration Table",width=W, height=H, command =load_data).place(x=0,y=y4)
100 | B5 = Button(root_calib, text="Change Calibration Ball Parameters",width=W, height=H, command =ball_param).place(x=0,y=y5)
101 | def Reconfigure():
102 | if rosgraph.is_master_online():
103 | print("[INFO] Opening rosqt_reconfigure...")
104 | os.system("./reconfigure.sh")
105 | os.system("./camera.sh")
106 | else:
107 | unconnected()
108 | print("[INFO] Opening rosqt_reconfigure...")
109 | os.system("./reconfigure.sh")
110 | os.system("./camera.sh")
111 | def capture_data():
112 | global image_num
113 | global root_calib
114 | if rosgraph.is_master_online():
115 | print('[INFO] Beginning data capture...')
116 | image_num = simpledialog.askstring('Calibration Image Count','Please input an integer valued number of calibration images to capture.')
117 | root_calib.destroy()
118 | os.system("python img_processor.py -i "+ image_num)
119 | else:
120 | print("[INFO] Connecting to Raspberry Pi...")
121 | os.system("./ROS.sh")
122 | print("[INFO] Connected to Raspberry Pi...")
123 | print('[INFO] Beginning data capture...')
124 | image_num = simpledialog.askstring('Calibration Image Count','Please input an integer valued number of calibration images to capture.')
125 | root_calib.destroy()
126 | os.system("python img_processor.py -i "+ image_num)
127 | #print("[INFO] Press Ctrl+C to exit")
128 | #Dialog box asking how many calibration photos to take
129 | #change calibration.py to require "enter" to move forward
130 | def label_data():
131 | global BallDiam
132 | global Pixdiam
133 | global root_calib
134 | root_calib.destroy()
135 | os.system("python calibration.py -d "+BallDiam+ " -p "+Pixdiam)
136 | def load_data():
137 | global tablename
138 | global root_calib
139 | global root_recon
140 | tablename = tkFileDialog.askopenfilename(initialdir = "./load",parent=root, title='Calibration File',filetypes=[("Table","*.npy")])
141 | if tablename:
142 | print("[INFO] Loaded Calibration Table...")
143 | if root_calib != None:
144 | root_calib.destroy()
145 | else:
146 | if root_calib != None:
147 | root_calib.destroy()
148 | else:
149 | root_recon.destroy()
150 | def ball_param():
151 | global root_calib
152 | global BallDiam
153 | global Pixdiam
154 | global ball_count
155 | ball_count+=1
156 | print('[INFO] Updating calibration ball parameters...')
157 | print('[INFO] To change default parameters edit gui.py lines 16-17')
158 | print('[INFO] Printing Current Parameters...')
159 | print('[INFO] Calibration Ball Diameter: '+str(BallDiam)+' mm')
160 | print('[INFO] Calibration Ball Diameter: '+str(Pixdiam)+' px')
161 | if ball_count<=1:
162 | BallDiam_new=simpledialog.askstring('self.BallDiam','Please input the diameter of the calibration ball in millimeters')
163 | if BallDiam_new == '' or BallDiam_new ==None:
164 | print('[INFO] Value update cancelled')
165 | print('[INFO] Calibration Ball Diameter: '+str(BallDiam)+' mm')
166 | else:
167 | BallDiam=BallDiam_new
168 | print('[INFO] Value update cancelled')
169 | print('[INFO] Calibration Ball Diameter: '+str(BallDiam)+' mm')
170 | Pixdiam_new=simpledialog.askstring('self.Pixmm','Please input the diameter of the calibration ball in pixels')
171 | if Pixdiam_new =='' or Pixdiam_new ==None:
172 | print('[INFO] Value update cancelled')
173 | print('[INFO] Calibration Ball Diameter: '+str(Pixdiam)+' px')
174 | else:
175 | Pixdiam=Pixdiam_new
176 | print('[INFO] Value update complete')
177 | print('[INFO] Calibration Ball Diameter: '+str(Pixdiam)+' px')
178 | print('[INFO] Parameter update complete...')
179 | try:
180 | ball_count=0
181 | root_calib.destroy()
182 | except:
183 | ball_count=0
184 | print('[INFO] Closing dialog windows...')
185 | else:
186 | print('[INFO] A dialog window is already open...')
187 |
188 | #3D RECONSTRUCTION
189 | def Reconstruction():
190 | global root_recon
191 | try:
192 | root_recon.destroy()
193 | Reconstruction()
194 | except:
195 | root_recon = Tk()
196 | root_recon.title("GelSlim - 3D Reconstruction")
197 | root_recon.geometry("500x150")
198 | W=59; H=2; d=50;
199 | y1=0; y2=y1+d; y3=y2+d; y4=y3+d
200 | B1 = Button(root_recon, text="Capture New Reconstruction Images",width=W, height=H, command =recon_cap).place(x=0,y=y1)
201 | B2 = Button(root_recon, text="Select a file to reconstruct",width=W, height=H, command =file_select).place(x=0,y=y2)
202 | B3 = Button(root_recon, text ="Realtime Depth Plot", width=W, height=H, command=realtime).place(x=0, y=y3)
203 | def recon_cap():
204 | global root_recon
205 | if rosgraph.is_master_online():
206 | print('[INFO] Beginning data capture...')
207 | root_recon.destroy()
208 | image_num = simpledialog.askstring('Reconstruction Image Count','Please input an integer valued number of reconstruction images to capture.')
209 | os.system("python recon_jpg.py -i "+ image_num)
210 | else:
211 | print("[INFO] Connecting to Raspberry Pi...")
212 | os.system("./ROS.sh")
213 | print("[INFO] Connected to Raspberry Pi...")
214 | print('[INFO] Beginning data capture...')
215 | root_recon.destroy()
216 | image_num = simpledialog.askstring('Reconstruction Image Count','Please input an integer valued number of reconstruction images to capture.')
217 | os.system("python recon_jpg.py -i "+ image_num)
218 | def file_select():
219 | global root_recon
220 | global filename
221 | global tablename
222 | if tablename !=None:
223 | filename = tkFileDialog.askopenfilename(initialdir = "./reconstruction/images/",parent=root,title='3D Reconstruction Image',filetypes=[("JPG Image","*.jpg")])
224 | if filename:
225 | print("[INFO] Plotting 3D Reconstruction...")
226 | exe_str=str("python test_poisson.py -n "+filename +" -c"+tablename +" -d "+BallDiam +" -p "+Pixdiam)
227 | root_recon.destroy()
228 | os.system(exe_str)
229 | else:
230 | root_recon.destroy()
231 | else:
232 | print("[INFO] Calibration Table is not loaded...")
233 | if path.exists("./load/table_3.npy"):
234 | tablename=("./load/table_3.npy")
235 | print("[INFO] Default Loading table_3.npy...")
236 | file_select()
237 | elif path.exists("./load/table_3_smooth.npy"):
238 | tablename =("./load/table_3_smooth.npy")
239 | print("[INFO] Default Loading table_3_smooth.npy...")
240 | file_select()
241 | else:
242 | load_data()
243 | file_select()
244 | def realtime():
245 | global tablename
246 | global root_recon
247 | if tablename != None:
248 | if rosgraph.is_master_online():
249 | root_recon.destroy()
250 | os.system("python depth_realtime.py -c "+tablename)
251 | else:
252 | print("[INFO] Connecting to Raspberry Pi...")
253 | os.system("./ROS.sh")
254 | print("[INFO] Connected to Raspberry Pi...")
255 | print("[INFO] Opening Realtime 3D Reconstruction...")
256 | os.system("python depth_realtime.py -c" +tablename)
257 | else:
258 | print("[INFO] Calibration Table is not loaded...")
259 | if path.exists("./load/table_3.npy"):
260 | tablename=("./load/table_3.npy")
261 | print("[INFO] Default Loading table_3.npy...")
262 | root_recon.destroy()
263 | realtime()
264 | elif path.exists("./load/table_3_smooth.npy"):
265 | tablename =("./load/table_3_smooth.npy")
266 | print("[INFO] Default Loading table_3_smooth.npy...")
267 | root_recon.destroy()
268 | realtime()
269 | else:
270 | load_data()
271 | root_recon.destroy()
272 | realtime()
273 |
274 |
275 | #INCIPIENT SLIP (FINISHED)
276 | def SlipDetector():
277 | if rosgraph.is_master_online():
278 | print("[INFO] Opening Slip Detector...")
279 | print("[INFO] Press Ctrl+C to exit")
280 | os.system("python slip_detector_both.py")
281 | else:
282 | print("[INFO] Connecting to Raspberry Pi...")
283 | os.system("./ROS.sh")
284 | print("[INFO] Connected to Raspberry Pi...")
285 | print("[INFO] Opening Slip Detector...")
286 | print("[INFO] Press Ctrl+C to exit")
287 | os.system("python slip_detector_both.py")
288 |
289 |
290 | #HELPER FUNCTIONS
291 | def unconnected():
292 | global local_ip
293 | global raspi_ip
294 | if local_ip != None and raspi_ip !=None:
295 | print('[INFO] Local IP Address : '+local_ip)
296 | print('[INFO] Raspberry Pi IP Address : ' +raspi_ip)
297 | print("[INFO] Setting Raspberry Pi IP Address...")
298 | file_data=('#!/bin/bash\ncd\nssh -tt raspi@'+raspi_ip+' << EOF\nroslaunch raspberry_new.launch\nEOF')
299 | read_obj =open('./raspi_connect.sh','w')
300 | read_obj.writelines(file_data)
301 | read_obj.close()
302 |
303 | read_obj=open('./reboot.sh','r')
304 | file_data_reboot=read_obj.readlines()
305 | file_data_reboot[4]=(('ssh -tt raspi@'+raspi_ip+' << EOF\n'))
306 | read_obj =open('./reboot.sh','w')
307 | read_obj.writelines(file_data_reboot)
308 | read_obj.close()
309 | print("[INFO] Connecting to Raspberry Pi...")
310 | launch_write()
311 | env_write()
312 | os.system("./ROS.sh")
313 | print("[INFO] Verifying Connection...")
314 | error_handler()
315 | elif local_ip != None and raspi_ip== None:
316 | print("[INFO] No Raspberry Pi Detected...")
317 | print("[INFO] Please try again or exit the program")
318 | elif local_ip == None and raspi_ip == None:
319 | host_name=socket.gethostname()
320 | local_ip=socket.gethostbyname(host_name)
321 | os.system(' nmap -sP 192.168.1.0/24')
322 | open('./load/arp_cache.txt','w').close()
323 | os.system("arp -a >>./load/arp_cache.txt")
324 | print("[INFO] Searching for Raspberry Pi...")
325 | with open('./load/arp_cache.txt','r') as read_obj:
326 | for line in read_obj:
327 | if 'raspi' in line:
328 | print("\n[INFO] Raspberyy Pi detected...")
329 | s=line
330 | raspi_ip=s[s.find('(')+1:s.find(')')]
331 | unconnected()
332 | def on_closing():
333 | if messagebox.askokcancel("Quit", "Do you want to quit?"):
334 | if rosgraph.is_master_online():
335 | os.system("rosnode kill --all")
336 | pid=os.fork()
337 | os.kill(pid,signal.SIGSTOP)
338 | root.destroy()
339 | os.system("pkill roscore")
340 | os.system("pkill ssh")
341 | os.system("pkill -n bash")
342 | os.system("pkill bash")
343 | exit()
344 | else:
345 | pid=os.fork()
346 | os.kill(pid,signal.SIGSTOP)
347 | root.destroy()
348 | os.system("pkill roscore")
349 | os.system("pkill ssh")
350 | os.system("pkill -n bash")
351 | os.system("pkill bash")
352 | exit()
353 | def flag():
354 | flag_auto='{}'.format(args["automatic"])
355 | global local_ip
356 | global raspi_ip
357 | #print (flag_auto)
358 | if flag_auto == '1':
359 | local_ip = None
360 | raspi_ip = None
361 | elif flag_auto =='2':
362 | local_ip = simpledialog.askstring('Local IP Address','Please input the Local IP Address')
363 | raspi_ip = simpledialog.askstring('Local IP Address','Please input the Raspberry Pi IP Address')
364 | else:
365 | local_ip = '192.168.1.83'
366 | raspi_ip = '192.168.1.219'
367 | print('[INFO] Default Local IP Address: '+local_ip)
368 | print('[INFO] Default Raspberry Pi Address: '+raspi_ip)
369 | print('[INFO] Change default IP Addresses in gui.py line 21-22')
370 | print('[INFO] gui.py -a 1 [Finds IP Addresses automatically]')
371 | print('[INFO] gui.py -a 2 [Set IP Addresses manually]')
372 | print('[INFO] gui.py -h [Help]')
373 | def error_handler():
374 | global ip_count
375 | try:
376 | time.sleep(10)
377 | master=rosgraph.Master("")
378 | master.lookupNode('raspicam_node1')
379 | print("[INFO] raspicam_node1 exists...")
380 | stdout = Popen('roswtf', shell=True, stdout=PIPE).stdout
381 | output = stdout.read()
382 | verify=(output.split("\n")[-2])
383 | sys.stdout.flush()
384 | if verify !='No errors or warnings':
385 | print("================================================================================\n")
386 | print("[INFO] ERROR: unable to communicate with raspicam_node1")
387 | raise Exception()
388 | else:
389 | print('[INFO] Node connection verified...')
390 | print('[INFO] Connected to Raspberry Pi...')
391 | except:
392 | print('[INFO] ERROR: unable to establish connection with Raspberry Pi...')
393 | print('[INFO] ERROR: connection timeout exception...')
394 | print('[INFO] Please see troubleshooting guide for further assistance...')
395 | print('[INFO] Forcing roscore Exit...')
396 | if ip_count ==3:
397 | print('[INFO] ERROR: unable to establish connection with Raspberry Pi...')
398 | print('[INFO] ERROR: connection timeout exception...')
399 | print('[INFO] Please see troubleshooting guide for further assistance...')
400 | print('[INFO] Forcing roscore Exit...')
401 | print('[INFO] ERROR: Boot Loop Exception...')
402 | disconnect()
403 | if rosgraph.is_master_online():
404 | ip_count+=1
405 | os.system("rosnode kill --all")
406 | pid=os.fork()
407 | os.kill(pid,signal.SIGSTOP)
408 | os.system("pkill roscore")
409 | os.system("pkill ssh")
410 | os.system("pkill -n bash")
411 | os.system("pkill bash")
412 | print("[INFO] Rebooting Raspberry Pi and re-trying connection...")
413 | print("[INFO] Waiting for reboot, this may take a minute...")
414 | os.system('./reboot.sh')
415 | for i in xrange(200,0,-1):
416 | line=('[INFO] Reboot Time Left: '+str(i)+' seconds ')
417 | print(line, end='\r')
418 | time.sleep(1)
419 | sys.stdout.flush()
420 | sys.stdout.flush()
421 | unconnected()
422 | else:
423 | pid=os.fork()
424 | os.kill(pid,signal.SIGSTOP)
425 | os.system("pkill roscore")
426 | os.system("pkill ssh")
427 | os.system("pkill -n bash")
428 | os.system("pkill bash")
429 | def launch_write():
430 | global res_w
431 | global res_h
432 | print('[INFO] Writing updated .launch file to Raspberry Pi...')
433 | read_obj=open('./load/raspberry_new.launch','r')
434 | file_data=read_obj.readlines()
435 | file_data[3]= '\n'
436 | file_data[23]=(' \n')
437 | file_data[24]=(' \n')
438 | print('[INFO] Camera Resolution set to '+res_w+'x'+res_h)
439 | #print(*file_data)
440 | read_obj =open('./load/raspberry_new.launch','w')
441 | read_obj.writelines(file_data)
442 | read_obj.close()
443 | command_str="scp ./load/raspberry_new.launch raspi@"+raspi_ip+":/home/raspi/"
444 | os.system(command_str)
445 | #os.system("exit")
446 | def env_write():
447 | global local_ip
448 | global raspi_ip
449 | print('[INFO] Writing updated environment file to Raspberry Pi...')
450 | read_obj=open('./load/suction_env.sh','r')
451 | file_data=read_obj.readlines()
452 | file_data[3]=("export ROS_MASTER_URI=http://"+local_ip+":11311/\n")
453 | file_data[4]=("export ROS_IP="+raspi_ip+"\n")
454 | file_data[5]=("export ROS_HOSTNAME="+raspi_ip+"\n")
455 | #print(*file_data)
456 | read_obj =open('./load/suction_env.sh','w')
457 | read_obj.writelines(file_data)
458 | read_obj.close()
459 | command_str=("scp ./load/suction_env.sh raspi@"+raspi_ip+":/home/raspi/")
460 | os.system(command_str)
461 | #os.system("exit")
462 | def disconnect():
463 | print('[INFO] Disconnecting from Raspberry Pi...')
464 | print('[INFO] Forcing roscore Exit...')
465 | if rosgraph.is_master_online():
466 | os.system("rosnode kill --all")
467 | pid=os.fork()
468 | os.kill(pid,signal.SIGSTOP)
469 | os.system("pkill roscore")
470 | os.system("pkill ssh")
471 | os.system("pkill -n bash")
472 | os.system("pkill bash")
473 | else:
474 | pid=os.fork()
475 | os.kill(pid,signal.SIGSTOP)
476 | os.system("pkill roscore")
477 | os.system("pkill ssh")
478 | os.system("pkill -n bash")
479 | os.system("pkill bash")
480 |
481 | #MAIN
482 | if __name__ == '__main__':
483 |
484 | root = Tk()
485 | root.title("GelSlim")
486 | root.geometry("500x300")
487 | W=59; H=2; d=50;
488 | y1=0; y2=y1+d; y3=y2+d; y4=y3+d; y5=y4+d; y6=y5+d;
489 | B1 = Button(root, text="Connect to Raspberry Pi",width=W, height=H, command =Connect).place(x=0,y=y1)
490 | B1 = Button(root, text="Display Camera Feed",width=W, height=H, command =CameraFeed).place(x=0,y=y2)
491 | B2 = Button(root, text ="Sensor Calibration", width=W, height=H, command=Calibration).place(x=0, y=y3)
492 | B3 = Button(root, text ="3D Reconstruction", width=W, height=H, command=Reconstruction).place(x=0, y=y4)
493 | B4 = Button(root, text ="Incipient Slip", width=W, height=H, command=SlipDetector).place(x=0, y=y5)
494 | B5 = Button(root, text ="Disconnect from Raspberry Pi", width=W, height=H, command=disconnect).place(x=0, y=y6)
495 | flag()
496 | root.protocol("WM_DELETE_WINDOW", on_closing)
497 | root.mainloop()
498 |
499 |
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/gui.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/gui.pyc
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/img_processor.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 |
3 | from sensor_msgs.msg import CompressedImage
4 | import numpy as np
5 | import time
6 | import rospy, math, cv2, os, sys
7 | global count;
8 | import tkSimpleDialog as simpledialog
9 | from Tkinter import *
10 | import Tkinter , Tkconstants, tkFileDialog
11 | import argparse
12 |
13 | ap = argparse.ArgumentParser()
14 | ap.add_argument("-i","--images", required=True, help="Number of calibration images to caputre")
15 | args=vars(ap.parse_args())
16 | global count;
17 | count=0;
18 |
19 | print('[INFO] Capturing '+'{}'.format(args["images"])+' images...')
20 | num=int('{}'.format(args["images"]))
21 | print('[INFO] Do not press the calibration ball to the sensor for the first image (ref.jpg)...')
22 | print('[INFO] '+'{}'.format(args["images"])+' images will be captured at a regular time interval...')
23 | print('[INFO] Beginning calibration image capture...')
24 | time.sleep(2)
25 | class slip_detection_reaction:
26 |
27 | def __init__(self):
28 |
29 | self.image_sub = rospy.Subscriber("/raspicam_node1/image/compressed",CompressedImage,self.call_back,queue_size = 1,buff_size=2**24)
30 |
31 | def rgb2gray(self,rgb):
32 | return np.dot(rgb[...,:3], [0.5, 0.5, 0.])
33 |
34 | def call_back(self,data):
35 | t = time.time()
36 | np_arr = np.fromstring(data.data, np.uint8)
37 | raw_imag = cv2.imdecode(np_arr, cv2.IMREAD_COLOR).astype(np.uint8)
38 |
39 | cv2.imshow('raw_image',raw_imag)
40 | #cv2.imshow('red',raw_imag[:,:,2])
41 | #cv2.imshow('green',raw_imag[:,:,1])
42 | #cv2.imshow('blue',raw_imag[:,:,0])
43 | #time.sleep(2)
44 | cv2.waitKey(1)
45 |
46 | global count
47 | global end
48 | count+=1
49 | if count %100 == 0 and count/100==1:
50 | cv2.imwrite('./test_data/ref.jpg',raw_imag)
51 | print('[INFO] Saved reference image to ~/test_data')
52 | if count %100 == 0 and count/100>1 and count/100<=(num+1):
53 | cv2.imwrite(('./test_data/sample_'+str((count/100)-1)+'.jpg'),raw_imag)
54 | print('[INFO] Saved sample '+str((count/100)-1)+' to ~/test_data')
55 | if count/100 >=(num+1):
56 | cv2.destroyAllWindows()
57 | print('[INFO] Calibration image capture complete...')
58 | print('[INFO] Please remove empty images from ./test_data')
59 | print('[INFO] Press Ctrl+C in terminal to exit camera and return to GUI...')
60 | time.sleep(100)
61 | else:
62 | exit(0)
63 |
64 | def main():
65 | rospy.init_node('slip_detector', anonymous=True)
66 | while not rospy.is_shutdown():
67 |
68 | slip_detector = slip_detection_reaction()
69 | rospy.spin()
70 |
71 |
72 |
73 |
74 | if __name__ == "__main__":
75 | main()
76 |
77 | #%%
78 |
79 |
80 |
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/load/arp_cache.txt:
--------------------------------------------------------------------------------
1 | ? (192.168.1.209) at on enp61s0
2 | ? (192.168.1.84) at on enp61s0
3 | ? (192.168.1.235) at on enp61s0
4 | ? (192.168.1.110) at on enp61s0
5 | ? (192.168.1.229) at on enp61s0
6 | ? (192.168.1.120) at on enp61s0
7 | ? (192.168.1.114) at on enp61s0
8 | ? (192.168.1.9) at on enp61s0
9 | ? (192.168.1.140) at on enp61s0
10 | ? (192.168.1.3) at on enp61s0
11 | ? (192.168.1.134) at on enp61s0
12 | ? (192.168.1.29) at on enp61s0
13 | ? (192.168.1.144) at on enp61s0
14 | ? (192.168.1.23) at on enp61s0
15 | ? (192.168.1.170) at on enp61s0
16 | ? (192.168.1.33) at on enp61s0
17 | ? (192.168.1.164) at on enp61s0
18 | ? (192.168.1.59) at on enp61s0
19 | ? (192.168.1.190) at on enp61s0
20 | ? (192.168.1.53) at on enp61s0
21 | ? (192.168.1.200) at on enp61s0
22 | ? (192.168.1.79) at on enp61s0
23 | ? (192.168.1.194) at on enp61s0
24 | ? (192.168.1.89) at on enp61s0
25 | ? (192.168.1.220) at on enp61s0
26 | Yuvals-MBP (192.168.1.107) at 80:e6:50:02:53:6c [ether] on enp61s0
27 | ? (192.168.1.101) at on enp61s0
28 | ESP_B75818 (192.168.1.42) at dc:4f:22:b7:58:18 [ether] on enp61s0
29 | ? (192.168.1.62) at on enp61s0
30 | ? (192.168.1.72) at on enp61s0
31 | JohnsAppleWatch (192.168.1.207) at on enp61s0
32 | ? (192.168.1.116) at on enp61s0
33 | ? (192.168.1.202) at on enp61s0
34 | ? (192.168.1.222) at on enp61s0
35 | ? (192.168.1.111) at on enp61s0
36 | ? (192.168.1.121) at on enp61s0
37 | ? (192.168.1.115) at on enp61s0
38 | Apple-TV-2 (192.168.1.145) at 1c:1a:c0:6c:d7:8b [ether] on enp61s0
39 | ? (192.168.1.46) at on enp61s0
40 | Johns-phone (192.168.1.56) at 88:19:08:bb:d8:ef [ether] on enp61s0
41 | ? (192.168.1.215) at on enp61s0
42 | ? (192.168.1.106) at on enp61s0
43 | ? (192.168.1.15) at on enp61s0
44 | CSMAJMARCUS03 (192.168.1.130) at 08:d2:3e:1c:76:d6 [ether] on enp61s0
45 | ? (192.168.1.45) at on enp61s0
46 | ? (192.168.1.206) at on enp61s0
47 | c13389jbisogna (192.168.1.95) at 88:e9:fe:86:0b:8e [ether] on enp61s0
48 | ? (192.168.1.210) at on enp61s0
49 | ? (192.168.1.105) at on enp61s0
50 | ? (192.168.1.119) at on enp61s0
51 | Jeremys-iPhone (192.168.1.30) at 4a:c2:f6:74:13:fc [ether] on enp61s0
52 | ? (192.168.1.199) at on enp61s0
53 |
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/load/count_map.npy:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/load/count_map.npy
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/load/count_map_3.npy:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/load/count_map_3.npy
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/load/raspberry_new.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
28 |
29 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/load/suction_env.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | echo "[INFO] Environment executed..."
3 | . ~/suction_ws/devel/setup.bash
4 | export ROS_MASTER_URI=http://192.168.1.83:11311/
5 | export ROS_IP=192.168.1.219
6 | export ROS_HOSTNAME=192.168.1.219
7 | export ROSLAUNCH_SSH_UNKNOWN=1
8 |
9 | PROMPT_COMMAND='history -a'
10 | history -a
11 |
12 | # sorting in old style
13 | LC_COLLATE="C"
14 | export LC_COLLATE
15 | ulimit -c unlimited
16 | export HISTTIMEFORMAT="%d/%m/%y %T "
17 |
18 |
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/load/table_3.npy:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/load/table_3.npy
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/load/table_3_smooth.npy:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/load/table_3_smooth.npy
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/raspi_connect.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | cd
3 | ssh -tt raspi@192.168.1.219 << EOF
4 | roslaunch raspberry_new.launch
5 | EOF
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/reboot.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | tab=" --tab"
3 | options=()
4 | cmds[1]="cd
5 | ssh -tt raspi@192.168.1.219 << EOF
6 | echo raspi | sudo -S reboot
7 | EOF"
8 | options1=(--tab -e "bash -c '${cmds[1]} ; bash'")
9 | gnome-terminal "${options1[@]}"
10 | sleep 5
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/recon_jpg.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 |
3 |
4 | from sensor_msgs.msg import CompressedImage
5 | import numpy as np
6 | import time
7 | import rospy, math, cv2, os
8 |
9 | global count;
10 | import argparse
11 |
12 | ap = argparse.ArgumentParser()
13 | ap.add_argument("-i","--images", required=True, help="Number of calibration images to caputre")
14 | args=vars(ap.parse_args())
15 | print('[INFO] Capturing '+'{}'.format(args["images"])+' images...')
16 | num=int('{}'.format(args["images"]))
17 | print('[INFO] '+'{}'.format(args["images"])+' images will be captured at a regular time interval...')
18 | print('[INFO] Beginning reconstruction image capture...')
19 | time.sleep(2)
20 | count=0;
21 |
22 | class slip_detection_reaction:
23 |
24 | def __init__(self):
25 |
26 | self.image_sub = rospy.Subscriber("/raspicam_node1/image/compressed",CompressedImage,self.call_back,queue_size = 1,buff_size=2**24)
27 |
28 | def rgb2gray(self,rgb):
29 | return np.dot(rgb[...,:3], [0.5, 0.5, 0.])
30 |
31 | def call_back(self,data):
32 | t = time.time()
33 | np_arr = np.fromstring(data.data, np.uint8)
34 | raw_imag = cv2.imdecode(np_arr, cv2.IMREAD_COLOR).astype(np.uint8)
35 |
36 | cv2.imshow('raw_image',raw_imag)
37 | #cv2.imshow('red',raw_imag[:,:,2])
38 | #cv2.imshow('green',raw_imag[:,:,1])
39 | #cv2.imshow('blue',raw_imag[:,:,0])
40 | cv2.waitKey(1)
41 |
42 | global count
43 | count+=1
44 | #if count %100 == 0 and count/100==1:
45 | #cv2.imwrite(os.path.join(os.path.expanduser('~'),'gelsight_heightmap_reconstruction-master/python_version/test_data','ref.jpg'),raw_imag)
46 | #print('Saved reference image to ~/test_data')
47 | if count %100 == 0 and count/100>=1 and count/100<=(num+1):
48 | cv2.imwrite(('./reconstruction/images/'+'reconstruct_'+str((count/100)-1)+'.jpg'),raw_imag)
49 | print('Saved sample '+str((count/100)-1)+' to ./reconstruction/images')
50 | else:
51 | exit(0)
52 |
53 | # if not cv2.imwrite(os.path.join(os.path.expanduser('~'),'/home/ian/Documents/gelsight_heightmap_reconstruction-master/python_version/test_data','ref.jpg'),raw_imag):
54 | # raise Exception("could not write image")
55 |
56 | def main():
57 | print "[INFO] Press Ctrl+C to exit and return to GUI..."
58 | rospy.init_node('slip_detector', anonymous=True)
59 | while not rospy.is_shutdown():
60 |
61 | slip_detector = slip_detection_reaction()
62 | rospy.spin()
63 |
64 |
65 | if __name__ == "__main__":
66 | main()
67 |
68 | #%%
69 |
70 |
71 |
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/reconfigure.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | tab=" --tab"
4 | options=()
5 |
6 | cmds[1]="rosrun rqt_reconfigure rqt_reconfigure"
7 |
8 | options1=(--tab -e "bash -c '${cmds[1]} ; bash'")
9 |
10 | gnome-terminal "${options1[@]}"
11 |
12 | exit 0
13 |
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/reconstruction/images/reconstruct_0.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/reconstruction/images/reconstruct_0.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/reconstruction/images/reconstruct_1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/reconstruction/images/reconstruct_1.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/reconstruction/images/reconstruct_10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/reconstruction/images/reconstruct_10.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/reconstruction/images/reconstruct_2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/reconstruction/images/reconstruct_2.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/reconstruction/images/reconstruct_3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/reconstruction/images/reconstruct_3.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/reconstruction/images/reconstruct_5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/reconstruction/images/reconstruct_5.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/reconstruction/images/reconstruct_6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/reconstruction/images/reconstruct_6.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/reconstruction/images/reconstruct_7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/reconstruction/images/reconstruct_7.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/reconstruction/images/reconstruct_8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/reconstruction/images/reconstruct_8.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/reconstruction/images/reconstruct_9.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/reconstruction/images/reconstruct_9.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/reconstruction/images/sample.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/reconstruction/images/sample.zip
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/reconstruction/images/updated_reconstruction.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/reconstruction/images/updated_reconstruction.zip
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/reconstruction/plots/Figure_1-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/reconstruction/plots/Figure_1-1.png
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/reconstruction/plots/Figure_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/reconstruction/plots/Figure_1.png
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/reconstruction/plots/sample_plot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/reconstruction/plots/sample_plot.png
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/reconstruction/plots/sample_realtime_depth.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/reconstruction/plots/sample_realtime_depth.mp4
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/ref.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/ref.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample.zip
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_10.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_13.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_13.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_14.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_14.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_15.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_15.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_17.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_17.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_18.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_18.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_19.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_19.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_20.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_20.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_21.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_21.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_22.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_22.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_23.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_23.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_25.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_25.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_26.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_26.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_27.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_27.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_28.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_28.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_29.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_29.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_3.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_30.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_30.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_31.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_31.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_32.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_32.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_33.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_33.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_35.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_35.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_37.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_37.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_38.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_38.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_39.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_39.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_4.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_40.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_40.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_41.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_41.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_42.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_42.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_43.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_43.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_44.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_44.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_46.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_46.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_48.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_48.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_49.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_49.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_5.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_6.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_7.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_8.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/sample_9.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/sample_9.jpg
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_data/updated_calib.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mcubelab/gelslim/51953e685e923c0c1f6e24ff031f22bb49b4bf19/Software/GUI/GelSlim/test_data/updated_calib.zip
--------------------------------------------------------------------------------
/Software/GUI/GelSlim/test_poisson.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 | from scipy.io import loadmat
3 | from mpl_toolkits.mplot3d import Axes3D
4 | import matplotlib
5 | from matplotlib import cm
6 | from matplotlib.ticker import LinearLocator, FormatStrFormatter
7 | from fast_poisson import fast_poisson
8 | import cv2
9 | import matplotlib.pyplot as plt
10 | #from fast_poisson import poisson_reconstruct.
11 | from calibration import image_processor, calibration
12 | import time
13 | import pdb
14 | import sys
15 | import argparse
16 |
17 |
18 | scale=3
19 | crop_factor=0
20 | title_pad=4
21 |
22 | matplotlib.rcParams["savefig.directory"] = "./reconstruction/plots/"
23 |
24 | ap = argparse.ArgumentParser()
25 | ap.add_argument("-d","--diameter", required=False, help="diameter of the calibration ball in millimeters")
26 | ap.add_argument("-p","--pixdiam", required=False, help="diameter of the calibration ball in pixels")
27 | ap.add_argument("-n","--name", required=False, help="file path of 3D reconstruction file")
28 | ap.add_argument("-c","--calibration", required=False, help="file path of calibration table")
29 | args=vars(ap.parse_args())
30 |
31 | Pixmm=float('{}'.format(args["diameter"]))/float('{}'.format(args["pixdiam"]))#4.76/80#.02975
32 | print('[INFO] Plotting graphs...')
33 | print('[INFO] Ball Diameter: '+('{}'.format(args["diameter"]))+ 'mm')
34 | print('[INFO] Ball Diameter: '+('{}'.format(args["pixdiam"]))+ 'px')
35 | def matching(test_img, ref_blur,cali,table):
36 | diff = test_img - ref_blur
37 |
38 | diff[:,:,0] = np.clip((diff[:,:,0] - cali.blue_range[0])*cali.ratio, 0, cali.blue_bin-1)
39 | diff[:,:,1] = np.clip((diff[:,:,1] - cali.green_range[0])*cali.ratio, 0, cali.green_bin-1)
40 | diff[:,:,2] = np.clip((diff[:,:,2] - cali.red_range[0])*cali.ratio, 0, cali.green_bin-1)
41 | diff = diff.astype(int)
42 | grad_img = table[diff[:,:,0], diff[:,:,1],diff[:,:,2], :]
43 | return grad_img
44 |
45 | def matching_v2(test_img, ref_blur,cali,table, blur_inverse):
46 |
47 | diff_temp1 = test_img - ref_blur
48 | diff_temp2 = diff_temp1 * blur_inverse
49 | diff_temp2[:,:,0] = (diff_temp2[:,:,0] - cali.zeropoint[0])/cali.lookscale[0]
50 | diff_temp2[:,:,1] = (diff_temp2[:,:,1] - cali.zeropoint[1])/cali.lookscale[1]
51 | diff_temp2[:,:,2] = (diff_temp2[:,:,2] - cali.zeropoint[2])/cali.lookscale[2]
52 | diff_temp3 = np.clip(diff_temp2,0,0.999)
53 | diff = (diff_temp3*cali.bin_num).astype(int)
54 |
55 | # pdb.set_trace()
56 | # _ = plt.hist(np.ndarray.flatten(r), bins='auto')
57 | # plt.show()
58 | # plt.figure()
59 | # plt.imshow((diff_temp1-np.min(diff_temp1)).astype(np.uint8))
60 | # plt.figure(0)
61 | # plt.imshow(ref_blur.astype(np.uint8))
62 | # plt.figure(1)
63 | # plt.imshow(test_img.astype(np.uint8))
64 | # plt.figure(2)
65 | # plt.imshow(((diff_temp2 - np.min(diff_temp2))/100).astype(np.uint8))
66 | # plt.show()
67 | grad_img = table[diff[:,:,0], diff[:,:,1],diff[:,:,2], :]
68 | return grad_img
69 |
70 |
71 | def show_depth(depth, figure_num):
72 | # fig = plt.figure(figure_num)
73 | # ax = fig.gca(projection='3d')
74 | # # ax.set_aspect('equal')
75 | # X = np.arange(0, depth.shape[1], 1)*4.76/80
76 | # Y = np.arange(0, depth.shape[0], 1)*4.76/80
77 | # X, Y = np.meshgrid(X, Y)
78 | # ax.plot_surface(X, Y, depth, cmap=cm.jet)
79 | # # fig.colorbar(surf, shrink=0.5, aspect=5)
80 | # # plt.show()
81 | fig = plt.figure(figsize=(20,2.5))
82 | ax=fig.add_subplot(1,6,6, projection='3d')
83 | fig.suptitle('GelSight Plots: Raw_Image Dimensions:'+str(width)+'x'+str(height)+' px / Crop Factor: '+str(pad)+' px / Z-Axis Relative Scaling: '+str(scale)+'X', fontsize=8, y=0.999)
84 | X = np.arange(0, depth.shape[1], 1)
85 | Y = np.arange(0, depth.shape[0], 1)
86 | X, Y = np.meshgrid(X, Y)
87 | X=X*Pixmm
88 | Y=Y*Pixmm
89 | surf=ax.plot_surface(X, Y, depth, cmap=cm.jet)
90 | #fig.colorbar(surf, shrink=0.5, aspect=5) (LEGEND BAR)
91 | max_range = np.array([X.max()-X.min(), Y.max()-Y.min(), depth.max()-depth.min()]).max() / 2.0
92 | mid_x = (X.max()+X.min()) * 0.5
93 | mid_y = (Y.max()+Y.min()) * 0.5
94 | mid_z = (depth.max()+depth.min()) * 0.5
95 | ax.set_xlim(mid_x - max_range, mid_x + max_range)
96 | ax.set_ylim(mid_y - max_range, mid_y + max_range)
97 | ax.set_zlim(mid_z , mid_z + (max_range*2/scale))
98 | ax.tick_params(axis="x", labelsize=6, pad=-5)
99 | ax.tick_params(axis="y", labelsize=6, pad=-5)
100 | ax.tick_params(axis="z", labelsize=6, pad=-5)
101 | ax.set_xlabel('Length (mm)',fontsize=6, labelpad=-8)
102 | ax.set_ylabel('Width (mm)',fontsize=6, labelpad=-8)
103 | ax.set_zlabel('Height (mm)',fontsize=6, labelpad=-8)
104 | ax.set_title('3D Depth Map',fontsize=8, pad=13)
105 | plt.subplots_adjust(wspace=0)
106 |
107 |
108 | def contact_detection(raw_image, ref_blur,marker_mask, kernel):
109 | diff_img = np.max(np.abs(raw_image.astype(np.float32) - ref_blur),axis = 2)
110 | contact_mask = (diff_img> 25).astype(np.uint8) #*(1-marker_mask)
111 | contact_mask = cv2.dilate(contact_mask, kernel, iterations=1)
112 | contact_mask = cv2.erode(contact_mask, kernel, iterations=1)
113 | return contact_mask
114 |
115 | def marker_detection(raw_image_blur):
116 | m, n = raw_image_blur.shape[1], raw_image_blur.shape[0]
117 | raw_image_blur = cv2.pyrDown(raw_image_blur).astype(np.float32)
118 | ref_blur = cv2.GaussianBlur(raw_image_blur, (25, 25), 0)
119 | diff = ref_blur - raw_image_blur
120 | diff *= 16.0
121 | # cv2.imshow('blur2', blur.astype(np.uint8))
122 | # cv2.waitKey(1)
123 | diff[diff < 0.] = 0.
124 | diff[diff > 255.] = 255.
125 |
126 | # diff = cv2.GaussianBlur(diff, (5, 5), 0)
127 | # cv2.imshow('diff', diff.astype(np.uint8))
128 | # cv2.waitKey(1)
129 | # mask = (diff[:, :, 0] > 25) & (diff[:, :, 2] > 25) & (diff[:, :, 1] >
130 | # 120)
131 | mask_b = diff[:, :, 0] > 150
132 | mask_g = diff[:, :, 1] > 150
133 | mask_r = diff[:, :, 2] > 150
134 | mask = (mask_b*mask_g + mask_b*mask_r + mask_g*mask_r)>0
135 | # cv2.imshow('mask', mask.astype(np.uint8) * 255)
136 | # cv2.waitKey(1)
137 | mask = cv2.resize(mask.astype(np.uint8), (m, n))
138 | return mask
139 |
140 | def make_kernal(n,k_type):
141 | if k_type == 'circle':
142 | kernal = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(n,n))
143 | else:
144 | kernal = cv2.getStructuringElement(cv2.MORPH_RECT,(n,n))
145 | return kernal
146 | #
147 |
148 | if __name__ == '__main__':
149 | table2 = np.load('{}'.format(args["calibration"]))#('table_smooth.npy')
150 | abe_array = np.load('abe_corr.npz')
151 | x_index, y_index = abe_array['x'], abe_array['y']
152 | kernel1 = make_kernal(3,'circle')
153 | kernel2 = make_kernal(25,'circle')
154 |
155 | imp = image_processor()
156 | cali = calibration()
157 | pad = 20
158 | ref_img = cv2.imread('./test_data/ref.jpg')
159 | ref_img = ref_img[x_index, y_index, :]
160 | height = ref_img.shape[0]
161 | width = ref_img.shape[1]
162 | test_img = cv2.imread('{}'.format(args["name"]))#('./test_data/reconstruct_10.jpg')
163 | test_img = test_img[x_index, y_index, :]
164 | disp_img_e = cv2.imread('{}'.format(args["name"]))
165 | ab_array = np.load('abe_corr.npz')
166 | x_index = ab_array['x']
167 | y_index = ab_array['y']
168 | disp_img = disp_img_e[x_index, y_index, :]
169 |
170 | # ref_img = test_img.copy()
171 | ref_img = imp.crop_image(ref_img, pad)
172 | disp_img = imp.crop_image(disp_img, pad)
173 | marker = cali.mask_marker(ref_img)
174 | keypoints = cali.find_dots(marker)
175 | marker_mask = cali.make_mask(ref_img, keypoints)
176 | marker_image = np.dstack((marker_mask, marker_mask, marker_mask))
177 | ref_img = cv2.inpaint(ref_img,marker_mask,3,cv2.INPAINT_TELEA)
178 | red_mask = (ref_img[:,:,2] > 12).astype(np.uint8)
179 | ref_blur = cv2.GaussianBlur(ref_img.astype(np.float32), (3, 3), 0) + 1
180 | # pdb.set_trace()
181 | # ref_blur_small = cv2.pyrDown(ref_blur).astype(np.float32)
182 | blur_inverse = 1 + ((np.mean(ref_blur)/ref_blur)-1)*2;
183 | test_img = imp.crop_image(test_img, pad)
184 | test_img = cv2.GaussianBlur(test_img.astype(np.float32), (3, 3), 0)
185 | # t1 = time.time()
186 | marker_mask = marker_detection(test_img)
187 | marker_mask = cv2.dilate(marker_mask, kernel1, iterations=1)
188 | contact_mask = contact_detection(test_img, ref_blur,marker_mask, kernel2)
189 |
190 | # mask_2_show = np.dstack((np.zeros_like(marker_mask), marker_mask, np.zeros_like(marker_mask)))*40 + test_img.astype(np.uint8)
191 | # plt.figure(20)
192 | # plt.imshow(mask_2_show)
193 | # plt.figure(21)
194 | # plt.imshow(contact_mask)
195 | # plt.show()
196 |
197 | grad_img2 = matching_v2(test_img, ref_blur, cali, table2, blur_inverse)
198 |
199 | grad_img2[:,:,0] = grad_img2[:,:,0] * (1-marker_mask) * red_mask
200 | grad_img2[:,:,1] = grad_img2[:,:,1] * (1-marker_mask) * red_mask
201 |
202 | # depthgx = np.array(gx.ImGradX)1 = fast_poisson(grad_img1[:,:,0], grad_img1[:,:,1])
203 | depth2 = fast_poisson(grad_img2[:,:,0], grad_img2[:,:,1])
204 | # depth1[depth1<0] = 0
205 | depth2[depth2<0] = 0
206 | # show_depth(depth1,99)
207 | show_depth(depth2,100)
208 | # print(time.time()-t1)
209 | # plt.figure(0)
210 | # plt.imshow(grad_img2[:,:,0])
211 | # plt.figure(1)
212 | # plt.imshow(grad_img2[:,:,1])
213 | # plt.figure(2)
214 | # plt.imshow(depth2)
215 | # # plt.figure(3)
216 | # # plt.imshow((ref_blur)/255.)
217 | # # plt.figure(5)
218 | # # plt.imshow(cv2.cvtColor((test_img-ref_blur)/70, cv2.COLOR_BGR2RGB))
219 | # plt.show()
220 | # cv2.imshow('diff',(((test_img-ref_blur)+150)/400*255).astype(np.uint8))
221 | # cv2.waitKey(0)
222 | #%%
223 | # cv2.imshow('test_image', test_img.astype(np.uint8))
224 | # cv2.waitKey()
225 |
226 |
227 | ax3 = plt.subplot(164)
228 | plt.title('Gradient ('+r'$\nabla_Y$'+')', fontsize=8, pad=title_pad)
229 | plt.xticks(fontsize=6)
230 | plt.yticks(fontsize=6)
231 | plt.axis('off')
232 | plt.imshow(grad_img2[:,:,0])
233 |
234 | ax2 = plt.subplot(163)
235 | plt.title('Gradient ('+r'$\nabla_X$'+')', fontsize=8, pad=title_pad)
236 | plt.xticks(fontsize=6)
237 | plt.yticks(fontsize=6)
238 | plt.axis('off')
239 | plt.imshow(grad_img2[:,:,1])
240 |
241 | ax4 = plt.subplot(165)
242 | plt.title('2D Depth Map', fontsize=8, pad=title_pad)
243 | plt.xticks(fontsize=6)
244 | plt.yticks(fontsize=6)
245 | plt.axis('off')
246 | plt.imshow(depth2)
247 |
248 | ax1 = plt.subplot(162)
249 | plt.title('$img_{target}-img_{ref}$', fontsize=8 , pad=title_pad)
250 | plt.xticks(fontsize=6)
251 | plt.yticks(fontsize=6)
252 | plt.axis('off')
253 | plt.imshow(cv2.cvtColor((test_img-ref_blur)/70, cv2.COLOR_BGR2RGB))
254 |
255 | ax6 = plt.subplot(161)
256 | plt.title('$img_{target}$', fontsize=8 , pad=title_pad)
257 | plt.xticks(fontsize=6)
258 | plt.yticks(fontsize=6)
259 | plt.axis('off')
260 | plt.imshow(cv2.cvtColor((disp_img), cv2.COLOR_BGR2RGB))
261 | plt.show()
--------------------------------------------------------------------------------
/Software/GUI/README.md:
--------------------------------------------------------------------------------
1 | # GelSlim
2 |
3 | ## System Requirements
4 | - Ubuntu 18.04 Bionic Beaver
5 | - Python 2.7
6 | - ROS Melodic
7 | * *http://wiki.ros.org/melodic/Installation/Ubuntu*
8 | - Python OpenCV 3.4.4
9 | * *pip install opencv-python==3.4.4*
10 | - Arp Scan
11 | * *sudo apt-get install -y arp-scan*
12 | - NMap
13 | * *sudo apt-get install nmap*
14 | - Matplotlib
15 | * *pip install matplotlib*
16 | - Scipy
17 | * *pip install scipy*
18 |
19 | ## Raspberry Pi Settings
20 | - Turn on SSH in Ubuntu Mate
21 | * *sudo systemctl enable ssh*
22 |
23 | - Set Raspi IP Manually
24 | * *IPV4 IP Address: 192.168.1.XXX*
25 | * *Net Mask: 255.255.255.0*
26 | * *DNS 8.8.4.4.,8.8.8.8*
27 |
28 | ## Installation
29 |
30 | - Download the GelSlim folder and unzip
31 |
32 | - cd to ./GelSlim in terminal
33 |
34 | - run python gui.py
35 |
36 | ## IP Address
37 |
38 | ### To change the IP Address used for ROS Master and Raspberry Pi use the included arguments for gui.py
39 | #### Note the default IP Addresses are currently set to be "NONE" valued so the script will automatically locate them for you.
40 |
41 | - python gui.py -a 1 *Finds IP Addresses automatically using **arp** terminal command*
42 |
43 | - python gui.py -a 2 *Set IP Addresses manually*
44 |
45 | - change the default IP Address in line 21-22 of gui.py
46 |
47 | - **NOTE:** the local name and password for the raspberry pi must be "raspi" for the automatic login of ssh to work
48 | if this is not the case you must change the local name and password within "raspberry_new.launch"
49 |
50 | ## Error Log
51 |
52 | https://docs.google.com/document/d/1r3EBdHhFpfCTQFS_eKzmCBGyteXqJAIMatUEwNnOWO8/edit
53 |
--------------------------------------------------------------------------------
/Software/README.txt:
--------------------------------------------------------------------------------
1 | SOFTWARE README
--------------------------------------------------------------------------------
/Software/Raspberry Pi/README.txt:
--------------------------------------------------------------------------------
1 | RASPBERRY PI - Setup
2 |
3 | 1) Purchase a Raspberry Pi 3 with microSD card (>=64gb)
4 | 2) Flash Ubuntu Mate on to the microSD card
5 | -https://ubuntu-mate.org/
6 | -https://www.balena.io/etcher/
7 | 3) Install ROS Melodic on the Raspberry Pi
8 | -http://wiki.ros.org/melodic/Installation/Ubuntu
9 | 4) Download the Raspberry Pi Image Files
10 | -https://drive.google.com/file/d/1tJJFsddHKVC8RBUEtGawACZJs3rvnD6q/view?usp=sharing
11 | 5) Copy the files to the Raspberry Pi and unzip them in the home directory
12 | 6) Follow the instructions in the GUI README to setup video streaming connection with computer over ethernet
13 |
--------------------------------------------------------------------------------
/_layouts/default.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | {% seo %}
9 |
10 | {% include head-custom.html %}
11 |
12 |
13 |
14 | {% endif %}
15 |
16 | {{ content }}
17 |
18 | {% if site.github.private != true and site.github.license %}
19 |
22 | {% endif %}
23 |
24 |
25 |
26 |
27 |