Makerbot build


I'd highly recommend this kit to anyone interested in 3D printing.

The quality of the documentation on the Makerbot wiki is excellent. I don't want to compete with that, so I'll just post some photos of my build and some of my experiences, rather than make a step-by-step recap.

It took me about 2 and a half days work to put it together by myself. If you have multiple people that may reduce a little bit. Some of the tasks can be done in parallel, but not all.

There are two main parts to the build, the hardware and the electronics. The hardware is pretty straightforward and can be done by anyone with patience and care. The electronics are trickier, and soldering experience will definitely help.  At a minimum I'd recommend not attempting it without having an electrical guru you can call for troubleshooting.


I cleared a nice big work area before I started. I'd offer the following tips:
  • Adequate lighting is a must.
  • Get a bunch of containers for holding small parts. I used about a dozen plastic takeaway containers to hold all the nuts, bolts, etc. The takeaway containers are especially useful, since I can pop the lid on and keep unused parts together.
  • A quiet area is essential. So many small parts and delicate tasks are involved, such as the surface mount pick-and-place,  that I wouldn't even consider doing this project where lots of people are walking past.
  • Use a tablecloth to avoid scratching or staining the surface of your workspace. This project involves glueing, lead paste soldering and eventually hot-melted plastic. All things you want to keep away from the good furniture.
  • Take notes as you go. This is helpful in two ways. First, it gives you a record as to what you did or how you overcame problems which you otherwise forget about, and have to resolve next time. Secondly it allows you to be able to stop and come back to your project in the future without having to worry what stage you were at. Plus, it's fun to read your notes later and remember the construction process, and how you solved different problems.
  • Have a pair of vernier calipers for measuring parts. I got a cheap plastic set from Jaycar for about $5. These are incredibly handy when it comes to identifying nut and screw lengths and sizes.


The box arrived in reasonably good condition, with a small tear. Fortunately the Makerbot guys did a fantastic job of packing, with all the delicate stuff in individual boxes and bags, so I didn't have to worry that anything had fallen out.

Inside was a nice signed note from the designers.

Interestingly I actually got a replacement part which was sent later (the plywood plate leaning on the box) before I got the main kit. According to the USPS tracking website, it took 8 times longer for the box to get through the Australian Customs, than it did to cross the Pacific Ocean. So far as I can tell it wasn't openend or inspected during transit, and the only hold-up was paying the GST on the package. This is a point worth bearing in mind for ordering in stuff from overseas. Is it really worth paying for the extra shipping to get speedy transit and tracking? In my case it went from Brooklyn N.Y. to Sydney in less than two days. It then spent 13 days stuck in the customs facility before being released. The cheaper shipping options may start to look good at that stage.

Body Assembly:

The body is constructed out of lasercut plywood and locks together with tabs. Rather than glue the panels in place, they use a nifty captive nut and bolt system to secure the panels. The result is a extremely sturdy setup.

The pulleys are constructed out of lasercut wood which is glued together with PVA. There is a custom jig to help clamp them in place. Inside each is a skateboard bearing.

The Z-axis in the machine consists of four leadscrews made of common threaded rod.

Assembly Tip:

When assembling the lead-screws you have to measure the spacing between the two bearings exactly. It can be tricky to do this by laying it flat, since you have to line up both ends with the ruler.

Instead, use the two plywood squares as a support for the bearing assembly, then place a ruler on the top of the plywood and measure to the top of the second bearing. This means you to only have to line up one end!

X & Y Stage build:

The X and Y stages are brilliantly designed.

Assembly Tip:

One piece of advice, don't over tighten the bolts. The interlocking tabs keep the structure rigid, the bolts are only there to stop the pieces seperating.
The first time I assembled it I did up all the bolts way too tight, and it had too much friction on the axes.

Also, the plastic bushes that the steel rods ride in are a little tight to start off with. Once I assembled each stage I took the rod and ran it backwards and forwards for about a minute with each axis. This loosened it up significantly and made it move much more smoothly.



Assembly tip:
To make life easier when it comes time to mount the circuit boards, attach the spacers with some hot-melt glue. Use the bolt to ensure the hole doesn't get blocked.

Electronics Build:

All the electronic kits came individually bagged and labeled.

First off I soldered up the USPTinyISP programmer from LadyAda. I'm a big fan of her work. It was really simple to put together and it worked the first time.

Next up I soldered together the 6 opto limit switches for the machine. Hint: if you have an Arduino handy you can use it as a 5V supply to test the switches.

Next up was the stepper motor controller. This involved surface mount soldering. The instructions on the RepRap wiki for surface mount reflow soldering are excellent and a must read.

I'd previously spent a lot of time designing a temperature controlled skillet for the soldering. I'd had visions of automatic temperature profile following and automated operation.
On the day however, it was a little tricky to handle and I just ended up putting the controller in manual mode. In future I think I'll continue to do this, since the final reflow stage is a little tricky and I spent a lot of time very gently poking at components with toothpicks.

This was the first time I've done reflow soldering, and I was surprised how easy it was.

The procedure is roughly as follows: First you use the syringe and place a dab of solder on each of the SMB pads on the board.
Then, using a long pair of tweezers and all your bomb defusion skills you select the components one by one and place them on the pads. The paste is goopy enough to hold them in place.

When all the components are in place the board is carefully transferred to the hotplate, and the power is turned on.

I didn't get a good photo of it at the time, but the solder goes through a couple of phases. First it is pasty and grey, then when it heats up it becomes really runny and spreads out over the board. (At this stage I started panicing thinking I'd used too much past and I was going to get bridged joints)

When the solder reaches a certain temperature, you can see each component 'pop' and the solder instantly changes colour from grey to silver. At that point, since the solder is fully molten the surface tension pulls each component into alignment above their pads.

At this point it becomes easy to fix certain errors. For example I had one resistor which was skewed and joined to its neighbours pad. A little nudge with a toothpick pushed it back, and the surface tenision recentered it nicely.

For the chips I usually had one or two bridged pins per chip. I played with the chip a (very) little using the toothpick to solve what I could, but mostly I fixed bridges later using copper braid and my soldering iron.

The cooling phase is then initiated:

The board looked pretty good. I took this opportunity to fix the bridged pins you can see on the chip. I held some copper braid against the bridge and pushed the iron on top. The solder melted slightly and was sucked up into the braid like a sponge. Sometimes the pins look too dry after using braid, so I applied a really small amount of solder to the iron, and stroked the iron along each dry pin, being careful not to cause more bridges. This cleaned up the chip nicely. Once that was finished all the through-hole components such as plugs, sockets, etc. were soldered.
Note the bridged pins on the chip in the left photo.

I did the same surface mount soldering for the motherboard.

Assembly Tip:
The motherboard has some parts really close together. The two resistors above the SD card socket ended up soldered to the metal flange by mistake. You may want to use a meter to check for sure.

I completed the motherboard and started connecting up the cables.

A Very, Very Important Switch:

Something that didn't occur to me until it was much too late, was that there is a very important switch in the machine. That switch is the mains voltage selector switch.

I neglecting to set it to accommodate our much more manly Australian electricity, and thus created a series of sounds which can only be described as snap-crackle-pop. Thankfully the RepRap boards weren't damaged, only the computer power supply.

Although I only have myself to blame, I still have to post this map of the mains voltages around the world. Note how pretty much everybody in the 'frickin world uses 240V? C'mon United States, if Laos can get it, why can't you?

My local computer store had a few 400W power supplies that fit the plywood faceplate for under $40. Unfortunately the only ones they had also had huge fans taking up one side of the base. In the Makerbot, this is directly blocked by the plywood base-plate.

So I opened up the new power supply and disconnected the wires for the big fan. I wouldn't recommend anyone else do this, I'll be keeping a close eye on it until I'm sure it's not overheating.
Also, I had to re-drill the holes on the plywood panel by about 5mm too. It appears that the power-supply standard screw mountings aren't quite as standard as they could be.

The finished replacement power supply. Notice the complete lack of suicide switches on the back.

Plastruder Build:

Next up I started constructing the Plastruder.

First step was to construct the extruder controller PCB. This is a sweet little board. It's powered by the same microcontroller as the Arduino Duemillenove, and it has enough onboard drivers to handle two bidirectional motors, drivers for 3 other loads, temp feedback from the thermistor, and RS485 comms.

The Makerbot guys actually sent me too many of these (and too few stepper motors). In hindsight, I'm pretty pleased, and I'm planning to use one of these boards to make a sweet-ass robot controller in the future.

Assembly Tip:
For surface mount components, it can be tricky to identify them. In the case of the capacitors it can be really tricky, since they don't have any labels on them.
To identify them I used my capacitance meter, with some double sided tape on a piece of card to hold them in place for testing.

The plastruder kit is made from laser cut acrylic. It's awesome, and fairly easy to assemble, but it's worthwhile taking it very slow to avoid cracking the plastic.

The assembled heater barrel. When the RepRap team switched from fire cement and JBWeld to temperateure resistant Kapton tape, it made a huge difference to how easy it is to construct an extruder. If I don't like the way I assembled it, I can just unpeel the tape and do it again!

The assembled extruder. The plastic filament feeds in through the top and is clamped between the metal gear of the motor on the left and the pinch-wheel on the right.

With the circuit board attached.

By this stage things had gotten a little messy.

All done:


Very important. The motherboard actually controls the PC power supply from one of its output pins, and gets its own supply from a permantly on pin.

 Don't worry if you don't get power lights coming on when you power up. After you have downloaded the code into the motherboard controller you will be able to turn the supply on and off.

First Extrusion:

I fired up the ReplicatorG software and opened the control panel. Temperature feedback looked sane, so I ramped up the power as per the wiki. When I was satisfied with the heat in the extruder, I input 255 as the motor speed (the maximum), and hit forward. Slowly the filament started creeping past the pinch wheel and down into the barell of the extruder. After a couple of long, agonizing minutes filament started coming out the nozzle onto the work table. Success!

Filament being fed into the extruder, the first extrusion, and the first wisp of smoke!

Troubleshooting the Extruder:

The extruder kept slipping on me intermittently. It would extrude fine for a while, but then would just stop. Pushing on the filament would start extrusion again, but it would not be reliable for long term prints. I could come back and find that 2 or 3 layers were missing from a printed object.

I kept tightening the pinch wheel, but it would eventually give the same behavior. I wasn't 100% sure what the cause was. Some people had said their thermistor was off, and others had removed the idler wheel and used double-wide versions. Both might produce the symptoms I was seeing, but I was pretty sure that the pinch wheel was just not close enough.

Then I saw on the Makerbot forum that other had to file down the idler slots on their extruders too. That gave me the confidence to start hacking bits off mine.

I took all the acrylic plates which have the idler slot and used bolts to hold them together. Using a rounded file I slowly removed some of the acrylic towards the left.
After reassembly the extruder behaved quite nicely. I've had to re-tighten it once or twice, but it's pretty reliable. I've printed 4 dodecahedrons without any intervention.

Here's what the filament looks like coming out of the new pinch wheel. You can see the grips on the filament left by the gear wheel. Now that's traction!

A new sport: RepRap by Hand:

Before I got my new stepper boards I decided to have a go printing by hand. I held the build platform underneath the extruder and moved it backwards and forwards. It was way harder than I thought, the filament was extremely quick to come out.

Here's my sample object, a square.

Using Generation 1 boards with the new controller:

While I wait for my new boards to arrive, I scrounged up my generation 1 electronics and decided to use them.

After some troubleshooting, I realised that the polarity of the new boards is different from the old. No problem, just a simple software fix.

The code already has the option for using different version stepper boards, but it doesn't let you mix and match. My Z axis is the latest generation, whilst my X & Y are gen 1, so I had to change it manually.

The following code changes were necessary in the steppers tab of the arduino sketch.

//looks at our endstops and disables our motor if we hit one.
void check_endstops()
  if ( (x_direction && read_switch(X_MAX_PIN)) ||
       (!x_direction && read_switch(X_MIN_PIN)) )
    digitalWrite(X_ENABLE_PIN, STEPPER_ENABLE); //GS --Change here for old boards vs New boards Enable toggle.

  if ( (y_direction && read_switch(Y_MAX_PIN)) ||
       (!y_direction && read_switch(Y_MIN_PIN)) )
    digitalWrite(Y_ENABLE_PIN, STEPPER_ENABLE); //GS --Change here for old boards vs New boards Enable toggle.

  if ( (z_direction && read_switch(Z_MAX_PIN)) ||
       (!z_direction && read_switch(Z_MIN_PIN)) )

// enable our steppers so we can move them.  disable any steppers
// not about to be set in motion to reduce power and heat.
// TODO: make this a configuration option (HOLD_AXIS?); there are some
// situations (milling) where you want to leave the steppers on to
// hold the position.
inline void enable_steppers()
           (delta_steps.x > 0)?STEPPER_DISABLE:STEPPER_ENABLE); //GS --Change here for old boards vs New boards Enable toggle.
           (delta_steps.y > 0)?STEPPER_DISABLE:STEPPER_ENABLE); //GS --Change here for old boards vs New boards Enable toggle.
           (delta_steps.z > 0)?STEPPER_ENABLE:STEPPER_DISABLE);

//turn off steppers to save juice / keep things cool.
inline void disable_steppers()
  //disable our steppers
  digitalWrite(X_ENABLE_PIN, STEPPER_ENABLE); //GS --Change here for old boards vs New boards Enable toggle.
  digitalWrite(Y_ENABLE_PIN, STEPPER_ENABLE); //GS --Change here for old boards vs New boards Enable toggle.