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.