Skip to content

Instantly share code, notes, and snippets.

@joedevivo
Created June 23, 2017 02:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save joedevivo/062487e6e377cde7b67319731a6820f6 to your computer and use it in GitHub Desktop.
Save joedevivo/062487e6e377cde7b67319731a6820f6 to your computer and use it in GitHub Desktop.
EasyDactyl v0.2 scad
module Left(){
board_thickness = 1.600000;
eta = 0.1;
board_size = [17.450000,48.250000,board_thickness];
fn = 18;
board_origin = [1.270000,1.270000];
union(){
color("red")difference(){
translate(board_origin)cube(board_size); //Board
translate([16.510,27.940,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //1X06 1
translate([16.510,25.400,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //1X06 2
translate([16.510,22.860,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //1X06 3
translate([16.510,20.320,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //1X06 4
translate([16.510,17.780,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //1X06 5
translate([16.510,15.240,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //1X06 6
translate([3.810,15.240,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //1X07 1
translate([3.810,17.780,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //1X07 2
translate([3.810,20.320,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //1X07 3
translate([3.810,22.860,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //1X07 4
translate([3.810,25.400,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //1X07 5
translate([3.810,27.940,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //1X07 6
translate([3.810,30.480,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //1X07 7
translate([13.970,35.560,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //DIL28-3 1
translate([13.970,33.020,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //DIL28-3 2
translate([13.970,30.480,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //DIL28-3 3
translate([13.970,27.940,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //DIL28-3 4
translate([13.970,25.400,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //DIL28-3 5
translate([13.970,22.860,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //DIL28-3 6
translate([13.970,20.320,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //DIL28-3 7
translate([13.970,17.780,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //DIL28-3 8
translate([13.970,15.240,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //DIL28-3 9
translate([13.970,12.700,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //DIL28-3 10
translate([13.970,10.160,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //DIL28-3 11
translate([13.970,7.620,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //DIL28-3 12
translate([13.970,5.080,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //DIL28-3 13
translate([13.970,2.540,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //DIL28-3 14
translate([6.350,2.540,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //DIL28-3 15
translate([6.350,5.080,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //DIL28-3 16
translate([6.350,7.620,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //DIL28-3 17
translate([6.350,10.160,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //DIL28-3 18
translate([6.350,12.700,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //DIL28-3 19
translate([6.350,15.240,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //DIL28-3 20
translate([6.350,17.780,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //DIL28-3 21
translate([6.350,20.320,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //DIL28-3 22
translate([6.350,22.860,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //DIL28-3 23
translate([6.350,25.400,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //DIL28-3 24
translate([6.350,27.940,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //DIL28-3 25
translate([6.350,30.480,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //DIL28-3 26
translate([6.350,33.020,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //DIL28-3 27
translate([6.350,35.560,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //DIL28-3 28
translate([5.334,48.260,-eta])cylinder(r=0.500000, h=board_thickness+eta*2,$fn=fn); //SJ-43514_HEADPHONES-3.5MM_X4 1
translate([13.716,43.180,-eta])cylinder(r=0.500000, h=board_thickness+eta*2,$fn=fn); //SJ-43514_HEADPHONES-3.5MM_X4 2
translate([8.636,40.132,-eta])cylinder(r=0.500000, h=board_thickness+eta*2,$fn=fn); //SJ-43514_HEADPHONES-3.5MM_X4 3
translate([14.732,48.260,-eta])cylinder(r=0.500000, h=board_thickness+eta*2,$fn=fn); //SJ-43514_HEADPHONES-3.5MM_X4 4
translate([11.684,40.132,-eta])cylinder(r=0.500000, h=board_thickness+eta*2,$fn=fn); //SJ-43514_HEADPHONES-3.5MM_X4 5
translate([10.160,48.260,-eta])cylinder(r=0.500000, h=board_thickness+eta*2,$fn=fn); //SJ-43514_HEADPHONES-3.5MM_X4 NC
translate([10.160,43.180,-eta])cylinder(r=0.500000, h=board_thickness+eta*2,$fn=fn); //SJ-43514_HEADPHONES-3.5MM_X4 NC2
}
translate([16.510,27.940,0])rotate([0,0,270])1X06(); //J1 Rows
translate([3.810,15.240,0])rotate([0,0,90])1X07(); //J2 Columns
translate([10.160,19.050,0])rotate([0,0,90])DIL28_3(); //MCP MCP23018SP
translate([10.160,48.260,0])rotate([0,0,90])SJ_43514_HEADPHONES_3_5MM_X4(); //U$1 SJ-43514_HEADPHONES_3.5MM_X4
}
}
Left(); //Show module
//Created by generate-scad.ulp version 0.1
module Right(){
board_thickness = 1.600000;
eta = 0.1;
board_size = [35.230000,33.010000,board_thickness];
fn = 18;
board_origin = [0.000000,48.260000];
union(){
color("red")difference(){
translate(board_origin)cube(board_size); //Board
translate([2.540,68.580,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //1X06 1
translate([2.540,66.040,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //1X06 2
translate([2.540,63.500,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //1X06 3
translate([2.540,60.960,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //1X06 4
translate([2.540,58.420,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //1X06 5
translate([2.540,55.880,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //1X06 6
translate([33.020,63.500,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //1X07 1
translate([33.020,66.040,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //1X07 2
translate([33.020,68.580,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //1X07 3
translate([33.020,71.120,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //1X07 4
translate([33.020,73.660,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //1X07 5
translate([33.020,76.200,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //1X07 6
translate([33.020,78.740,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //1X07 7
translate([8.890,53.340,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //LED_3MM A
translate([8.890,50.800,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //LED_3MM K
translate([3.810,53.340,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //LED_3MM A
translate([3.810,50.800,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //LED_3MM K
translate([33.020,53.340,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //LED_3MM A
translate([33.020,50.800,-eta])cylinder(r=0.406400, h=board_thickness+eta*2,$fn=fn); //LED_3MM K
translate([17.780,53.340,-eta])cylinder(r=0.450000, h=board_thickness+eta*2,$fn=fn); //AXIAL-0.3 P$1
translate([17.780,60.960,-eta])cylinder(r=0.450000, h=board_thickness+eta*2,$fn=fn); //AXIAL-0.3 P$2
translate([21.590,53.340,-eta])cylinder(r=0.450000, h=board_thickness+eta*2,$fn=fn); //AXIAL-0.3 P$1
translate([21.590,60.960,-eta])cylinder(r=0.450000, h=board_thickness+eta*2,$fn=fn); //AXIAL-0.3 P$2
translate([25.400,53.340,-eta])cylinder(r=0.450000, h=board_thickness+eta*2,$fn=fn); //AXIAL-0.3 P$1
translate([25.400,60.960,-eta])cylinder(r=0.450000, h=board_thickness+eta*2,$fn=fn); //AXIAL-0.3 P$2
translate([22.860,76.200,-eta])cylinder(r=0.450000, h=board_thickness+eta*2,$fn=fn); //AXIAL-0.3 P$1
translate([22.860,68.580,-eta])cylinder(r=0.450000, h=board_thickness+eta*2,$fn=fn); //AXIAL-0.3 P$2
translate([19.050,76.200,-eta])cylinder(r=0.450000, h=board_thickness+eta*2,$fn=fn); //AXIAL-0.3 P$1
translate([19.050,68.580,-eta])cylinder(r=0.450000, h=board_thickness+eta*2,$fn=fn); //AXIAL-0.3 P$2
translate([1.524,80.010,-eta])cylinder(r=0.500000, h=board_thickness+eta*2,$fn=fn); //SJ-43514_HEADPHONES-3.5MM_X4 1
translate([9.906,74.930,-eta])cylinder(r=0.500000, h=board_thickness+eta*2,$fn=fn); //SJ-43514_HEADPHONES-3.5MM_X4 2
translate([4.826,71.882,-eta])cylinder(r=0.500000, h=board_thickness+eta*2,$fn=fn); //SJ-43514_HEADPHONES-3.5MM_X4 3
translate([10.922,80.010,-eta])cylinder(r=0.500000, h=board_thickness+eta*2,$fn=fn); //SJ-43514_HEADPHONES-3.5MM_X4 4
translate([7.874,71.882,-eta])cylinder(r=0.500000, h=board_thickness+eta*2,$fn=fn); //SJ-43514_HEADPHONES-3.5MM_X4 5
translate([6.350,80.010,-eta])cylinder(r=0.500000, h=board_thickness+eta*2,$fn=fn); //SJ-43514_HEADPHONES-3.5MM_X4 NC
translate([6.350,74.930,-eta])cylinder(r=0.500000, h=board_thickness+eta*2,$fn=fn); //SJ-43514_HEADPHONES-3.5MM_X4 NC2
translate([13.970,78.740,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //TEENSY +5V
translate([24.130,50.800,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //TEENSY 5V2
translate([29.210,76.200,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //TEENSY B0
translate([29.210,73.660,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //TEENSY B1
translate([29.210,71.120,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //TEENSY B2
translate([29.210,68.580,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //TEENSY B3
translate([13.970,55.880,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //TEENSY B4
translate([13.970,58.420,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //TEENSY B5
translate([13.970,60.960,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //TEENSY B6
translate([29.210,66.040,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //TEENSY B7
translate([29.210,53.340,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //TEENSY C6
translate([29.210,50.800,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //TEENSY C7
translate([29.210,63.500,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //TEENSY D0
translate([29.210,60.960,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //TEENSY D1
translate([29.210,58.420,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //TEENSY D2
translate([29.210,55.880,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //TEENSY D3
translate([16.510,50.800,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //TEENSY D4
translate([26.670,50.800,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //TEENSY D5
translate([13.970,50.800,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //TEENSY D6
translate([13.970,53.340,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //TEENSY D7
translate([26.670,68.580,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //TEENSY E6
translate([13.970,76.200,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //TEENSY F0
translate([13.970,73.660,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //TEENSY F1
translate([13.970,71.120,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //TEENSY F4
translate([13.970,68.580,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //TEENSY F5
translate([13.970,66.040,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //TEENSY F6
translate([13.970,63.500,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //TEENSY F7
translate([29.210,78.740,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //TEENSY GND
translate([21.590,50.800,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //TEENSY GRND1
translate([16.510,68.580,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //TEENSY REF
translate([19.050,50.800,-eta])cylinder(r=0.508000, h=board_thickness+eta*2,$fn=fn); //TEENSY RST
}
translate([2.540,68.580,0])rotate([0,0,270])1X06(); //J1 Rows
translate([33.020,63.500,0])rotate([0,0,90])1X07(); //J2 Columns
translate([8.890,52.070,0])rotate([0,0,90])LED_3MM(); //LED1
translate([3.810,52.070,0])rotate([0,0,90])LED_3MM(); //LED2
translate([33.020,52.070,0])rotate([0,0,90])LED_3MM(); //LED3
translate([17.780,57.150,0])rotate([0,0,90])AXIAL_0_3(); //R1 220
translate([21.590,57.150,0])rotate([0,0,90])AXIAL_0_3(); //R2 220
translate([25.400,57.150,0])rotate([0,0,90])AXIAL_0_3(); //R3 220
translate([22.860,72.390,0])rotate([0,0,270])AXIAL_0_3(); //R4 2.2k
translate([19.050,72.390,0])rotate([0,0,270])AXIAL_0_3(); //R5 2.2k
translate([6.350,80.010,0])rotate([0,0,90])SJ_43514_HEADPHONES_3_5MM_X4(); //U$2 SJ-43514_HEADPHONES_3.5MM_X4
translate([21.590,64.770,0])rotate([0,0,90])TEENSY(); //_1 TEENSY
}
}
Right(); //Show module
//Created by generate-scad.ulp version 0.1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment