Heated Bed

From RepRap
Revision as of 00:02, 13 April 2010 by Gordon (talk | contribs) (Suggestion for improving the heating circuits: one under-powered all the time, the other PWM.)
Jump to: navigation, search
Crystal Clear action run.png
Heated Bed

Release status: unknown

No image available.png
Prototype an heated bed which avoid warp and the use of raft
CAD Models
External Link


We're organized in this RepRap-Forum with gathering ideas, troubleshooting, and designing the heated bed. Please join us and remember you're welcome to log in and edit this page as well!


A heated bed helps greatly to avoid the warp problems and permits the print without using raft! Examples:





There had been some good results using ABS and PLA on it. Here are some links of tests made with results:

Please verify all the information on this page, looking on the many blog and forum messages about this subject over Internet.

The current design of Heated Bed on this page is almost equal of the one made by James Glanville.

Also keep in mind that despite the title this page only describes one out of many heated bed designs.

Technical details

We should use Kapton tape on top of the heated bed, since hot extruded plastic sticks very well to it and also it's easy to peel off the piece from it in the end of print, without damage the piece and the Kapton tape.
Only few people have had good results printing directly onto various metal surfaces like copper or roughened aluminium.
The tested temperature values for the heated bed are 120°C to 220ºC for ABS plastic and 55ºC for PLA plastic.
The bed should be heated that temperature values before starting printing and keep that values during printing. The first layer should be printed at a slower speed, like 3-14mm/s instead of 16-32mm/s.

Mechanical construction

A heated bed can be build using a flat metal sheet of about 6mm thickness or less. If aluminium is strong and do not bend, a 2mm can be used.
It needs to be flat for obvious reasons and a metal like aluminium or copper because these are very good conductors for heat.
Thus the heat will be even across the whole bed even when only a few, local heating elements are used.

It should be insulated on the bottom side to not melt any plastic parts of the RepRap.
On the RepMan a ceramic wall tile has shown good results.
The bed could also or additionally use insulating stand-offs.

Be careful as ABS does not stick well to aluminium. Copper is known to work better as is covering the bed with Kapton tape.
Also take care about thermal expansion. If your bed is not allowed to expand in XY-direction it will use the only offered direction and bulge.
A aluminium 20cm bed heated by 100°C will expand about half a millimeter along its length as it warms up.

Electric construction

To power the bed, you should use a PC PSU or universal power supply that can output at least 10A @ 12V.
You may be able to get universal laptop-PSUs with adjustable voltage for a range of 15-24V at 80-180W.

The heating elements can be nichrome wire, power resistors for higher temperatures or ready-made, flat heating-pads for lower temperatures.
nichrome wire is cheaper and takes less space then power resistors.

(Note that for first tests a thermometer for the apropriate range and manually controlling the PSU-voltage can be enough to print. So you can postpone the electronics for later if this is not your strong point.) [suggested improvement: have two separate heaters spacially interleaving, one under-powered all the time, the other controlled by PWM. This would ease the current burden on the PWM power circuit. It would also improve temperature accuracy.]

Electronics Design #1

One possible electronic control circuit (NOT TESTED YET) can be the following one. It uses an Arduino to read the temperature from an appropriate sensor and PWM one power MOSFET. Target and current temperature values can be seen on a LCD. Target temperature can be selected using three buttons.

Temperature sensor

The TSIC101 is supplied with +5V from the Arduino board. It outputs a linear voltage between 0 and 1 volt. 0 volt for -50ºC and 1 volt for 150ºC.
Ardunio can be configured to have an ADC voltage reference of 1.1V, which means it can read steps of 1.1V/10bits ~= 1mV.
Since TSIC101 outputs 5mV for each 1ºC, Arduino will be able to measure each step of 0.2ºC (TSIC101 resolution is 0.1ºC).
We may not let the TSIC101 going over 140ºC for his safety, since 150ºC is the maximum.


The power MOSFET FDB8880 is rated for maximum VDss of 30V, which means it can cut at least 24V, however we will be using 12V.
It can cut also as maximum 11A with no heatsink.
Any MOSFET with an Rds(on) of less than about 20 milliohms at Vgs=4.5v,Tj=175c will be suitable, such as IRL3803 and STP55NF06.
It is controlled by Arduino digital 6 which can output a PWM signal of +5V.
The diode D1 is a protection against any possible voltage surges because of commuting the heater element.

(TODO: include scematics and board-layout here)


More info on Arduino LCD page.


The three buttons let user select the target temperature. More functionalities can be added to firmware and use these three buttons to navigate on menus, for example.

There should be a MODE button, UP button and DOWN button;

The display must be a minimum of 4 characters (although 8 would be the useful minimum). 10 would be pure luxury and 2 lines would be overkill (unless it can be purchased for less than a one line display).

The mode button when pressed toggles between: On - Set - Off and then back to On.

The display appears as: "(Bed|Set|Off)[@: =][ 1-9][ 0-9][0-9][°]*[CF]*" when expressed as a regular expression.

In On and Off mode the Bed temperature is constantly displayed with a one second update. In Set mode we see the temperature that the bed should be heated to. This set temperature should be saved in EEPROM so it is available on the next start.

The Arduino have pull-up resistors that should be enable for the buttons working correctly.


The LED can be used to signal something to user. It is a 20mA LED with 2V Vf.


  • There is no need to implement PID control on firmware, but it can be done.
  • Last temperature values inputed by user should be saved on EEPROM, so user do not need to input it again.
  • There could be a few profiles (with temperature value changed by user), one for each kind of plastic, like for ABS target temperature = 120ºC and PLA target temperature = 55ºC.
  • Maybe a cool down slope is important, like let user define how much time the bed should take to go from target temperature to final one.


Schematic source files for KiCad.

Schematic: Reprap-heated bed.png

Operational considerations

Initial heating

Due to the nature of things, the heated bed radiates heat. Loss of radiated heat from the bed results in poor efficiency when heating, which results in the need for more power to reach the desired temperature. A suggestion was made to try using a lid over the heated bed, to keep the heat trapped above the bed. Initial tests have proved successful at improving the initial heating time, though no detailed data on how much faster this improves heating is currently available.
The test lid was acrylic and approximately the same size as the bed. The piece of acrylic was on spacers that provided approximately 10mm clearance between the bed and the acrylic lid. Removal of the lid (to allow extruding) resulted in an almost immediate 5ºC temp drop (at 110ºC), which was then easily compensated for by the heating circuit in a minute or two.
Further suggestions have been made along the following lines:

  • Thermal blank: Effectively a plate to cover the entire plate except for the area to be printed. Some suggestions are to use the printer to print this thermal plate, however there is the issue of the waste of plastic and/or re-use of these blanks over multiple prints yet to be addressed.
  • Sliding plates blank: Same basic principle as the above, using sliding plates that can be moved into place around the bed to cover the non-printing area.

None of these ideas have yet been tested.

Removing the final printed piece

You should let the Heated Bed and piece cool down to avoid warping.

The printed piece may be very dificult to release from the Heated Bed. A good way to release it is using a hair dryer, blowing hot air against the piece when both Heated Bed and piece are cold (blowing approximated 20 seconds). If you want to release the piece when both Heated Bed and piece are hot, you may instead blow cold air.

You can also use a pen knife to release the piece but be careful to not hurt yourself.

Skeinforge options for heated bed

Skeinforge has an option to control a heated bed and chamber.
Since we are not controlling the heated bed via gcode using the RepRap main board or the RepRap extruder board, we don't need that Skeinforge option.
We don't need a raft if the bed is flat enough but we need to print the first layer at a lower speed so the plastic can stick to kapton tape.
Skeinforge options for this are in "Raft" -> "Object First Layer".
Keep in mind that skeinforge often renames options in newer versions or moves them to a different tab.
Here the main description taken from Skeinforge Manual at the RepMan-wiki:

Object First Layer

The first layer of your object is printed "differently" from the rest of the object. In some cases (especially if you are printing without raft) it is needed to print the first layer of your object slower or to deploy bit more filament.