3D Printer Workflow

Hobbyist 3D printing is really picking up speed. With printers under $200 and approaching the magic $100 retail price — and pretty decent larger printers readily available in kit form for around $400 — it’s becoming much easier for schools, Makerspaces, and hobbyists to get started making stuff.

One question beginners might have is, what is involved in making something, from idea to thing? Once everything is up and working, it’s easier than you think. A few programs all work together to get the job done.

The process has three basic parts: Design, Slice, and Print. The best way to learn something like this is to either do it or at least watch it done, so let’s walk through the creation of a 3D printed object from idea to thing. (All of these steps can be nearly as simple or as complex as you like — it’s a very expandable, customizable hobby with something for just about anyone.)

The Design phase is done on CAD software — either a traditional visual CAD program like SolidWorks or Autodesk Inventor. I use SketchUp, since it’s free and easy to learn.

Suppose you want to make a thing. For instance, I could use a paper towel dispenser in the kitchen and probably upstairs bathrooms (to help with cleaning up after foster cats.)

One way is to look online to see if someone else has come up with a design you can simply slice and print. Thingiverse is a great place to start, even if their site scripting doesn’t always play nicely with Chrome. (When in doubt, hit ctrl-F5 to reload the page. This usually works for me.)

I found a few interesting designs, but nothing that really jumped out at me. So an alternative is to simply design your own. That’s the real beauty of a 3D printer: you can design something completely new, and fabricate it in the course of a few hours (even while you’re doing something else.)

The first step in the design is to get the specifications you need. In this case, measuring a full roll of paper towels is a good start. If that works, an empty one will work, too. Measuring a paper towel roll, I found that it was about 11″ long by 5″ wide, with a 1.5″ diameter center hole. (Normally, I do designs in metric, but if the target part is already specified in inches, that makes more sense here.)

So we need a 1.5″ diameter cylinder in the center (or maybe 1.4″ diameter to allow it to turn freely). It should be at least an inch or two long, and mounted to the wall in a way that will allow more than 2.5″ of clearance from the wall to the center of the roll. (I’ll use 3″ so it doesn’t scrape.) On the part near the wall, I’ll add holes for drywall screws, adapted from a previous design.

A first draft of (half of) a paper towel holder, ready to be sliced.

Next, the model needs to be sliced. This step involves turning the 3D model into actual print head movement commands that the 3D printer can understand. For this, the model is exported as an .STL file, which is just a list of the 3D triangles making up the surface of the object.

This .STL file is then imported into a slicing program. For now, we’ll use Cura — a popular freeware slicer with a nice GUI interface.

Several decisions need to be made prior to slicing, since this is the step where the specific manufacturing parameters are chosen. Specifically, we’ll go with:

  • 0.3mm (300 micron) layer height. This is basically “draft” quality, resulting in coarser layers, but more than adequate for a utilitarian part like this.
  • 1.2mm shell thickness. Since I’m using an 0.4mm nozzle size, this means that the slicer will use three outside layers in X/Y.
  • 1.2mm top and bottom layer thickness. Similarly to the shell thickness, this means that four top and bottom layers will be printed (since the layer height is 0.3mm.)
  • 25% infill. This controls how much of the internal volume is filled with plastic. Larger infill percentage makes for stronger parts — at least up to a point. 25% usually works well.
  • 190C hot end temperature. I’ve found this works well for the PLA filament I use.
  • 70C heated bed temperature, and
  • 40mm/sec printing speed

Once these settings are chosen, Cura will update the sliced model automatically. The next step is to save the resulting .gcode file to be sent to the printer.

The towel holder model is positioned on the printer plate and sliced, turning it into G-Code movement commands.

Finally, the .gcode file is sent to the printer. This can be done directly via SD card, but an easier option is to use OctoPrint — a 3D printer server with a nice GUI interface. When baked into the Raspberry Pi-specific OctoPi image, the result is almost a plug-and-play networked 3D printer.

The sliced parts, imported into OctoPrint.

At this point, assuming your printer is already leveled and calibrated, you can just load filament, hit Print, and wait for the parts to appear in a few hours.

The completed parts, ready for installation.

From design to completed project in an evening. That’s why they call it Rapid Prototyping!

Posted in 3D Printing, HOW-TO | Leave a comment

Non-Newtonian Motion…?

The EM drive, weird as it sounds, just keeps passing peer review. It’s starting to look like we’ve found something genuinely new here — an inertial drive! Until recently, that was considered science-fantasy by most — a way of changing velocity without “pushing” against something else.

In short, it throws Newton’s third law of motion out the window.

This copper frustum could end up being as famous as the first transistor.

It’s a very small effect — about 1.2 millinewtons per kilowatt, give or take ten percent or so. That’s a very subtle effect — one millinewton is about one twentieth of the force needed to lift a dime — but one that can be constantly applied over hours, days, weeks, months, or years, with no propellent needed.

If it works — if this effect is real — we’ll be able to build much more efficient (meaning faster, cheaper, and larger) long- and medium-distance spacecraft.

And if past technologies are any indication, the test model is probably terribly inefficient. Faraday’s first electric motor, after all, was just a wire spinning around in a mercury bath. From such humble beginnings, however, came all of our modern electric motor technology.

TL;DR (physics geeks): Don’t look now, but conservation of momentum might not be a thing, after all.

TL;DR (everyone else): If this works, we just got a LOT better at building spaceships. Not faster-than-light better (at least this year), but way, way better. Like go-to-Mars-for-the-week-someday better.

Posted in Current Events, Mad Science, Science | Leave a comment

Batteries, visualized

We have some pretty amazing technology, these days. And there’s a lot more that we could be doing, if not for energy concerns. This limits us in two ways — heat dissipation (the more your smartphone has to do, the more energy it uses, and all of this energy has to be dissipated as heat), and battery capacity.

Heat isn’t terribly hard to deal with — stick a bigger heatsink on it, or make the whole case metal. Battery life, however, has been the albatross around the neck of embedded engineers for decades.

Part of the problem is that we have an imperfect understanding of the chemical and physical changes that happen inside batteries. Metal dendrites form, shorting out the battery and potentially leading to fires and explosions. Battery-managment chips help with this, but it would be nice to be able to see these changes in real time, to help come up with better battery topologies and charging/discharging methods.

So a group at the University of Michigan made one with a window. It’s a vision cell, or “vis cell,” which allows researchers to see and characterize the ways the battery changes in response to various conditions. Check out the video.

Posted in Components, Current Events, Electronics | Leave a comment

A Weather Prognosticator

I’m not what you would call a Summer Person. My usual strategy for dealing with long-term inclement weather (known to humans as May, June, July, August, and, increasingly, September) is to insulate the house as much as possible, close off rooms I don’t need, run the AC, and pretend that I actually live in northern Canada or somewhere else where the weather outside is pleasant.

It’s a good strategy, and thus far has kept me from catching on fire during the dreaded Daystar Months. However, it is not without its drawbacks: I have no idea what to expect, temperature-wise, when I open the front door. Is a short shirt appropriate for a walk to the corner store, or is it too hot to venture out without a fire suit?

Of course, I could pull out my phone, unlock the screen, pull up a weather app, wait for it to load, and look at the temperatures. But who has time for that? Wouldn’t it be nice to just be able to look up and know what the weather will be like for the next few hours?

The display, running a static color test

The Weather Prognosticator display, running a static color test

Enter the Weather Prognosticator! (Okay, right now it’s just a Temperature Prognosticator; I still need to add precipitation.) An Arduino Uno and Ethernet shield connect to the weatherunderground.com API to pull an hourly forecast once every five minutes*.

This data is translated into a color map from blue (#0000FF) through green (#00FF00) to red(#FF0000), covering temperatures from 0C to 30C. The temperature map still needs a little tweaking; I’ll probably add purple/white for temperatures below zero — but I’ll probably leave 30C-35C as the high end. Anything over that is not amenable to going outside.

Once the data has been translated into a color map, it is sent to a 1m long 30 LED strip that I bought on sale at Radio Shack a while back. The data sheet isn’t very helpful, but with some tweaking, the provided driver functions do work.

This particular LED strip has ten addressable sections of three LEDs each; all three LEDs in each section are the same addressable color. In order to separate the light from each section, I designed a linear sconce, and 3D printed five copies to cover all the sections.

Anyway, here are the plans. You’ll need your own (free) API key from weatherunderground.com .

Arduino code: Weather Prognosticator 0.1 (Alpha)

3D printed holder (print five of them): See Thingiverse

* I plan to dial it back to polling every 30 minutes once it’s more reliable. Right now, I’m still testing it, and it still pulls an all-zero forecast every so often.

Posted in 3D Printing, Arduino, C, Coding, Design, Digital, Electronics, HOW-TO, Internet, Level 2, Networking, Projects | Tagged , , , , , , | Leave a comment