Saturday, July 22, 2017

UMMD 3D Printer Bed Design

Update 4/30/19

I have redesigned the PTFE leveling screw blocks.  Check the new stuff out here.

Also, don't mount the TCO on the bed plate.  Mount it on the heater so that if the heater comes off the plate the TCO will still do what it is supposed to do.

Back to the original post ....

After messing around with glass in my first printer and having the usual problems getting prints to stick, I did a lot of research and experimenting, and came to understand a few things about 3D printer beds.  Specifically, they should have the following characteristics:
  • the surface should be flat
  • the bed should be thermally conductive for even heating
  • the bed should have a surface that molten plastic likes to stick to
  • the bed should have adequate heater power so it heats up quickly
  • the bed should be mounted on a system that lets it tilt so it can be leveled
  • the support system should be physically stable so the bed doesn't require re-leveling
What I found works very well is cast aluminum tooling plate with a thin layer of PEI on the surface, on a 3 point leveling system, and a heater that delivers at least 0.4 W/cm², and lastly, solid printer frame construction.

When I designed UMMD, I stayed with what works and used 8 mm thick MIC6 tooling plate.  It sits on a unique 3 point leveling system described below, has a 0.7 mm layer of PEI on the top surface, and a 750 W line powered heater on the underside.  The printer's frame is made of 40 x 40 mm t-slot extrusion.

If you live in the Milwaukee or Minneapolis area and you want cheap cast aluminum tooling plate, you're in luck.  The MIC6 bed plate material was purchased from the random rack at Howard Precision Metals in Milwaukee for $2 per lb.  The plate started out about 15" x 13.5" and cost $15.  I used a lot of other cast tooling plate throughout the printer since it is available so cheaply.

Thermal Expansion of Aluminum

Like almost everything, aluminum expands when heated, by about 24 𝜇m/m-K.  That means the 300 mm square print bed expands by about 0.576 mm when heated from 25°C to 105°C.  The leveling system has to allow for the expansion without creating lateral forces that may cause the bed to lift, drop, or bow.

Kinematic Leveling System

In my last printer, Son of MegaMax (SoM), I did a lot of testing, measuring, and experimentation with the leveling system.  That bed moves in the Y axis, and to ensure mechanical stability, I mounted it on three flat head screws that went through countersunk holes in the plate.  It worked OK, but it always bothered me that the leveling screws were anchored in fixed positions on a much cooler piece of aluminum than the bed plate.  The bed plate expands when heated, putting a lot of lateral force on the the screws.  This could lead to problems with the plate lifting or dropping or bowing.  After all the experimenting with new undercarriage designs, I came to the conclusion that it works OK as originally designed- there's enough margin in the build to accommodate the expansion.

In UMMD, the bed moves in the Z axis, so there's no need to worry about it getting thrown back and forth at print speed, so no need for screws to go through the plate to keep it under control.  I stole an idea from an optical table lens mount and adapted it to UMMD's bed support structure.  It is called a kinematic mount, specifically, it is a Kelvin type kinematic mount.

The whole bed plate is anchored to the support structure by springs that pull the plate down onto the leveling screw heads instead of pushing it up against the underside of the heads.  Two of the screws, the reference and pitch adjuster, are lined up along the X axis of the printer and the third, the roll adjuster, is located on the parallel edge of the bed.

The reference and pitch adjuster screws have spherical heads.  The reference adjuster sits in a chamfered (conical) hole in the plate.  The plate can't move in X or Y at the reference, but can rotate or swivel around the screw head and can only move in Z if the screw is turned.  The pitch adjuster sits in a chamfered X-parallel slot in the plate.  The plate can't move in the Y direction (which prevents rotation around the reference screw) but is free to expand in the X direction when heated.  Those two screws sitting in their hole and slot in the bed plate allow the bed to roll around the X axis and to expand without putting any lateral forces on the screws.  The roll adjuster is just a flat screw that touches the flat bottom side of the plate.  It controls the roll around the X axis while allowing the bed to expand in both X and Y.

The chamfers were made using countersink drill bits chucked in the milling machine.that I used to drill the hole and cut the slot in the bed plate.

Reference adjuster hole on underside of bed plate.  The chamfer was made using a counter-sink drill bit.

Pitch adjuster slot on underside of bed plate.  The chamfer was made using a counter sink drill bit on the milling machine.
The adjuster screws are anchored in Teflon blocks that grip the screws tightly and prevent wobble while ignoring the heat transferred to them from the bed plate through the screws.  The Teflon blocks are in turn screwed to a tee made from 40 x 40 mm t-slot extrusion.

The reference adjuster is just used to set the vertical height of the bed plate above the support structure and doesn't have to be adjusted when leveling the bed, so leveling the bed just requires two screw adjustments.  First, the pitch adjuster sets the bed's center line parallel to the X axis in the XZ plane, then the roll adjuster puts the plate parallel to the printer's XY plane (defined by the linear guides in the XY stage).  Changing the roll does not affect the pitch, so adjustment is quick and easy.  The reference and pitch adjustments are made using a hex key inserted through the holes in the bed plate from the top side of the bed.  Roll adjustment is done using the thumb-wheel located under the bed support structure.

The reference adjuster screw sitting in the chamfered hole in the bottom of the bed plate.
The pitch adjuster sitting in it's chamfered slot in the bottom of the bed plate.  The plate is free to expand in the X direction when heated.
The roll adjuster is just a flat screw contacting the flat underside of the bed plate.  The plate is free to expand in both X and Y without pushing against the screw.

The sturdy, well designed support structure, the solid construction of the Z axis, and the rigidity of the printer's frame ensure that the bed generally doesn't need to be re-leveled once set up.  Auto leveling is not needed.  I have driven this printer back and forth between home and the makerspace, laying on its back in my car, several times and have not had to readjust the bed leveling.

Bottom of the bed and support structure assembly.  The heater is a Keenovo 750 W line powered unit.

Thermal cut-off mounted on the edge of the print bed plate, protects against a failed SSR.  The TCO will open, cutting power to the bed plate heater, at 184C.  The body of the TCO is "hot" so it is wrapped in a layer of 5 mil kapton to electrically isolate it from the print bed plate.
NOTE:  don't do it this way!  Mount the TCO on the heater so that if the heater comes off the plate, the TCO will still do its job.

Bed plate and support structure viewed from the top.  The brown color is due to the 30 mil (about 0.7 mm) thick PEI layer that is taped to the bed plate.  This assembly weighs 3.2 kg.
The heater is line powered and gets hot, so safety is essential.  Power is switched to the heater via an SSR that is driven by the controller board.  Accidents can happen, parts can fail, and things can get weird, so I put an electrical fuse in series with the power to the heater and mounted a thermal cutoff on the bed plate.  The electrical fuse will protect against fires and other unsafe conditions if wires come loose (of course, they are secured mechanically, too).  The thermal cutoff will protect against the controller going crazy or the SSR failing in a shorted state (that's how they fail!).  When the bed temperature gets to 184°C, the TCO will open and shut off power to the heater.  The TCO will allow the bed to be operated as high as 160°C without causing problems.  They are one-shot devices, so I bought a couple spares to store on the printer, just in case.

This is the TCO I used.  It may not be what you need, so check the specs.  If you only need the bed to operate at 120°C maximum, get a lower temperature rated TCO.  Don't use a self resetting TCO, and don't go cheap and buy no-name, no-spec parts.  TCOs made by reputable manufacturers with various safety certifications cost only about $1 each.  Don't be penny-wise and pound-foolish.

NOTE:  don't mount the TCO on the bed plate!  Mount it on the heater using high temperature silicone.

Here's how to wire it.  The TCO protects against a controller that has lost its mind and SSR failure.  Mount the TCO on the heater using high temperature silicone, not the bed plate, unless you have mechanically (not glue) secured the heater to the plate.

About the spring hold-downs...

Some people have pointed out that if a heavy print were offset from the center of the bed, near the back edge, it might cause the bed plate to tilt by stretching out the spring hold-down at the roll adjuster.  It's unlikely such a heavy print would end up near the back edge of the bed plate, but if one did it is theoretically possible to tilt the bed.  OTOH, if this sort of thing proves to be a problem, I can always put a stronger spring at the roll adjuster.  I haven't measured the mass required to tilt the bed that way with the current spring, but it is definitely more than a few kg, so I'm not worried about it.

Some people asked why I put the "ears" for the reference and pitch adjusters at the center of the bed instead of putting them off of the back edge.  I wanted the adjusters to be located as close as possible to the Z axis bearing blocks for maximum stability.


  1. I'm not sure what you mean by the Teflon blocks no being affected by the heat. Teflon has a much higher linear coefficient of thermal expansion than aluminum. It's about four times higher at 100um/m*K. However I don't this would affect the bed level so much as create a really tight interference fit.

    1. What I meant is that the Teflon blocks won't melt or deform at bed temperatures, so bed level settings will remain stable. This has proven to be the case in practice.

  2. How well is the bed grounded?

    it looks like your bed might move, so the grounding won't be the best through the bearings, make sure the bed is properly grounded.

    I don't want someone to copy the thermal cut out and have issues with the kapton which causes the bed to be live.

    1. The printer's frame is grounded to the power line ground lead, and the 24V supply negative connects to the frame. The bed plate gets grounded through the three springs that hold it down against the leveling screws (and through the bearings in the linear guide bearing blocks)- probably not up to UL standards, but it works. It would probably be best to run a dedicated ground wire to the bed plate - I'll look into adding one.

      The TCO is wrapped with 5 mil (0.005") thick Kapton tape to electrically isolate it from the bed. If someone were to crank the bolts on it down so tightly that the metal penetrated the kapton, the short would cause the bed power fuse to open.

      I am currently replacing the bed plate in SoM and have implemented a kinematic mount for it. I will be installing a TCO on it, but this time the TCO will be attached to the bed heater using high temperature silicone instead of being bolted to the plate. That way, if the heater adhesive lets go of the bed, the TCO will stay with the heater and still be able to do its job.

  3. Would love to see the revised bed and heater and TCO when it is completed.

    1. I'll post some pictures when I reattach the heater- probably in the next couple weeks.

  4. Can you please post more details about the wiring, I want to build a very similar heatbed, but I haven't wired anything like this before.

    1. The diagram shows most of what you need to know, but does leave out one important connection- the line input ground should go to the printer's frame and power supply ground. It would probably be a good idea to connect that ground to the bed plate, too, because your mounting system may not ground it even if the printer's frame is grounded.

      Line cords have 3 wires- line, neutral, and ground. The line wire is usually black, neutral usually white, and ground usually green. It is important not to mix up the line and neutral wires. Switches and fuses should be connected to the line wire, not the neutral wire.

      Everything carrying line voltage should be insulated to protect people with curious fingers from electric shocks, and cables that connect the moving bed to the printer's frame should be strain-relieved so that if a wire breaks it doesn't flop around in an uncontrolled manner.

      I mounted the TCO on the bed plate, but that means that if the adhesive that holds the heater on the plate fails (and it is now failing after about 2 years), the heater may drop off the plate and burn up without ever triggering the TCO. I will be remounting the heater and when I do I'll attach the TCO to the heater using high temperature silicone. That way the TCO will stay with the heater and do its job even if the heater falls off the bed plate.

  5. Excellent analysis and documentation.
    Just starting with a Folgertech FT5 R-2 and it really needs the mods you suggest. Thank you.

  6. Hi Mark, love the concept and I am thinking of implementing something similar for my own CoreXY design. How are you adjusting the roll screw? I see that you have a knob for the pitch screw that you can turn to adjust its level, but I don't see anything similar for the roll screw.

  7. never mind the last comment, of course you adjust the bed level via the hex head on the spherical screw and the corresponding hole in the bed :)

    1. I probably should have been more explicit about that. The reference and pitch adjusters are accessed through the holes from the top side of the bed and the roll adjuster uses the thumb-wheel below the bed support.

  8. Fantastic solution

    PS: I like your cat

    1. Thanks! She's not my cat, I'm her person.

    2. I was also the can opener and servant of such a creature ;-)

  9. You’ve got to love the internet! I haven’t even finished my printer build yet and i knew that bed leveling was going to be an issue that needed addressing. I’ll adapt it to fit my frame but the concept is perfect. Going to check out the rest of your posts as I think we are of a like mind.

  10. I really like your work, well done.

    Do you have drawing for spherical screws (I can't find any)? Is that M5 thread? What is distance between the bed frame and the bed plate?

    1. Thanks!

      Yes, M5 thread. You can find a model of the screw here:

      I have redesigned the PTFE blocks to make them more secure and easier to mount (M4 t-nuts). Please check this post:

      The distance between the bed heater and the support frame is about 15 mm.

  11. Have you considered the plate underneath along with the 5mm foam insulation "sandwich" suggestion directly from Keenovo? By the way I am fascinated by all of your posts and am pouring over everyone of them. I was really close to ordering a RailCore II kit from projectR3D but now I have read about UMMD I have decided to look into it further. I particularly like that your motors are not hanging out the back on top like they did due to the ease this lends to enclosure. Thank you so much for sharing and if I was anywhere near Wisconsin I would visit the maker space just to be able to meet and talk with you!

    1. Thanks for the kind words. If you ever get to Milwaukee, come to the MakerSpace and I'll show you around.

      I do not insulate the underside of the bed plate as many people do for several reasons. Unlike many other printers, mine uses a heater that has adequate power to get the bed up to the target temperature quickly, so I don't need to insulate the underside to help speed up the heat-up time or even to reach the target temperature. I mostly print ABS and the enclosure is heated. Any heat the the bed "loses" from the underside contributes to warming the enclosure, so the heat isn't really lost at all. In my printer there's nothing that will be affected by the heater located under it, so I don't need insulation for that. Finally, I don't like to use clips that stand over the bed surface so coming up with a way to mount insulation securely is a little tricky.

  12. Hey Mark

    Thank you for the this research and blog.

    Looking at getting some cast aluminium cut for the bed, a 400X400 size. Those tabs (ears) that come out, are they essential for the design? Or would just a square plate (430X430mm) with holes drilled on the edge in the same spot (so 3 point level) worked just as well?

    1. They are not essential, but the alternative is to use a plate that is larger than the heater. I didn't want to do that because the unheated edges of the plate will act like a heatsink and the temperature falls off quickly as you approach the edges.

  13. Replies
    1. I added a link to the Cantherm part I used in the post up above. It may not be suitable for your printer or the way you operate it, so check the specs.


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