Category Archives: tinkering

Vacation Photos and RGB Sensors

So I’m back from a week travelling across the western half of Canada with the lovely and talented Mrs. Zheng3 and her parents. We now return you to your regular schedule of intermittent blog posts.

The trip began in Vancouver where I enjoyed the singular pleasure of spending a couple of hours meeting with the Pinshape team at their mothership. We discussed some of the more pressing questions facing 3D printing designers today, including but not limited to where one might obtain the best dim sum in BC’s fairest city.

Great bunch of folks, these Pinshapers. Sharp as tacks and friendly to boot. Take a look at their site and you’ll find a nicely-curated selection of models.

Robber Rex (a favorite at Pinshape) managed to visit the Vancouver Public Library, which has been cunningly constructed to resemble the Roman Colosseum.

vpl

hashtagRAWR.

The Saskatoon train station is as bleak an outpost as you’ll find, but still a welcome diversion for a constipated Parasaurolophus who never quite got the hang of pooping in a cramped train toilet.

saskatoon

The long train ride from Vancouver to Winnipeg, made longer by frequent sidesteppings to allow freight trains to pass, allows for much contemplation and idea generation and idle sketching upon napkins, and by the time I returned home I was more than ready to jump into the next project: RGB color sensing with Arduino.

There are, presumably, roll-your-own RGB sensors cobbled from disposable contact lenses, photoresistors, and Oreo cream, but at some point one must accept that expedience takes priority over molecular-level knowledge of a process and you just can’t be mining your own beryllium all the time. So to Adafruit we go, and earlier this week a TCS34725 RGB color sensor arrived on the doorstep of Zheng Labs.

milton inspecting

The Adafruit tutorial is remarkably easy to follow and we were up and running in less time than it took to print George Timmermans’ handy Arduino and half-sized breadboard caddy, including the time required to solder the sensor to some headers with long-unused and filthy soldering iron tips.

I’d link to the caddy directly except that WordPress is throwing some weird Unicode error and it’s too early in the morning to troubleshoot HTML errors. It’s on Thingiverse.

This little board contains a white LED that burns with the intensity of a thousand suns, so you may want to wire it to ground and turn it off while you’re experimentin’ or you’ll be seeing afterimages of your workspace for hours.

caddy

The book in the background is fellow Wisconsinite Jordan Ellenberg’s How Not To Be Wrong, which, 50 pages in, is so far a fun read. Any book that starts off with a humorous telling of statistical analysis of bullet holes in WWII airplane fuselages is going to be good.

Our engineering team ran into a little bit of trouble trying to get Unity3D to talk to the Arduino and settled for a temporary solution using Python code direcly cannibalized from 2012’s Etchasketchulator project:

import serial

ser = serial.Serial('/dev/tty.usbserial-A700fjTr', 9600)

def wait_for_arduino():

     while (true):      
          valueIn=ser.read(50) #read the first 50 characters that the arduino is sending
          print (valueIn)

wait_for_arduino()

That /dev/tty.usbserial-A700fjTr serial address is the currently free USB port on my MBP: if you’re using a PC you’ll likely replace that string with something that looks more like COM4. Check your Arduino IDE to see which port to use.

serial screenshot

Looks like I need to make the serial communication a little more elegant; it’s timing out, throwing errors, is badly formatted, and generally a mess. But let us not let the perfect be the enemy of the good. Iterate now, fix later.

ball pit

I used a couple of ball pit balls as test objects. In the interest of presenting properly-formatted data let’s go direct to the Arduino serial monitor for the output:

Offscreen I’m waving a red ball over the sensor and, wonder of wonders, the red values change over time.

arduino serial

Next step: communicating with a passel of these RGB sensors. This should be a challenge, since each one has an identical address and as far as I know they can’t be changed in hardware. Getting ready to hop on the I2C bus.

I’ll clean up the serial communication by next time, promise. And calibration. Gotta do some pre-read calibration of the sensors for ambient light levels, too.

Note to self: buy new soldering iron tips before we go down this road. #staytuned.

Appleton Maker Fest

Appleton, Wisconsin is the nicest little city you’ve never heard of. Along with low crime rates and a thriving local music scene, it’s home to Lawrence University, a Harry Houdini museum with an interactive straightjacket exhibit, and the first Edison hydroelectric plant in the United States. Last weekend the Appleton Maker Space hosted their first Maker Fest.

makerfest

The Appleton Maker Space is tucked back in a mostly-underutilized commercial space off the west end of Appleton’s main drag, just the kind of location where you’d expect a hackerspace to be gestating.

Bonus: AMS is right across the street from some of the finest deep-dish pizza in town.*

Pizza wasn’t needed this day because, being that this is Wisconsin, the Appleton Maker Space provided a bratwurst concession for peckish attendees.

Our coastal and international readers should be aware that no event in Wisconsin can be held without at least thirty pounds of bratwurst in attendance. Pretty sure it’s in the state constitution.

The space was packed with dedicated Makers– I’ll leave it to their website to point out all the cool hardware they’ve got over there. Here’s one corner of the event, complete with the obligatory LAN party of kids playing Minecraft.

makerspace

Amid the chaos one usually associates with a makerspace’s being open to the chaos, someone was personalizing a banana for a younger attendee by etching her name into the skin. Of all the projects I’ve ever envisoned for a laser cutter, this’d be about the last one I’d ever come up with. Fantastic idea. I’d totally personalize all my bananas if we had a laser cutter at Zheng Labs.

banana

Show and tell time arrived and the assembled crowd asked for an “ominous puffy doll” to be modeled and printed on one of the RepRaps. I already had the laptop out so I fired up Maya and made this little guy. Concept to execution in ten minutes.

first pass

Later on I buffed out some of the stray vertices and cut a hole in the back so that Ominous Puffy can stick to your fridge with the addition of a neodymium magnet.

ominous puffy

You can download Ominous Puffy from his page in The Forge.

Heads up, badgers. I’ll be blogging, tweeting, and instagramming the ever-living snot out of Maker Faire Milwaukee in a couple of weeks, so if you’d like to meet up IRL and geek out over filament diameters drop me a line.

* deep dish isn’t pizza. New York style is pizza. Bring it, haters.

Printing With Steel on the Printrbot Simple

printrbot

One of the most popular pages on this blog is Calibrating the Printrbot Simple. To be honest I haven’t been using my Simple much lately, what with the hullabaloo surrounding my Barbie-Compatible 3D printed armor Kickstarter. Just don’t have the time.

My mental juice can’t be occupied by all Kickstarter, all the time, so I took a few hours to mess around with Mr. Simple, and I decided to try an experiment that’s long been tugging at my frontal lobes. Can I print something recognizable, in metal, using my Printrbot simple and some clever engineering?

There are hobbyist metal printers on the way. I saw Vader Systems’ prototype at Maker Faire NYC, and can’t wait to get one of these bad boys into the basement at Zheng Labs.

But! Enough wishful thinking. Let’s get down to brass tacks.

I’m using baling wire for this project. You can get this stuff at any hardware store. Just make sure it’s not galvanized, because that can give off some nasty zinc fumes when it’s heated up. Also, I highly advise wearing protective gear.

wire

warning Attempt this project at your own risk! There is an excellent chance that you’ll completely junk your Printrbot, or at least melt the plastic collar at the top of the extruder nozzle. Have a fire extinguisher handy, just in case. Goggles, gloves, the whole nine yards. Be smarter than I was: under no circumstances should you down three mimosas before trying this, no matter how much fun you were having at brunch.

As a precaution, you’ll also want to cover the print bed in fire-retardant tape, unless you’re willing to deal with a flaming Printrbot.

I’m planning on doing this repeatedly, so I replaced the Printrbot Simple’s print bed with a piece of asbestos tile instead. Yay for Open Source!

I just redid the kids’ room with asbestos tile and had some left over. It’s cheap and durable and I can’t believe people just throw this stuff away. Watch this space for a blog post about turning old asbestos tile into cutting boards; I’ll be putting them on Etsy once I’ve cut a dozen of them or so.

Temperature is everything here and you’ll have to move quickly once you start, so be sure to have your gCode pre-generated. Don’t waste time slicing the model before you print.

Preheat the extruder as high as you can get it. I managed to get mine up to 275°C by disabling the firmware safeties and working under heat lamps in the basement. (Printrbot firmware hacking is a topic for another day.)

Even 275°C is way too low for melting steel, so you’ve got to help the Simple across the finish line by heating your baling wire up with a propane torch. Depending on the alloy of your wire that means somewhere around 1400°C, which should be within the range of a hardware store torch.

tip

Start the print and gently feed the hot wire into the Simple’s extruder. I epoxied a steel washer onto the collar of the extruder nozzle to protect it from the hot wire. Don’t lick the glowy part!

The print was a miserable failure, just your typical tangle of filament touched by His Noodly Appendage, ramen. This is what happens when you leave steel prints unattended:

print failure

The second time through I stayed with the print, keeping the propane flame focused on the wire as extruder pulled it in.

feed

With just a little filing and polishing the nose ring looks way better than I expected it to. Not bad for a printer kit that retails for $300, even if I did have to babysit the print the entire time.

yurenjiekuaile

Permit me a brief foray into my other hobby, studying Mandarin Chinese. It’s a remarkably concise language, so cramming the entire One Ring poem (to find them, bind them, yadda yadda yadda) onto the side of the ring is easy peasy lemon squeezy.

You can compress the whole poem into five characters, 愚人节快乐. Way fewer than required in the Black Speech of Mordor.

Flagrant stagecraft alert: I printed the ring and nose separately and welded them together afterwards; I haven’t tried printing anything with support yet.

You can download the STL files for the nose ring in the Baubles section of The Forge, or if you’re impatient or don’t have a 3D printer just grab one from Shapeways.

Pro tip: I found that copying my gCode into OpenOffice, coloring it pure red (#FF0000), and then re-pasting it back into Repetier-Host helped me get the extruder nozzle up to 282°C the second time around.

Finding Sparky’s Voice

In early February I debated whether to make a promotional video for my Kickstarter. The 3D modeling was done, the armor was printing reliably, and I figured the concept of 3D printed medieval armor for Barbie dolls would just about sell itself to the right crowd of people. Did I really need to invest the time in making a video?

SPOILER: I ended up making the video.

I dithered and hemmed and hawed for a day or two while I weighed the pros and cons of investing even more time in the Kickstarter. Eventually the creative itch won out over the practical hurdles of lighting, shooting, and editing with less-than-professional tools (my vendetta against Apple Motion 5 continues unabated) and after much gnashing of teeth and rending of garments I released this to the world:

I’m glad I did because people really seem to enjoy it. It’s also on Youtube and Vimeo now, BTW.

Acquiring scenery and minifigs for the video wasn’t a problem, but I clearly needed a Big Bad. I rooted though every bookshelf and toybox in the house and came up empty. The Zhengspawn are growing up quickly, and are more interested in playing with software than they are with plastic. Clutter is the enemy, so only the most cherished or useful toys remain in the house.

Candy Crush is also the enemy, but no matter how many stakes, silver bullets, DDT, UV, and Slim Whitman Indian Love Calls I use, I can’t seem to rid Zheng Labs of that particular infestation.

Last year’s purge resulted in an unfortunate paucity of plastic dinosaurs in the storage tubs, just when I needed one the most.

Ever supportive, the Lovely and Talented Mrs. Zheng3 dropped by the local thrift store, popped some tags, and returned with Sparky. She found him in the discount bin for a dollar, on account of his non-functional pushbutton speaker.

Sparky is a generic-looking therapod carnivore with very broad feet. Artistic compromises were clearly made during his design, but I think the size of his forearms pegs him as a reasonable attempt at an Allosaurus, with a little pre-1990’s tail anatomy thrown in for stability’s sake.

sparky full

I’ve spent a lot of time with Sparky, and now I’m curious about his origins. Somewhere on the Internets there’s an expert on cheap plastic dinosaurs who can take one look at Sparky and identify him immediately. Until that person surfaces, our only clue is a “MADE IN CHINA” stamp between his legs, which narrows his origin not at all.

The wear patterns on Sparky’s maw, brow, and toes suggest that he was extensively played with in the past. He’s definitely attacked his fair share of villages. Sparky, at some point in his life, was loved. The discount bin would be too ignominious an end for such a loyal toy.

wear pattern

To the workbench with you, my Jurassic friend.

Whoever sculpted Sparky did some nice work, especially with the reticulated scale patterns on his skin, but the person or people who inserted his speaker botched the job a bit; I think a hole saw was used to access his chest cavity but the opening was messily enlarged with a knife at some point before the speaker was jammed inside.

sparky hole

With some prying and pulling I’m able to extract the speaker assembly, hopelessly mangling it in the process. It uses two LR41 batteries, which are easy enough to come by, if redonkulously expensive when purchased as singletons.

Sparky’s noisemaker is a simple affair. A speaker is connected to a small circuit board, activated by a (gray) plastic plunger that completes the circuit by touching that solder squiggle in the middle.

But wait, you say? How does nonconductive plastic complete a circuit? There’s a circular swatch of black, conductive somethingorother glued to the bottom of the plunger. Any EE’s who swing by, please tell me what this stuff is called, for curiosity’s sake.

If you squint and turn up the contrast on your monitor you can see a dark circle in the southwest corner of the circuit board. That’s where the recording of Sparky’s voice is stored underneath a blob of epoxy. A little more on that later.

speaker

Two fresh batteries later, here’s what Sparky sounded like straight from the factory. Turn your speakers down, it’s a bit unpleasant.

Hmm. That roar sounds familiar. Here’s Godzilla, king of monsters:

Here’s the two of them, side-by-side with a little bit of audio cleanup in Audacity. Sparky is first, followed by Godzilla. Big G is sped up by 90% with an accompanying change in pitch to make Sparky.

waveforms

It appears to me, at least, that someone just ripped off Godzilla when Sparky was made. I’m offended.

A little research tells me that I won’t be able to hack Sparky’s audio chip and record my own roars. Apparently the audio is burned onto an IC at the factory and then covered with a little black blob of epoxy. “Flip-chip” technology, this sorcery is called, and working with it is beyond any magic I possess at Zheng Labs.

I’d love to be able to hack these chips because they show up everywhere, especially in Happy Meal toys.

I do have a toolbox full of electronics, and I might be able to cobble together a replacement roar for Sparky after the Kickstarter is finished. At the very least, I can print him a new bezel for his speaker today.

sparky fixed

Guy can’t be walking around with a nasty hole in his chest, now can he?

Also. All the time I’ve spent on TVTropes? It actually paid off: see how many tropes I managed to cram into one video, and post in the comments below:

I’ll give you the second one for free: Action Girl. Or is it Badass Princess? Reasonable people can disagree.

Home is Where the Art Is, Part II

2404

Casa de Zheng is getting some work done lately. Her old house numbers, milled from wood, had to come off so the underlying fascia could be painted. Brittle with age were the numbers, and unable to survive the removal process. Upon reflection we (by which I mean the lovely and talented Mrs. Zheng3 and I) didn’t care much for the early 80’s Facts of Life typography anyway, so replacements were in order.

broken wood

If one has a 3d printer every broken household object’s an opportunity to recoup another few bucks on one’s ridiculously impractical investment.

After choosing font that’s apropos for the house’s character, I plucked some newly ripened heirloom vertices from the south side garden boxes and set to work forging them into house numbers. A quick extrusion, a nip, a tuck, and some geometry welds later and I have some digits ready for printing.

the story of 0

There’s more sculpting here than meets the eye– Maya 2008’s text beveling tools are the very definition of execrable. This oversight was inexcusable in 2008 and even more grating in this day and age, but I’m stuck using M2008 on OSX 10.6.8 in a 32-bit update cycle until I can swing a huge hardware/software upgrade. We go to war with the army we have, not the army we might want or wish to have at a later time.

The numbers don’t have a lot of detail and won’t receive close scrutiny since they’re about 10 feet off the ground, so I print them at .3 layer height to save some time. They are going to have to be sturdy enough to withstand a bit of weather, so I add a second shell to my usual print settings. Infill at 10%.

printing 0

Most of the digits aren’t anything special, except for a couple of pilot holes baked into the 3d model. The number four is an exception; I’ve added a hollow compartment in the back of the model and printed a watertight lid, turning the otherwise innocuous digit into a potential time capsule.

capsule

Discussion with the family yields a few paragraphs about ourselves, the house, the painter, our pet, the neighborhood, and the current state of 3d printing. I print it out, roll up the paper, and put it into a Zheng3 Scroll Tube, which is in turn sealed within the printed number four for posterity. I hit the seams with some all-weather caulk because I’m a belt-and-suspenders kind of guy.

Our house painter gets the numbers primed and painted and nailed to the house in short order. I hope whoever finds the note fifty? a hundred? years hence has a good chuckle at the primitive technology involved in its creation, what with the dumb toner, 英文, and thermoplastics.

open me

Previous home improvement post: Home is Where the Art Is

ComposiMold: First Impressions

The friendly team at ComposiMold recently sent me a sample of their product for review. Like many experimenters I’m mostly unacquainted with mold-making and casting but I’m willing to get messy and give it a go. Let’s dive right in and see how this stuff works.

TL;DR Summary: ComposiMold is easy to use, reuse, and reuse again, even for a casting n00b. It’d make a great gift for a Maker kid. Highly recommended.

Composimold: The Unboxening

open container

Opening the 10-ounce container releases the faintest waft of lemon. It’s not unpleasant or pronounced; only bloodhounds and those accustomed to huffing day-old mimeographs will have the chemoreceptors to detect the scent.

It’s firmer than I expected. I was thinking I’d have something a little gooier, but when ComposiMold is cool it’s got the consistency of a flexed bicep. At 10 ounces the sample container feels satisfyingly dense in the hand. I feel like I could make stuff with this.

Virgin ComposiMold looks surprisingly like honey. So much so that the lovely and talented Mrs. Zheng3, slightly less talented than usual at 5:30am, nearly dropped a heaping spoonful of ComposiMold into her oatmeal. I probably shouldn’t have left the container on top of the microwave last night.

In theory, the mold making process is simple and straightforward: heat ComposiMold, pour it over the object you want to reproduce, allow to cool, and then extract your object.

Naturally I screwed it up.

Jumping into this project like an enthusiastic idiot I naturally made a a rookie mistake right off the bat. I forgot to coat my mold container with a release agent. So I restarted the project. What you’re seeing here is actually take two on my quest to replicate a Seej bloxen.

So! Into the microwave with you, ComposiMold.

in the microwave

Another brief installment of Zheng’s household hints: before photographing the inside of a microwave you’ll want to clean it so the Internet doesn’t think you’re a gavone. Put a cup full of vinegar in the microwave and nuke the bejeezus out of it. The steam will soften the Hot Pockets splatter off the inside of your microwave so that you can wipe it clean with a rag. The healing brush in Photoshop will take care of any pastacules you might have missed.

Thirty seconds in my microwave and I’ve got a golfball-sized nugget of ComposiMold suspended in honey-like goo. Stir with a craft stick (always, always, always have craft sticks around any maker project), give it another 20 seconds of non-ionizing radiation and we’re good to go. During the melt the lemony scent is a little more pronounced but doesn’t stink up the kitchen.

bloxen, masonry
I’ve decided to try and cast a Seej Bloxen for my first project. I’ve made sidewalk chalk bloxen using a 3d printed mold, but I’m interested to see how ComposiMold picks up the detail in the 3D modeled grout and stones of something I’ve already printed. This particular bloxen was produced during my review of Filabot’s recycled ABS filament.

Composimold: Making A Mold

I give the bloxen a rub with some vegetable oil and put it into an old laundry scoop. Here’s where I run into my first unknown unknown in the mold-making process.

pouring

unforeseen problemThe plastic object I’m trying to copy is less dense than ComposiMold, so it wants to float. I try holding it down with a craft stick, but I’m unwilling to wait half an hour for the ComposiMold to solidify at room temperature. I throw the whole thing in the freezer to cool and abort the first try at mold-making.

It’s 9AM on a Sunday morning so I take a break and have some cheese danish before the kids get up and eat it all. After twenty minutes and a cuppa joe I cut open the mold to see how well it captured the details. Click to embiggen.

detail

The detail’s quite fine here. ComposiMold even picked up the layer artifacts left by the 3d printing process. Each of those parallel lines is about 100 microns wide. I can’t use this failed mold for casting, but it provides an excellent chance to test ComposiMold’s reusability.

Forty-five seconds in the microwave and I’m back to pouring a new mold. Easy peasy George and Weezy. So far ComposiMold is living up to its promises.

This time I’ll try suspending the bloxen from a stiff piece of hookup wire before I pour. I drill a small hole in the side of the bloxen, superglue in a wire scrap, and wrap it around a craft stick. (See previous admonition about having craft sticks around.) I’ll use a plastic cup for my mold container this time, because I can just cut it away without having to worry about pre-treating it with mold release. The vegetable oil gets everywhere and I don’t want it schmeered all over my camera and light box.

suspended

The bloxen remains submerged this time, if a little off-kilter as the unsecured bottom of the plastic tries to float upwards. The newly-poured mold goes back to the freezer for fifteen minutes or so before I cut away the plastic cup.

The mold resists my hobby knife with the strength of an overcooked ham, but splits easily and the bloxen pops right out. A little vegetable oil on the inside of the mold and it’s ready to be filled with Plaster of Paris.

ready

Composimold: Casting

ComposiMold’s produced a perfectly usable mold. The process has been simple even for a mold-making novice, but today I’m wishing I paid more attention on casting day in sculpture class.

In all fairness, I was trying to get the lovely and talented not-yet-Mrs. Zheng3 to notice me at the time.

plaster

Notice that almost all the bubble artifacts on this plaster bloxen faces inwards; this isn’t ComposiMold’s fault, it’s mine. Either I didn’t get the plaster/water ratio correct or I didn’t agitate the mold enough after pouring, or my plaster’s old, or something else. I’d love to see what ComposiMold can do in the hands of someone with more casting experience. ComposiMold also sells a bubble buster that will assist in the casting process that wasn’t included in my review sample.

A couple hours of playing with this product has given me all kinds of great ideas for where to go next with this. Traditional casting and 3D-printing are a powerful combination, so #staytuned for another casting attempt, this time with cement. The younger Zhengspawn and I have a project in mind that’s perfect for ComposiMold. We’ll see how an 8-year old does with this stuff under lax supervision.

If you’d like me to put your Maker-related gizmo, material, tool, or software through its paces at Zheng3.com, email me and I’ll give it a shot.

ABS Printing, First Layer


It’s possible to get a mirror finish on your first layer when printing with ABS on kapton tape. Make sure your bed is level and give the kapton tape a quick wipe with ABSynthe; dampen a paper towel with acetone, rub it a few times across a failed print, and then wipe your kapton tape with the residue.

Look closely and you can see the little folds left in the print from bumps and bubbles in the kapton. I’ve given up trying to get my kapton to be perfectly smooth, because I have enough things in my life that give me agita. A few little wrinkles aren’t going to make your print fail if your bed’s level and you’ve got an ABSynthe wipe on your kapton.

If the bottom of your print looks like this, you might have a little trouble getting it off the build platform. I’ve had my best results giving the side of the print a little tap with a hammer while holding my build platform in place. It helps if the platform’s still warm from the print.

This print of a Masonry Bloxen uses Filabot’s recycled ABS at 250°C on a 110° heated bed, on a Replicator1.