Archive | April, 2019

Heated Build Platform (Take 3)

23 Sep12

Heated Build Platform (Take 3)

Some months ago I added a Heated Build Surface / Platform to my Ultimaker and after getting the power supply right it's been a great addition to a already good printer. I can now switch between ABS and PLA print materials without any problems but overall the setup has felt a little "flimsy". I didn't know what to do with it until recently.

A couple weeks ago, I organized (what I think is) Norways first 3D Printer meetup and it was great fun to see all the different printers present. Mendel, Prusa, Huxley, Makerbot TOM, MB Cupcacke, a huge BFB Touch as well as two Ultimakers was on display and about 38 ppl came to watch. The initial idea was to just meet up with a few ppl from, but given the general interest and this being set up through Bitraf/Meetup a lot more ppl came to see.

Looking at the printers and talking to others I started thinking about swapping out the glass surface for an aluminium surface. My architect friend Jim commented "why do you use glass? It basically resists heat?" and then William (that also has an Ultimaker) said that he had access to cutting aluminium at his school… A week later he had it ready. This weekend I set it up and I can totally reccomend using Alu over glass as a surface!

My new aluminium surface heats up faster and distributes heat much more evenly. Wheras glass would shatter from thermal stress if it was bigger than the (20 x 20 cm) MK1 PCP heater, the aluminium surface distributes the heat MUCH more evenly. This allows me to use the full 21 x 21 cm of the Ultimaker - a very nice bonus.

Below are a few images of the new setup and how I did it. Click any image to zoom.

The 22 x 22 cm aluminium plate is 5 mm thick. I first taped the MK1 PCB on top, marked the holes and then drilled the four 3mm holes. I also counterbored with 5.5 mm so that the top of the screws would be flush with the surface.

I use four 16 x 3mm screws and a nut to hold the PCB tightly against the aluminium sheet. I then stick these four screws into matching holes in the plywood surface that I use to adjust the height/levelling.

Here you can see the screws that I use for the levelling. They go through the "stock" Delrin pieces, but I've swapped the direction so I adjust them from below. this makes it much easier to tweak on the fly once the print has started. After applying a fresh coat of kapton to the bed, I printed the hollow pyramid that use for calibration and it turned out great. The price for such a sheet of 5mm aluminium is also not very scary. I'm paying something like $35 for mine, excuding the cutting. In other words - I now have both retraction and the build surface pretty much under control and a V2 nozzle is on it's way too.

Below is a picture of my extruder-drive designed by Bertho  It's a really great mod that does wonders for retraction, but I still have some issues with filament grinding and I need to solve this 100%. I this I'll look into some Wades extruder-feeders next to see if that can help the ever annoying problem of material grinding…


3D printing with Color!

08 Sep12

3D printing with Color!

After having a 3D printer for some months I've realized that it's so much cooler to use plastic with the "right" color, rather than just printing in black and white. If you are printing with ABS plastic, the selection is somewhat limited and your best choice is shopping Makerbot (27 colors) or Diamond Age (22 colors). However - if you're printing with PLA plastic - you're in luck! There's a massive selection of great suppliers and you can also have translucent colors with varying finish. I've gone totally overboard in buying different PLA filament samples. At the moment, I have no less than 47 different colors!

I've found it really hard to find the right color for my projects. Many of these colors have fancy sounding names that make it harder. Another thing is that some suppliers take filament pictures in a dark room with a crappy camera, while others use high quality cameras and experiment with the lighting to bring out the colors. What I've really wanted is a single picture showing colors from multiple vendors in different lighting settings so that I can see how much reflection there is in Bling Bling Gold and how translucent the Amber Red really is. To help others wondering about the same, I figured that I'll make a simple guide by sorting the colors that I have and photographing them all in the same lighting conditions.

Below you can find pictures of all my filament samples photographed outdoors in sunlight. You can then compare that with the list below that shows the name of the colors and their supplier. As you can see from the list, my favorite suppliers are Faberdashery (offering 35 colors) and Diamond Age (offering 23 colors). Faberdashery is the shop that I would recommend to beginners as they ship by the meter! The minimum order is 5 meters, but being able to order by the meter makes me prefer from Faberdashery over Diamond Age. I can't really order a roll of 100 meters just to test a color to see if it works for a project, so it would be great if all PLA vendors realized this and offered "Sample Pack's" with 5-10 meters of each color that they stock (hint, hint…) If they did, I would probably buy more from them.

Click any of the images to go to Flickr for the high-resolution version (5000 pixels+). 

Note how the translucent colors change from white to the darker background

Notice how the translucency does not show really well here?

List of colors (use the number on the white base as reference):

  1. Robot Silver(Faberdashery)
  2. Silver (Ultimaker)
  3. Earl Grey (Faberdashery)
  4. Crystal Clear (Faberdashery)
  5. Translucent Natural (Filamentprint)
  6. Glowbug Yellow (Faberdashery)
  7. Glow-in-the-dark (Diamond Age Solutions)
  8. Flexible White (Ultimaker)
  9. White (Ultimaker)
  10. Pearly White (Faberdashery)
  11. Cherry Blossom Pink (Faberdashery)
  12. Punk Star Pink (Faberdashery)
  13. Solid Purple (Filamentprint)
  14. Princely Purple (Faberdashery)
  15. Lilac Pearl (Diamond Age Solutions)
  16. Lapis Blue (Faberdashery)
  17. Blue Translucent (Ultimaker)
  18. Sapphire (Diamond Age Solutions)
  19. Galaxy Blue (Faberdashery)
  20. Translucent Blue (Filamentprint)
  21. Electric Blue (Faberdashery)
  22. Solid Blue (Filamentprint) *
  23. Glacial Blue (Faberdashery)
  24. Blue Translucent (Ultimachine)
  25. Translucent Green (Filamentprint)
  26. Jade Green (Faberdashery)
  27. Emerald (Diamond Age Solutions)
  28. Greenery Green (Faberdashery)
  29. Village Green (Faberdashery)
  30. Green (Ultimaker) ***
  31. Cyber Yellow (Faberdashery)
  32. Mellow Yellow (Faberdashery)
  33. Yellow (Ultimaker)
  34. Solid Yellow (Filamentprint)
  35. Translucent Yellow (Filamentprint)
  36. Buttercream (Faberdashery)
  37. Orange (Ultimachine)
  38. Squeezed Orange (Faberdashery)
  39. Amber (Diamond Age Solutions)
  40. Transclucent Red (Filamentprint)
  41. Fire Truck Red (Faberdashery)
  42. Red (Ultimaker)
  43. Ruby (Diamond Age Solutions)
  44. Woodland Brown (Faberdashery)
  45. Solid Black (Filamentprint)
  46. Bronze / Gold (Ultimaker)
  47. Bling Bling Gold (Faberdashery)

* = is indeed translucent and not solid?

If you have any idea on how to make this more useful to others (or other feedback), plese leave a message below. If you're a PLA vendor that want to send me some samples to include in a future follow-up post, email me at jenschr [at) gmail <dot> com. And yeah - next time I'll use a raft when printing the holders ;)


MK1 heated bed and different power supplies

04 Aug12

MK1 heated bed and different power supplies

I couldn't reach the temperatures I wanted for printing ABS using my MK1 heated bed. The MK1 is a PCB with fat copper traces and simply running power through it makes it heat up due to the resistance of the metal. For ABS to stick properly, I need the heated build surface to reach about 120 Celcius within reasonable time. Today I've tested three different solutions and written up the results in a spreadsheet. The graph above actually makes sense even though you would think that the 425 watt computer PSU would be better than the 360 watt industrial PSU.

The reason is that the KDM 1U 425 power supply isn't really 425 watt. It's split into two "rails" - each with something like 212 watts. This is apparently common for computer PSU's. I asked KDM if I could "pool" the two outputs, but they advised against that. Depending on construction, that can make the PSU unstable to such a degree that it burns and I don't want that… Another thing is that the KDM does not turn the fan on when needed. Not a good sign!

Based on the above I'll use the 360 watt PSU for now. Only drawback is that it's from China and not CE certified. It still seems better built than the KDM though as it turns the fan on when needed. I won't be printing ABS without watching over the machine. I'll also stay with the relay approach even though other users with heated beds don't think it's required. They are probably right, but keeping it won't hurt? I like this extra layer of abstraction and I'll still keep the original (external) PSU to drive the Ultimaker itself. The new PSU is 5 cm tall, so I'll need to print some "legs" for the Ultimaker to ensure proper airflow.


Heated Build Platform for Ultimaker

19 Jun12

Heated Build Platform for Ultimaker

Note: updated description available here! While this is written for the Ultimaker, it should also work the same for any RepRap printers with similar RAMPS electronics.

One thing I disliked with using a Makerbot was it's dependance on printing with ABS plastic. ABS comes from fossil fules and is thus a limited resource. PLA usually comes from Corn and is thus fully renewable and to some degree also biodegradable. This was one of my main reasons to get a Ultimaker in the first place, but then it dawned on me that the 60 degree celcius melting point for PLA was going to be a problem for many of my projects. I had to make my Ultimaker capable of using both plastics: PLA for prototyping and ABS for lasting models.


When you are printing with PLA, all you need is some blue painters tape to print on. ABS however, won't stick to that. In addition - ABS requires that you keep the model warm while printing and ideally it should be allowed to cool off slowly to avoid cracks due to the material shrinking. How warm the heated build surface should be will vary a little based on the plastic, but I found these tables in the Makerbot Wiki a good reference. 110-120 celcius seems to make the ABS that I use stick well.

You can also use a heated surface for PLA, but then you keep it at about 70 degrees celcius. A nice plus when printing PLA on a heated surface is that it requires virtually no force to remove the model once the surface has cooled. What I needed was a Heated Build Platform (or HBP for short).

What and Where

How does one make such a thing? The RepRap wiki has many suggestions but after reading through all the links, there was one design that really appealed to me. It's basically a PCB that barely has any components, but rather lots of copper. When power is applied to the PCB, the copper turns hot - just like in an electric oven or a hair dryer. 

This PCB was designed by Josef Prusa and it's a perfect size for the Ultimaker (20 x 20cm). It also has a feature that I appreciate - it's made for 12 volt operation so no need to mess with AC electricity that could kill you! There are many similar methods used in various industries today and if I didn't want to use 230v, I'd probably get the SRFG-808 from this site (GBP 44).

Josef's design is called MK1 but the wiki also contains an alternate version here is a derivative version with a hole in the center. This one is called MK2. These both work the same, but there's really no need for the hole in the middle. This description should work for both though. After reading some warnings and sad stories from people that bought "cheap" PCB copies on Ebay, I decided to get a MK1 from a reputable supplier that would also give a little back to the creator of the PCB. I didn't find any good tutorial on how to set the heated bed up, so I figured that I'd write how I did it for others to find.

The nice thing about shopping from companies like Ultimachine is that they know what else you need. I also picked up a 100k Thermistor with PTFE sleeving from them to measure the temperature. I also picked up some 100mm Kapton tape for covering the print surface. You can also use thermistors with 10 or 200k resistance or a thermocouple based on AD595. Thanks to Daid's great Marlin Builder, you can adjust your Ultimakers firmware to reflect the correct hardware. Speaking of Daid - if you're not using his Cura software for your Ultimaker - you're missing out Big Time. To me it's been the difference between a good purchase and a bad one!

The Power Supply that comes with the Ultimaker cannot drive both the machine and a heated bed. Due to this, most others have gone the path of adding an additional power supply. Some have even replaced the existing one, but due to the limited space beneath the Ultimaker I had a hard time finding one that could both fit inside as well as provide a decent airflow to keep things cool. What I ended up getting was an external power brick that could deliver 12.5Amps of 12 volt. The PCB only pulls 10A maximum so I figured that would be sufficient. Having two power bricks isn't "sexy", but it does not require any big changes to the Ultimaker's stylish wooden body and it does not add more noise. Also - they had one at my local computer supply store, so I could just pick it up. It's a little pricey at GBP100 / $150 but I still like the solution.

So I had the heating element, a way to power it and a way to measure the temperature. Now I just needed a way to turn it on and off when required. I was thinking of building my own solution, separate from the Ultimaker. The Streacom PSU had both 5v and 3.3v so I could easily add an Arduino Mini to control the heated bed. I would need a screen or at least one 7-segmentd display, some buttons for control and with this I could even pimp my Ultimaker by letting this control some RGB LEDs. Yeah. That's what I'll do! I ordered a bunch of components from Adafruit and Sparkfun, but as I waited for these it started to annoy me that I couldn't combine this with the Ulticontroller.

I started digging and it turns out the Ultimaker PCB had lots of what was needed. There's a connection for the thermocouple and a PWM output with a solid MOSFET… I wonder if that couldn't drive a standard relay for a car? I picked up a 30 amp relay at my local car supplies and it worked like a charm with the 19 volt output of the Ultimaker. I got great help from this Instructable measuring the Relay. The relay cost $6.50 and I also got a nice socket for $4 that I could use for simple mounting and replacement (if required).

This is how the end result looks and below is a tutorial on how to do this yourself.

Bill of Materials

Here's the list of components I've used:

  • MK1 PCB. See RepRap wiki for suppliers. ($50 from Ultimachine)
  • 100k Thermistor ($2.75 from Ultimachine)
  • Streacom 150 watt external PSU ($150 at my local PC store)
  • 360 watt industrial type PSU from Ebay ($50 with shipping)
  • Relay + relay socket with cables. Make sure it's a 5-pin one, so it's both open/closed. ($10.50)
  • ATX 24 to 20 pin conversion cable ($8 at a local computer store)
  • 25 x 25cm plywood piece, 10-12mm thick, as flat as possible ($2 at a woodshop)
  • 24 x 24 cm sheet of 4 mm glass with 4 holes spaced 209mm apart ($30 at my local glass-shop)
  • A 4.7k resistor
  • A few 3mm o-rings (rubber gaskets) that fit the holes in the glass sheet
  • Four 4-6cm, 3mm bolts
  • Some 3mm nyloc nuts, washers and other spare parts that came with your ultimaker
  • Kapton tape


  • multimeter
  • basic soldering kit
  • Drill
  • Having an Ulticontroller is a huge plus for reading the temperature

Alltogether, the cost for my heated bed was about $150. I also could have saved a little by not getting holes made in the glass but rather use bulldog clips like Josef Prusa did. That would have saved a few dollars as well, so the total cost could have been as low as $100. Also note - these prices are from Norway ( = everything is expensive) so your bill will probably be lower than mine.


So - how to put this together then? It's not hard at all and I've also made some custom 3D parts to make it easy to mount the hardware.

1. Print the adjustment screw pieces

Printing these before removing the old build platform will save your fingers later on!

2. Drill 8 holes in the plywood square

Make 4 holes (3mm) that match the position of the adjustment screws of the original build platform. Then make 4 holes that match the position of the holes in the PCB. Make sure you drill all these very precisely or it won't fit.

3. Remove the old platform

Remove the acrylic and unscrew the screws. Save the screws as you'll use these later.

4. Mount the new adjustment screws

Take one long screw, one nyloc hex nut and one plastic screw-handle (eye-shaped) and put these together. These provide a solid adjustment screw for the bed and the screw-handle makes them much easier and precise to use than the hex-wrench. Once all four are put together, screw them into the delrin holes - but this time screw them in from the bottom. Using an electric screwdriver/drill is recommended. Tiresome!

5. Mount the PCB on the Plywood

For this, you can use the old "adjustment" screws. I put a hex-nut between the Heater PCB and wood, and another hex above to keep things in place. On top of this, I added a washer. In the picture below I've also added the springs from the old setup. Don't do this. It was just an experiment. O-rings are smarter.


6. Mount the Thermistor

It is nice to have a way to measure the temperature before you hook the Heater PCB to it's power. There are two things to do here. First you need to solder a 4.7k resistor on the Ultimaker's PCB. Unscrew the Controller PCB and take it out of the machine. The resistor should be added where it says R4 on the Controller PCB.

Next, make two wires that are about 70 cm long. These should be of the standard, thin type used in the rest of the machine. Guide the cables down through the rear, right cable duct. Connect these to the outer two pins on the connector marked "Temp 3" (as shown in this picture). Next, put the fan-thingie back on the Ultimaker Controller PCB. If you forget this, you'll easily destroy it.

Connect the other end of the wires to the Thermistor. I used a 2-pin terminal block as the thermistor can be hard to solder due to it's ability to withstand high temperatures. Now it's time to turn on the Ultimaker and test it! To do this, you'll need a custom firmware version. I assume you already use Cura for slicing and printing your models? Then you already know that Daid makes some great software! Making the custom firmware is really easy with his Marlin Builder script. Be careful to not adjust anything you don't know what is… Under "Heated bed temperature sensor", select the sensor you got. There are several 100k thermistors in the list, but if your isn't listed (or even marked in any way) just go with the "100k thermistor" option. If you have the Ulticontroller, check that one off the list as well and click the "Build Marlin" button.

At the top of the page there will now be a download link for a ZIP with the windows install file (that I used), as well as the .HEX file itself. Once the firmware is updated, it's time to test! If you have the Ulticontroller, you should now see another temperature reading and if you touch the temperature sensor, the display should change to reflect that you are (hopefully!) warmer than your surroundings. If you want to test it at higher temperatures, stick the thermistor to the printers extruder-head and set a new temperature with the Ulticontroller.

PS: Don't worry about the heat damaging the thermistor. It should be rated for more than 300 degrees and you should not go above 240 to avoid blocking your print head with burnt filament… Just test that the temp is fairly correct up to 110-120 as that's the highest you'll need to go.

7. Mount the relay

Solder a couple of wires (about 80 cm) to the heater PCB. According to this chart, these cables should be no less than 1.3mm thick to carry 10 amps safely. I used 2mm to be on the safe side, but that's probably not required. Guide the cables down through the rear, right cable duct as you did for the thermistor. Don't pull all the cable to the bottom as you'll want to be able to move the Build platform up and down without pulling the wires.

Next up is the Relay. I used an automotive relay since I know that they are made to withstand a lot of power and they are dirt cheap. Any relay rated above 10A(mperes) should be fine as long as the voltage is more or less the same as the 19v the Ultimaker will output. Autos use 12v and are rated for 30A so that should work for most relays.

Measure the relay according to these instructions and make a note of what color the different cables are and what they should do. If you got a relay like the one I got (5 cables), there will be_

  • Two cables where you apply power to close the relay (connected to the Ultimakers output)
  • The two cables that will be connected when the relay is closed (external power goes through here)
  • One unused cable

In the linked tutorial, the first two are referred to as COM and NO. On the relay that I was using, these are referred to as 86 and 85:

Between these, you should be able to measure a connection but the resistance should not be very high. Connect these to the Heated Bed output, close to your Ultimakers power jack.

On my relay (see below) the pin marked 30 is common and pin 87a is the normal position. When I measured these and found a fairly high resistance (as indicated in the tutorial). That meant pin 30 amd 87 should connect when the relay became energized. So by simply connecting one of the cables for the heated bed through pin 30 and 87, the Ultimaker would toggle power on/off as required.

8. Prepare the ATX connector

It's not much that you need to do with the power supply itself, but you'll need to tweak the ATX conversion cable a little. Start by cutting off the 24-pin side of it and then remove the wires you don't need. Since the PSU has some amperes to spare and it's easy to keep the 3.3 and 5v cables, I saved some of these in case I want to add an Arduino for some custom lighting or something. According to what I've read, the pins in the ATX connector are rated for 6A each, so to safely use 10A I connected two grounds and two 12 volt together. 

Yellow = 12v, red = 5v, orange = 3.3v, black = ground (ref)

9. Testing time

Make sure you re-attach the fan over the Controller PCB and then flip the Ultimaker over to normal position. Now you can test if you connected it correctly by setting the heated bed temperature to something above room temperature.

If you are using the Ulticontroller, just select the Heated bed from the menu. If you don't have the Ulticontroller, you will need something that can connect to the printer and send it commands. Both Printrun and ReplicatorG can do this. In Printrun, there's a separate window for entering commands directly. In ReplicatorG, you just make a new file, type the command into the gcode-tab and then send it to the printer as you would when printing. The command to send is:

M140 S70.0

This should set the temperture of the bed to something near 70 degrees. When the Ultimaker reads the Thermistor to be too cold, it will apply power to the Heated Bed output and close the relay. When the relay closed, I could measure a decent resistance from pin 30 to 87, but no longer from 30 to 87a. The connection was confirmed! My next step was connecting it all to the Heatbed PCB, place the thermistor on the Heated bed and test the complete setup.

Note: Since 1.5.4 of the electronics, the Ultimaker has a 55A MOSFET on the heater connection. This should be sufficient to switch the power to the bed directly, but I don't know enough about electronics to confirm this. Using a relay is within my scope of knowledge, it's totally clean and also separates the two completely in the case of an error. It would be great if someone wiser than me could comment if direct switching is now possible!

I tested thoroughly and measured with an IR thermometer what components became hot as the bed heated. On the tiny PCB that distributes and converts power became hot after 3 hours continous heating. It's the square, black component that becomes warm - about 70 degrees. I made a mounting bracket for attaching it to the bottom of the Ultimaker and on this one, I added screw-holes for a 20mm PC fan. These can be bought in any computer supply store. They operate at 12 volt and it keeps the ATX connector at room temperature even when the bed is constantly on for 10 hours or more.

10. Mount it all on the Ultimaker

Once you are sure the electronics work as intended, you can wrap up the build. First, secure the electronics in place beneath the Ultimaker. For this purpose I've made some more printed parts. Make sure that the holder for the ATX-plug-holder is printed in ABS and not PLA (so it handles heat better). You just slide this one onto the connector and screw in place a 20mm fan. Connect the fan directly to the 12v lines on the connector, drill the one missing 3mm hole under the Ultimaker and fasten the holder with some of the 3x10mm spare screws that came with the machine as well as some nylock nuts.

Next, mount the power jack. This requires some drilling to get perfect, but I'm quite happy with the result.

When this is in place and the cables have been adjusted a little, it doesn't look too messy beneath:

You can see the connections more clearly in this image (click for full rez):

I mounted the 4.7k resistor on some header pins to see if I could get more precise temperture readings by tweaking the resistor values. In the end, I ended up going with the 4.7k anyway so I should probably remove the headers and solder it permanently.

Put the plywood/pcb on to the adjustment screws. Cover the glass plate with kapton tape and put it onto the PCB. Adjust the height of the Heater PCB screws, so the top is flush with the glass surface. Add o-rings (rubber gaskets?) between the 3mm screw and the glass. This ensures that the glass lies steady, but still can expand a bit as it gets hot.

Next we need to make sure the bed is entirely level. The standard rule about being able to pull a sheet of paper between the print head and the surface applies. Move the print head around the entire surface to make sure it does not touch the glass/kapton surface.

Adjust the length of the wires for the Heater PCB and the Thermistor. Make sure to leave some centimeters of wire so that the platform can move all the way up/down without pulling the cables.

That's it. Set the temperature of the bed depending on your plastic type and print away!

The result

The Heated Bed works just as intended and I'm very happy to have it all working. Before doing this, I thought that the constant clicking of the relay would drive me crazy bt it's really no problem. The printer itself is so loud that it's merely a drop in the ocean. The setup has been working non-stop for almost two weeks now. For PLA printing, it's simply fantastic. Models stick like glue when the platform is at 70 degrees, but come loose very easily when the platform cools off.

For ABS, it works but it's not perfect. It takes about 10 minutes to get up to 100 degrees. This is decent, but quite a long time. To get to 110, it's even longer and I can just barely go beyond that. The thing is that I need the bed to go to 110 and maybe also 120 for the ABS to stick properly. Now, it works fine for models that have a large area of contact, but smaller models often come loose since the plastic isn't sticking well enough. Due to this I'm now experimenting with closing the gap around the build surface using high-temperature silicone. This looks good so far, but I'll update here once I get to test a little more.

Update June 23rd 2012:
Closing the gap around the Heater PCB gave no measurable effect! Have to say I'm a bit stunned by that one. It takes just as long to get up to temperature and it's just as hard to go higher. I guess that means that my Power Supply is too weak. I'll test this with a computer PSU and update here later.

Update July 25th 2012:
Tried with a 450 watt PSU (12V/16A) and found no noticable difference. Could it be that I need to bundle the two 12V lines? Thinking aloud: 12V * 16A = 192 watts. Multiplying this with two seems like an idea, but I'll need to find documentation on how this PSU (KDM-1UFX425) is built then. I don't want to start a fire...

Update 3 August 2012:
Turns out that my idea of maintaining some distance between the glass and the PSU wasn't such a good idea after all. When testing with a different PSU today, the glass cracked since the glass was bigger than the PCB and thus wasn't heated equally. I have a spare 20 x 20 cm glass that I'll fix to the PCB with bulldog clips like all others do. I have those already.

Update 5 August 2012:
Turns out I simply did not have enough power. Instead of using the 120 watt Streacom PSU, i will be using a 360 watt industrial type PSU (12V / 30A) that I got from Ebay for about $40 (plus shipping). You can see this PSU in the image below. The drawback of this one is that I sort of have to deal with 220 volt, but it's quite well protected so it's not scary in any way. I will also have to print some feet for the Ultimaker before mounting this permanently as it's a little too tall (5cm), but it'll fit nicely just behind the front of the machine. This PSU also has the extra power to drive LED's and such so I can now "pimp" my Ultimaker a little more ;-)



My new Ultimaker 3D printer

28 Apr12

My new Ultimaker 3D printer

After playing with my friend Jim's Makerbot for some time, I realized that I simply had to have one of these. However - having a moving build platform really limits the speed and usefulness. I researched what machines were available and they all had similar limitations. Either they were too flimsy or had a moving build platform. Then I found the Ultimaker. It has a build platform that only moves up/down. The X/Y axis is moved by double belts pulled by the same axis and it can run at crazy speeds. The material feeding system also looked a lot better than on the Thing-o-Matic. I hit the buy-button and got the printer only 20 days later - not bad given that others have more than 6 weeks lead time.

I read that it would take a full day to assemble it, so I prepared my family that I was going to be somewhat busy one of the days ahead. The package stood idle while I waited for an opening in my work schedule. It's not that often that I buy "toys" that cost €1200 so I figured that I wanted to combine the build experience with another hobby. While building the printer this friday, I did a timelapse (still to be edited) of the whole build process (like many others).

Building it

It really took a full day. I started at 9:00 and ended at 23:30  - without having printed a single thing. I could have done it in 3-4 hours less, but there were some issues while putting it together. I'm also a family man so I also set aside some time (not much) for dinner and playtime with the kids. Putting together the case and endstop switches took about an hour. I then moved on to the X/Y motors, belts and pulleys (about 2 hrs). The most elaborate part is the print head and X/Y axis. This took almost 3 hrs. The build platform came next and that took about one hour. Next was the material feeding system and that was my first problem.

Incorrect parts

Before complaining, I should add that the people at Ultimaker are hobbyists that put together a good machine and now sells it commercially - with a BETA-tag on the name. The machine sells with a disclaimer that says that this really is a kit and you must be sure that you have the skills required to assemble it yourself. Interest has been crazy and they're working hard to scale up their operation to handle the interest. The problem is that the product is still very much under development and it's nowhere as polished as Makerbot Industries that has been in business for quite some time (Last number I saw for Makerbot was 80 fulltime employees). The Ultimaker team surely has growing pains and getting the logistics right is probably a solid learning experience.

So - what went wrong? Apparently they didn't have the correct Hex nut's and washers available and someone made up a quick solution. However - they didn't test this and there is no way one could mount the supplied washers/nuts with the special hobbed bolt so that it would move the print material forward. The washers supplied were simply too big, so they prevented the ball bearings from rotating. After some testing and thinking, I popped off to a local hardware store and picked up some washers with the same 8mm inner dimension, but with a narrower outer dimension. Worked like a charm!

Mounting the electronics was easy and at around 22 I was ready to print and then…


I could not believe it when I saw it - they had forgotten to add the stupid cable with my power supply? Normally that wouldn't be an issue, but they use this stupid kind of grounded plug that is shaped like a clover. After some searching, I called around and went off to my dad to pick one up.

I plugged it in and was told that I had to update the Ultimaker firmware from version 0.1 to 1.0. It's easy-peasy it said - just select it in the menu. That didn't work but I still wanted to try printing… I loaded up a model in ReplicatorG and BRRRRRRRR - the steppers slammed the print head into the edge with no sign of stopping. Ok. That's enough for one day I thought and went to bed.

What a difference a day makes

The next day I realized that they have swapped the markings for where to connect the X-axis endstops, so that solved the problem ending the day before. I then tried uploading the firmware to an Arduino Mega I had lying around and that failed too. Maybe it was because I used a Mac? I installed ReplicatorG 034 on the PC as well and had the same problem. Hmmm… Maybe I shouldn't use the bleeding edge version and rather try the older 025 build? That worked, so now update using old software and print using the newer version. Ok. I can live with that, but it surely would be great if the Ultimaker Wiki told me in the first place…

Today I've been printing all morning and eve, but I'm not really at a point where I have something solid to show. I can't really bend ReplicatorG to print anything other than the test-cube and it can only print it at 1x speed. If I try to print it at 200% speed, the build just stops after a relatively short time. No warning, no nothing. It just stops? (Update: this is a bug in USB/serial comms on my Mac. It works flawlessly on a PC so now I'm using that) Loading other models defaults them to the front, left corner no matter where I place it in the program. I'm currently experimenting with using Slic3r to make the GCode instead. It looks MUCH more solid but on all bigger models I have a problem with the build just stopping? I think I need to try another firmware.

Overall, I'm incredibly impressed by how well the machine is built. Every little detail like the build surface leveling, the nice cable ducts, how all moving parts are really solid, the material feeding, the precision laser cut parts and certainly the speed and resolution that the printer can produce compared to the Makerbot Thing-o-matic. I'm working on a short post highlighting the differences between these two.

Some lessons learned

So - I'm almost up and printing after 1,5 days. Not too shabby (given how much time others have used for simpler printers) and it was a great experience despite the hurdles. Here's some things I picked up along the way:

  • You'll need a wrench, a stanley knife (or similar), tweezers, a tiny screwdriver and some plumbers tape. Luckily I had that last one around, but I think the Teflon-version is probably better as I have a small leakage around my nozzle.
  • Improvisation is required - just as the disclaimer says "in some cases you can get better results if you have some improvisation skills"
  • Don't touch the Hot-end -> it is VERY hot so don't touch it (really!)
  • Makerbot really is more user friendly. With Ultimaker you'll be learning a lot you didn't know you needed to learn
  • Most Ultimaker users are PC people. While the Mac software exists, it's probably not too well tested so if you have a PC - use it rather than the Mac.
  • If you need help - the Ultimaker Google Group is your best friend, filled with good advice from nice people

Looking forward to further explorations in the days to come!



24 Mar12


When people ask me what I do these days I tell them that I still make games and apps, but that I play around with microcontrollers and 3D printing. Most people don't really know what 3D printing involves, but I usually have something in my backpack that I've printed. As soon as they get it they say "Ohhh I want one!". But do they really want it?

Lately I've spent quite a bit of time with the Makerbot Thing-o-matic (TOM) that VariousArchitects has in a back room of our office. It's been so much fun and so much to learn that I've spent most of my free time modeling, printing and testing various designs for my LED Cube project. What I've learned up until now is that Makerbots and 3D printers in general require quite a bit of fiddling to keep them in working order. It's a lot of moving parts that are held together with screws and bolts that constantly move. These come loose and the faster your printer moves, the more chance that things will come loose.

The thing that has caused me the most trouble on the TOM is that my models did not stick the the heated build surface (heated build platform or HBP for short). The model would stick for a couple layers and then one of the corners in the model would loose grip of the platform. The model would bend more and more and in the end it would bend so much that the print head knocked it off. I tried a coulple of the basic tricks like changing the Kapton foil on the build surface but it didn't help much.

My friend Jim at Various was the one that bought the TOM and he suggested that while I was working on the problem, I'd also upgrade and recalibrate it. Sure I thought. How hard could that be? With all my current Arduino experience, the upgrade itself was super easy. Getting the hardware to play nice was harder. After a lot of fiddling, I got everything to work tonight. Yep! I'm in my office in Oslo now at 23 hrs on a Saturday, printing and calibrating. That's how much fun a 3D printer is! Anyway - here's the list of things I did to get the 3mm white ABS filament to play nice:

  • The firmware was updated to the latest version for both extruder and main board (an Arduino Mega 2560)
  • The HBP was dismounted, every single screw beneath it was tightened and the platform was levelled completely
  • I went over every connection inside the bot and sure - the power to the extruder had come loose. It's way to short, so you'll pull it out unless careful
  • I also raised the HBP temperature from the recommended 110 to 115 degrees. This makes the builds stick MUCH better.
  • ReplicatorG was updated to latest (034) but I'm still using skeinforge 35. For some reason, start.gcode isn't included from the default position so I have to set the HBP temperature directly in the generated gcode. Haven't found a description of this being a bug, so I'll just keep looking tomorrow I guess.
  • I failed a lot when it came to the calibration because I didn't properly read the dialogue shown after calibrating: always regenerate your models (both gCode + s3g) completely after recalibrating.

Due to that last one, I had to change the Kapton foil quite a few times after the print head crashing into the platform after a little printing. Think I've spent almost two full workdays fiddling with this now but I finally got a successful print completed now, so time to head home…

But - this is so incredibly fun! So much fun in fact that after some careful consideration I ordered a Ultimaker last week! As opposed ot the Makerbot, this one moves the printer head and not the platform. This solves what I think is the biggest problem with the Makerbot design - if you print too fast, your model will simply fall off the platform. With the Ultimaker this is much less of an issue, just check this video out! That's not the "out-of-the-box" speed though and it comes as a kit.

But when will I get it? Not until 4-6 weeks :(


Making a good cube

19 Mar12

Making a good cube

It's fascinating how hard it is to make a good cube. It's such a simple task, but as soon as you introduce features it all gets more complicated:

  • Easy to open and close for changing batteries
  • Walls must have an even distribution of material so light from inside shines uniformly

For every iteration there is a process consisting of modeling in Rhino, generating toolpath with ReplicatorG, checking toolpath with Pleaseant3D, export a .s3g file from ReplicatorG, move to memory card and put into Jim's Makerbot Thing-o-matic, sit by the Makerbot while it's printing the first few layers, drop by to check that the printing goes well and then take the final product out of the machine. So - it takes a bit of time with each iteration but hey! I can think of something and have a working prototype in plastic less than 2 days later? That's just rad!

Here's a rundown of my experiences designing the cube and outputting it on a Makerbot Thing-o-matic. It's harder than it sounds and if you want to check out any of the images in very high resolution, check my flickr account.

Cube 1

I had been thinking a lot about how to make the first cube and everything worked like a charm! This cube only had one problem - the 5mm walls made the light really dim and that won't do. This cube is on Thingiverse as it really works. It's super solid and you could probably drive a huge truck over it without damaging the contents. You can see it in the pic above, or here to see it blinking away.

Cube 2

This was pretty much a complete failure. High on the success of the first cube, I didn't really think through the design of this one. The result was that the locking mechanism worked alright, but the lid could slide off sideways…. Bummer. However - this model showed that you could make really nice looking cubes with just 1.2mm walls. This is only two strands of plastic on the Makerbot and it'll actually print nicely, no matter the height of the object.

Cube 3

The biggest failure yet. It practically fell apart when I took it out of the printer… This cube used twice the thickness of the previous version (4 shells). I couldn't really see it when inspecting the model in Pleasant3D, but the outer two shells didn't connect to the inner two? I now inspect the toolpath much more carefully, but this really isn't an exact science.

Cube 4

In the previous version I had solved the lid nicely, but I didn't really like the look of it. It looked clumsy. I started thinking about how I would make such a cube from Plexiglass and it dawned on me - what if the lid has an inner square that fits into the main cube? That'll add rigidity as well as make the lid "snap" in place. I also started to get annoyed with the "slits" in the lid that this design required for opening. What if I ignored the slits and rather made the lid sort of "loose" so you could just rip it open without any tools?

The only thing that failed for me with this cube is that the things that hold the cube closed (the snaps?) are visible when you apply light inside the cube. Unless you do this, it can serve as a nice, little storage container so it's on Thingiverse for others to download.

Cube 5

This is the version I'm working on now, but I had some issues with the Makerbot. Will have to solve that, but the lid came out well and as you can see, I've sized up the design to 7x7 centimeters so I can fit batteries in the lid.

The initial idea was to use coin cell batteries, but there's actually three reasons for going with AAA batteries instead:

  • Battery life is much better
  • It's easier to get hold of and replace standard AAA batteries
  • I actually couldn't fit the required components onto the space available in a 5x5 cm cube…

The batteries slot in nicely and are held in place, but the holes/slits for the metal bits that'll be at the ends of the batteries didn't come out as intended. I know how to fix them though, so when I have some time I'll redesign that and print a new lid. Below you can see the sample fitting of the components for the 5x5 cube. It's tight so a little extra room will help.

Also used this post as a way to test my new light-box-thingie for taking high quality shots with diffuse lighting. Will use this for the upcoming hardware reference in my Arduino Companion app.


Making a Blinky cube

17 Feb12

Making a Blinky cube

Inspired by various LED cube projects, I wanted to see how long it would take to prototype a small interactive toy. The basic idea is to make a plastic cube that displays beautifully diffused light and uses a simple way to turn on and off. Tapping the cube with a finger could be a good way to do this and it also makes it possible to start different "color cycle programs".

Making the cube

My friend Jim at VariousArchitects (VA) has this really nice Makerbot standing around in our office. It would be a shame not to play with it a little? Maybe I could even find a complete cube on Thingiverse?

Turns out that nobody had done something similar, so I had to make the model myself. Through the years I've played with different 3D programs and lately I've used Modo a lot. After fiddling a while in both Modo and Sketchup, Kyrre @ VA suggested that I try Rhino. My friends @ have always been big Rhino proponents and after some initial fiddling, I really started to like the software! Poor Kyrre had me pestering him with noob questions all eve, but the result turned out quite nicely?

Breadboarding the prototype circuit

Next I needed to make a small test circuit to see that I could fit the electronics. The final version will use some sort of ATMEL chip, but since the hardware is still on it's way (switch from Sparkfun and RGB LED's from Evil Mad Science) I had to just throw something simple together that would show me how the LEDs worked with the materials.

Using my newly aquired knowledge about the 555 timer, I set up a small breadboard circuit that toggles two LEDs. I added a couple of 10k pot's so I could change the blink speed. Looks like this would work fine?

Making it smaller

I can't fit a breadboard in the cube, so I made a copy of the circuit on a little piece of perf-board that I thought would fit inside the cube. It took a couple hours to fit it all, but I only had one incorrect solder (the 555 was the wrong way, duhh) so it wasn't all that bad. It also turned out quite small.

The blue dials are the pot's that'll adjust the blink-rate and the black tube on the top is a tiny switch that'll turn the circuit on/off based on the physical orientation.

Putting the pieces together!

Kyrre had printed the bottom of the box that evening so when I came to the office the next day - all that was missing was the lid and some batteries for the circuit. While the lid printed, I mounted two 3V coin cell batteries together (the 555 needs at least 4.5 volts to run) using some Gaffa-tape and wait for the lid to finish printing. The lid required that the Makerbot made some "supports" - extra plastic that you remove when the print is finished. I'm amazed by how easily these supports came off and the pieces looked really good! Now it was time to fit it all together.

The result

Below you can see a video of the completed bits. The LEDs are not very visible inside the box while it's daylight but they look lovely when it's dark. The video is a little blurry since I just used my iPhone, but it shows the result quite well. Very happy with it given that it's only taken about 1.5 days to get this far! Makes me feel comfortable taking the project to it's next step - using RGB LEDs that can run different programs and turn on/off with just a tap.

Thanks a bunch to Kyrre for helping me with Rhino and the printing and to Jim for letting me play with his toy! I've also uploaded the 3D model to Thingiverse in case anyone needs something similar. I've also posted some more pictures of this on Flickr for anyone curious to see more.