Colten Jackson's FaBlog

Fabrication Projects and Scrapbook of Possible How-Tos

I'm the "Machine and Design Assistant" (a self-designated job title) at the Champaign-Urbana Community FabLab. I've been teaching workshops and keeping the machines running and showing others how to make things with them for over a year now.

I've studied at Columbia College Chicago and Parkland Community College (some jazz performance, some computer programming), but I've mostly found myself learning inside hackerspaces - You can't beat the education you get from getting an expert talking about what they know best. It turns out people love explaining the thing they know the most about, if you show that you're interested. I've gotten 1-on-1 lessons in transistors, integrated circuits, spinning yarn, sewing, 3D Design, and lots of other subjects by asking questions at Hackerspaces, Makerspaces, and FabLab.

It's made me that if we arrange the right communities, people can learn way more from each other instead of attending lectures and being tested! Not that universities are all bad...but I don't think I'm being controversial in saying we could be doing education better. Hackerspaces happen to be what I like sinking my time into, so I'd like to make teaching and learning in these spaces an option for more people. After learning what I can in FabAcademy, I hope I can play a role in popularizing this style of learning.

Over the last couple of months, I've been trying to build a device that will log GPS data to a microSD card that fits on a 2" copper disk. It's primary purpose for me is to strap to frisbees - our FabLab is running summer camps with a grant that aims to introduce data analytics to young kids, ages 10+ alongside digital fabrication and media production. The curriculum team I'm a part of had been scratching our heads over ways to make data fun, but settled on strapping a GPS chip to a frisbee. After playing tossing games, we can come back inside, plug the memory card into a processing sketch, and see the latitude and longitude plotted into a line drawing. With any luck, we'll have kids drawing geometric shapes by tossing the frisbee in certain patterns.

Here's a video of the original implentation, the Adafruit GPS logging shield and a Rhino/Grasshopper sketch: YouTube. As far as what's been done before: if you search youtube for "GPS Frisbee" you'll find one other guy that strapped a GPS chip to a frisbee, and it happened at UIUC (where I am!) - so that was weird. There's also a frisbee company that announced a GPS-tracked frisbee (i.e. a locator so you didn't lose it) but that was just an April fools joke.

More generally, small and lightweight GPS trackers are a thing - many can be brought up with a search on amazon - but they're often feature-rich, and sync with phones, or transmit via cellular connection - and they're definitely not lightweight enough to strap to a flying object. I'm making a device cheaper and more lightweight, with only one job: save the location to a memory card. It will be up to the user to take the data on the memory card and do something with it, whether it's geotagging photos or seeing where the cat goes when he's away.

On that note, there's a number of GPS pet-trackers on the market too, and these are a little closer to what I'm building: very small, featureless (no LCD screen, etc), power-sipping applications.

Here's Tagg, a $79 USD pet tracker that transmits via cellular for 10 dollars a month. And Pod, a $200 product with the same idea, but with a prepaid SIM instead. In the case that you're more curious about where your pet hangs out than paranoid of losing it - you could build a $25 GPS data logger yourself (or maybe a $40 kit from me? ;)

The components are: ATMEGA328 AU microcontroller, 6APH GPS module, microSD memory card slot, and lithium polymer battery, along with some supporting ICs and passive components. The MCU and GPS can be found on ebay for about USD1.5 and USD20 respectively. The microSD slot and rechargeable LiPo battery are from adafruit.com, at 2USD and 7USD. With the 2 x 3" FR4 board and a smattering of components, the total cost is about 30USD.

Aside from the circuit design and the code (slightly modified Adafruit GPS Logging Sheild code), the project will also utilize Processing as a visual interface, parsing the raw data into an animated drawing (exactly what I'm doing in Rhino, but will get ported to the Free and Open Source Processing).

My circuit has worked when breadboarded, but I've yet to successfully run it on my own board. Each time I make one I learn something that doesn't work, and I revise the next board with new parts and learn something different. This week should see a finished, fourth revision board design.

It will be evaluated by how much fun kids have drawing virtual pictures throwing the frisbee, and if anyone else goes through the trouble of copying my plans :)

Adafruit Shield on the left at 87 grams, board revisions 1 2 and 3 pictured in center, board revision 2 weighing in at 18 grams.

Searching youtube for how-tos on composites, there's lots of videos on boat-making. So I decided, what the heck, why not get started with my boat making career. I made a really rough boat-like shape in Blender and applied a subsurface division modifier to smooth it down. The only foam I had on hand was 3/4" thick, so I scaled the model and split it into 3 layers, set them side by side in Blender, and import the whole thing into MeshCAM.

MeshCAM generatered the gcode for our 1' by 3' CNC machine using a 1/4" ballnose. Milling through insulation foam with a 1/4" bit was a real treat - I cranked the speed up to the max and watched it cut like butter. After freeing the individual slices from the foam, I just hot glued them together.

I stacked 4 layers of SuperSap soaked burlap over the foam boat form, wrapped it up in release plastic, layered felt on top of that, and stuck the whole thing in a vacuum bag. We tried using our shopvac and then our smoke sucker, which sucked the bag tight against the form, but didn't put any pressure on it. So, I ended up setting it in the sink under a trashbag filled with water, which visibly put a lot of pressure on the form.

After unpacking the form, and ripping out the foam (it did not go without a fight), I optimistically set it in the sink full of water, where it promptly sank. It's totally permeable to water. Gabe's frisbee floated a lot better. I'll probably coat it with another layer of resin and let it cure without putting pressure on it. I figure the resin would be more solid with a two part mold, filled with resin (not squeezing the resin out of the burlap). Next time!

Update, a couple of weeks later: after pouring super-sap resin over the hole-ridden burlap boat with multiple applications and slowly spinning the boat upside down, rightside up, to keep the resin moving for about a half hour and cured in the air, the boat is sea-worthy! Unfortunately, the excess resin did slowly seep down to edge of the composite and pooled there, leaving me with heavy chunks of resin that's just weighing the boat down. I can't think of a good way to remove this except for a hacksaw.

I've also figured out that I'm not a great boat designer. The shape of my hull gives very little displacement, and the boat sits pretty low in the water without any weight (except for the aforementioned excess resin). I'll look forward to designing a boat worth sticking a motor or sail into later on in life. In the meantime, here's my burlap boat floating in Lake FabLab (our perpetually flooded parking lot).

Original Blender file with subdivision surface.

STL Export, scaled up to millimeter units.

I didn't get to try anything new this week, so I'll post some results I've got in the past with 3D modelling actual objects and making copies of them. My earliest attempt was at Makerspace Urbana about 2 years ago when I first got into 3D printing. One of the members was working on a laser scanner, and I decided to see what I could do with it myself. Using the free version of "DAVID3 scanning" and a lot of meshlab-ing I managed to make a copy of a small cactus.

For details on the process, check out the original blog entry

This week, we all made a FabISP. Knowing we could make any shape we wanted on the Roland Modela, I didn't think much of making a rectangle circuitboard. I brought the 'traces' png into Inkscape, traced bitmap, and modified some of the traces to have more curves, and to fit the silhouette of a hedgehog. Just by switching what parts of my image were visible or transparant, I could make my traces file and my cut-out file for the Modela.

When I think of modular - I think of letters! Endlessly reconfigurable into different objects with different meanings. So, this was kind of a lazy attempt, since I knew how to use our laser, and I've done pressfit boxes before. To make up for it, I'll work in "alphabet" as a feature in my own pressfit generator. Coming soon...

Here's my cut file!

Everyone around me had such cool things going on with their pressfit homework - Virginia upholstered tiny stacking boxes, Jeff is doing full-blown self-assembling modules, and Jess whipped up a very handsome pencil holder right away. My only idea was to laser some alphabet squares that you could pressfit together in a line. I figure they'll make cute signs. In the meantime I wanted to challenge myself and learn some more Rhino, so I'm trying to rewrite the boxmaker hosted at boxmaker.connectionlab.org as a Grasshopper script. It has a live preview on the screen as you adjust the parameters, and eventually I'll be able to generate a 3D preview of the assembled box.

For now it's just been an exercise in learning how Grasshopper deals with lists of points, and "data trees" (lists of lists, as far as I can tell). I'm really enjoying Grasshopper as a programming langauge, mostly because I can stick a "Panel" (the yellow terminals) at the output of any funtion and get a live view of as much or as litle data as I want, so I can see that my functions are doing what I expect them to throughout the whole dataflow.

I'll make a video tutorial of how I built up this script, not because it's the best way to draw a box (I'm sure there are more apprpriate functions I've yet to stumble upon) but because this script uses some really useful, basic functions of Grasshopper (construct a point from X, Y, Z coordinates, translate that point according to a list of X coordinates, draw lines between every other point, etc) and uses a lot of the 'set' functions to do so.

Here's the grasshopper script so you can try it yourself!

I've used Tinkercad and Blender for a number of projects already, and while I could have mocked up some component drawers for my final project in either, I decided to take the opportunity to try and branch out. FreeCAD, OpenSCAD, Rhino, and Anitmony looked intriguing to me. The most time-consuming part, it seems, is finding good tutorials and introductions to any of these programs. It takes hours of frustrating sifting before you might find someone who explains the process at your level.

The Grasshopper site, however, has a very instructive playlist right on their front page - so I jumped right into having fun with dividing curves and creating surfaces. Later on I found a great PDF manual detailing some very shiny example projects here: ModeLab Grasshopper Primer

I was able to get the hang of the visual algorithm construction pretty quickly (being experienced in Pd didn't hurt!) and really enjoyed Grasshoppers style of replicating and moving objects. Being able to access the objects as a list, and changing their parameters on the fly felt like a big step up from Blender and Tinkercad, and I'm looking forward to trying out more of the functions in Grasshopper.

Unrelated to the final project, I also got Firefly up and running, interfacing with the light sensors on an Arduino. Generating parametric 3D models via physical interfaces is a lot of fun, and I'll definitely be exploring that side of Rhino in the future.

Here's a link to my Grasshopper file that generates the pictured project! Clicking through the list (the block in the middle of the Grasshopper script, with arros on either side) kind of simulates "highlighting" each drawer, which the LEDs will do in the future. Sliding the Y component of the Vector block will slide the selected drawer in and out. You know, being able to tell other people how to move the file around without learning how to 3D model seems like a pretty big step up from Blender, too!

Our FabLab has an electronics room with dozens of tiny drawers housing different electrical components, and a whole wall of tools, including solder, micro-screwdrivers, wire-strippers, etc. Many electronics workshops have these tools - but most electronics workshops don't have new people wandering in all the time wondering where the capacitors are. On top of that, because different people are always using the space, drawers get pulled out and put back in different spots, so that even the regulars and staff lose track of where things are located. I often talk to myself when looking for things, saying aloud "capacitors, capacitors, capacitors..." while rumaging through drawars. It occured to me: how cool would it be if there was some voice control mechanism that made the drawer with capacitors in it light up, flashing brightly, when I came looking for it?

So, my final project will be just that: wiring each drawer in our electronics room with an addressable LED, and controlling those LEDs with voice control software (either with a voice control Arduino shield, or some software package sitting on a Raspberry Pi). When someone walks into the room, they can simple say "Wire Strippers!" And the spot on the pegboard where the wirestrippers go will be illuminated with colorful LEDs.

Previous Projects

With a newfound ability to take digital design and make physical objects, it's only natural to find a way to go the other direction. 3D Scanning is the technique that closes the gap in the promise of 3D printers being replicator machines. In fact, the 'Maker Replicator' has a companion: the $1400 "Makerbot Digitizer." Essentially, it's a motorized turntable, two lasers illuminating either side of the object-to-be-digitized, and a camera with a live feed to the fine tuned software that gives you a 3D model ready to print inside of ten minutes.

Makerspace Urbana has a mission of technology proliferation to people of all classes and creeds, and at $1400, the Makerbot Digitizer is another piece of new technology that's priced out of reach of the general population. So I was very impressed to see James, a fellow member of Makerspace Urbana, playing with a different set of hardware to achieve the same result - a simple handheld laser and an old webcam (specifically a Playstation Eyetoy - talk about repurposing).

This blue laser isn't something many people would have sitting around, but can be ordered online for about $10 before shipping. It's 5mw and 405nm wavelength. A simple filter that can be ordered along with it turns the dot into a sharp straight line. However, any old red laser would work as well (though it would require very dim lights, higher power lasers will work much better), and can be converted from a red dot to a red line using a small plastic cylinder, for instance: a lego lightsaber!

So the components for a 3D scanner can be hacked together (perhaps you have a busted cd or bluray player that could have its laser beam harvested) - but how about the software? James had been using the free trial of DAVID3 laser scanning software. It offered a very intuitive scanning workflow, but would only allow you to save one side of the object at a time unless you pony up hundreds of dollars for a license.

This strategy of digitizing an object works by using a calibration pattern that the software recognizes (that's the piece of paper with dots printed on it) to determine how far away the background is from the camera. When a laser-line is projected across the object, the line takes the shape of the object. The software compares the form-fitting shape of the laser line with the straight line that hits the background, and creates a "point cloud" representing the one side of the object the camera can see.

The Makerbot Digitizer has the turntable wired up to the computer, so it can scan the object while it rotates. But without this integrated turntable, we have to scan the object one side at a time - and manually piece the point clouds together after the fact. The DAVID3 software automatically aligns these point clouds, but saving the result is a privilege of the paid version.

From left to right: aligning two point clouds, the completed 8-sided point cloud and all its associated noise, and the surface reconstruction ready to print.

But no matter, the free and open source "MeshLab" allows you to align point clouds semi-automatically. For each of the 8 angles captured, you have to give MeshLab some hints as to how they line up, and it uses its fancy algorithms to piece the two together. Here is (someone else's) video tutorial that shows the whole process.

I used that technique to piece together 8 scans of my cactus, and was able to create a 'watertight' mesh, a continuous volume without any holes - using a MeshLab filter called "Surface Reconstruction: Poisson."

The generated mesh is solid, seamless and ready to print. While the general likeness was captured, I'm not so satisfied with the detail. Perhaps using a higher resolution camera would help, but I think most of the detail was lost in the noise resulting from the laser's light-scatter - a result of the material bending and blurring the laser-line. So whatever laser scanner you use, the detail you capture will be reliant on how sharply the object reflects the laser.

After trying this method out on a few different objects, I came across 123D Catch : a cloud service that generates meshes from photographs. I've found it vastly more practical than setting up and calibrating lasers and cameras - even with a couple dozen pictures from my camera phone I can get very detailed meshes, with the photographic data applied to the surface. You can download the results to use how you please (under a non-commercial agreement), but it is a free service by Autodesk that they can pull anytime. Since then I've learned to use Agisoft - equally powerful photostitching software, for $60 with education discount. At least it's something you can own and run on your own computer!

3D Printed Volume Knob

Cutout backing for plugs.

I picked up this small tube radio at a vintage shop in Columbia, MO. Unfortunately, it sounded pretty terrible and I didn't know a thing about repairing tube amplifiers (and things that plug into 110V scare me in general) so I unscrewed all the internals and replaced the 5+ pounds of amplifier and glued in the amp from a set of desktop speakers. Luckily the original speaker was in good condition and it has a nice sound plugged into my phone. It plays podcasts in my kitchen, now, fulfilling its destiny better than sitting in an antique shop.

I think as soon as I saw the glass-etching ability of CU Fab Lab's laser, I knew I wanted to make fancy tea jars. For some time I'd been looking for a way to have more turn-of-the-20th-century apothecary design elements in my life. I wasn't satisfied with a lot of design ideas that were coming up on google image searches for 'apothecary labels' or 'victorian labels,' until I came across a website detailing 'victorian trade cards', which linked to an auction for a very handsome advertisement for Linoleum, with all the angular lines and flourishes I was looking for in my life.

The victorian trading card I lifted design elements from.

This was a really good excercise to get familiar with Inkscape vector graphics software. Tracing patterns full of different kinds of lines and curves is a great way to get acquainted with editing 'paths,' and I'm planning on coming up with workshops to walk people through the process. I think being able to apply old design elements to new objects is a great way to create things without getting caught up on being original. Just do something you like! If it's stuff from the 1880s that's in the public domain (like this trading card), even better!

Another great example of Inkscape's utility is its 'Trace Bitmap" function, which does a fair job of turning pictures into line drawings, ready for a laser beam to etch into whatever material you like. Above, you can see the vector drawing lifted from a full color scan of a botanical drawing (source).

Oh, by the way, these awesome cobalt glass jars are from specialtybottle.com and reacted well to being lasered (some glass crumbles into dust after being etched...no good comes from that). Only caveat is that the lids weren't the most attractive - simple black plastic that only screws halfway on, but that'll just lead me to another 3D Printing project!

-->

You can get in touch with me via email at jazzyjackson[at]gmail[dot]com, or find me on facebook. Better yet, come to Makerspace Urbana or Champaign-Urbana Community FabLab during open hours. Chances are you'll find me there!

All content is copyleft. Do what you want! Except for the background. The background is very much copyright, but used according to its license. It is a pattern generated by Wolfram Alpha software, according to cellular automata rule 30.