Makerbot Thing-o-Matic 3D Printer Print Pictures & Product Review

The Makerbot Thing-o-Matic, fully assembled and ready to print.

[Update: Welcome back, Slashdot! 🙂  This site is in full lockdown mode, so comments may take a little while to appear, but please leave them anyway! You may also want to check out the previous assembly photos also featured on Slashdot.]

Overview

3D printing has attracted notable attention in recent years, capturing interests of both geeks and laymen due to the obvious potential of a machine that fabricates three-dimensional shapes at will. While clearly far from the visionary “replicator” technology of Star Trek: The Next Generation–which could recycle almost any object–the Thing-o-Matic (and the like) have already begun branching out from the 3mm ABS plastic spools used build the objects in the following pictures. (I’ve also included picture from a another project that requires custom mounting widgets for solar cells.)
I’ve had my Makerbot Thing-o-Matic working for about a month, and I have to assume it only gets cooler from here. If you’re a hardcore DIY’er, or your technical dablings tend to involve small, intricate parts required of custom robotics, circuitry, metal/woodworking etc., read on, and seriously consider a 3D printer investment in the future.
The Unboxening & Assembly
Unboxing of the Thing-o-Matic kit. (See links for assembly pictures.)

After a couple months of girlish waiting, my DIY Makerbot Thing-o-Matic kit arrived in December 2010. Pictures of the laborious assembly process went up several days after, and have been viewed by tens of thousands of people in the last few weeks alone. Makerboot does not ship a printed manual with the machinery kit, instead option for an online-only “Thing-o-Matic Assembly Instruction/Users Manual”: a living collection of wiki pages that is continually updated. A good thing, indeed! Take a look at the assembly pictures if you haven’t already gotten a feel for the level of assembly effort. (If you’re good with your hands, allocate about 16 hours.)

Software Installation
My 3D model of an identical pair of custom solar cell brackets, done in Google SketchUp.

Once the machine is assembled, you’re ready to install the software, connect the machine via USB, and calibrate the system. Rough high-level steps are as follows:

  1. Install the Arduino driver, if not already installed. (Easy)
  2. Download and run ReplicatorG, and try making a software connection to the machine. (Easy. You’ll spend a lot of time in ReplicatorG.)
  3. Use ReplicatorG to manually control all the machines widgets, and test each one for proper function. (Medium.)
  4. Measure the the Z-axis height and change an obscure config file in your ReplicatorG software that you won’t understand for a few more days. (Medium.)
  5. Load up some plastic filament. (Easy.)
  6. Skeinforge interaction can be a frustrating chore.

    Within ReplicatorG, launch the embedded Skeinforge configuration application, which is used to take 3D design files in .STL and “slice” them in tooling paths that a machine can follow. This is necessary since 3D printers usually print in layers, starting with the lowest. Skeinforge is an extremely configurable system with an extremely shitty GUI. It is not immediately clear what most of the hundreds of settings do, and you’ll spend many trial iterations configuring options to dial in the best general settings. Even after calibration, you will need to periodically revisit Skeinforge to address build-specific issues. (Hard.)

  7. ReplicatorG build platform positional and orientation. Perfect!

    Use ReplicatorG to either upload a compiled .S3G files to the on-board SD card for disconnected printing, or stream the commands on the fly. (Easy.)

  8. Run the test job!  (Medium.)
  9. Go to #6. (Daunting.)

The workflow is initially very daunting and cumbersome. It starts to make more sense after a while, but needs major work. This is technically not Makerbot’s issue, but given that it’s a necessary component of the overall system I would suggest major effort be placed in unsuckifying the interaction before ReplicatorG and Skeinforge.

ReplicatorG
Once many initial configuration jobs are complete, your time in software will generally be spent across two applications:
  1. 3D design software package such as Google SketchUp (free), which is used to design your own objects. Once you’ve designed an object, you export an STL file that is imported into ReplicatorG, which is then sliced by Skeinforge into .gcode files and then by ReplicatorG into .s3g files that the Thing-o-Matics onboard Arduino understands.
  2. ReplicatorG (and included Skeinforge application), tweaking, compiling, and babysitting.
Materials
The Makerbot MK5 plastruder turns 3mm filament into hot, sticky plastic goo.
The mechanism that feeds, melts, and dispenses plastic on the Thing-o-Matic, Cupcake, RepRap and other 3D printers is called the “extruder”: often referred to as a “plastruder” for those designed to extrude plastic. Thing-o-Matic ships with the “Makerbot MK5 Plastruder“, designed to feed solid 3mm spool of plastic filament into a heating element that melts and dispenses a thin stream of melted plastic.  ABS is essentially Lego plastic, and solid at room temperature. (Grab a handful of Lego bricks to get a feel for the weight, texture, color of ABS.) At the melting point slightly above 220 degrees Celcius, ABS turns into a half-solid, half-liquid ooze that is melty enough to extrude into the shape of your choice, while remaining solid enough to hold form long enough to cool back into a solid.
Many different colors of ABS filament are available. These 1 lbs. packages of red, yellow and green plastic were purchased for $15 each as part of a larger order.
In my area (Phoenix, Arizona, apparently the 5th largest city in the United States by population), I’ve yet to find a local source of the stuff. I’ve called sales departments of several local plastics suppliers, and none have even known where to find it. I’ve also failed in contacting several other online suppliers; my requests for quotes have all gone unanswered. While happy with the two ABS shipments I’ve received from Makerbot, but it would be nice to have competitive options in the low-volume market. Makerbot sells 5-pound spools of “natural” (off-white) colored ABS for $45 (USD), and a variety of colors for $65 (USD) plus applicable taxes and shipping. And shipping is not free.
Assessment
Solar cell bracket revisions.
Revisions 1, 2 and 3 of the solar cell bracket, from left to right.

Given the complexity of the machinery, you have a lot to consider before making the investment.

Thing-o-Matic Pros
  • Extremely cool. You will almost definitely be the only kid on the block with this toy.
  • Makerbot maintains the Thingiverse: a user-driven database of open source 3D objects.
  • Semi-automated batch jobs via the included Automated Build Platform.
  • All needed parts and come with the kit. (BYO tools.)
  • Supplies (such as ABS) are also available from Makerbot.
  • Some parts, such as this pair of brackets printed simultaneously, need trimming and/or sanding.

    Documentation is 4 of 5. The 5 is for comprehensiveness and getting me through the process, but -1 for ocassionally erronous images, ambiguous text, or omission of step.

  • Minimal soldiering, and much less than I’d anticipated.
  • Minimal number of “only one chance” assembly instructions such as cutting and gluing,
  • Open Source hardware design. You can print many of your own replacement parts if some break.
  • Science!
Thing-o-Matic Cons

Four solar cell bracket are shown partially assembled into a larger structure.

  • Generally not robust enough to run unattended.
  • Post assembly calibration gets fuzzy, as there is no 100% Right Way to do things.
  • I’m 90% sure that something about the Arduino driver is unstable. I regularly make my entire Mac greyscreen (the OSX equivalent of a Windows BSOD or a Linux kernel panic) during plug/unplug process of connecting/disconnecting the USB from the Makerbot to my computer.  Something, somewhere, is dying a horrible death and taking my whole operating system with it.
  • Skeinforge–the software that converts your 3D models to tool paths–has an absolutely atrocious (and ofter unstable) user interface. Few of the 100+ configuration options are clearly documents within the app, which is buggy to start with.
  • The machine can be somewhat loud and obvoxious. In my case, the XY axes aren’t bad, but the Z axis stepper motor can be very irritating.
  • If you do this, you are making a very big time commitment.
  • Questionable electronic sub-component failure rates, and one of my biggest complaints. The motor on my MK5 Plastruder was dead on arrival, and my power supply went out after less than a dozen prints. I could just be unluckly, though.
Costs & Competition
Lots of small custom components.

Many small pre-fab printer shops have materialized in the last couple years, ranging from laser-cut wood frames (such as Makerbot), to clear acrylics, metals, and, of course, printed plastics. Regardless of your chosen path, the electronic components are currently not printable in any high-quality manner, are best purchased from a vendor. This includes mainboard microcontroller (the Thing-o-Matic uses as Arduino MEGA), stepper motor controllers, stepper motors, power supply, end stop sensors, extruder controller, cables etc. You can, of course, build these yourself, but in the case of highly available parts such as the Open Source Arduino, it’s far more cost effective to buy the $30 part than spend a day manually fabrication a PCB and hand soldier $20 of mail-order components.

20mm Test Cubes
Four iterations of the 20mm test cube: A, B, C and D.
Makerbot’s pricing ($1K-2K per machine) targets the small power user. Competition is available, but thin and very fragmented. A RepRap kit from one company may not be 100% compatible with the electronics kit from another. That’s just the nature of Open Source hardware. I love the idea of Open Source standards implemented and supported by commercial vendors, and Makerbot’s staff has done a great job so far. (Special thanks to Ethan H. for being the unfortunately soul responsible for handling both of my failure reports as well as one incorrect shipment. You’re awesome, dude!) You can also grab an older model at significant discount.
20mm Test Cube Print
Another 20mm test cube being printed.

In short, unless you have a Richard Stallman-level of commitment to F/OSS, try to buy all your components from only a few vendors. Makerbot is a good choice for U.S. buyers as though they only sell their own designs–a good thing, IMHO–but then, they don’t sell RepRap parts. If you want a RepRap, the choice is more difficult. I have not built a RepRap, but suspect that even with a larger vendor ecosystem it would be difficult to bring the total price tag for a laser cut or milled non-clone machine to under $1K for quality parts, electronics and components.

Closing Thoughts & Recommendations
The biggest barrier to entry is not price, but difficulty. No fabrication, assembly, software, design, calibration, of troubleshooting process is theoretically undoable by any able-bodied person, but the same can be said for rocket science.
You need a decent understanding of robotics, hardware, software, electronics and mechanics, need a little hand dexterity and a ton of patience. (Without these skills, you’ll definitely get frustrated.) You can do it, but if you can’t sit at your workbench in 2-hour stretches assembling (and occasionally reassembling) a part, going through many print iterations (over the course of days) to get it just right, you may want to consider having a shop print parts for you, or looking into a commercial laser cutter or milling machine instead.
Consumer 3D printing is still in its infancy, but the Makerbot Thing-o-Matic (and ancestry) are clear and decisive steps towards a day when all forms of matter can be assimilated from raw materials as easy as loading a coffee maker. Despite a few questionable design choices of electronics components, I give the Thing-o-Matic an overall 4-of-5 star rating and highly recommend either a fully compiled kit (like I did here), or pre-assembled kit for a few hundred USD more, assuming you’re comfortable with the prerequisite knowledge, time and money commitments.
Score Breakdown
  • Documentation: 4 of 5
  • Ease of Use: 3 of 5
  • Coolness: 5 of 5
  • Price Competitiveness: 4 of 5
  • Support: 5 of 5
  • Quality: 3 of 5
—————-
Overall: 4 of 5
Recommended for:  Hardcore geeks looking for a ton of fun in a challenging meta-project.
Additional Media
Thing-o-Matic First Prints
Blurry Thing-o-Matic Up Close
My power supply has an fatal failure after a handful of prints. Makerbot has sent a replacement free of charge.
The blow-out seems to be a capacitor. I believe that the power supply may not have enough kung-fu to power all the components.
I hacked in a new power supply with higher specs, but it didn't fit perfectly. 🙂

MakerBot Thing-o-Matic 3D Printer Assembly Photographs

Hello, Slashdot. 🙂 After 12 hours of punishment, everything seems to be back up and responsive. Enjoy the pictures!

[Skip to the HD slideshow on Flickr.]

After an estimated 16 man-hour assembly effort, my brand new MakerBot Thing-o-Matic is fully assembled. The extruder motor is bad so I can’t print quite yet, but assembly is complete and the MakerBot support folks have been cool about shipping the replacement part. The new motor should arrive early next week.

The Thing-o-Matic is an Open Source 3D printer very similar to MakerBot’s earlier models (such as the Cupcake) as well as the RepRap, though MakerBot’s designs clearly depart from their RepRap origins. This is an extremely abbreviated set of high-level assembly pictures for those curious about the process. Assuming you already have a healthy assortment of common hand tools, the Thing-o-Matic “kit” version will set you back about $1,300 (USD).

The assembly process is intense, to put it lightly. Instructions are generally correct and straightforward 90% of the time, but given the intimidating complexity of the project, insane number of parts and dexterity required for some of the assemblies, simply locating the correct widget can sometimes be challenging. As the online assembly guide progresses, the instructions increasingly rely on your prior knowledge of repetitious concepts. We’re talking sanding, soldering, cutting, punching, scrubbing, gluing, and screwing hundreds of bolt/nut combinations. Only attempt this project if you’re the type of person that wakes up with ideas on the order of, “I think I’ll build an air conditioner this weekend.”, and actually completes the task. Like I said: intense.

[See the high-res slideshow version on Flickr instead.]

[slickr-flickr search=”makerbot” sort=”date” type=”slideshow” flickr_link=”on”]

[slickr-flickr search=”makerbot” sort=”date” items=”50″]

The $1K CD/DVD/LightScribe Replicator: The DIY Guide To Manufacturing Your Own Discs For Less Than $1 Each

This do-it-yourself replicator features eight Lite-On CD/DVD burners. By flipping the disc over you can burn images onto the top using the drive lasers.

I’ve slowly updated components of The $1K Home Studio over the last few years, but have never had a low-cost, DIY solution for disc replication. After playing with external CD burners and evaluating various proprietary hardware options such as the Aleratec auto-flip burner , MicroBoard tower replicators amongst many others, I decided that the current commercial solutions are nice, but most definitely overpriced. So I decided to develop my own solution. This custom-built behemoth is built from common off-the-shelf (COTS) hardware from Fry’s Electronics and inexpensive commercial software. It costs less to own than commercially branded replicators, and also functions as a normal desktop computer since it runs Windows 7 and Linux. (I took care to also buy a Gigabyte-brand motherboard that supposedly supports the OSx86 (“hackintosh”) project, but have had little success with the installation.)

Hardware

  • Intel i5 750 64-bit CPU. (Features 4 cores.)
  • 4GB RAM.
  • 8 x (yes, eight) Lite-On CD/DVD 5.25″ SATA burner drives.
  • Gigabyte motherboard with lots of SATA ports.
  • Add-on SATA card. (Most motherboards won’t have enough connectors, especially if you have 8 x burners plus 4 x hard drives. 🙂 )
  • Big-ass power supply. (The first one I bought wouldn’t even boot the thing. I put in a monster and everything started working.)

Software

The point of all these burners is to burn simultaneously to all of them, but Windows 7 and OS X cannot do this out of the box. Only a small subset of CD/DVD burning software on the market supports parallel burning, and some only seems to support multiple burners for specific types of burns. What’s worked best for me so far is…

  • Nero Multimedia Suite 10 for concurrent audio and data burning with multiple burners. You don’t have a lot of easy-to-use alternatives here, and I’ve also noticed a few glitches with Nero. Keep your eye out for sales here and you can pick up a copy dirt cheap.
  • Acoustica CD/DVD Label Maker for concurrent LightScribe replication across multiple burners. Again, not a lot of options here. The free software from LightScribe.com does not support multiple burners, though some vendor-specific bundles seem to. (LaCie’s LightScribe software in particular appears to support simultaneous LightScribe burns, and they also have a Mac version. I would have went with a Mac-based solution, but 8 x USB 2.0 drives probably would not work so well.)
CDs burned with LightScribe technology. Discs come in many different colors.

I decided to create all my replicated discs using LightScribe technology. This allows me to flip LightScribe CD-Rs upside-down in the burner and use the laser to burn custom graphics onto the top of the disc. I also made the command decision to use COTS cd sleeves instead of CD Jewel cases or slimline cases. The plastic ones are more expensive, always crack, and are pretty much useless from the start since most people seem to rip their CDs nowadays anyway. Sleeves protect the disc, come in many colors, are far less expensive, even cheaper in bulk, and perhaps best of all can be printed on directly though ordinary laser and ink jet printer.

The system runs Windows and Ubuntu. Additional drives are interchanged using hot-swap SATA drive modules.

System Pros

  • Inexpensive initial fixed cost of hardware parts and software licenses.
  • Inexpensive variable cost per disc since LightScribe labeling uses the drive laser instead of ink. There are no costly consumables to replace. (Ordinary LightScribe media purchased in bulk works great.)
  • Quick data, audio and LightScribe replication using 8 concurrent burners.
  • Doable by anyone capable of building of PC with a little time can build one.
  • Functions beautifully as a normal desktop computer.

System Cons

  • Not completely automated like some commercial units because disc loading, unloading and flipping (if using LightScribe) is a manual process.
  • Still uses CD-Rs. These are not the same as commercially pressed mass media discs, but a lot cheaper.
  • (This one is only applicable to audio.) I’ve yet to find inexpensive parallel burning software that can handle DDP images. (The standard in “Red Book” audio CD mastering.)
  • Since LightScribe labeling uses the drive laser instead of ink, disc labels are grayscale only. (Note: You have a lot of options in disc color, though, so it’s not a big deal. Just use your creativity.)

Replication Process Overview

Label four empty CD pancakes to manage the assembly line replication process. If you don't you'll get your disc piles confused!

My primary purpose for this buildout is to replicate audio CDs as quickly as possible for Sonic Binge Records: the awesome music production company. In particular, I need to quickly replicate a pancakes worth (usually 25-50) of audio CDs as inexpensively as possible. After much trial and error with the process, this is what I’ve found works best.

  1. Create final CD master image. (For me that’s using WaveBurner on a Mac. For replication purposes it doesn’t really matter as long as the master is good.)
  2. Take four empty CD pancake containers and label them “Blank”, “Burned”, “Labeled”, and “Ready” to create an assembly line process. You can of course save these for future jobs.
  3. Use Nero Burning ROM to replicate batches of 8 at a time. When they’re done, be sure to put them in the “Burned” stack so you don’t get burned discs confused with “Blank” discs.
  4. While they’re burning, create a square grayscale graphic for LightScribe burning. (Free label creator software is available, though anything like Photoshop works too. I usually use a combination of Photoshop and Acoustica.)
  5. Use Acoustica to label batches of 8 at a time. Each batch will take a while. Full-disc burns seems to take around 30 minutes per batch: much longer than the data/audio side of a standard CD-R. Moved discs to the “Ready” pile when they’re done. (Note: The “Labeled” pile is for discs that have been LightScribe labeled but not burned with data or audio. You can end up in this situation when using multiple computers to do burning.)
  6. While they’re burning, use your favorite document application to design your printed CD sleeves. I’ve started buying color variety packs in bulk packs of 300 to keep options high and costs down.
  7. Bulk print the entire order of sleeves in a single run. As long as you can set the size of the feeder tray, your existing feeder should work fine. (CAUTION: remember that the “window” is made of plastic, and can melt if exposed to heat. Think twice before trying your laser printer. 🙂 )
  8. Take discs from your “Ready” pile (as they finish getting labeled) and slip them into sleeves to create the final product, suitable for general distribution. The imaging lasering adds a great, distinctive touch, and of course you can get as creative as you want with the sleeves, too.
  9. Done! (aka beer time.)

Costs

  • Fixed: ~$1K for the machine build, with about $400 of that just for the burners. I reused/reposed parts from old junker machines where I could, and could have saved some money by buying online. I was in a rush and just went to the store.
  • Variable: Roughly $0.40 – $1.00 per disc, depending on the disc quality, packaging, ink etc. you decide to use for each project. (All things considered, the $0.40 version looks pretty decent!)

Closing Thoughts

If you’re a musician without computer skills I would not recommend attempting this project, but if you feel fairly comfortable putting together machines, it’s honestly not that hard. It’s just a PC, after all. (Disclaimer: I do have a degree in Computer Science and Engineering, so my perspective of “not that hard” may be a bit skewed.)

I hope you’ve found this rough how-to guide both inspirational and informative. It’s very useful to have a replication machine handy, and if you’re actively working with people on projects intend for distribution it’s a great investment!

Please use this comments section for all your general comments and questions and I’d be happy to address them. Thanks for reading!

Singletons Cause Cancer

It’s been said before. I’ll say it again. The singleton pattern sucks. From a pragmatic point of view, it has two primary drawbacks: reuse and testability.

Reuse

A public static getInstance() method is, by definition, statically bound at compile time. Since you can’t override static methods, reusing singleton code via inheritance means you’ll need to create a new getInstance2() method. No matter how creative you get with this method name, you have to accept that users of your code will periodically call the parent types public getInstance() method instead of your spiffy new getInstance2(). Working off an interface largely becomes a moot point since the developer must know the exact type of singleton they want to use at compile time in order to invoke the correct getInstance() method.

How do you configure a singleton without a parameter to getInstance(), which would not be consistent with the intentions of the pattern? Since the instance is constructed internally using a non-publically-accessible constructor, there isn’t a convenient way of introducing configuration information before it’s created.. unless the singleton is aware of a configuration source at compile time with yet more static binding. This makes the code very inflexible, as developers intending to reuse it will be at the mercy of your pre-chosen configuration mechanism, which may not be appropriate for their circumstances, or even unit testing.

Testability

Unit tests generally require control over the lifecycle of the class under test to fully validate proper state transition and contractual validity. Since you, the master of the known universe, are writing the software, you’ll certainly write negative scenarios into your unit tests to assert proper failure handling. If intentionally introducing a negative test results in an irrecoverable state, how do you throw out the singleton and start the next case with a new one? You can’t. What if your test case is creating a tricky concurrency scenario emulating multiple systems within the sandbox of a single JVM? You can’t (trivially). What happens when you discover you need multiple instances of the singleton within your application? You can’t. Time to refactor.

Additionally, unit testing of code using static singleton dependencies has a high potential of awkwardness due to an inability to swap out implementations for mock objects. Under the principle of designing for testability, quality and maintainability, hackishness is not a quality to aspire to.

Conclusion

Singletons can be hazardous to your health, seriously jeopardize your family’s safety, and have been classified as ‘terrorist patterns’ by the U.S. government. The fact that an application only needs one instance of something does not mean the object should be designed that way, and there aren’t very many scenarios where singletons are appropriate. Do as the Jedi do and use them with consideration and responsibly.