Automated CAD Design for Enclosures

[Jon] a.k.a. [Pedantite] recently added small-scale laser cutting to his business and thought about using that laser cutter to add some value to some of the many project designs he creates. Yes, this means custom laser cut enclosures, but how to go about it? [Jon] loves automation, and that can only mean automated design of laser cut enclosures by reading the board files from his project library.

The idea of automating the design of plastic enclosures was to read the design files, figure out the dimensions of the board and where the mounting holes go, and generate a file for the laser cutter. The weapon of choice was OpenSCAD, a design language that can be highly parameterized, read external design files, and spit out proper DXF files for laser cutting.

[Jon] set up his toolchain as a Python script that reads design files, sends parameters off to a .SCAD file, and generates a DXF for the laser cutter. There’s also a bit that generates enough data for Blender to render a 3D image of the finished product, all only from gerbers, a drill file, and a few user variables.

The source for these files haven’t been released yet, but that’s only because it’s in a proof-of-concept stage right now. You can check out an example of a render of one of the cases below.

Continue reading “Automated CAD Design for Enclosures”

Open-Source Water Quality Tester

Contaminated water is a huge problem in many third-world countries. Impure water leads to many serious health problems, especially in children. Installing a water purification system seems like a simple solution to this problem, but choosing the right purification system depends on the level of contaminants in the water.

Water turbidity testers are often used to measure the severity of water contamination. Unfortunately most commercial water turbidity testers are very expensive, so [Wijnen, Anzalone, and Pearce] set out to develop a much more affordable open-source tester. Their tester performs just as well as commercial units, but costs 7-15 times less.

The open-source water tester was designed in OpenSCAD and 3d printed. It houses an Arduino with a custom shield that measures the frequency from several TSL235R light-to-frequency converters. An LED illuminates the water and the sensors measure how much light is diffused and reflected off of particles in the water. Another sensor measures the brightness of the LED as a baseline reference. The turbidity of the water is calculated from the brightness values, and is displayed on a character LCD. More details about the tester are included in a fairly extensive paper.

[Thanks Andrew]

A 3D Printed Peristaltic Pump

After getting access to a Lulzbot 3D printer, [Tim] designed a 3D printable peristaltic pump. The design was done in OpenSCAD, which makes it parametric and easy to modify.

Peristaltic pumps work by squeezing a length of tubing to push fluids. This mechanism is similar to how your intestines work. The pump provides an isolated fluid path, which is why they’re commonly used in medical and food grade applications. Like many products in the medical space, these pumps tend to be rather expensive. Being able to print one for your own projects could save quite a bit of cost.

The pump is based on [emmett]’s gear bearing design. One nice thing about this design is that it is printed preassembled. Pop it out of the printer, add some tubing, and you’re ready to pump fluids.

On top of the isolated fluid path, this pump gives accurate volume measurement. For that reason, we can imagine it moving booze for a robotic bartender build. After the break, a video of the pump moving some fluid.

Continue reading “A 3D Printed Peristaltic Pump”

The Rabbit H1 is a Stationary Mouse Replacement

rabbit h1

[Dave] has some big plans to build himself a 1980’s style computer. Most of the time, large-scale projects can be made easier by breaking them down into their smaller components. [Dave] decided to start his project by designing and constructing a custom controller for his future computer. He calls it the Rabbit H1.

[Dave] was inspired by the HOTAS throttle control system, which is commonly used in aviation. The basic idea behind HOTAS is that the pilot has a bunch of controls built right into the throttle stick. This way, the pilot doesn’t ever have to remove his hand from the throttle. [Dave] took this basic concept and ran with it.

He first designed a simple controller shape in OpenSCAD and printed it out on his 3D printer. He tested it out in his hand and realized that it didn’t feel quite right. The second try was more narrow at the top, resulting in a triangular shape. [Dave] then found the most comfortable position for his fingers and marked the piece with a marker. Finally, he measured out all of the markings and transferred them into OpenSCAD to perfect his design.

[Dave] had some fun with OpenSCAD, designing various hinges and plywood inlays for all of the buttons. Lucky for [Dave], both the 3D printer software as well as the CNC router software accept STL files. This meant that he was able to design both parts together in one program and use the output for both machines.

With the physical controller out of the way, it was time to work on the electronics. [Dave] bought a couple of joysticks from Adafruit, as well as a couple of push buttons. One of the joysticks controls the mouse cursor. The other joystick controls scrolling vertically and horizontally, and includes a push button for left-click. The two buttons are used for middle and right-click. All of these inputs are read by a Teensy Arduino. The Teensy is compact and easily capable of emulating a USB mouse, which makes it perfect for this job.

[Dave] has published his designs on Thingiverse if you would like to try to build one of these yourself.


DIY Newton’s Cradle Uses Parts Designed on a Smart Phone

Injection Molded Parts

As far as physics demonstrations go, the Newton’s Cradle is probably one of the most recognizable. Named after Sir Isaac Newton, the Newton’s Cradle demonstrates the law of conservation of momentum using swinging ball bearings.

[Scorchworks] decided he wanted to build his own Newton’s Cradle. The frame appears to be cut from MDF or particle board and then screwed together. That material is really easy to obtain and also to work with using inexpensive tools. The tricky part was the ball bearings. Most of the time when you see a Newton’s Cradle, the ball bearings have a small hole drilled in the top with an eye hook attached. The string is then attached to the eye hook.

[Scorchworks] decided to do something different. His plan was to make custom injection molded plastic rings that would fit perfectly around the ball bearings. The most interesting thing is that he designed the injection molding plates entirely on his smart phone while at his child’s baseball practice. To do this, [Scorchworks] used his own Android app, ScorchCAD. ScorchCAD is a free clone of OpenSCAD that is designed to run on Android devices. Most of the functionality of OpenSCAD has been implemented in ScorchCAD, though not all functions work yet. You can find a list of all the supported functions on the project’s website or in the Google Play store.

Once the plates were designed within ScorchCAD, [Scorchworks] exported the STL file and then used Meshcam to generate the gcode for his CNC milling machine. Once he had the plates machined, he just placed the ball bearing into the mold and injected the molten plastic around it. The plastic formed a perfectly shaped ring around the bearing with small loops for the string. [Scorchworks] repeated the process several times to get all of the ball bearings finished.

Finally, the bearings were strung up using some fishing line. A Newton’s Cradle is very sensitive to the positioning of the ball bearings. To account for this, [Scorchworks] tied each end of the fishing line to two different screws on top of the cradle. This way, each screw can be tightened or loosened to adjust the position of each ball bearing.

3D Printering: Making A Thing With OpenSCAD

printering So you have a 3D printer, and you’re getting tired of printing out octopodes and weighted companion cubes. Good! With a 3D printer, you can make just about anything, but only if you have the modeling experience to turn your design into an .STL file. This 3D Printering column is going on a tangent for a few weeks with some tutorials on how to make a ‘thing’.

This week, we’re starting off with OpenSCAD, a 3D modelling program that’s more like programming than drawing. A lot of useful 3D printable objects – including the parts for a lot of RepRaps – are designed in OpenSCAD, so hopefully by the end of this you’ll be able to design your own parts.

This isn’t meant to be a complete tutorial for OpenSCAD; I’m just demoing SCAD enough to build a simple part. Next week I’ll most likely be designing a part with AutoCAD, but if you have an idea of what software tools I should use as a tutorial to make a part, leave a note in the comments. Check out the 3D Printering guide to making a part with OpenSCAD below.

Continue reading “3D Printering: Making A Thing With OpenSCAD”

A Touch Scroll Wheel via OpenSCAD


Recent experiments with the Arduino CapSense library led [Bryan] around the Internet looking for interesting applications. He hit upon a very cool touch scroll wheel made entirely with PCB traces, but the geometry – three interleaved zig zags is impossible to build in the decidedly ungeometric Eagle PCB package. One thing leads to another and now [Bryan] has a cap touch wheel Eagle part designed entirely in OpenSCAD.

The touch scroll wheel implementation [Bryan] found came from an ST touch controller datasheet and used oddly-shaped patterns to create a capacities sensor. Eagle is terrible for designing anything that isn’t laid out at a 45 degree angle, so he fired up OpenSCAD to draw these triangles. Importing into Eagle was another challenge, but a quick Ruby script to convert a DXF file into a set of coordinates for Eagle’s POLYGON command made everything very easy.

If OpenSCADing touch sensors isn’t your thing, there’s also an Eagle library full of them – something we found last week.