3D Printing for the Classroom

A couple of months ago I was looking for a vector outline of my home state of Illinois that I could turn into a 3D print using Google Sketchup. I was lucky enough to find a United States map in DWG with a little Google-fu. I pulled out Illinois but then while I was working on it I started thinking about other uses for the map. First things first, I’ll need the states in a printable form.

I went through the USA map and broke it down to individual states in Sketchup. So now the only question was, what do I do with an extrudable and scaleable map of all 50 states?

I knew I wanted to print the shapes at different levels to make some kind of interesting looking map. Rather than extruding each state an arbritrary ammount I decided to extrude the states based on the number of electoral votes each state holds in the presidential election. It gave my map both some much needed depth and variety and turned it into an education tool. Printed out it looks great (if I do say so myself) and I’m thinking about mounting it on a nice old map and hanging it in a shadow box on my wall.

My other thought for the map that might have some educational significance would be printing the states with the height of the state representing the order in which the state joined the nation. I had somewhat forgotten about this map and had only printed about half of it in the past month or so until I saw these great map puzzles that were posted on Thingiverse for Africa and Central America. You could easily do the same with the USA map.

In the gallery below you can see the completed electoral vote map. I’ve also included a couple photos showing how it was split up into separate print beds. My Makerbot did a pretty spectacular job on the more intricate parts of the map and the states fit together almost perfectly.


I’ve uploaded this map to Thingiverse for public consumption. I’d love to see something like this printed for use in a classroom. Makerbotted 3D maps, how cool would that be?! Each state can be pulled out individually and scaled as well. I’ve also uploaded the 11 “print beds” worth of prints I used to print my “electoral votes by state” map.


[thingiverse thing=11178]

Like Father, Like Son

During the build of my Makerbot Thing-o-Matic I was told a story. My Dad (who helped me built my bot) told me about when he first got his wood working tools.

The wooden toys he made me when I was around 4 or 5 were made as a way for him to learn how to use his new wood working tools. For some reason this story of tool exploration really stuck a cord with me. This story stuck with me throughout the build of my Makerbot back in February and stayed with me until Father’s Day 2011. I thought it would be really great to give back to my Dad the same toy he built for me, printed on my Makerbot (a way for me to learn how to use my tools [Makerbot] the way he learned to use his [woodworking tools]).

I modeled one of those the wooden toys (a delivery truck) he built for me in Google Sketchup. Then scaled it to a printable size and sent it to my printer. The body of my trunk was the single longest print I’ve even done, clocking in at just under 3 hours. I’d like to say it went well….but it didn’t. I originally printed this on my [Automated Build Platform]. Unfortunately for me the ABP is not great at holding tall prints steady and failed after 2 hours of printing ::faceplam::. I replaced the ABP with MBI’s Aluminum Build Platform but still had a a failure after 2 hours when my filament slipped out of the plastruder ::facepalm X2::. On print 3 I watched it like a hawk, tightening the filament screw every 30 minutes and my diligence paid off.

I printed the truck body, wheels and trunk door. The axles well… I had trouble getting the axles to print consistently and ended up using a wooden dowel rod. Of course this wasn’t easy either, I had to drill out the holes on both the truck body and wheels to accommodate the 3/16″ dowel. I also used my dremel to cut down the dowel to size (I tried using a utility knife but couldn’t get the clean lines I wanted to see for a gift).

I ended up printing two bodies and attempting to draw the appropriate markings on it as seen on the original wooden truck, but the printed copy seeped marker ink across the lamination points. It looked messy and from what I saw would be difficult to avoid. In the end I settled on a blank copy. I feel like the shape is the most important part and speaks for itself.

Here’s a picture of my Dad and myself holding our respective creations. He was really surprised and pleased with the gift.

Thanks for the unexpected inspiration, constant support and sage advice Dad.

As always see below for my Thingiverse model. I hope some kids somewhere get a chance to play with my Dad’s toy truck design, recreated in plastic.

[thingiverse thing=10776]

Am I doing this right? (Reddit Upvote Button)


Update! My project has been entered in the Instructables “USB Contest” if you like it please vote here: http://www.instructables.com/id/Reddit-Controller-USB-UpvoteDownvote-button/

Not too long ago I saw the “Awesome Button” video on the Make Magazine podcast. In the video Matt Richardson shows how you can take a Teensy development board and turn it into a simple USB keyboard. In his example everytime a button is pressed a synonym for the word “awesome” is sent to the computer. While this is a pretty neat project the idea of creating a simplified keyboard out of a few buttons is what stuck with me. This lead me to start creating my “Reddit Upvote/Downvote button”.

Reddit is a website that has in the past few months taken over my life. Not unlike Digg it aggregates all the best stuff on the internet and makes it easy to consume. The way posts are sorted or brought to the front page on Reddit has to do with the number of Upvotes and Downvotes a post gets over time. Now while these voting options are usually toggled by clicking arrow icons on the webpage they can also be controlled using keystrokes after installing the Reddit Enhancement Suite. After I found this, all the stars aligned for my project.

I started by sketching out a basic design enclosure and making some measurements for the parts I planned on including. The Teensy development board really is teensy so my project box ended up being pretty tiny. In the gallery below you can see the evolution of the project box. I started off with a pretty large box and scaled down to just big enough to fit what I needed. It’s pretty amazing to be able to print a box that fits your exact project dimensions in about 30 minutes. I also printed up and down arrows, the upvote arrow using red plastic and downvote colored blue with a Sharpie. As usual I’ve uploaded my most recent model to Thingiverse as STLs and Sketchup files. These can be downloaded and printed in the comfort of your own home (assuming you own a 3D printer of course).

Programming the keyboard functions on the Teensy is surprisingly simple. There are great instructions on the Teensy development board page for sending keystrokes to your computer and because the board identifies itself as a USB keyboard it works when plugged into a PC or Mac with no additional software! One note: to use the USB keyboard mode you must use the “Teensyduino” software which allows you to program the Teensy using the Arduino programming language and IDE rather than the native Teensy language. I’ve included the code in full at the bottom of the post, but to give a brief overview, when the upvote button is pressed the key combination “CTRL + SHIFT + A” is sent to the computer over USB, likewise if downvote is pressed “CTRL + SHIFT + Z” is sent to the computer. I defined these keystrokes in the Reddit Enhancement Suite manually because they seemed like a key combination that wouldn’t conflict with other programs (default is “a” and “z”).

Above is a drawing of the circuit I put together for the buttons. As you can see it’s really simple and basically an exact copy of the “Button” example on the Arduino website. I moved the circuit from my breadboard to a scrap of circuit board I had left over from my Arc Reactor project and soldered everything down. Since I was looking to fit this into a pretty small space my tolerances (wire length, etc) were also small. Much to my surprise everything worked on my first attempt to move it to a finished board. The only thing left to do was reconnect the USB cord I snipped in half to fit into my project box and put a couple dabs of hot glue on the lid to keep it closed.

Below is a collection of video clips I took while putting this project together. I think it turned out pretty nice and is a great example of the different ways to change a previous project (yours or in this case, someone else’s the “Awesome Button”) into something to fit your needs.



Reddit Upvote/Downvote Button
This code sends the keystroke "CTRL + SHIFT + A" or "CTRL + SHIFT + Z" to your PC
or Mac. Make sure you set your Arduino compatible board to "Keyboard + Mouse" in
the "USB Type" menu. Hotkeys can be changed easily, I've added comments to make it
easier to find. 

For this to work with Reddit as an Upvote/Downvote button you will need to install
Reddit Enhancement Suite (http://reddit.honestbleeps.com/) and set your Upvote and
Downvote hotkeys to the ones assigned in this Arduino sketch.
Code examples edited and reworked from http://wwww.arduino.cc and
TheNewHobbyist 2011 

// The inputs you're using for button presses
const int upVote = 8;     // Upvote
const int downVote = 5;     // Downvote

int upVoteStatus = 0;
int downVoteStatus = 0;

void setup() {
  pinMode(upVote, INPUT);
  pinMode(downVote, INPUT);   

void loop(){
  // Check the buttons
  upVoteStatus = digitalRead(upVote);
  downVoteStatus = digitalRead(downVote);

// If Upvote button is pressed  
  if (upVoteStatus == HIGH) {
     // Change the following two lines to change the keys sent     
    Keyboard.set_modifier(MODIFIERKEY_CTRL | MODIFIERKEY_SHIFT); 

// If Downvote button is pressed
  if (downVoteStatus == HIGH) { 
     // Change the following two lines to change the keys sent    
    Keyboard.set_modifier(MODIFIERKEY_CTRL | MODIFIERKEY_SHIFT); 

[thingiverse thing=10423]

With Thingiverse you’re never designing alone

I’ve written several posts since I built my Makerbot about how awesome a service Thingiverse is. It’s a place to find, share and edit 3D printable designs. Nearly all the models on Thingiverse include source files for editing and making modifications. While I know how cool it is, for some reason I’ve never done this. I’ve downloaded more than my fair share of models to print at home, and uploaded a few to share. But I’ve never found a design I felt I could improve apon. That is, until today.

I picked up my first money clip earlier this week as I was growing tired of my ever increasing “Costanza Wallet“. The clip I bought is secured with a magnet and while it worked, it severly limited the number of cards/cash I was able to carry. The magnet is just too weak to hold more than two or three cards and minimal paper money. Having just spent a cool $9 for this fine faux leather magnetic model I thought I’d look into a cheaper alternative. Makerbot.

I didn’t have much experience in the subject of money clips but I knew where to look. One Thingiverse search later I was staring at a money clip designed by none-other than the Makerbot Industries man himself, Bre Pettis. Naturally I pulled down his STL and Google Sketchup files and gave it a print. Unfortunettly something just wasn’t right. It’s a mixture of the shape, the ability to grip cards and the overall chunkiness that just doesn’t sit right with me (or rather, I don’t sit right on it). Thankfully for me Bre uploaded the Sketchup source file which made modifications a breeze. You can see the evolution the clip took to get to what is (for me) the perfect money clip.

I started with Bre’s design (v1) and edited the height and added flared edges to make it easier to put cards and cash into the empty clip (v2). Then I lowered the height and angled the top half in to allow holding just a few cards (for the end of the night) while still providing a good grip (v3).

Being able to pull down an existing design really saved me the trouble of researching commercially made products on Google Image Search and other online retailers. It was a lot easier to make corrections to an existing design than it would have been to start from scratch. I’ve uploaded my modified money clip and hope to see someone refine it even further into their perfect clip. If anyone can, it’s the Thingiverse community.

[thingiverse thing=9901]

Everyday Fixes with Makerbot #3 (Tacklebox Clip)

I (as I imagine is the case with most most makers/DIY’ers/gadget hackers) have several tackle box style divided boxes for storing random odds and ends. These boxes are usually secured with snapping clips on the front of the box, usually. Unfortunately for me in my haste one shopping trip I bought a box that was missing one of these all important clips. For months I lived on the edge, narrowly avoiding an electronic component avalanche every time I moved the box around my workshop.

Thanks to Makerbot I have the ability to repair rather than replace. Using one photograph of the existing clip and a digital caliper I was able to knock out a replacement in around an hour, most of that time was spent waiting for Makerbot to print.

As always I’ve also uploaded the 3D model files to Thingiverse for others to use. This looks to me like a print that might benefit from being recreated in OpenSCAD. OpenSCAD is a modeling tool that uses a scripting language to generate your model. One of the benefits to using this program over something like Google Sketch up is the ability for users to tweak the measurements and parameters of the model, something that isn’t very easy to do in Google Sketchup. However (as you will see in the video) I was able to model the clip itself in about 5 minutes so it’s probably just as easy to re-create different size clips as it is to re-size the original model.

In the video below you’ll see the complete build process, from part, to photo, to model, to printed replacement part. Not only is my box more secure now that I have two clips, the new clip actually snaps on tighter than the original from the manufacturer. I actually ended up replacing both clips with my printed versions.

[thingiverse thing=9419]