Tag Archives: Rex

Printing with Filabot PETG+

rex

hashtagRAWR! PETG+ Robber Rex in repose among the autumn color.

As always, things are busy here at the lab, especially with Halloween fast approaching and extensive field testing of our Stranger Things wall underway. Most of the hardware issues have been sorted out, although how well the weatherproofing holds up to twelve hours of steady October precipitation remains to be seen. Software’s never done, of course, and there’s always the matter of how we’re going to get a livestream up and running on Halloween night.

A quick review of Filabot‘s PETG+ filament is definitely in order, since the Stranger Things wall couldn’t have gone forward without it. Disclaimer: I’m not receiving any compensation for this blog post except for a free spool of filament.

What’s PETG?

Polyethylene Terephthalateco-1, 4-cylclohexylenedimethylene terephthalate. Chances are you’ve used a water bottle made out of it using traditional manufacturing methods. Filabot doesn’t advertise their filament as food-safe, although I’m pretty confident that drinking out of a PETG+ printed teacup is going to be better for you than one made from ABS.

Heads up, the ridges in FDM-printed objects can harbor nasty bacteria, so eat and drink from 3D printed vessels at your own risk.

PETG is often advertised as an alternative to ABS, and after printing with it for a month I’m convinced. Two reasons:

  1. We’ve all experienced ABS stank. I can’t detect any significant odors with a PETG print.
  2. PETG prints appear to be just as strong as ABS prints, and can be done on an unheated bed with a glue stick wipe. No acetone ABS slurry required.

As always, we recommend that use your printer in a well-ventilated space, and don’t ever drink the acetone, kids.

My daughter had some friends over for a D&D game last weekend– one of the kids’ PLA/PHA printed Dice Citadels took an unfortunate tumble from waist hight and snapped in half when it hit the floor. Of course, this is both a crisis and an opportunity.

citadel

Don’t believe that old saw about the Chinese word for crisis also containing the character for opportunity. Ain’t so, or at least it’s more complicated than that.

Unscientific test: I dropped this Citadel, fully loaded with dice, onto the same spot where the PLA/PHA citadel met its untimely demise. The PETG+ Citadel survived. Physically it just feels more robust than a PLA/PHA print with the same settings. It’s a little springier than a PLA or ABS print, like it wants to bounce.

PETG handles details well, too:

citadel closeup

PLA/PHA can be brittle, especially after a couple of months exposed to the wild. How well this PETG+ print will hold up after six months of roleplaying remains to be seen.

transparency

The filament can be fairly transparent once it’s printed. It’s ideal for LED diffusers like the bulbs in the Stranger Things wall.

You can grab this transparency test model here, btw.

Verdict: Definitely buy this filament as a replacement for old-school ABS. PETG+ is durable, low-odor, and adheres to an unheated bed with a glue-stick wipe.

Arduino Audio with the WTV020SD-16P

There are plenty of ways to play sound on an Arduino– at the most basic you might burp out some bleeps and bloops with the tone() command, or perhaps drop some coin at Adafruit and get yourself a multifunction music shield.

Our current passion project at Zheng Labs is an audio-enabling upgrade to Plutarch the Pirate Parrot. For this application neither of the above options will quite fit the bill. We want a board that’s inexpensive, light, and small enough to fit inside a roaster chicken’s body cavity while leaving room for a battery pack, microcontroller, and an ever-increasing number of servos.

Enter The WTV020SD-16P. ‘Tis a picky, tricksy little board, but once you get it up and running it’s scrum-diddly-fun to use.

rex

#RAWR! you can download Rex for 3D printing over at the Forge.

To the tutorial!

GATHER YOUR PARTS

  • a WTV020SD-16P
  • a SanDisk 1GB MicroSD card: apparently the WTV020SD-16P can be a little picky about which brand and capacity of MicroSD card will work.
  • a speaker: This one comes with micro-JST connectors, which you can just snip off and plug into your breadboard. I soldered some jumper wires onto mine to make working with the breadboard easier.
    some jumper wires

And of course an Arduino and a breadboard. I dusted off an ancient Duemilanove for this project, but I’d imagine any Arduino will do.

GET THE SOFTWARE

You can get the sample code and the software library you’ll need at the Arduino forum.

Oh God. Forums.

I can’t be the only one who dreads wading into technical forums seeking assistance. In my experience one can find tiny nuggets of precious content only by softing through the dross, dregs and slag of misinformation, know-it-all-ism, and half-baked do-my-homework-for-me questions IN ALL CAPS from engineering undergrads in Gdansk.

Every now and then a patient, knowledgable member with a willingness to shepherd a n00b through a confusing and contradictory information maelstrom will emerge, but more likely than not a cheeto-crusted basement dweller will snidely inform you that a B+ in Electrical Engineering 101 at Carnegie Mellon is a prerequisite for posing a question to your betters.

Thankfully, the Arduino forum’s friendlier than most, and it’s a decent place to start looking for information about the WTV020SD-16P. There’s still a lot to unpack and sort out before you get your board talking, though.

Once you’ve gotten the sample code from the forum you’ll no doubt come across this image in all its JPEG-compressed glory. It’s the second post on the forum. You can’t miss it.

schematic

I can’t stress this enough: do not use this image as your Virgil to guide you through this particular circle of Arduino Hell. There’s nothing inaccurate about it, but there’s too much information here for those who want to just plug this thing into an Arduino without having to first procure an EE degree, and some of it is misleading.

This schematic will get you a WTV020SD-16P that works in standalone mode with some pushbuttons, to be sure, but if all you want to do is control the board with Arduino code this wiring diagram is overkill. For one, the pins in this schematic don’t match the pins specified in the sample code right above it, which is one of those Things You Don’t Know You Don’t Know if you’re just starting out.

My edited schematic is a little simpler and balls-on accurate, I promise. Behold!

schematic simple

You’ll note that the sample code includes a declaration for a Busy pin. It’s used for asynchronous audio play but we’re keeping things simple and not using it in this tutorial. Also, you’ll see several pins on the WTV020SD-16P labeled as NC: they’re Not Connected to anything and can be safely ignored.

If reading schematics ain’t yo thang, here’s what it looks like IRL:

wiring

To recap:

  • Arduino 3V3 to pin 16 (top right of the board)
  • Arduino pin 2 to pin 1
  • Arduino pin 3 to pin 7
  • Arduino pin 4 to pin 10
  • Speaker + to pin 4 (usually this is the red wire)
  • Speaker – to pin 5 (usually the black wire)
  • Arduino GND to pin 8

ACQUIRE AUDIO:

You can download the commonly used sample .ad4 files here, or use mine which IMHO are better for diagnostics and have the added benefit of not dancing on the knife’s edge of fair use and international copyright law violation.

If you’re visiting the blog from abroad you also can use my files to learn what a nondescript northeastern American accent sounds like. No charge.

Unzip the archive and drop the files into the root directory of your FAT16-formatted MicroSD card. Files must be named 0000.ad4, 0001.ad4, 0002.ad4, etc. The WTV020SD-16P supports up to 512 audio files, which should be enough for all but the most loquacious of parrot puppets.

Creating your own .AD4 files from WAV or MP3 of AIFF is brain-dead easy with this OSX tool, but you’ll need to install the JDK first.

Be sure to have your source audio sampling rate set at 32kHz or the software won’t produce any output and (not helpfully) any error messages indicating that there’s a problem.

SOFTWARE:

On OSX, drag the library folder into ~/Documents/Arduino/libraries/

The sample code on the forum shows off everything the library can do, but it’s too much for a proof of concept and has some English errors that introduce ambiguity in the comments. Let’s do some minor surgery.

  1. Cut out everything in between the curly brackets of the loop() function.
  2. Paste the following between the now-empty curly brackets after loop():
int r=random(0,6);
wtv020sd16p.playVoice(r);
delay(1000);

Power up your Arduino, upload the new code and you should be good to go. Good luck, and please post in the comments if I screwed anything up in the tutorial.

Watch this space for news on Plutarch 2.0’s evolution over the next few months. He’s scheduled to debut on Halloween 2017. You might consider watching his progress on Instagram or Twitter: that’s where the microupdates get posted first.

Lao Zheng out.

Printing with NinjaFlex on a Type A Machines 2014 Series1

TLDR: print slow and hot with NinjaFlex. It ain’t rocket science, but does require a little attention to details if you’re used to PLA or ABS. If you’re using Cura you can download my Type A Machines 2014 Series 1 profile here.

Our most recent Kickstarter was a smashing success! We were 119% funded with 140 backers. Watch this space for a comparison/post-mortem describing the differences in funding among the several Kickstarters we’ve launched, successful and not so much. I learned a great deal with Strongholds and I’m eager to apply the new knowledge and analytics to the next crowdfunding effort.

Here at Zheng Labs we’re ramping up to start the print-a-thon for backer reward fulfillment, but we have a little side project to get out of the way first. Scoundrels that we are, we’re using the slow trickle of backer survey returns as an excuse to not engage with the following print ticket:

print ticket

That’s-a-lotta-printing, my friends. We’ll get started this evening, I promise.

The Easter Bunny was kind enough to drop off a roll of NinjaFlex last week, so before the printer gets ocupado producing Citadels and Eyries for the forseeable future we thought we’d give flexible filament a try.

Loading NinjaFlex into an extruder can be like shooting pool with a rope. I found that my venerable Replicator1 sucked the NinjaFlex right in without issues, but the faster G2 extruder on the Series 1 caused the NinjaFlex to bind up, thusly:

extruder

The trick is not to use OctoPrint’s Extrude button to pull the filament into the extruder– it pulls the filament in too fast, the filament backs up inside the nozzle and then starts folding upon itself and turning into silly string.

Instead, just heat up to 240°, push the lever on the side of the extruder, and manually push the filament in until you feel it hit the bottom of the nozzle. Make sure you’ve got good thermal conductivity between your hot end and nozzle too; a liberal application of thermal paste will be quite helpful.

Thermal paste fixes so many 3D printing problems.

Print settings: I’m at 240°, printing at 20mm/sec with .2 layer height. Retraction at 50mm/sec with a distance of 2mm.

Rex turned out nicely, printed on glass with Elmers’ glue stick. Then I mushed him under some PT weights.

rex crushed

(You can of course download Rex from The Forge.)

In other gnus: there will be a lot of human downtime while I’m printing all those Citadels and Eyries, so I’ve started modeling work on the Next Thing. Here’s a peek.

boot

#staytuned. This project’s going to be buckets o’ fun.

Nice guys finish first: Cubeforme vs. Just3dPrint

Oceans of pixels have already been spilt in covering the Great Free Model Heist of 2016 and I’m late to the game as usual (what with a 3D printing Kickstarter underway and all), but I’ll bring it up again because I’d like to draw a bright line of contrast between the moustache-twirling mendacity of Just3Dprint and the 3D printing paladins over at Cubeforme.

To recap: A quartet of marketing-school bros decided that offering outrageously-priced prints of freely available 3D models on eBay without crediting or compensating the original designers in any way was a viable business model. Just3DPrint defended themselves against the subsequent outrage with some hamhanded quasi-legal jiggery-pokery and, in doing so earned the ire of the 3D printing community and attracted the gaze of MakerBot’s legal department besides. Nice.

The hullabaloo has since died down and, with any luck, these gentlemen will fade into 3D printing history and pursue careers for which they are better suited, like price-gouging senior citizens out of their pharmaceuticals. Enough about them, let’s move on to Cubeforme.

Cubeforme found an alternative business model using the same wellsprings of free 3D printable content, but where Just3dPrint did everything wrong, Cubeforme is doing everything right.

A primer on Cubeforme: the company selects one designer a month, prints a few of their models, and ships the prints to subscribers along with some liner notes about the designer. They’re all about the end user unboxening experience: the colorful packing material is even matched to the colors of the 3D prints therein. BONUS! 10% of every order goes back to the original designer.

Their first box was “The Jim Rodda Adventure,” a title that the lovely and talented Mrs. Zheng3 thinks is hi-larious. It contains a couple of my designs: Robber Rex, Finger Shark, Zheng’s Diminutive Defender, and the Micro Ballista. It’s a fun little bundle of 3D printed mayhem.

jim rodda adventure

(Cubeforme > Just3DPrint). Here’s why:

  1. They asked permission. This is HUGE. In a world where 3D content is often free for the taking, CubeForme took that extra, polite step of asking me if they could use my work. Pay attention, just3Dprint.com. Creative Commons Attribution matters.
  2. I was compensated! I won’t be retiring on what I was paid– these guys are a scrappy startup, after all– but even a token gesture of financial support for someone who’s cranking out free models day after day means a great deal.
  3. They’re nice guys. CubeForme’s principals Kyle and Nick have gone out of their way to promote me and my work, even after their Kickstarter ended. Communication with them has been excellent and they’ve been good pals of mine ever since.

So! If you’re a 3D printing designer, especially one who got rubbed the wrong way by the Just3DPrint debacle, get in touch with CubeForme. They’ll help get your designs out to more people who wouldn’t otherwise have access to a 3D printer.

Not a designer but just want a monthly shipment of curated stuff showing up at your door? Check out Cubeforme here, and use code zheng3 at check-out for 20% off anything designed by Zheng Labs.

Best of luck to Cubeforme in all their future endeavors. This 3D printing startup is worth watching: you read it here first.

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.

The Forge 2.0

Too long has it been since the last post here at the blog. Well, there was yesterday’s short fiction about Milton, but that was just an amuse-bouche while I got the last of the unruly ducks in a row on The Next Thing.

So! The Next Thing.

After digging into forgotten tomes of PHP lore and dusting off my HTML and CSS (it’s amazing what one can do with CSS and HTML 5 these days) and taking my first tentative steps into SQL (ye Gods, people make a living programming this? poor bastards), and hacking away at .htaccess goblins and DNS bugbears I’m thrilled to announce The Forge, version 2.0.

It’s still located at forge.zheng3.com. Any links you might have to individual pages in Forge 1.0 will still work, but won’t be updated anymore. It’ll take me a few days to get the redirects up and running.

Milton the Parasaurolophus is the Forge’s inaugural model. He’s a kinda-sequel to Robber Rex and Pip’s Print-in-Place Perambulator. The Island of Catan at Zheng Labs grows ever more thick with low-poly dinosaurs.

Some of the lamer models (cough)shaolinspadewacomnib have been culled from The Forge, and the upload process is much, much more straighforward on my end. My goal’s to reduce the time and fuss required to get a model file from my desk to yours. I’m not 100% thrilled with the way the Forge displays on mobile yet, but it’s functional enough and honestly, there’s only so many hours in the day to attend to every little detail.

I’ll put a B-team of kobolds on it, and maybe it’ll get done someday.

All this Forge work has slowed the production of new 3D models, but the ideas have been piling up in the hopper over the last six weeks. I’ll try and get to them ASAP and we’ll see just how powerful this fully armed and operational 3d model sharing site really is.

As always, #staytuned, friends.