Ultimaker Operational

It has been a bit longer than I would have liked since my last update. A lot has been going on, most of it to do with 3D printing. As the headlines states my Ultimaker tribute is now operational, so far I am very happy with its performance. There is however still room for improvement, particularly on the reliability front, and I certainly wouldn’t call it finished yet. At my last update on progress for this build I was still waiting for the electronics to arrive.

Once I finally had all the parts on deck I dived in to wiring everything up so that it was basically functional. Beyond a general excitement to see it functioning I now had a deadline hanging over my head, in just over 1 week a friend was celebrating a birthday with an ‘at the movies’ theme and I had come up with a costume idea that resonated with me that would required a lot of 3d printing to pull off. I still had the Steelcity Electronics printer on my bench but I was running it flat out printing bits for his costume. I also wanted to use PLA for its improved stability and the DaVinci is not yet set up to cope with that. So I had put myself in this crazy position of needing my new and untested printer to function really well straight out of the gate.
Thankfully it generally didn’t disappoint! More on that project at the end of the post for now though the printer build itself.


My first order of business was to get all the electronics in roughly the right place so that I could measure wire lengths and terminate them with the appropriate connectors. Unfortunately this is also where I hit my first stumbling block. The contacts I purchased for the JST connectors used for the limit switches and motor connections to the control board where the wrong series. I had the correct housing but the wrong crimp. Thankfully the spacing on the pins is 0.1″ so for now I have rigged it up using terminal strip connectors. The only significant change I have made to the wiring layout compared to an official ultimaker is to run the hot bed connections off the other side of the build plate. It is not yet installed but I will be running a cable chain on this side tucked in to the back corner rather than in the more traditional left side position.

With the wiring mostly sorted (if only in a temporary sort of way) I had to tidy up the last critical mechanical details which were:

  1. Drilling out the build plate to accept the larger diameter POM nut supplied with the Z-axis screw I am using. I also tapped holes for it’s fasteners however only 2 of the 3 would fit without overlapping any of the existing holes. I have however installed the nut in its self supporting orientation so I am not concerned about this.
  2. Drilling holes so that the fasteners on the 90° brackets could be tightened. As mentioned in the previous post I have forgone the Plastic corner joiners in favour of full metal joints. This is achieved by a combination of the angled brackets shown here and the previously discussed end tapping of the perpendicular members.
  3. A full frame and gantry build up with threadlocker throughout. This was more time consuming than anticipated, applying threadlocker seemed to slow things down markedly however everything went together without much drama. After a couple of hours of assembly I couldn’t get the frame to sit perfectly square and true but it was very close so I forged ahead and locked down all the gantry pulleys and sliders.

With everything mechanical in place I want back to the wiring and connected everything in it’s temporary but functional state and fired it up for the first time. No magic smoke so I was of to a good start. It was here that I faced my first significant frustration and it was all to do with my long Z-axis. I had assumed that simply changing the upper Z-axis soft limit in Marlin and uploading the recompiled firmware would be all it took however something there is slightly amis and I’m not entirely sure what just yet. To get it running I had to disable the lower Z-axis soft limit (i.e. the end with the limit switch) so that the bed would come all the way home without reporting a Z-axis limit switch error. Even still though the firmware doesn’t seem to properly understand its build envelope at all times. It will start in the right spot though so that is all I need for now.

The last piece of the puzzle was a way to hold a spool of filament. I have seen plenty of fancy bearing mounted spools on thingiverse but in the end decided that to get things started I would knock up a quick solution using a piece of leftover 2020 extrusion. I came up with a very simple beam clamp to hold a short section of extrusion on top of the rear mid member (which doesn’t exist on the standard size version) and a small bracket to stop spools sliding off. Both pieces can be found on my updated remix of Jason’s design on thingiverse.



With that in place it was time for some heat. I manually set some temperatures for both the build plate and the hot end so that I could verify they were both working, all was as expected. I tightened the hot end whilst it was hot and then ran the auto tune sequences for both the bed and the hot end, the hot end being most important since I am using the E3D v6 rather than the standard Ultimaker unit. Once an updated copy of the firmware was in place, containing the new PID values, I checked the extruder was performing as expected and decided to jump right to a test print.

The first signs were not good. Bed adhesion was poor and there were big gaps between lines. By this stage it was in to the early hours of the morning so I decided to leave it and come back to it with a fresh perspective the next day. This proved a wise decision as it took me only minutes when I was next in front of it to realise I never changed the default filament size from 3mm to the 1.75mm that I am using. Changing that obviously made a world of difference and the new test print was going down very nicely. After 30 odd minutes of solid printing I cut the test piece off and decided to jump head first into my urgent project, fine tuning be damned, I didn’t need precision and the quality was looking better than good.

Turning into Iron man

If ever there was a movie character that I could see myself as it is Iron Man/Tony Stark. Genius billionaire playboy philanthropist, that’s my sort of jam.
Unfortunately I don’t have a great deal of photos of this process as I did it all into just a few days. I started printing parts for my Iron Man helmet, as supplied by MIPRESIDENTE on thingiverse (my make of it is here), on the tuesday night, the party was the following Saturday. Ultimately I was a long way off a complete helmet but I made enough parts for a complete mask which was all the identity I needed. I glued the parts I did have finished to a cap with the brim cut off so that it could easily be worn.


Also from thingiverse was the Wearable Arc Reactor by MishaT. It was not 100% complete either so I chose to wear it hidden under my T-shirt with only the lighting effects shining through.

The finish quality is a long way from perfect but from a distance looks very convincing. To get from the raw print to the finished product, involved:

  1. Breaking away support structure.
  2. Sanding raw plastics to remove significant layer lines.
  3. Coating with XTC3D. (I will have to experiment with this more as I don’t feel like I saw the full benefit from it)
  4. Sanding.
  5. Spraying with plastic primer
  6. Sanding.
  7. Spraying with black base coat in the hope of a deeper colour.
  8. Spraying with gold and/or red (the jaw piece has both colours on it if not separated before finishing).

As an indication of what I was working with shown below are the two side panels (which I didn’t end up using) still on the bed but almost complete. I think I added a lot of time to the print with excess support material but when I started the print it was a case of ‘just make sure it works’.


There was one very significant problem I faced whilst printing these parts and that was a feeder which kept grinding the filament causing extrusion to stop. At one point this happened when I was more than 12hrs deep on the 3rd attempt on the face plate and jaw piece print. This was a make or break moment. If I had to start it again I probably wouldn’t have been able to make the mask work. Thankfully with a little bit of trickery I was able to save the print by restarting it at the layer at which it had failed. This post is long enough as it is without details on that so look out for a how to on restarting a failed print with some manual G-code magic in the future.

I do intend to complete the helmet print. If not to be worn then at least as a show piece. I will also strip it and refinish it to a higher standard, hopefully with a more accurate red on it too. With the pressure of the party deadline behind me now though I will finish the printer itself first (whilst printing the 215 Hopper FPV parts, I just can’t help myself). The three big items to tick off the to do list are:

  1. Terminate all of the wiring correctly and generally tidy that up.
  2. Install the cable chain for the hot bed wiring.
  3. Have the enclosure panels made (for improved thermal stability whilst printing ABS).

There are also several other odds and ends like lighting which need to happen but they will come further down the track. I will at some point also replace the vertical frame members and Z-axis rods as it turns out there is still more than 80mm of thread left on my Z-axis when it reaches the print head.

For now I will leave you with this teaser on what I am planing for the enclosure.



UIltimaker 2 Tribute Build

When the Steelcity Electronics DaVinci 3D printer landed on my workbench for a short stay I got to browsing Thingiverse. Initially this was more out of curiosity than with an intent to find a printing project. My day job involves a lot of CAD work with Solidworks so I am quite capable of developing my own designs and I did have a couple of projects in mind. However I soon discovered the Ultimaker 2 Aluminium Extrusion 3D Printer by  jasonatepaint.


Since the very early days of 3D printing I had my eye on Ultimaker as an excellent option for an FDM style printer and now here was a chance, in true RepRap style, to use the 3D printer I had on loan to print myself a 3D printer using all the best bits of the Ultimaker 2. I must also say that specific use of the Ultimaker parts is only possible due to the great attitude and continued openness that Ultimaker the company maintains for the community it was born out of. If I could support them directly with the purchase of one of their printers then I would but the value proposition here in Australia is just not there for me presently.

For my build I decided to make a couple of changes to the default spec. Firstly and most obviously I am building an ‘extended’ version. At the moment I am not sure exactly how much Z-axis travel I will have but it will be even more than the official UM2 extended model. The screw I purchased is 500mm long, useable travel I expect will be about 450mm. Exactly why I have made it so long has no good reason other than the price difference being negligable. Hopefully there are no ill effects from the extra height.


The second change I have made is to the hot end. I am using the E3D V6 rather than the standard Ultimaker hot end. I’ve got no immediate requirement for this but decided that it would be good to have the extra flexibility that the all metal hot end offers in place from the start. To mount this I am using the E3D Custom UM2 Mount by lions3.

Not discussed in Jason’s build guide is the possibility of screwing the frame members directly to each other rather than relying on the plastic joiner pieces for a solid corner. This is achieved by tapping the center hole in both ends of every cross member. A clearance hole for the hex drive required on an M6 button head socket screw is then drilled through the vertical member at the point at which the member is to be positioned. The M6 button head is then screwed in to the end of the extrusion before sliding the head into the v-groove of the vertical member and tightening it at the appropriate position. On top of this I also have aluminium corner fittings which I picked up cheaply with my order from RobotDigg. These are not installed in the photos here but will provide an even stronger joint. This approach actually makes a lot of the plastic joiners redundant but I have kept them in place for now. I will print some cosmetic replacements when the machine is operational.

I have already made modifications to some of the printed parts. STL files for each can be found on my remix of Jason’s design on Thingiverse.

  • Gantry spacers
    When initially printed I found the gantry spacers quite inconsistent due to warping and shrinkage. This could probably have been addressed with print settings but instead I created more bulky gantry spacers with larger through holes. The fit is now a little loose but they can be installed straight from the printer. The tapered end goes towards the bearings and the flat end against the pulleys.
  • X-axis motor mount
    As initially designed mounting the motor required the used of spacers to position the motor correctly. Upon examining this situation I could not determine any reason why these spacers could not be integrated in to the bracket itself. I modified and reprinted the bracket to achieve that.
  • Y-axis motor mount
    Modified to include motor mount spacers in bracket as per X-axis motor mount.
  • Z-axis lower support and motor mount
    I was concerned that this part was not stiff enough. Given that the threaded rod and hence the motor and its mounting bracket supports the entire weight of the build platform and print I felt it would be wise to stiffen this part of the assembly. My solution is a two piece lower Z-axis support which braces the motor mount to the lower rail. At the same time I took the opportunity to integrate the Z-axis limit switch as accessing the screws for the original bracket design was impossible whilst the frame was assembled. Note that this new bracket requires the modification of the screw tab on the inside of the main board tray. I have not modified the model for this part as I simply trimmed the excess off and drilled a new hole, (not perfect but good enough to support the tray).

Currently I have all the mechanical parts in place for a temporary fit and alignment checking build and everything is looking good. I am waiting on the last couple of parts to arrive from China, specifically the electronics. When they arrive I will check they fit before striping everything down and rebuilding it in a functional state. After wiring it up it should be basically functional. Before I call it complete though I will also make acrylic panels to enclose the build space (primarily for improved thermal stability), add LED’s and change the joining pieces as previously mentioned.