OpenSCAD Arduino Mounting library
The library has a variety of modules for creating Arduinos and Arduino mounts. Here is a basic description of the included modules. It includes all official boards through the Due. For examples see the included example SCAD.
##Dependencies
Using the library location instructions,
checkout the pin_connectors
library in the libraries
folder, e.g on OSX this is done as follows:
$ cd ~/Documents/OpenSCAD/libraries
$ git clone https://github.com/tbuser/pin_connectors.git
This makes the pin_connectors/pins.scad
dependency available.
If the libraries
folder does not, exist, it will need to be created first. In the case of OSX:
$ cd ~/Documents/OpenSCAD/
$ mkdir -p libraries
$ cd libraries
$ git clone https://github.com/tbuser/pin_connectors.git
Follow the instructions for your platform.
Arduino Mounting Library Functions
arduino(boardType)
boardType - UNO, LEONARDO, DUEMILANOVE, DIECIMILA, DUE, MEGA, MEGA 2560, ETHERNET
This module creates an Arduino board with USB connector, power supply and headers.
bumper(boardType, mountingHoles)
boardType - UNO, LEONARDO, DUEMILANOVE, DIECIMILA, DUE, MEGA, MEGA 2560, ETHERNET
mountingHoles - (OPTIONAL) True or false for external mounting holes for bumper.
Create a simple bumper style encloser for a particular board
enclosure(boardType, wall, offset, heightExtension, cornerRadius, mountType)
boardType - UNO, LEONARDO, DUEMILANOVE, DIECIMILA, DUE, MEGA, MEGA 2560, ETHERNET
wall - Thickness of enclosure walls. Default is 3.
offset - Distance of PCB from walls.
heightExtension - Additional space at the top of the box.
cornerRadius - Corner radius for outside of box.
mountType - TAPHOLE, PIN - How the standoffs attach to the board either using tap holes for screws or pins.
Creates a box enclosure with a snap-on lid for a particular board
enclosureLid(boardType, wall, offset, cornerRadius, ventHoles)
boardType - UNO, LEONARDO, DUEMILANOVE, DIECIMILA, DUE, MEGA, MEGA 2560, ETHERNET
wall - Thickness of enclosure walls. Default is 3.
offset - Distance of PCB from walls.
cornerRadius - Corner radius for outside of box.
ventHoles - true, false for holes in the lid.
Creates a lid for the box enclosure
standoffs(boardType, height, topRadius, bottomRadius, holeRadius, mountType)
boardType - UNO, LEONARDO, DUEMILANOVE, DIECIMILA, DUE, MEGA, MEGA 2560, ETHERNET
height - height of standoffs
topRadius - Radius of top of standoff cylinder.
bottomRadius - Radius of bottom of standoff cylinder.
holeRadius - Radius of tap hole in the standoff.
mountType - TAPHOLE, PIN
This creates standoffs for mounting holes. These are simple cylinders that can be tapered. For custom standoffs use the holePlacement() module.
boardShape( boardType, offset, height )
boardType - UNO, LEONARDO, DUEMILANOVE, DIECIMILA, DUE, MEGA, MEGA 2560, ETHERNET
offset - creates the shape offset from actual board size. Negative values create an inset shape.
height - default is pcb height but can be any value needed.
This creates the shape of the PCB with no holes. The default create a basic Uno PCB.
boundingBox(boardType, offset, height, cornerRadius, include)
boardType - UNO, LEONARDO, DUEMILANOVE, DIECIMILA, DUE, MEGA, MEGA 2560, ETHERNET
offset - creates the shape offset from actual board size. Negative values create an inset shape.
height - default is board height (including components) but can be any value needed.
cornerRadius -
include - BOARD, PCB, COMPONENTS What to include in bounding box, just the PCB, just the components or both (BOARD)
This creates a box whos dimensions are the extremes of the board.
holePlacement(boardType)
boardType - UNO, LEONARDO, DUEMILANOVE, DIECIMILA, DUE, MEGA, MEGA 2560, ETHERNET
This is used for placing holes and is the basis of the standoff module. holePlacement takes a child element and places it at each of the mounting hole centers for a given board.
components(boardType, component, extension, offset)
boardType - UNO, LEONARDO, DUEMILANOVE, DIECIMILA, DUE, MEGA, MEGA 2560, ETHERNET
component - ALL, HEADER_F, HEADER_M, USB, POWER, RJ45
extension - Extention off the board in direction of connector. The default is the standard dimension of the connector, but can be set to an arbitrary value.
offset - Offsets the connector cube in the other two dimensions.
Creates the components( headers, power and usb jacks) for a given board. Also used for creating punchout, by using the extension and offset values.