CAD Systems on Linux

If I have one complaint about Linux, it would have to be the lack of powerful Computer Aided Design systems for the platform. Almost all of the common commercial packages such as AutoCAD, SolidWorks, etc. are designed to run on Windows. Luckily, this apparent paucity of systems isn’t as bad as it seems!

There are a number of programs you can use for doing basic CAD, and most are free. For example, for doing some basic mesh-based modeling Blender is very powerful. Unfortunately, it’s not a solid modeler and isn’t aimed at CAD work. That said, it’s a popular modeling option for RepRap users. For more serious dimensioning and 2D work, QCAD is a good option. The community edition is free and available in the Ubuntu repositories. I use it almost every day.

For anything more serious, like parametric modeling, interference checking, motion simulation, and stress testing it seems there are no good free programs. The FreeCAD project seems promising, but is severely lacking in the basic functions needed for a production-ready CAD system. Luckily, there are some proprietary programs available for Linux which provide that!

Continue reading


Primitive Toolmaking

As I’ve worked on my robot arm project over the last semester, I’ve spent a lot of time in the machine shop fabricating parts. I think it’s incredibly fascinating that it is possible to create tools which have such high precision and rigidity that we can hold +/- .0005″ tolerances! Even more incredible is that these tools, by necessity, were originally created from less accurate ones.

With that in mind, I’ve become very interested in how this is done. What processes are necessary to go from having no metal tools whatsoever to a full-fledged industrial machine shop? We have the technologies developed, and I feel it would be possible to use the knowledge that we’ve accumulated over centuries to quickly undergo that journey again. I think this would be an incredibly useful survival skill, and extremely practical to boot.

So what would the steps of this process be? You’ll have to forgive me any omissions, I’m only just beginning to think about this. From my view, this would be the ordering:

  1. Ceramics. These are necessary to create crucibles, and containers for the manufacture of many types of tools which can be used to fabricate other tools. Simple knives, chisels, files, and bricks are necessary for the next phases.
  2. Charcoal manufacture. Using bricks from the development of ceramics, which could be cured in a dried-brick kiln, one would create charcoal for fueling the furnace needed to melt metals.
  3. Smelting/Casting. Once sufficient stores of charcoal are made, and crucibles are available, the melting of metal (I’m not including mining ore here) begins. Some careful innovation with regards to which tools can be used to lift the crucible will be necessary, but the first tool made with this process can be a crucible tool, which will make things significantly safer!
  4. Refinement of tools. Using abrasives such as fine grit sand and naturally occurring minerals, castings can be refined into more useful tools.
  5. Metallurgy. Using the crucible, furnace, and charcoal, it would be possible to manufacture the necessary components for a blast furnace which could be used to make steels. These steels would be very useful for creating more robust tools.
  6. Machining. Now, with the blast furnace steel, better tools, and castings, basic machine tools can be made (David Gingery style). A lathe would be first; and used to manufacture the parts for a shaper, both of which can be used to make a mill.

Once the mill is done, you’re all set! You have all of the components of a basic machine shop, and the capability to manufacture more as you see fit. This is what I estimate the progression would be, with each step building on the ones previous. If anyone has any experience doing this, I’d love to hear about it!

It don’t fit!

Getting components for your projects is always exciting! I love seeing the little slip in my mailbox at school telling me that I have a package. I’m always ready to add new functionality to my projects, and I love seeing my designs come together.

Sometimes it doesn’t quite work out that way. Parts don’t always match your specifications, maybe they’re defective or you just made a mistake in the design. It happens! Unfortunately, some of the parts I got today just don’t fit the design right. I got a pair of stepper motors and associated drivers from SparkFun today (man, they ship fast!), and what do you know, they’re a little bigger than I was expecting.

A stepper motor from my SparkFun order.

Of course, it’s not a problem of poor information. I honestly didn’t design the parts to use these motors. They were designed for a different pair of salvaged motors which unfortunately don’t work. I figured that I could do a little bit of machining to make the new motors fit, and still have a working design. And I still might! But the crux of the matter is that I need to redesign my parts for the new motors. Hopefully when I get into the shop on Monday I can make some changes and hack together a working pH adjuster.

The top plate and a stepper motor. Notice any problems?

The stepper motors are too big! They will interfere with the nuts on top.

Not to mention that the gears are a little small.

Prototyping Online

Online prototyping seems like it may be a nice option for quickly starting production of parts without the hassle of having to make them yourself. I’ve had a company by the name of the E-Machine Shop ( in mind for my next prototype which was beyond my capabilities as a machinist. To that end, I decided that I might as well outsource my production of a peristaltic pump from my last post to them so I can focus on other projects. I drew up my design for the outer pump container in their proprietary CAD software, and had it give me an instant quote.

The 2D design of my peristaltic pump enclosure.

$250 for the part. This part is made of acrylic will require three operations: turning the inner and outer diameters, milling the two slots, and drilling the 5 holes with two standard-size drills. This is ridiculous! While I rather enjoy the idea of having parts only a click away, the price that I got quoted for this part is simply exorbitant.

The 3D view of my peristaltic pump enclosure.

Of course, I was asking for just one of them; had I upped my order to 25 I could have gotten them at $20 apiece. But for the prototyper and homebrew developer, this is simply out of my price range. I guess I’m going to have to make it myself!

Design Woes

One of my major goals with my hydroponics project is to automate as much of it as possible, at as low a price as possible. To do this, I need to be able to source parts and systems to meet engineering requirements; essentially, I have to perform systems engineering. Unfortunately, I’m studying at a liberal arts college. This means that I don’t have access to engineering faculty who may be able to provide insight into the ways that I can optimize my system, or alternate means to do things. The pH adjuster in my last post is one example of a system that I’ve designed which has some bugs which could be avoided with a more robust system (in this case, using a peristaltic pump instead of screw-feed syringes). While this does force me to do much more on my own, and I’m certainly learning a lot, my low budget for this project means that any mistakes significantly slow down the development process. Hopefully I’ll be able to avoid most of the major ones!

On that note, I’m still waiting on some basic components for the auto pH adjuster: stepper motors and drivers. In addition, the epoxy that I used to attach the plunger head to the screw drive was unable to bond effectively to the nylon plunger, and broke off when I was testing the device. I’ll have to machine a pair of plunger heads that screw on to the screw drive for increased resilience. More on that later!