Saturday Project: Assembling a RAMPS 1.4 board
Every RepRap printer needs a brain. Most controllers for a modern RepRap (that is, a flavor of Mendel or Huxley) tend to be microcontroller-based, around either a bare Atmel AVR chip or an Arduino MEGA development/application board. If you're looking for a thorough treatment of different electronics options, you can find a list here, but there are really only three solutions out there right now, ready to be turned into a bot: Gen6, Sanguinololu, and RAMPS.
The good news is that as the community grows, we're seeing more and more standardization in terms of electronics setups, and each of the popular hardware configurations is mutually compatible -- that is, firmware running on one setup can be loaded onto either of the other boards with little or no modification. This fact is leading to an explosion of firmwares, since most developers have some reliable and basic assumptions about what the hardware will look like. I'll resist drawing a comparison between this situation and that of the PC industry in the early 80s, but here we are.
I chose RAMPS for a several reasons:
- RAMPS is modular, which means if a better Arduino (I'm looking at you, Arduino Due) comes around, I don't have to ditch my entire electronics setup to upgrade
- RAMPS is more expandable, supporting one more high-current channel (for a total of 3) and one more stepper motor (for a total of 5) than either Gen6 or Sanguinololu. This means that if I want to do crazy shit like run two extruders or a firmware-controlled fan, I can.
- RAMPS has scads of spare GPIOS: four auxiliary IO ports, and headers for up to four servomotors.
- RAMPS has a more capable microcontroller core than the Gen6 or Sanguinololu, with quadruple the program memory and double the RAM compared to the Atmega644P that forms the basis of both of these boards.
- RAMPS sports a standalone, native USB controller. The Arduino MEGA board doesn't employ a flaky-ass FTDI usb-to-serial chip or its semi-functional host-side drivers. This alone is worth the price of admission.
I got the RAMPS 1.4 kit, unassembled, from Ultimachine. It's unbelievably complete, and well worth the somewhat-high price tag. I balked a little at the $162 bill, but after seeing that included optical endstops, Pololu drivers, and the Arduino MEGA, I bit. Assembling the kit took me a good four hours or so, spread out over the whole afternoon. With a good iron and a nice, sharp pair of tweezers, the SMD bits went on very quickly. Hands down, the worst part of assembly was all the damn headers -- this board has a million of 'em, and I'm a perfectionist. The have to be straight.
Verdict: if you want RAMPS for your bot and aren't moderately-to-highly skilled with a soldering iron, get it assembled and save yourself the frustration of putting it together.
First-timer suggestions
Are you still trying to figure out what to buy your nerd for Christmas? Or perhaps you don't yet have enough plastic tchotchkes filling the empty spaces on your desk? Maybe you're even keen to begin rapid prototyping useful things, but don't have the resources to build a RepRap from scratch?
eMaker Huxley, round two
Currently running on IndieGoGo is "round two" for the eMaker Huxley, this time with 100% more Adrian Bowyer:
http://www.indiegogo.com/RepRapPro-Huxley-3D-Printer-Kits
Printrbot
Also underway over on Kickstarter is the already-heinously-successful Printrbot campaign:
http://www.kickstarter.com/projects/printrbot/printrbot-your-first-3d-printer
I don't want to sound like an ad for either of these outfits, but they'd both make solid choices if you were looking to build yourself a 3D printer all by yourself.
The eMaker Huxley, Part One
Okay. I've never actually written a long-form review about anything in the past, but those who check up on this blog from time to time will know that I've been promising a review of my eMaker Huxley RepRap 'bot for the past couple of months, ever since it arrived at my doorstep sometime near the beginning of August. If you haven't found anything better to do, here it is!
Overview
The eMaker Huxley is one of only two commercial Huxley kits out in the wild right now (the other being the TechZone Huxley, which has been on the market for quite some time). Since the eMaker Huxley is still technically in "beta", you can't actually go out and buy one, but those who invested startup funds via eMakerShop's crowdfunding campaign are still being served. I was pretty early in line to receive my kit, so do bear in mind both that this kit is still beta hardware and that mine was very early in the production run -- things will likely change about this kit before it's available via the eMakerShop website.
First Impressions
I'll start this review where I started with the printer -- a box of parts. I'm not absolutely sure that I got what I was expecting, here. My past familiarity with the term "kit" included a sentiment somewhat along the lines of "we did most of the work for you, here's documentation on the rest". The eMaker Huxley kit is not that. Now, this isn't necessarily a knock; I'm more than willing to admit that I've probably been coddled in the past by kits like [this]. In fact, this kit is probably more than most experienced RepRap'ers is used to in terms of completeness and support. Be that as it may, definitely felt an initial shock of, "what in the world have I gotten myself into?".
As that wore off, I began investigating exactly what's in the box. The folks at eMakerShop have invested an apparently herculean effort in preparing these kits, especially for such a small operation. All the bits and bobs were sorted by type and build phase: electronics here, structural components there, RP parts here. Most of the bags were labeled with either a paper tag or indelible marker, and every marked bag was present in the manifest that accompanied the kit. Nothing was out of place and there was nothing missing, which is no small feat for a kit consisting of so many pieces.
Packing was neat and orderly, with enough padding such that none of the more fragile parts (for instance, electronics) was damaged in transit from the UK. You know how sometimes, you open up a package and say, "Shit, I've paid for a shitty, thrown-together shitstorm of a shitty kit that's going to cause me nothing but angst. Shit"? Maybe that hasn't happened to you. At any rate, this wasn't one of those times.
Assembly
Okay, there's no way I'm going to do this segment justice. Just this one alone could comprise a week's worth of standalone posts, and frankly I'm just not that good (or consistent) of a writer. There are, however, some important points to make about the assembly process.
When I got my kit, the instructions over on eMakerShop's wiki were in a state of massive flux. Since then they've stabilized greatly and are now much more representative of what new customers will encounter when they begin their builds. Even so, my assembly process required quite a lot of guesswork for situations where the instructions were either vague, incomplete, or missing altogether. For instance, I had to suss out which RP parts represented my endstop mounts, followed by where and how to mount them, with exactly one picture (taken from a really inconvenient angle) to guide me. This is almost certainly a situation where if you've dealt with it before the answer seems obvious, but where a complete newbie will agonize.
Several of the parts in the kit are fantastically fragile. The two glass bead thermistors are tiny, difficult to handle, and very, very delicate. The X-axis motor and idler mounts (both of which are RP parts) have thin sections that are easy to damage during assembly -- in fact, I managed to irreparably damage my X-axis idler during construction. In all, a perhaps unnecessary amount of caution is required to complete a build due to some parts' fragility. There are plenty of folks on the forums who broke their thermistor (or some other bit) during construction and are now beached, waiting for a replacement part to come from eMaker.
Lastly, there were more than a few extra parts included in the box, apparently to make me wonder exactly what it is I managed to screw up. Even after following the instructions to the letter, comparing my 'bot the ones in reference pictures and scrutinizing every pixel, I came up with several parts that never got used. That includes RP parts, nuts and washers, and one-off parts that seemed to occupy their own bags but were never called for. I was unbelievably paranoid during my first week with this 'bot that I'd missed something important during construction and that it'd catch fire or something, but I guess it's better to include too many bits in a kit than to leave it incomplete.
I'll leave you to search my previous posts for images of the bot-under-construction, but here's a more recent photo of it, completed, sitting in my garage at its battle station:
Some more thoughts about operation of the Huxley and the possible pitfalls of doing so in the second half of this review!
…In which your humble host apologizes for his truancy
It's been an indefensibly long period of time since I last wrote anything on the ol' blog, and not for lack of things to post either. I've had lots going on, mostly RepRap-related stuff. And, yes, the review of my eMaker Huxley is still on the way!
Over the past month or so, I completed my 'bot. I christened it Gizmo after the classic 1984 flick Gremlins since the two share an awful lot of qualities: both are small and cute, cause a lot of trouble, shouldn't ever be allowed to get wet, and shouldn't be fed after midnight (the noise distracts my girlfriend from sleep). True to form, I've found out the most annoying little secret of RepRap: the long, error-prone process of calibrating for optimum print quality. Seriously, this is where I think the project needs the most work; it takes so long to get things right, and most of that time is spent being totally frustrated. One day when we have 100% reproducible setups, it won't be as much of an issue, but as of now I'm just glad the whole ordeal is behind me. I've arrived at very acceptable results in terms of print quality!
First, machine porn.
Cute, huh? I spent a lot of time making all the cables pretty, and to be quite honest it's not quite as tidy-looking now as it was on that first day. I've posted this photo because it's the most flattering, though I'm sure I won't be able to avoid posting more up-to-date ones soon. After mostly exhausting the stock of white PLA I got as a starter from eMaker, I bought a 5lb spool of translucent blue PLA from Ultimachine, which quite frankly kicks butt. A couple of representative prints:
None of these prints had any cleanup done. The spirograph coaster was done before I'd put too much work into calibrating the machine, which is why it's a bit goopy-looking (my e_steps value was far too high). The two blue critters are shown exactly how they came off the printer -- no cleanup was done to either (they didn't require any!). I still have plenty of work to do to get things perfect. I've also written a handy perl script to make generating gcodes a little simpler, but more on that in a forthcoming post!
Now with more build platform
The last post noted that I've constructed and fitted the heated print bed. Check it out!
The next big thing
Or should I say... little thing? This week marked the arrival of the RepRap Huxley kit that I purchased from eMaker via their crowd-funding campaign over at indiegogo. Shameless kickstarter ripoff website aside, the project was a fantastic success for eMaker and mine was among the first "beta" kits to be shipped out -- over 300 were ordered after several technology blogs picked up on it a couple of months back. First thing's first: pics or it didn't happen.
As you can see, the bot is nowhere near complete yet. I've actually put in another few hours' work on it since this pic was taken, constructing and fitting the heated build platform just today. It's shiny and impressive, and I love shiny things. Even though I've been working on it for the better part of a week, there's still an awful lot of stuff left to do: assemble the extruder and electronics, wire the thing, then start the process of commissioning it so I can enjoy repeatable prints with a minimum of fussing about with the mechanicals. I'd say at this point I've put in 15-20 hours towards assembly, with another 10 or so to go. I'm not sure I was expecting so much of an outlay when I purchased the kit, and I'm still nowhere near actually printing anything! All that said, it's been fun (and only a little bit frustrating) so far and I'm eager to finish it up so I can start printing.
You'll notice that, if you clicked the link above or the RepRap wiki's Huxley page, this bot only bears a passing resemblance to any other Huxley design out there. It's obvious to me that Jean-Marc and the folks over at eMaker have put a substantial amount of time into this design, improving upon what was already published, optimizing for manufacturing, and generally ironing out the bits that make first-generation Huxleys a pain to assemble. Calling this a Huxley at all might even be a stretch, but I'd be pressed to give you an alternative name.
Once I've got the 'bot fully built and commissioned (perhaps even this weekend!), I'll write up a post combining my thoughts into some sort of review. Plus, there'll be pictures. Lots of pictures.
As promised, schematics
It's been a couple of weeks since I've posted, but I'm taking a break from the all frantic hellishness to finally post the schematic and layout for the IV4LW. This was designed in EAGLE; I'm making a PDF of the schematic and all of the Gerber board files available for download here. If you are interested in the EAGLE source schematic and layout files, leave a comment!
Schematic PDF - Gerber layout files
IV4LW Bill Of Materials
Just a short post containing the BOM for the glowy green clock, in case you're curious about what actually goes onto the board. This'll be included as part of my project documentation archive.
QTY DESC DIGIKEY P/N ------------------------------------------------------------ 1 dc input jack CP-002APJCT-ND 1 bridge rect DF04SCT-ND 2 220uF 25V smd cap PCE3902CT-ND 1 7805 497-1168-1-ND 6 0.1uF 0805 311-1140-1-ND 1 inductor 553-1073-1-ND 1 mosfet FQT7N10LTFCT-ND 1 power diode SS110-TPCT-ND 1 22uF 100V smd cap PCE3968CT-ND 2 100k ohm 0805 RHM100KARCT-ND 1 4.7k ohm 0805 541-4.7KACT-ND 1 10k ohm 0805 RHM10KARCT-ND 2 33pF 0805 709-1174-1-ND 1 16MHz crystal X176-ND 1 atmega328p ATMEGA328P-ND 1 1208 LED 160-1169-1-ND 1 120 res ohm 0805 HM120ARCT-ND 2 MAX6920 VFD driver MAX6920AWP+-ND 2 1X11 female header S7009-ND 2 68 ohm 0805 RHM68ARCT-ND 2 3.3V zener SOD-80 ZMM5226BDICT-ND 1 1.5k ohm 0805 RHM1.5KARCT-ND 1 usb header A31727CT-ND 3 tactile switch SW400-ND 1 0.1uF 100V 1206 478-1529-1-ND
Glowy green code
It annoys me to no end when a talented, creative engineer creates something awesome but stops short of sharing what he did with the world at large. It's so selfish and lazy! For the longest time, I got away with my own lack of documentation by justifying to myself that I had no proper venue in which to publish my own work -- no webspace, no domain, naught but a humble dropbox and github account to provide public exposure. Then one day at work I realized that hosting is cheap, domain registration is often free, and blogging software like WordPress is incredibly easy to use. In short, the rationalizations I'd provided to myself for being lazy had evaporated.
So it's time for some documentation! Yay, documentation! Party!
Now, earlier in this post I mentioned github. Point of fact, I've actually been publishing my projects' C and perl sources all along, as a byproduct of the insane convenience that github provides in terms of tracking. Cutting to the chase: you can get at my sources here. Feel free to grab it from github (use the 1.3 branch!), but hit the break and keep reading for the discussion if you're interested.
Mission complete!
It seems sort of silly to start out a blog focused on my electronics projects with a completion post, but the fact of the matter is that it's time to put this project to bed. For the past three or so years, I've been tinkering with vintage Soviet alphanumeric VFD tubes, initially with the intent of producing a clock and later (as the project dragged on) a more general-purpose text display. The device now does everything I want it to, so it's time to finally turn over my documentation to the public domain -- something I intended to do a long time ago.














