Category Archives: MakerBot


3D Printed Medieval Barbie Armor

I don’t have kids, don’t want kids, but I do have a cer­tain fas­ci­na­tion with toys. It prob­a­bly stems back to the ’80s when the toy sup­ple­ment to the Sears cat­a­log arrived each year, con­ve­niently timed to show up a few months before Christmas. I would comb through every page of that thing — well, every page that was not for girls or babies — think­ing and dream­ing and mem­o­riz­ing all the specs. All the kids looked so happy play­ing with their new Transformers and the Star Wars fig­ures and vehi­cles. I wanted all of them. I ear­marked the pages con­tain­ing the taller-than-a-kid Space Warp mar­ble track, and espe­cially the Omnibot 2000. (Neither of which I ever received.) But my favorite toys were always related to build­ing and learn­ing.

As an adult I do not buy very many toys (and by exten­sion, gad­gets), but I always have to stop at the sci­ence museum gift shop. I keep up to date on the lat­est giz­mos. It is no coin­ci­dence that most stuff com­ing out of my 3D printer tends to be toys, trin­kets, puz­zles, and geo­met­ric odd­i­ties.

Certain toys jump out at me more than oth­ers. Since becom­ing aware of STE[A]M (Science, Technology, Engineering, [Art,] and Math), I now pay spe­cial atten­tion to toys that try to break girls out of the pink aisle at Toys-Я-Us. Last year that was Goldie Blox, which com­bines sto­ry­telling with engi­neer­ing. Just this week it is Faire Play: Barbie-Compatible 3D Printed Medieval Armor from an inter­net friend, Zheng3, on Kickstarter. I have men­tioned him a few other times on this blog. Notably, he devel­oped Seej, the 3D print­able table­top bat­tle game that reminds me of another favorite 80s game, Crossbows and Catapults. My own small con­tri­bu­tion to the game was a mod­u­lar penny cat­a­pult I designed two years ago.

Zheng3’s Kickstarter project is to design 3D print­able medieval armor for Barbie dolls. I see this as being a great tran­si­tion to help girls ease their doll play from “let’s go shop­ping,” “let’s cook din­ner,” or even “some day Prince Charming will come” to a much more active and kick-ass “let’s fight that nasty dragon and save the vil­lage.” In addi­tion to the straight-up cos­tume play, I would hope the 3D-printed aspect might be an extra inspi­ra­tion. Maybe the kids have direct access to a 3D printer — be it a parent’s, at a friend’s house, or the Cube printer at the local Office Depot — and see the armor being printed, hope­fully lead­ing to curios­ity into how the 3D printer works. Or maybe they’re inspired to see they can mod­ify toys in their own cus­tom ways, whether it is by invent­ing their own 3D mod­els or more low-tech, like mold­ing in Fimo clay.

barbie_armor barbie_athena


He’s already devel­oped and released The Athena Makeover Kit (pic­tured on the right), which includes spear, shield, and winged boots. The thing I find kind of inter­est­ing is how strangely mis­shapen and bloated the boots look. Go ahead — click through to the Thingiverse page and select the boot model thumb­nail image. Careful eyes will see that Barbie’s feet are pre-molded for high-heel shoes. The out­stretched foot is not very com­pat­i­ble with boots, so the boots had to adapt, had to become more bulky at the ankle.

So whether you have kids who play with Barbies or whether you just like the spirit of the project, I’d encour­age you to con­tribute a few dol­lars to his kick­starter:

Posted in: MakerBot


Introducing the Trinket Platter [Update]

Adafruit sells this great lit­tle micro­proces­sor called the Trinket. That last link is to the 5v one, but there is also a 3.3v vari­ant. They are a great lit­tle devel­op­ment board, based around the Atmel ATtiny, for when a full Arduino is just too much pro­cess­ing power and too much cost.

There is an upcom­ing project that I am work­ing on that is per­fect for a Trinket. It will be on my desk, con­nected to an AC adapter and a few remote com­po­nents such as LEDs and but­tons. I am not com­fort­able with hav­ing a bare Trinket just dan­gling and slid­ing around the desk. A full enclo­sure feels like overkill. I thought I would, instead, go with a mount­ing plate. The Trinket and power jack can mount directly to the plate; the wires and con­nec­tions can zip-tie to the plate as a strain-relief.

I took a few mea­sure­ments and set about to design­ing a 3D model to print.


I ended up with the fol­low­ing design, which I’m call­ing the Trinket Platter. The Trinket con­nects to the base with M2 screws. The DC power jack panel-mounts to the ver­ti­cal sur­face. You can zip-tie wires to oval hole. Because the 90-degree angle between the two sur­faces is a stress point, I designed that cor­ner with its own form of strain relief. The out­side edges have quarter-circles. The inside cor­ner edge is rounded, not sharp.



After print­ing and ini­tial test mount­ing, I ended up with this:



The 3D file, the OpenSCAD source file, and more detailed instruc­tions can be found on the trinket-platter GitHub page. You’ll see more of this lit­tle guy in the com­ing month.

Update: Apparently I only set up the GitHub project page with­out also upload­ing the STL to Thingiverse when I pub­lished this arti­cle. You can now find it on Thingiverse.

Posted in: MakerBot Projects


Octocat MRI

When work­ing with 3D print­ers, you start with an object file. The object is a solid chunk of 3D geom­e­try. To get that out to the printer, it needs to be “sliced” into lay­ers. This is sim­i­lar to a laser printer. There, you start with a PDF or PostScript that defines a cir­cle here and a wavy line over there, but a stage of the print­ing process ulti­mately needs to con­vert those math­e­matic shapes to a grid of tiny dots.

It’s a bit more com­plex with a 3D printer. There are solid outer shells. There’s an airy inte­rior grid. There are over­hangs and clo­sures that need spe­cial han­dling. All of these things (and more!) are options that you can twid­dle.

Interesting enough, there’s a piece of Mac soft­ware called Pleasant3D that lets you visu­al­ize the lay­er­ing. This lets you see how tweak­ing indi­vid­ual options will affect the 3D print with­out hav­ing to go through with the print. Because these are visu­al­iza­tions of slices of the 3D model, inside and out, there are some strong par­al­lels with Magnetic Resonance Imaging. Couple that with the ani­mated gif kick I’ve been on recently and you end up with this pseudo-MRI of the Octocat:

Octocat MRI

I made this by first load­ing the *.gcode file into Pleasant3D. I then took screen­shots of each layer, being care­ful to not move the win­dow. I next used a small script to apply the ImageMagick con­vert com­mand to each screen­shot: crop them to just the con­tent of the Pleasant3D win­dow and resize. Those then pass through gif­si­cle to build out the ani­mated gif.

Posted in: MakerBot


Son of RatRacer: Mouse Car

After the ini­tial fail­ure described in yesterday’s blog post about the RatRacer, I thought I would scale down the prob­lem a bit. I fig­ured it would be eas­ier to iter­ate through design tweaks when big parts took 20 min­utes to print ver­sus 120 min­utes per part. If I ended up with a sound design for the mouse­trap car, then I could scale it up to the mul­ti­vari­able prob­lem of both design­ing for the rat trap car and work­ing through print issues.

While at the hard­ware store for some­thing unre­lated, I picked up a 4-pack of lit­tle mouse­traps for $2 on impulse.

Fortunately, the OpenSCAD mod­els I designed for the RatRacer were para­me­ter­ized. After tak­ing some ini­tial mea­sure­ments with my trusty calipers, the axle and wheel were triv­ial to scale down to mouse­trap size. They took about a minute each, includ­ing ren­der time. The end caps took a bit more work. Those needed a much larger redesign, as the axles in the RatRacer are small com­pared to the thick­ness of the rat trap, but the axles on the Mouse Car are thicker than the mouse trap. Although the design is a bit dif­fer­ent, the con­cept is exactly the same.


The fin­ished car itself looks pretty snazzy and only took one revi­sion (to increase the axle length slightly).



Like the RatRacer, you pull back the bar, wind the string around the axle, set it on the ground, and let go. Unfortunately, even the less-powerful mouse­trap spring is still too pow­er­ful. It pulls too hard, yanks the string too hard, the wheels spin out, and when they finally gain trac­tion, there’s only enough power to move a foot or two.

A friend had sug­gested adding an exten­sion to the snappy part. That would increase the lin­ear momen­tum for the same angu­lar momen­tum, which if it were rigid would make things worse, but if the exten­sion was a bit more flex­i­ble, that could bet­ter meter out the pull. That may be a future addi­tion.

For now, the Mouse Car in its cur­rent form is avail­able on Thingiverse. Its big brother, the RatRacer is also avail­able.


Posted in: MakerBot Projects


On designing and building the Rat Racer

As you might have guessed from the pre­vi­ous post about attic rats, I had a few left­over rat traps. And what does one do with left­over traps? I sup­posed you could do some­thing cool with ping pong balls, but I did not have nearly enough traps or ping pong balls.

I have a vague child­hood mem­ory of peo­ple mak­ing “cars” from mouse traps. I do not think I ever saw one in per­son, but I some­how know the design. I imag­ine it graced the pages of Boys Life at some point. As I remem­ber it, the basic design is this: four eye­let screws, screwed into the mouse trap base to hold the axles in place. Two pen­cils or wooden dow­els, used as axles. Four wheels, maybe cut from wood? A piece of string or wire. You would remove the “trap” mech­a­nism from the mouse­trap — the “cheese plat­form” and retain­ing bar — leav­ing you with just the snappy part on a piece of wood. That becomes the spring-loaded mech­a­nism, like a badass pow­er­ful wind-up car. Tie one end of the string to that, pull the snappy part over and hold it in place, wrap the other end of the string around the axle, put it on the floor, and let go. The snappy part pulls the string, spins the axle, and makes the wheels go.

What I have are rat traps, which are a bit more hefty, snappy, and dan­ger­ous to the fin­gers than lit­tle mouse traps, but I thought I would give it a try. I live in the 21st cen­tury and have a Replicator in my lab. I didn’t feel like mess­ing around with pen­cils, screws, and saws. Also, I felt my Thingiverse account was get­ting a bit stale and needed a new upload. I set out to design 3D-printed rat trap attach­ments that pro­vided the required ele­ments.

I took my calipers to a cou­ple of Victor brand rat traps to get a gen­eral sense of size. They are made of wood, so have minor incon­sis­ten­cies between them. I then designed end caps, axles, and wheels.


The design appeared to be sound, but the print­ing was iffy. What I ended up with, well, the web­site Hack-a-Day has a weekly fea­ture called Fail of the Week. It chron­i­cles great ideas that are brought to near-completion, but that just don’t work. There is then the hope that some­one in the com­ments (or oth­er­wise) can either learn from it or pick up the idea and improve it. To build a bet­ter mouse­trap, as it were.

My Replicator has some ther­mal prob­lems with large or long prints. Different regions of the lay­ers cool at dif­fer­ent rates, caus­ing some warp­ing. With cen­tral prints, every­thing is good, but prints with far-reaching foot­prints end up curl­ing and warp­ing. The end caps looked and fit great. The axle was warped and the wheel was seri­ously warped. I aborted.







At some point I might try is Zheng’s ABSynthe print­ing method. Up to this point, I have been a MakerBot purist and stuck with the stock parts and meth­ods. I hap­pened to have a few mouse­traps on hand thanks to an impulse buy after the warped print­ing. I thought I might refine the design with the smaller traps. The parts are smaller and eas­ier to print ver­sus work­ing with the rat trap’s larger, slower to print, and more prone to error parts. Another fac­tor in this deci­sion was that I was dubi­ous of the rat trap’s spring. I thought it might have too much torque. It’s a pretty nasty spring. The smaller mouse­traps also have a lot of power, but I felt they might be more work­able than the rat trap.

This, then, leads to the Rat Racer’s younger brother, the Mouse Car.


The Rat Racer parts in their cur­rent form can be down­loaded from Thingiverse.

To be con­tin­ued…

Posted in: MakerBot Projects

2013-10-13 14.34.47

Attic rats lead to custom-printed vent covers

We have (or rather, had) rats in the attic en la casa de Enigma. Before deal­ing with them directly, I thought it impor­tant to iden­tify and fix the ingress and egress points. There’s no point to set­ting up rat traps if wave upon wave of rats keep arriv­ing.

I found three can­di­dates. One was a break in the wall near the exte­rior base­ment door. I am fairly cer­tain that was where they were get­ting into the house. The next spot, an inter­est­ing one indeed, was the seam between the wall and the floor behind the kitchen stove. There is no strip of base­board there, so it’s just raw wood floor meet­ing raw plaster-and-lathe wall with about a half-inch gap between. I believe they used this for the occa­sional jaunt into the kitchen to pil­fer cat food and cat toys. Yes, they stole cat toys. We have a few toys that are essen­tially culi­nary rab­bit fur wrapped around a hard plas­tic body. The cats go crazy for these. Apparently the rats do, too. I found a cou­ple of them wedged between the wall and floor in a way that no sim­ple cat soc­cer game could achieve. Oh, and the faces were chewed off, also in a way unachiev­able by cats.

attic vent holes

attic vent holes

The third pos­si­ble ingress point were a series of vent holes, under the eves, in the back of the house. At some point in his­tory, they all had wire mesh screens, but sev­eral of those were no longer present. I can­not say with any cer­tainty that rats were dan­gling from the gut­ters and using these to get in, but I can say that some­thing dis­turbed the attic insu­la­tion. At least one hole was clear pas­sage into the attic. From another, wisps of pink fluffy cotton-candy-like insu­la­tion had undoubt­edly been pulled. My gut reac­tion is to blame nest­ing birds — but whether birds or rats, I’d rather not have crea­tures steal­ing my insu­la­tion.

The obvi­ous thing to do is replace the wire mesh screens, but that would be chal­leng­ing. As I said, the mesh is on the inside of the holes. Those holes are on the sec­ond story of the house, past the upstairs liv­ing quar­ters, past the stor­age areas, past the crawl­space, at a point where the roofline meets the joists, with just inches of clear­ance. Getting back there would be dif­fi­cult. Having enough clear­ance for a ham­mer or sta­ple gun? That was unlikely to be the case.

So. Attach the screens from the out­side. But with­out look­ing crappy. The “I’m a cheap land­lord” solu­tion would be to cut square of wire mesh and staple-gun them over the holes. Screw appear­ance. But I didn’t want that. I wanted a solu­tion with a lit­tle more style. Maybe cut some fancy trim in the miter box to build up lit­tle square ridges to cover the mesh edges — sim­i­lar to what you’d do with a wooden screen door. That would look bet­ter, but I’d still have weird squares of mesh around each round hole, which I thought would look bad. This got me think­ing about the heat reg­is­ters within the house.


I could design some­thing sim­i­lar, pro­to­type it in plas­tic, maybe have it pro­fes­sion­ally printed or laser cut in a nice look­ing stain­less metal, and have the same vic­to­rian flair on the out­side of the house as I do on the inside. After a lit­tle bit of copy­ing, doo­dling, and trac­ing, I had a viable vent cover. (I highly rec­om­mend the books “Florid Victorian Ornament” and “Treasury of Ironwork Designs”)

grill2-render Screen Shot 2013-10-12 at 12.24.14 PM

61A6S7kXf+L._SX258_SH20_BO1,204,203,200_ 516z15gcYaL._SY344_SH20_BO1,204,203,200_

I printed out a sam­ple and tested it out.

2013-10-13 12.54.40-2


2013-10-13 14.34.47


Looks good! (Though this one is a lit­tle off-center due to the awk­ward angle — behind a prickly bush, above a win­dow — I had to install from.) It turns out metal is a lit­tle cost-prohibitive, but the plas­tic looks fine and should hold up well.

2013-10-13 14.58.37


2013-10-13 14.58.26


2013-10-13 14.34.35

Since installing them, I’ve noticed a few more cotton-candy-like threads of insu­la­tion pulled through the grills, but I at least have a guar­an­tee that the open­ings are now too small for ani­mals to pass.

You can find the 3D model and design files over on Thingiverse as “dec­o­ra­tive round vent cover.”

Posted in: MakerBot Projects


Using the Chubby Tricorder

This is the final part in a series of three, describ­ing the hard­ware behind the puz­zle gad­get I designed for Curtis’ birth­day puz­zle game. If you arrived at this page from else­where, you may want to start at Part 1.

The story so far: a secret sur­prise puz­zle game, a hard­ware gad­get that was designed and built, but needed more than proof-of-concept code, loom­ing dead­lines, oh yeah, and there’s that wire­less data com­mu­ni­ca­tions mod­ule we just barely touched upon.

Do you remem­ber, way back in Part 1, when I said I would build the hard­ware and write the soft­ware, but I did not also want to be on the line for writ­ing a puz­zle? While all of this design­ing and build­ing was going on, Jeff and Donna of Los Jefes were on the case. Donna wrote an amaz­ing puz­zle (or, rather, set of mini-puzzles) and Jeff was, I kid you not, retro­fitting a tri­corder! We knew pretty early on that because this is an inter­ac­tive device, it could have mul­ti­ple answers or mul­ti­ple stages lead­ing to a final answer. For instance, in my proof-of-concept hard­ware, dif­fer­ent answers printed dif­fer­ent mes­sages.

Jeff inde­pen­dently had the plan to retro­fit a toy tri­corder with a color screen and micro­proces­sor. He also found some RF mod­ules — a trans­mit­ter and cor­re­spond­ing receiver — on SparkFun and put together the idea that the tri­corder and puz­zle box could wire­lessly talk to each other. The puz­zle box could have dif­fer­ent states and trans­mit out a bea­con to indi­cate what state it is in. The tri­corder could then pick up on that bea­con and use that infor­ma­tion to show dif­fer­ent scan results. Beautiful!


Except he was in Seattle and I’m here in Portland, and we prob­a­bly wouldn’t get the chance to per­form any sort of inte­gra­tion test­ing until the night before. Yeay…?

Running with this device pair­ing, Donna came up with a great set of five mini-puzzles. I have to admit that a cou­ple of them stumped me and the playtesters (“YAR!”)… though typ­i­cally just one digit out of a four or six digit num­ber. (Brute forc­ing, for the win!) Much like the other puz­zles in this par­tic­u­lar game, the trivia and dif­fi­culty level were tuned specif­i­cally to Curtis, so some things that would be obvi­ous for him caused us to strug­gle in test­ing.

Without get­ting too spoil­ery (though I don’t know how you’d play unless you decided to build your own copy of the puz­zle gad­get — which you are free, and encour­aged, to do given that all the design files are Creative Commons licensed and all the parts are openly avail­able), the tri­corder cycles pic­tures and num­bers that act as a primer for pic­tures cycling on the puz­zle box. There are five stages of this, not exactly with increas­ing dif­fi­culty, but with dif­fer­ent mech­a­nisms for each stage.

Five stages, four images per = twenty images. I wasn’t using a fancy dis­play with inte­grated SD card sys­tem. That used too many pins. The key­pad alone ate up seven pins. The printer ate a cou­ple pins. The screen ate half a dozen. The wire­less mod­ule another. I had 32K to fit the code, the text strings, the libraries for talk­ing to the printer and screen, and those images. Miraculously, I got every­thing to fit in mem­ory: 32,234 bytes out of 32,256. Just 22 bytes to spare.

It looked like every­thing was ready to go: my snazzy puz­zle box, Jeff’s mind-blowing tri­corder, Donna’s amaz­ing puz­zles. But I worry. I’m an Eagle Scout. I like to be pre­pared with backup plans. We had no way to test the two devices together until the eleventh hour and I wasn’t totally com­fort­able with that.

The first thing I did was to build my own fake tri­corder. Jeff built his own fake puz­zle box. My tri­corder wasn’t fancy enough to dis­play pic­tures, but it could show me the bea­con code it is cur­rently receiv­ing. With each of us with our fake “other device,” we could at least do some amount of inde­pen­dent inte­gra­tion test­ing.


This actu­ally revealed a tim­ing quirk in my puz­zle box. In our agreed-upon pro­to­col, I trans­mit a sin­gle byte code at 400bps every 50 mil­lisec­onds. Through a bit of trial and error, Jeff found that the 50ms gives just the right amount of time for the receiver to lock on to the eye-pattern of the transmitter’s bea­con. My event loop that cycles images and waits for input has a 10ms delay at the bot­tom. I retrans­mit­ted every five cycles of that loop, but for­got to take into account the delays inside of library code — for exam­ple, scan­ning the key­pad or refresh­ing the dis­play. I tuned the bea­con retrans­mit counter to bet­ter account for this vari­able delay.

But still, my test­bed tri­corder had some prob­lems. Often, it would get the right bea­con code. Occasionally, it would slip in to a mode where it either got out of sync or there was sur­round­ing RF inter­fer­ence. At those times, it only got garbage with an occa­sional bea­con code, but not enough in a row to be con­sid­ered a solid hit. I found sig­nal to be much more clean on the edge of the puz­zle box with the RF mod­ule retain­ing clip, so I drafted a Starfleet mes­sage point­ing to “weak­ened shield­ing” on that edge:

Probe Shielding

But more impor­tantly: how the heck were we going to playtest the puz­zle with­out the tri­corder??? Enter the Emergency Backup Tricorder. I threw together a quick webapp, opti­mized for the iPhone, to take the place of the tri­corder. Obviously, it could not auto-detect the puz­zle box’s bea­con code. You had to man­u­ally select which mini-puzzle stage you were play­ing, but it oth­er­wise con­veyed the same infor­ma­tion. It worked well in the playtest, and the red­shirts escort­ing Curtis around had a Starfleet com­mu­ni­ca­tion flyer, point­ing to the Emergency Backup Tricorder, ready in case of an RF emer­gency:

Backup Tricorder


The playtest was suc­cess­ful, aside from a print­ing hic­cup. I had always assumed that the Arduino was built for 5V input. The CPU it is based around oper­ates at 5V. When pow­er­ing and pro­gram­ming the board via a USB cable, it is sup­plied with 5V.  But it turns out the volt­age reg­u­la­tor on the Arduino board is really more happy with 6 or 7 volts. You can usu­ally get by with 5, but the ther­mal printer gob­bles up power when it prints. My orig­i­nal test­ing was with a 5V 2A power sup­ply, which seemed to work on my work­bench. The dif­fer­ence being I also had the Arduino board plugged in to my lap­top via USB, to quickly and fre­quently upload new code. This alter­nate power path kept the CPU alive dur­ing heavy print­ing. With just the 5V sup­ply, the printer would occa­sion­ally starve the main board’s volt­age reg­u­la­tor, caus­ing it to reboot. I fixed this by bump­ing up to a 9V 2A sup­ply. That’s more than enough power and cur­rent. When the puzzle’s loca­tion switched from indoors (a paint­ball stu­dio) to out­doors (a park with no nearby power out­lets), I did two things. First, I threw together a 6V exter­nal power sup­ply made with D bat­ter­ies. This worked for me at home, but failed dur­ing the playtest. Second, I mod­i­fied the print code slightly to go a lit­tle eas­ier on the ther­mal printer, adding pauses between lines of heavy text. This seemed to then work (but may or may not have again failed on actual game day).

From what I under­stand, the game day itself went well (though, again, may have had a return of the print error). I was at HQ all day, lis­ten­ing for updates, black­ing out win­dows for Artemis, and assorted other ran­dom tasks.

If I were to do this again, I would prob­a­bly  ditch the printer. It added bulk, cost, and a lot of unpre­dictabil­ity to the power require­ments. I think I would have been bet­ter served by switch­ing to a larger, pos­si­bly color, screen. On a longer time­line, I might have toyed with dif­fer­ent mech­a­nisms of secur­ing a piece of paper or other object inside of a lock­ing panel. Most geo­caches are wooden boxes. Not only is the tex­ture pleas­ing on your hands, but you have plenty of wiggle-room with regard to plac­ing hinges, latches, sole­noids, and ser­vos. You just pick a spot and use a wood screw. I have not seen a reverse-geocache made of acrylic, so don’t know if a hinged-door design or a drawer would work bet­ter within the prop­er­ties of the plas­tic. My guess would be a drawer, latched into place with a sole­noid (or a servo and cut power to it when not in use, so it is not con­stantly try­ing to main­tain its posi­tion).

Despite the snags, I had a lot of fun design­ing and build­ing this puz­zle box. Curtis now owns it and can do what he wants with it. I know he has toyed around with home automa­tion (cf. cat food robot). The Arduino is really easy to write code for, espe­cially when you have a func­tion­ing plat­form with but­tons and a screen. The USB pro­gram­ming port is exposed right through the side of the case, the com­plete pro­duc­tion source code is on Github as well as var­i­ous board bring-up test apps, and the box is fairly easy to open up in the event that one would want to, say, swap out the printer for some other device on those same pins. Or it can stay a com­mu­ni­ca­tions probe indef­i­nitely. I’m fine with that, too.

Happy birth­day, Curtis!

Posted in: Dear Diary Gadgets MakerBot Puzzle Games


Designing the Chubby Tricorder

This is Part 2 in a series of three describ­ing the hard­ware behind the puz­zle gad­get I designed for Curtis’ birth­day puz­zle game. If you arrived at this page from else­where, you may want to start at Part 1.

The story so far: a secret sur­prise puz­zle game, a gad­get that had to “con­tain” a piece of paper upon open­ing, the deci­sion to make that gad­get elec­tronic with screen and key­pad and to make that paper printed on demand by a ther­mal printer. Would it work???

Fortunately, I had almost all the parts on hand. I keep around a cou­ple of extra scratch Arduinos. You never know when a project idea will strike and it is great to be able to jump on it and start pro­to­typ­ing. I also had some OLED screens and matrix key­pads around for some other projects I had not yet got­ten to. The only thing I was miss­ing was the ther­mal printer. Ordered!

The ther­mal printer arrived the fol­low­ing week­end. As a proof-of-concept, before invest­ing too much time and money into the project, I threw together a sim­ple cir­cuit and sim­ple piece of test code. I knew that each part worked well on its own. On paper, I knew there were (just barely) enough pins for all parts to be con­nected to the Arduino. I wasn’t sure if all the parts libraries played well with each other and whether they’d like the par­tic­u­lar pins I remapped them onto.


In this pro­to­type, the screen prompts for a code and, based on the code, could print some­thing out or dis­play an error. I had answers for 42, 411, 911, and 867‑5309. It worked beau­ti­fully. I shared the fol­low­ing video with the rest of the team:

Hardware Test

That con­firmed the pieces worked together in har­mony. The rest was code and pre­sen­ta­tion. Next up was the enclo­sure. I knew I wanted it black acrylic. The size was a series of trade-offs. My ulti­mate desire was to make it hand­held. That was at odds with the size of the ther­mal printer and the behind-panel depth of the power but­ton I wanted to use. I also wanted enough space inside so that I could get to the parts with­out feel­ing like I was work­ing on a ship in a bot­tle. It took a few rough sketches to get a gen­eral place­ment that felt right, with regard to both the inter­nal vol­ume and the exter­nal place­ment. The printer had to be “up top” so it printed right-side up. Although I mulled over swap­ping their posi­tions, I decided the screen had to be above the key­pad. The power jack and but­ton had to be some­where and I wanted the Arduino’s USB port exposed for ease of pro­gram­ming.


I finally set­tled on one par­tic­u­lar arrange­ment. This sketch isn’t to scale — the over­hang­ing edges are exag­ger­ated — but it con­veyed a rough idea of how both the inter­nal and exter­nal pieces fit together.


With this in mind, I set forth to design the enclo­sure. But first: where would I build it? For me, loca­tion dic­tates mate­ri­als and mea­sure­ments. My choices were ADX or Ponoko. ADX is local, but they don’t have a mate­ri­als library. I can get acrylic a few blocks away from TAP Plastics, but TAP only sells acrylic with fractions-of-inch thick­nesses. I could get 1/8″, but the shape library I’ve built up over the years is pri­mar­ily 3mm, which is close, but not close enough. I couldn’t eas­ily reuse a lot of my shapes. ADX also requires a bit more babysit­ting. I have to make an appoint­ment, get the plas­tic, bring it in, and stand by as they go over my print files. It’s fun, but I can only make it to TAP on Saturdays and ADX on week­ends. If I had model files on a Monday or Tuesday night, it would take a good chunk of my time on the fol­low­ing Saturday to get them cut. With Ponoko, I could upload the files imme­di­ately. Their online scan­ner can per­form the sanity-checks that the ADX folks do by hand. You can pay a few more dol­lars to bump your job to the front of the queue, and because they’re on the left coast, ship­ping is fairly quick. I could upload the design on a Sunday or Monday and have the cut acrylic in hand on Friday, free­ing up a big chunk of the week­end. On a longer timescale, I would have gone with ADX and used it to build up my 1/8” acrylic library of cuts, but I opted to pay a bit more for the con­ve­nience and speed of Ponoko to reduce the over­all project risk.

I started with an ini­tial draft in paper of just four of the six sides. This was to get the ini­tial parts cor­rect as well as ensure the cutouts for screen, key­pad, printer, but­ton, and power jack were cor­rect. A few X-Acto cuts later, I had ver­i­fi­ca­tion. Revision B built up the sides and revi­sion C cor­rected a few dumb copy/past errors with slot and tab align­ment. I uploaded the files, paid the $29 (plus queue-jumping fee plus ship­ping), and got to wait a week.

paper-screen paper-keypad



I focused back on the code for that week until the acrylic pan­els arrived. Consequently, I added a new com­po­nent to the design, as well: a wire­less com­mu­ni­ca­tions mod­ule, but more on that in the next post. The pan­els arrived look­ing beau­ti­ful:


But they did have a prob­lem. The pre­vi­ous laser project I worked on was in wood, which has dif­fer­ent strengths than acrylic. I’d for­got­ten that I really hadn’t left much space on the printer edge for each of the four the bolt-retaining slots. In fact, they were so thin that one of them broke when I peeled off the pro­tec­tive adhe­sive paper.


No prob­lem, actu­ally. When all you have is a ham­mer, every­thing looks like a nail – but when what you have is a 3D printer, every­thing looks like a shim or a bracket or some other sim­i­lar prob­lem wait­ing to be solved. I used OpenSCAD to design the fol­low­ing bracket (and the three other ways to mir­ror it in the X and Y direc­tions):


Printing was a piece of cake.

Br5_IMG_4721 Br5_IMG_4719

A quick depth mea­sure­ment, add some super­glue and all was well. Note: when glu­ing things to acrylic, you’ll want to sand­pa­per the sur­face a bit. It gives the adhe­sive a bit more to stick to.

Br5_IMG_4720 Br5_IMG_4736

And while we’re talk­ing about brack­ets and adhe­sive: I also designed and printed a bracket for the wire­less mod­ule. All of the other com­po­nents in the sys­tem were dis­crete parts that get fit­ted into holes in the case. They are then wired into header blocks that plug into the Arduino’s board. The wire­less mod­ule was the out­lier. I did not have a cus­tom cir­cuit board to mount it into and I did not want it rat­tling around inside the case. I designed, printed, and attached a bracket to the inside of one of the case’s pan­els that lets you clip in the wire­less mod­ule.

RF_Module_Bracket bracket-printing bracket-fitting bracket-attach

Everything looked good. At least on the out­side. The inside was func­tional, but a rats nest of wires. “Quick! Cut the green wire!” “Yeah, but which green wire?!”


It was time to but­ton up the case. If you’re build­ing this kind of case, it is highly advis­able to have some reverse-tweezers to hold things for you. Don’t drop the last nut inside the case!




But how well did it work? Proceed to Part 3!

Posted in: Dear Diary Gadgets MakerBot Puzzle Games


The Chubby Tricorder Project: designing a digital puzzle box

Recently, I had the plea­sure of build­ing a puzzle-hunt gad­get. The cir­cum­stances sur­round­ing this par­tic­u­lar device and hunt were extremely unique. The puz­zle hunt was for an audi­ence of one — a sur­prise birth­day party for my friend Curtis. The gad­get was one stage in an after­noon game. The device itself is a screen and key­pad embed­ded in a sleek laser-cut enclo­sure. Once solved, an inte­grated ther­mal printer spits out an impor­tant mes­sage that fur­thers the plot and adven­ture, lead­ing to the next phase of the puz­zle hunt.


My ini­tial pencil-sketches of the gad­get got tagged with the name “Chubby Tricorder,” mainly due to the thick­ness required by the ther­mal printer. It’s a ter­ri­ble name, espe­cially given that we later intro­duced an actual tri­corder. But it’s a mem­o­rable name. So while my nar­ra­tive will describe it as a puz­zle box, a gad­get, a black box, and so forth, do not be con­fused if you see the phrase “Chubby Tricorder” when dig­ging deeper into the engi­neer­ing files.

But I get ahead of myself. This first blog post is the lead-up to the gad­get. It is the first in a series of three. I assume you’ll hear about the over­all adven­ture in the com­ing days, from Curtis and from the peo­ple more centrally-involved in game con­trol. I first heard about this game about two months ago when Richard approached the Puzzled Pint orga­niz­ers at a plan­ning meet­ing (from which Curtis was absent, of course). Curtis and DeeAnn have put so much time and effort into the local puz­zle com­mu­nity that Richard wanted to give back. On our Puzzled Pint plan­ning mail­ing list, the puz­zle hunt that Neil Patrick Harris’ fiancée threw for him made the rounds. A few of us joked that we had birth­days com­ing up. In this case, Curtis’ 40th was approach­ing. No joke. There would now be a puz­zle hunt for him.

I couldn’t take an active role in build­ing the game. I have too many com­mit­ments already between work, puzzle-based projects, yoga, my fam­ily, and my own “maker” projects with 3D print­ing and laser cut­ting. I really wanted to say yes but knew that doing so would end up with me drop­ping the ball some­where and let­ting some­one down. So I stayed on the fringe, but offered to build a puz­zle or playtest and, of course, to help out on event day.

A lit­tle over a month ago, Matt approached me about build­ing a puz­zle. They needed a phys­i­cal object of some sort, some­thing that could con­tain some paper. I did a lit­tle bit of think­ing and came up with a few pos­si­ble ideas.

CRYPTEX • I could print (or have pro­fes­sion­ally printed) a cryp­tex. There is a pretty decent cryp­tex model on Thingiverse. That ver­sion uses glued-on paper strips for the let­ters (and to cus­tomize the answer to your own word), which seemed a bit lame. Getting it printed at Shapeways meant hav­ing a great res­o­lu­tion for emboss­ing let­ters, so I could tweak the model by putting the let­ters in the right place in the source file for each wheel. I could also replace them with geo­met­ric shapes, Klingon, Romulan, or what­ever. The down­side here is that a cryp­tex feels extremely out of place for far-future SciFi like Star Trek.

HANDHELD COMPUTER • Another thought was to build a small screen and key­pad. It had the down­side of not “con­tain­ing” a mes­sage, as in a piece of paper, but could con­vey one on a screen.

REVERSE GEOCACHE-LIKE DEVICE • Another idea was to build a lock­box that had the screen and key­pad, but that also had a lock­ing mech­a­nism. Like a reverse-geocache, it could unlock itself – though in this case it would be based on an answer, not on a GPS posi­tion. This did not feel like the right answer to me. You could achieve the same result by buy­ing an elec­tronic safe. I had no real expe­ri­ence in man­u­fac­tur­ing a reverse geo­cache and didn’t want to risk a crash-course of trial and error. I had about a month. I trust Curtis to not smash the device, but it still felt con­cep­tu­ally wrong to use some­thing that could just be piñataed open.

PRINTER DEVICE • I had actu­ally wanted to work with a ther­mal printer for a while and won­dered if I could com­bine some of the above ideas into a hybrid. Start with the box that has a screen and key­pad hold­ing a piece of paper, but turn the idea around. Instead of hold­ing the paper mes­sage, it would man­u­fac­ture it on demand.

I liked the printer idea the best, as far as the fun and chal­lenge of build­ing the project and the min­i­mal risk in imple­ment­ing it. Wrap it in a laser cut and etched black acrylic case, and you have some­thing out of Star Trek (admit­tedly, lean­ing a lit­tle more Original-Series-Trek, but trek nonethe­less). I pinged Matt and Richard and they loved the idea. I specif­i­cally did not com­mit to mak­ing the puz­zle that yields the unlock com­bi­na­tion. I thought I would have enough work on my hands in build­ing the box that I could not also focus on design­ing, test­ing, and revis­ing the cor­re­spond­ing puz­zle. They assured me that that would be taken care of.

So I had just over a month to make it hap­pen. Just like Puzzled Pint. Except I had to man­u­fac­ture a piece of high-tech elec­tron­ics.

Next up is Part 2: the design.

Posted in: Dear Diary Gadgets MakerBot Puzzle Games


Choose your own measuring cup

scoopAbout a year ago I designed and printed a 1/4 cup mea­sur­ing cup.  You see, I needed a good way to mea­sure cat food.  I only needed the one size, so buy­ing a whole set of mea­sur­ing cups seemed like a waste.  With a MakerBot in the other room, I fig­ured it was best to make just the one size of mea­sur­ing  cup.  It worked well, but the han­dle recently broke off.  I took this as an oppor­tu­nity to not only design and print a bet­ter one, but to share it with the world.

I crafted the orig­i­nal ver­sion in OpenSCAD and para­me­ter­ized some of the vari­ables.  The new Thingiverse Customizer makes these vari­ables more acces­si­ble.  Instead of down­load­ing a script, edit­ing it to plug in your own val­ues, then run­ning it through OpenSCAD to pro­duce an out­put file, you just twid­dle a few knobs in the web UI and down­load your file.



The design of each cup is such that the cup’s width and height are equal. This bet­ter facil­i­tates nest­ing them within one another, though the actual nesta­bil­ity is ulti­mately based on which sizes you have and how thick you make the wall.

If you would like to choose and down­load your own cus­tom mea­sur­ing cup size, check out the Customizer page:


Posted in: Code MakerBot