Saturday, August 18, 2018

UMMD: What Would I Change, What Would Stay the Same

It's been a bit over a year since I "finished" building UMMD.  Some people at the makerspace and in online forums have asked me what I would do differently if I were to build another, so that's what I'll cover in this post.

The XY stage:

The XY stage performs well, but a few things are less than ideal.

I designed the XY stage with the motors outside the enclosure so they wouldn't overheat when printing ABS at 45-50C inside the enclosure.  After using the printer for about a year, I find that the motors only get a little warm (aluminum motor mounts screwed to aluminum plates helps!), so I think they'd be fine inside the enclosure.  That would simplify the front door of the enclosure and allow a single door, held on with magnetic strips to be used.

The extruder carriage design leaves a lot to be desired.  I did not adequately account for the nozzle offset from the center-line of the extruder so I had to shift the bed to one side to make the entire surface printable.  The carriage is a little longer (vertically) than I'd like it to be, too.  In the original design, I simply mounted the extruder motor, extruder, and hot-end at the end of a piece of cut up tubing.  The puts the weight well below the X axis bearing block and so you can imagine it swinging around like a pendulum.

Original long extruder carriage design.  The heavy extruder/motor hang like a pendulum and probably swing like one, too.

I have redesigned the extruder carriage and have already put the new design into the machine.  The new design moves the motor and extruder immediately above the X axis bearing block and only the hot-end is down below, so there isn't nearly as much mass swinging back and forth like a pendulum.  The new design is sort of a very short Bowden type- there's an 80 mm tube between the extruder and the hot-end.

New extruder carriage design.  This is made of two aluminum parts- a short piece of rectangular tube where the belt clamps are mounted, and a flat plate onto which the extruder and hot-end are mounted.
The new design leaves lot of room to add a print cooling duct and blower, if I decide it needs it (I rarely print PLA).  The nozzle is now centered, which allowed me to shift the bed and support structure back to the center of the frame, where it belongs.

If I were redesigning the XY stage, I'd probably allow myself a little more room for the extruder carriage- they always take more space than you plan for.

This is the new extruder carriage, just after mounting it and running its first test print.  I'll dress up the wires a little bit when I've decided on the final configuration.  The extruder is a cheap Chinese made aluminum Titan.  It has proved less than great and will be replaced by the E3D Titan that it replaced.
Print quality has improved a little with the new arrangement.  I don't see much difference looking at the prints with my eyes, but under a microscope they look a little better.  Moving most of the weight closer to the X axis bearing block and using a very rigid 4.75 mm thick aluminum plate to mount the hot-end has improved rigidity and reduced ringing a little.

On a complete do-over, I might flip the brackets that hold the bed support on the Z axis over, which would lift the bed higher when it's at the top of the Z axis, allowing the extruder carriage to be shortened by at least 40 mm.

When I designed UMMD, my main goals with regard to floor space were that the machine would easily fit through standard width doorways without having to take anything apart, and would fit into the back of a Prius, both of which were met.  The XY stage design determines the footprint of the machine.  As built, it doesn't make very efficient use of floor space.  For the 300 x 300 mm printable bed area, the machine is about 610 mm wide and 530 mm deep (not counting the XY stage motors protruding from the front).  Of course, that includes the enclosure, so it isn't quite as bad as it seems, but with some additional design effort it might be possible to reduce the required floor space.

Some people have commented that using square aluminum tubing to hold the pulleys for the XY stage is a problem for them because they don't have access to a milling machine.  I used a mill to cut away some of the metal because it was available at the makerspace, but it's not necessary to mill the aluminum tubing.  Straight cuts made with a hacksaw are sufficient to make the pulley mounts and the motor mounts.  No accurate cutting is required, though drilling is best done using a drill press or mill to ensure that the holes on the top and bottom of the tubes line up vertically.

The Z axis:

The Z axis has been working very well, and since the original design was done I have done some experiments and made a few changes.  It originally used 3mm pitch HTD-3M belts with 36 tooth pulleys that made for awful full-step Z axis resolution of 18 um (55.55555 full steps/mm).  I have since changed to 60 tooth, 2mm pitch GT2 pulleys and belts and now the full step motion is 20 um (50 full steps/mm).  I also changed the design of the upper pulley plates by milling anti rotation features into them and going to a single bolt holding each of them to the printer's frame.  Finally, I put twists in the belts so that the smooth sides of the belts ride on the smooth pulley surface (it doesn't seem to have affected performance either way, so I may change it back).

The one issue with the upper pulleys is that the hole locations for the mounting bolt and the pulley's shoulder screw have to be very accurately drilled to keep the belts parallel to the Z axis guide rails.  That takes some very careful measurement and modeling of the Z axis components.  If the pulley could be moved horizontally (maybe mount it on the horizontal frame member above the top of the Z axis frame member) it would be easy to ensure parallel alignment of the belts without having to drill accurately.  That would create another problem- how do you tension the belts???

New upper pulley plate held in place with a single carriage bolt.

The Z axis belt clamps are held in place with 4 screws.  The way the belt clamps are designed, the screws have to be accessed from the outside of the Z axis, which is OK if the side panels of the printer are removable, but the panels fit into the t-slots in the frame and are not easily removed.  I would (and may) redesign the belt clamps with the screws on the inside so I no longer have to use a cumbersome right-angled, ratcheting screw driver to remove the screws.

The easiest way to remove the belt clamps is to use a right angled screw driver because the side panels are not easily removable.  I like the side panel material and the way it is mounted, and it should be pretty easy to redesign the belt clamps for easier removal by turning the screws around so the heads are toward the inside.

The heater fan blows warm air against the Z motor- not good.  I added a make-shift heat deflector from a piece of sheet metal, but it needs to be more securely mounted.  I also need to add a wire screen to cover the whole heater assembly- the black and orange wires on the front of the heater bar carry 117VAC.  Debris from the printer and failed prints can fall off the back of the bed and land on the heater bar where they might melt or worse.

The heater needs to be covered to prevent debris falling off the back of the bed from landing on the heater bar, and the wire connections need to be covered to prevent electric shocks.  I still need to add a TCO to protect against SSR failure, and a permanent heat shield needs to be added to the Z motor.

I may add some sort of cover to the Z axis drive pulleys to prevent print debris from landing on them and getting caught between the belt and pulley.  I have never seen anything getting caught in there, but I'm sure it's just a matter of time until something does.

The Z=0 switch currently uses a snap action microswitch.  I think an optical interruptor type switch will be a higher precision way to go, so I'll be redesigning the cam/lever mechanism for an opto switch in the near future.  The cam/lever mechanism works extremely well, making small adjustments to the Z=0 position very easy.

As I said above, I might consider flipping the bed support brackets on the Z axis bearing blocks over so the bed will ride 40 mm higher than it does now.  That would allow me to shorten the extruder carriage.  I didn't do that originally because I was concerned about the possibility of bed vibrations getting amplified by the longer lever between bed surface and the centers of the bearing blocks.


I started with a SmoothieBoard a RRD Graphical LCD panel.  The installation was the least attractive thing about the printer.  The photo below is the best one I have of the top of the printer taken during the installation of the electronics in the original configuration.  The LCD panel was eventually mounted on the front of the plastic basket that is holding the rest of the electronics.  You can see why I wanted to redo the electronics installation:

Original electronics mostly installed.  Ugly, but functional - not up to the high standard of beauty set by the rest of the printer.

Other things kept coming up and the electronics was working, so the redo kept getting pushed out to later and later dates.

If you've been following this blog, you know I was recently provided with a Duet Ethernet controller and 7" Panel Due touchscreen interface by Tony Lock at Think3DPrint3D (thanks!).  That was all the excuse I needed to get to work on rewiring everything.

New electronics installed and working.  I added a custom splash screen (shown).  It sure looks better than the original configuration!  I set the Panel Due and power switch back from the front so that both would be protected from damage during transport.  Unfortunately, that makes the uSD card slot in the Panel Due inaccessible.

It performs very well, and has some great features that are lacking in the SmoothieBoard, but I am still adjusting to the change in work flow that has resulted from the change over.

I am used to putting gcode on SD cards and plugging them into a stand-alone printer and printing. The Panel Due has a uSD card slot, but it's located on the bottom edge of the panel, and in my installation, it's inaccessible.  That means I have to send gcode files to the uSD card on the controller board via a network connected computer.  Of course, I can preload the uSD card with a bunch of stuff to print, but I will still have to have a computer there to tweak things or slice other files.  I'm looking into the possibility of adding an SD card slot, independent of the Panel Due, to the front panel of the printer.

Other than the change to my work flow, the Duet board has been great!  The Panel Due and web interface (for that network connected computer) are much better than anything available for the SmoothieBoard.  Configuration is a little more difficult than SmoothieBoard, mostly because the documentation isn't as complete or well organized, but help is readily available via the online forums and I have no doubt the documentation and its organization will improve with time.

I can't say that I've seen any print quality improvements I'd attribute to the electronics, and don't necessarily expect to, but the machine is much quieter with the 256:1 interpolated microstepping drivers on the Duet board, and that alone may be reason enough to make the change.

There is a manual bed leveling assistant built into the firmware that makes accurately leveling the bed very quick and easy.  I wrote a blog post on that here.  I also set the firmware to put the printer's origin at the printable center of the bed which makes configuring slicers to use this printer much easier.

The top and bottom of the electronics enclosure are made from 1/4" thick foamed PVC.  That material provides some thermal insulation, is light weight, but a little soft and flexible.  I had already reinforced the bottom piece with aluminum tubing, so it was plenty rigid, but I needed to support the top piece to prevent sagging, so I printed a cone through which the filament feeds into the printer from the spool holder that sits on top of the printer.  The cone supports the top cover and prevents sagging.  I used pieces of the dual layer PC to make side, front and rear panel pieces, and printed pillars with slots to fit.  I used bright green PETG to print the pillars and then set up the splash screen on the Panel Due with bright green text to match.


I like the Titan extruder and V6 hot-end, but they have some issues (see here and here) that I was able to address by switching to cheaper, Chinese sourced parts.  Specifically, I installed an aluminum version of the Titan (after modifying it), and an XCR3D Hexagon knock-off hot-end.  The hot-end seems to be holding up well, but the initially silent cooling fan that came with it is no longer silent after operating inside the 45C enclosure for a few hours.  The original Titan extruder is going back into the machine because of some problems with the aluminum Titan.  I've heard that Bondtech makes some pretty reliable extruders.  I may give one of those a try.

The Frame and Enclosure:

The one thing I would definitely change is the size of the casters on the front wheels.  I occasionally have to take the machine up and down stairs and the skate wheels are a little too small for that.

Now that the electronics are mounted and enclosed in a more cosmetic manner, I will add some printed bumpers to the back of the frame so that when I slide the printer, laying on its back, into my car, the electronics enclosure won't get damaged.

The dual layer PC I used for most of the enclosure panels has a lot of advantages.  It is very light weight, very tough, thermally insulating, and produces nice optical effects.  The disadvantages are that it doesn't help with printer frame rigidity and installing it in the slots in the frame can make servicing the machine a little troublesome.  I have noticed that the machine shakes a bit when I have acceleration and print speed turned up high.  It might be better to use rigid side panels that bolt to the frame so they can help stiffen it.

The big, lower front door is held on with magnetic tape that has been holding up well.  The adhesive will eventually let go of the printer's frame and/or the 1/8" thick polycarbonate door.  When that happens, I'll apply some contact cement and reattach the magnetic tape and the problem will be permanently solved.

More Changes to the Z axis

4/30/19  I made more changes to the Z axis.  The original belt clamps failed so I redesigned them to fold the belts back onto themselves.  I also switched from steel to glass core belt and took out the twists that didn't do anything but make the belts ride hard on the pulley flanges.

I made it easy to release the Z axis belt clamps without resorting to a right angle screwdriver.

One of my PTFE leveling screw blocks failed so I redesigned them and they are now much better than the originals. 

I raised the bed about 50mm and shortened the extruder carriage by about 60 mm.


  1. Thanks for the detailed write up. I look forward to seeing how you polish the UMMD.

  2. One comment about your change to work flow of using the SD card to load gcode files. Both Slic3r PE and Cura can send the gcode directly to the Duet now. No need to upload it from the DWC, or load it onto an SD card.

    1. I saw that, but my printer is usually not in the same room as the design/slicing computer. So far, the way I've been working with the machine, the touch panel is a bit redundant- I have a netbook computer sitting on the printer with the DWC open anyway so it can read the SD card/USB stick and upload files to the Duet.

      UMMD will be set up at the Milwaukee MakerFaire in a couple weeks, and I intend to have whatever I will be printing already loaded onto the Duet's uSD card.

  3. Have you thought about modifications that will let it print higher temperature materials like nylon?

    1. I find ABS to does most of what I need, so I haven't really tried to go any higher in temperature. I think it would take a major rebuild to get my machine working at temperatures much higher than 50C in the chamber.

  4. "There is a manual bed leveling assistant built into the firmware that makes accurately leveling the bed very quick and easy."

    I was directed here from your openbuilds page on the UMMD where you said bed leveling was unnecessary in this build ;)

    1. You have to level the bed once when you assemble the machine, and again any time you take apart something that may affect the leveling. What you don't have to do is relevel the bed over and over every time or nearly every time you print.


Leave comments or a questions here and I'll try to post a response as soon as I can.