Introduction: AC Heated Bed Sunhokey Prusa I3

The following instructable describes how in a very easy way you can add an AC heated bed for your Prusa I3.

The particular printer which I have is Sunhokey but any type of Prusa I3 machine with aluminium heated bed will do. If you have glass bed, this mod is doable but I would advice to buy an aluminium plate and use glass on top of it.

To do the modification you will need:

1. Silicone heater or any other compatible with 20x20cm print-bed.

2. Solid State Relay capable of driving 2A AC current (basically any will do).

3. 1m of signal wires, i have used 0.25mm black and red to differentiate polarity.

4. M4x15 screw and M4 nut. I didn't have proper screw so I ended up cutting M4x25 short.

5. Kapton tape. About 1m should be enough.

6. Some basic tools like screwdrivers, pliers, wire cutters etc. Those will depend on your printer setup.

Step 1: Removing the Heated Bed.

First of all you will have to remove the existing heater from the bottom of your aluminium plate. In order to do that you need to remove 4 screws holding the bed. Please be careful not to loose any screws, nuts or springs.

When you will manage to remove the screws you need o proceed and remove the heater power cables from the MKS board. Please remember them as you will heave to use those terminals later to drive the Solid State Relay.

Now head to the thermistor cable mount. Unplug it gently from the board. If you can not do it by hand use pointy pliers. Be gentle as it is very easy to snap wires of the plug. Take you time and do not rush.

At this point print-bed should be free. Take it off the printer and prepare for a tricky job. Lay bed flat upside down and remove the styrofoam-like material. Keep it safe as it will be used again. Underneath, you will see a resistive heater. You need to remove it as gently as possible. Resistive pad stick to the bed like there is no tomorrow. Really, if properly fixed this pad could hold easily some serious weight!!! If you pull it to hard you will bend your print-bed!!! (This is what happen with mine. It was a nightmare to make it flat again) So take your time and do it slowly, at a low angle, not to put too much stress on the aluminium plate.

When you finish please clean aluminum plate from the remains of the glue. Just put the plate under the warm water and use some detergent to clean the surface. Wipe the plate before proceeding to the next step.

Step 2: Fixing New Heater-pad

When you will finally free the aluminium plate, place the thermistor at the center. Use some kapton tape to hold it in place. Now remove the protective layer from the 3M sticky pad and glue the heater-pad to the center of the aluminium print-bed.

On top of silicone heater place the styrofoam-like material and fix it using the kapton tape. Please try to avoid covering screw holes in the aluminium print-bed as it might later mess with you print-bed leveling.

Now place the power cables under the right leading print-bed crew, and thermistor cable under the left print-bed leading screw. It is quite important so they will not be in the way of the carriage. Also try not to leave to much of free wire as if they flex they may still get tangled underneath the carriage.

Before mounting the bed, please tighten all print-bed carriage screws as most probably some of them got a bit loose during printer usage.

If you are happy with the bed, place it back on the carriage and mount the same way it was mounted before.

Step 3: Connecting Power.

Please place the thermistor back in the same socket as before. If you have some zip-ties left after printer assembly, you can use them to tighten the excess cables.

Now you need to lay the signal cables from the control board to the Solid State Relay. Connect them to the same terminals the heated bed power cables were connected previously.

I have placed my SSR near the Power Supply to make the high voltage cables as short as possible. You may do the same or choose any place you will be comfortable with. The cables should be connected to the DC terminals of the Solid State Realy. In my case those are terminals 3 and 4, your might be different so please be careful here.

Now you will have to connect one cable from the silicone heater to the AC terminal (1 or 2, no polarity here so choose your favorite ;-) ) of the SSR and the other one to the terminal on Power Supply. The other terminal of Power Supply please connect to the SSR using a wire, please do not use anything smaller than 1.5mm as this is a "live wire" which will have to conduct some current. My explanation might be a bit confusing so if you are not familiar with the electricity and wires please refer to the amazing guide by Thomas Sanladerer on youtube:

When you are done try to put signal cables from the print board to the SSR underneath the print carriage fixing them with other cables using cable-spiral.

Step 4: Solid State Relay Mounting

You Solid State Relay most probably has two mounting screws. You can use them both or relay only on a single one as I did.

As previously mentioned I decided to put my SSR near the power supply to minimize the length of high voltage power cables and to contain high voltage zone on one side of the printer.

To fix the SSR you need to drill a hole with 4.5mm drill bit next to my power supply. I fixed SSR upside down so that it's AC terminals will be closer to power Supply AC terminals.

I fixed it with M4 screw which needed to be cut short so it will not interfere with my printing area. (Technically it would not but I wanted to be sure by keeping the mounting as flat as possible.)

Finally I printed a Solid State Relay cover to cover all terminals. Now I'm sure I won't touch live terminal unless I remove the SSR cover. The Solid State Relay cover STL file can be found on my thingverse:


Please, before going any further, read your heater data sheet. Do not exceed the maximum temp. of your heater pad no matter what. I have used a branded Keenovo heater pad which can go up to 260C, nether-less I put 200C heat-bed limit in Marlin software to have some safety margin. If you follow my values provided later on a bed rated at egz. max. 110C will operate outside it's safe operating range and you can expose yourself to the danger of electrocution or fire.

Step 5: BED_MAXTEMP Editing and PID Auto-tuning

When you will be sure everything is working; bed properly leveled, SSR working, etc. Now you need to change bed max temp in Marlin software.

Open config.h file in Arduino software and look for "#define BED_MAXTEMP". Find the last one as in my Sunhokey software it was defined two times. Change it for the safe value at which your heater-pad can operate. Mine car operate up to 260C, but i kept it low at 200C. Please remember that if your printer bed will reach that temperature your printer will automatically shut-off.(and print an error)

I advise you run the PID controller auto-tuning in Marlin software. As you have changed your print-bed heater, it's heating times have changed, old PID heat-bed values will not match the new bed.

So, if you want to run your print-bed in a most efficient way (hold the temperature as close to the set values as possible) you need to change it's PID controller values.

Here again comes handy other Thomas Sanladerer guide:

or RepRap Wiki:

Both above are going into details but if you want to keep it simple just type in your Marlin command line the following:

M303 E-1 S(average temp you will use you bed) C10

in my case that was "M303 E-1 S130 C10"

I put 130C as usually I'm printing PLA at 100C and ABS about 140-150C. (I don't like to use glue so the prints need to stick nicely to plain kapton tape. That is why I use such high temperatures.) Marlin will execute 10 cycles of heating and cooling the bed (C10 parameter) and come up with new PID values.

Now take those values and open config.h file in Arduino software. Find line "#endif // PIDTEMPBED". Above it you will find three un-commented (no "//" at the beginning of the line) lines starting with "#define". Take the values Marlin gave you and put them in the config.h file respectively; Kp->bedKp, Ki->bedKi, Kd->bedKd

Save the config.h file and upload the new config onto your printer board.

Enjoy your new printer with lightning fast heating times!!!

Step 6: Software, Firmware and Uploading

Sunhokey Prusa I3 firmware can be found at github:

To get it click "Download ZIP" button in the upper right corner. When download finishes unzip the folder somewhere on your hard drive. Firmware for other printers should also be available on github.

To download latest Arduino software please head to:

and download latest stable version.

After installation go back to Marlin unzipped folder, open Marlin folder and double click Marlin.ino file with Arduino icon. Now in tabs opened in Arduino software you will be able to find the config.h file. Do the changes as per previous instructions. Before hitting the upload button please click Tool->Board-> Arduino Mega 2560, Tools->Port->(port with your printer board number). Of course at this point your computer need to be connected to your printer control board.

Now you can upload the new config and you are done.

Step 7: Parts

Below are the links to parts which were used in my mod:

Silicone Heater Pad (I used 500W which is a bit overkill but still works like a charm :-) ):

Solid State Relay: