Design files for a breadboard sled to hold the WeMos D1 Mini IoT module. The .gcode file is suitable for use with bCNC. The .scad file is for OpenSCAD and can be exported to DXF or whatever your CNC needs.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(Block-name: block outline) | |
(Block-expand: 1) | |
(Block-enable: 0) | |
G0 X0 Y0 Z5 | |
G1 Z0 | |
g1 x60 y0 | |
g1 x60 y40 | |
g1 x0 y40 | |
g1 x0 y0 | |
g0 z5 | |
(Block-name: block outline [out,cut]) | |
(Block-expand: 0) | |
(Block-enable: 1) | |
(Block-tab: -1 25.7854 5 5 -2) | |
(Block-tab: 35.7854 41 5 5 -2) | |
(Block-tab: 61 14.2146 5 5 -2) | |
(Block-tab: 24.2146 -1 5 5 -2) | |
g0 x-1 y0 | |
g1 z0 f300 | |
g3 x0 y-1 i1 j0 f650 | |
g1 x20.714602 y-1 | |
g1 x27.714602 y-1 | |
g1 z0 f300 | |
g1 x60 y-1 f650 | |
g3 x61 y0 i0 j1 | |
g1 x61 y10.714602 | |
g1 x61 y17.714602 | |
g1 z0 f300 | |
g1 x61 y40 f650 | |
g3 x60 y41 i-1 j0 | |
g1 x39.285398 y41 | |
g1 x32.285398 y41 | |
g1 z0 f300 | |
g1 x0 y41 f650 | |
g3 x-1 y40 i0 j-1 | |
g1 x-1 y29.285398 | |
g1 x-1 y22.285398 | |
g1 z0 f300 | |
g1 x-1 y0 f650 | |
g1 z-0.5 f300 | |
g3 x0 y-1 i1 j0 f650 | |
g1 x20.714602 y-1 | |
g1 x27.714602 y-1 | |
g1 z-0.5 f300 | |
g1 x60 y-1 f650 | |
g3 x61 y0 i0 j1 | |
g1 x61 y10.714602 | |
g1 x61 y17.714602 | |
g1 z-0.5 f300 | |
g1 x61 y40 f650 | |
g3 x60 y41 i-1 j0 | |
g1 x39.285398 y41 | |
g1 x32.285398 y41 | |
g1 z-0.5 f300 | |
g1 x0 y41 f650 | |
g3 x-1 y40 i0 j-1 | |
g1 x-1 y29.285398 | |
g1 x-1 y22.285398 | |
g1 z-0.5 f300 | |
g1 x-1 y0 f650 | |
g1 z-1 f300 | |
g3 x0 y-1 i1 j0 f650 | |
g1 x20.714602 y-1 | |
g1 x27.714602 y-1 | |
g1 z-1 f300 | |
g1 x60 y-1 f650 | |
g3 x61 y0 i0 j1 | |
g1 x61 y10.714602 | |
g1 x61 y17.714602 | |
g1 z-1 f300 | |
g1 x61 y40 f650 | |
g3 x60 y41 i-1 j0 | |
g1 x39.285398 y41 | |
g1 x32.285398 y41 | |
g1 z-1 f300 | |
g1 x0 y41 f650 | |
g3 x-1 y40 i0 j-1 | |
g1 x-1 y29.285398 | |
g1 x-1 y22.285398 | |
g1 z-1 f300 | |
g1 x-1 y0 f650 | |
g1 z-1.5 f300 | |
g3 x0 y-1 i1 j0 f650 | |
g1 x20.714602 y-1 | |
g1 x27.714602 y-1 | |
g1 z-1.5 f300 | |
g1 x60 y-1 f650 | |
g3 x61 y0 i0 j1 | |
g1 x61 y10.714602 | |
g1 x61 y17.714602 | |
g1 z-1.5 f300 | |
g1 x61 y40 f650 | |
g3 x60 y41 i-1 j0 | |
g1 x39.285398 y41 | |
g1 x32.285398 y41 | |
g1 z-1.5 f300 | |
g1 x0 y41 f650 | |
g3 x-1 y40 i0 j-1 | |
g1 x-1 y29.285398 | |
g1 x-1 y22.285398 | |
g1 z-1.5 f300 | |
g1 x-1 y0 f650 | |
g1 z-2 f300 | |
g3 x0 y-1 i1 j0 f650 | |
g1 x20.714602 y-1 | |
g1 x27.714602 y-1 | |
g1 z-2 f300 | |
g1 x60 y-1 f650 | |
g3 x61 y0 i0 j1 | |
g1 x61 y10.714602 | |
g1 x61 y17.714602 | |
g1 z-2 f300 | |
g1 x61 y40 f650 | |
g3 x60 y41 i-1 j0 | |
g1 x39.285398 y41 | |
g1 x32.285398 y41 | |
g1 z-2 f300 | |
g1 x0 y41 f650 | |
g3 x-1 y40 i0 j-1 | |
g1 x-1 y29.285398 | |
g1 x-1 y22.285398 | |
g1 z-2 f300 | |
g1 x-1 y0 f650 | |
g1 z-2.5 f300 | |
g3 x0 y-1 i1 j0 f650 | |
g1 x20.714602 y-1 | |
g0 z-2 | |
g1 x27.714602 y-1 f650 | |
g1 z-2.5 f300 | |
g1 x60 y-1 f650 | |
g3 x61 y0 i0 j1 | |
g1 x61 y10.714602 | |
g0 z-2 | |
g1 x61 y17.714602 f650 | |
g1 z-2.5 f300 | |
g1 x61 y40 f650 | |
g3 x60 y41 i-1 j0 | |
g1 x39.285398 y41 | |
g0 z-2 | |
g1 x32.285398 y41 f650 | |
g1 z-2.5 f300 | |
g1 x0 y41 f650 | |
g3 x-1 y40 i0 j-1 | |
g1 x-1 y29.285398 | |
g0 z-2 | |
g1 x-1 y22.285398 f650 | |
g1 z-2.5 f300 | |
g1 x-1 y0 f650 | |
g1 z-3 f300 | |
g3 x0 y-1 i1 j0 f650 | |
g1 x20.714602 y-1 | |
g0 z-2 | |
g1 x27.714602 y-1 f650 | |
g1 z-3 f300 | |
g1 x60 y-1 f650 | |
g3 x61 y0 i0 j1 | |
g1 x61 y10.714602 | |
g0 z-2 | |
g1 x61 y17.714602 f650 | |
g1 z-3 f300 | |
g1 x61 y40 f650 | |
g3 x60 y41 i-1 j0 | |
g1 x39.285398 y41 | |
g0 z-2 | |
g1 x32.285398 y41 f650 | |
g1 z-3 f300 | |
g1 x0 y41 f650 | |
g3 x-1 y40 i0 j-1 | |
g1 x-1 y29.285398 | |
g0 z-2 | |
g1 x-1 y22.285398 f650 | |
g1 z-3 f300 | |
g1 x-1 y0 f650 | |
g0 z5 | |
(Block-name: block drills [drill]) | |
(Block-expand: 1) | |
(Block-enable: 0) | |
M06 | |
g0 z5 | |
g0 x13.75 y15 | |
g1 z-5 f300 | |
g0 z5 | |
g0 x13.75 y25 | |
g1 z-5 f300 | |
g0 z5 | |
g0 x46.25 y25 | |
g1 z-5 f300 | |
g0 z5 | |
g0 x46.25 y15 | |
g1 z-5 f300 | |
g0 z5 | |
(Block-name: block mounting holes) | |
(Block-expand: 1) | |
(Block-enable: 0) | |
M06 | |
g0 z5 | |
g0 x3 y3 | |
g1 z-5 f300 | |
g0 z5 | |
g0 x3 y37 | |
g1 z-5 f300 | |
g0 z5 | |
g0 x57 y37 | |
g1 z-5 f300 | |
g0 z5 | |
g0 x57 y3 | |
g1 z-5 f300 | |
g0 z5 | |
(Block-name: block) | |
(Block-expand: 1) | |
(Block-enable: 1) | |
g0 z5 | |
G0 X0 Y0 | |
g0 z20 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
http://codeviewer.org/view/code:1b36 | |
Copyright (C) 2011 Sergio Vilches | |
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. | |
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. | |
Contact: s.vilches.e@gmail.com | |
----------------------------------------------------------- | |
Round Corners Cube (Extruded) | |
roundCornersCube(x,y,z,r) Where: | |
- x = Xdir width | |
- y = Ydir width | |
- z = Height of the cube | |
- r = Rounding radious | |
Example: roundCornerCube(10,10,2,1); | |
*Some times it's needed to use F6 to see good results! | |
----------------------------------------------------------- | |
*/ | |
// Test it! | |
// roundCornersCube(10,5,2,1); | |
module createMeniscus(h,radius) // This module creates the shape that needs to be substracted from a cube to make its corners rounded. | |
difference(){ //This shape is basicly the difference between a quarter of cylinder and a cube | |
translate([radius/2+0.1,radius/2+0.1,0]){ | |
cube([radius+0.2,radius+0.1,h+0.2],center=true); // All that 0.x numbers are to avoid "ghost boundaries" when substracting | |
} | |
cylinder(h=h+0.2,r=radius,$fn = 50,center=true); | |
} | |
module roundCornersCube(x,y,z,r) // Now we just substract the shape we have created in the four corners | |
difference(){ | |
cube([x,y,z], center=true); | |
translate([x/2-r,y/2-r]){ // We move to the first corner (x,y) | |
rotate(0){ | |
createMeniscus(z,r); // And substract the meniscus | |
} | |
} | |
translate([-x/2+r,y/2-r]){ // To the second corner (-x,y) | |
rotate(90){ | |
createMeniscus(z,r); // But this time we have to rotate the meniscus 90 deg | |
} | |
} | |
translate([-x/2+r,-y/2+r]){ // ... | |
rotate(180){ | |
createMeniscus(z,r); | |
} | |
} | |
translate([x/2-r,-y/2+r]){ | |
rotate(270){ | |
createMeniscus(z,r); | |
} | |
} | |
} | |
projection(){ | |
translate([30,20,0]){ | |
difference() { | |
roundCornersCube(60,40,3,2); | |
translate([-16.25,5,0]){ | |
cylinder(h=4,r=2,center=true,$fn=50); | |
} | |
translate([-16.25,-5,0]){ | |
cylinder(h=4,r=2,center=true,$fn=50); | |
} | |
translate([16.25,5,0]){ | |
cylinder(h=4,r=2,center=true,$fn=50); | |
} | |
translate([16.25,-5,0]){ | |
cylinder(h=4,r=2,center=true,$fn=50); | |
} | |
translate([-27,17,0]){ | |
cylinder(h=4,r=1.5,center=true,$fn=50); | |
} | |
translate([-27,-17,0]){ | |
cylinder(h=4,r=1.5,center=true,$fn=50); | |
} | |
translate([27,17,0]){ | |
cylinder(h=4,r=1.5,center=true,$fn=50); | |
} | |
translate([27,-17,0]){ | |
cylinder(h=4,r=1.5,center=true,$fn=50); | |
} | |
} | |
} | |
} |
This presumes you are using 2mm end-mill to cut the board outline, 4mm drill for the breadboard location holes, and 3mm drill for the corner mounting holes.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This is the gcode to cut the baseboard in this article: http://blog.unixbigot.id.au/2016/10/making-custom-breadboard-for-wemos-d1.html
See also my IoT for Beginners article: http://blog.unixbigot.id.au/2016/09/iot-for-absolute-beginners.html