Skip to main content

Parts

No parts specified.

    • As you may or may not be aware the stock ender 3 main board doesn't include a boot loader.

    • A bootloader allows you to connect your printer to the computer and upload new firmware.

    • The first thing that needs to be done is upload a bootloader to allow you to connect to the Ender 3 via USB connection.

  1. Gather:
    • Gather:

    • x1 Arduino Uno

    • x1 USB printer cable.

    • x5 Female to female DUPONT jumper wires.

    • x1 Female to male DUPONT jumper wire.

  2. Insert the printer cable end into the Arduino and the USB end into the computer. Insert the printer cable end into the Arduino and the USB end into the computer.
    • Insert the printer cable end into the Arduino and the USB end into the computer.

  3. Open a blank Arduino IDE page. Select file - Examples - Arduino ISP - Arduino ISP
    • Open a blank Arduino IDE page.

    • Select file - Examples - Arduino ISP - Arduino ISP

  4. Select Tools - Boards - Arduino Uno Select Tools - Port - then select the COM port the arduino uno is connected to (the COM number may be a different for you) Select Programmer - Arduino as ISP
    • Select Tools - Boards - Arduino Uno

    • Select Tools - Port - then select the COM port the arduino uno is connected to (the COM number may be a different for you)

    • Select Programmer - Arduino as ISP

    • Press upload to set the Arduino up as a programmer.

  5. Connect the Arduino Uno to the Ender 3 main board using the jumper wires.
    • Connect the Arduino Uno to the Ender 3 main board using the jumper wires.

    • Please note the light blue pin (bottom left when looking at the diagram) connects to the number 10 pin on the Arduino.

    • Match the orientation of the two ISP pins , ie make sure you are referencing ISCP/ISP mark on the boards to make sure you are connecting in the right order.

    • Use the female to female jumpers for the RED, BLUE, GREEN, YELLOW, and PURPLE pins.

    • Use the male to female jumper for the LIGHT BLUE pins.

    • The colours of the wires do not matter they are just here to highlight the importance of matching the pins.

  6. You will need to install a custom board called a Sanguino board in order for the IDE to send the bootloader and firmware to the board.
    • You will need to install a custom board called a Sanguino board in order for the IDE to send the bootloader and firmware to the board.

    • Select File - Preferences

    • Paste "https://raw.githubusercontent.com/Lauszu... into the Additional Boards Manager Urls box.

  7. Select Tools - Boards - Boards Manager Type "San" into the search box and you should see Sanguino by Kristian Sloth Lauszus Select install.
    • Select Tools - Boards - Boards Manager

    • Type "San" into the search box and you should see Sanguino by Kristian Sloth Lauszus

    • Select install.

    • You should now see Sanguino under Tools - Boards.

    • Select Tools - Boards Sanguino

    • Tools - Processor - AT mega 1284 or AT mega 1284P (16 MHz)

    • Tools - Programmer - Arduino as ISP.

  8. Select Tools - Burn bootloader.
    • Select Tools - Burn bootloader.

    • Your Ender 3 board should now have a bootloader.

    • From now on you should be able to connect the Ender 3 to the computer via the mini USB cable.

  9. The file you open is the Marlin.ino file
    • The file you open is the Marlin.ino file

  10. You may find you don't have the u8glib library installed. Download the .zip file from: https://bintray.com/olikraus/u8glib/Ardu... Paste the .zip file into the arduino - library folder.
    • You may find you don't have the u8glib library installed. Download the .zip file from: https://bintray.com/olikraus/u8glib/Ardu...

    • Paste the .zip file into the arduino - library folder.

    • If you don't get an error message when verifying the stock ender 3 marlin firmware you can skip this step.

  11. Select Tools - Boards - Sanguino. Select Tools - Processor - ATmega 1284 or AT1284P (16 MHz)
    • Select Tools - Boards - Sanguino.

    • Select Tools - Processor - ATmega 1284 or AT1284P (16 MHz)

    • Select Tools - Programmer - AVRISP mkII

    • The COM port should be the com port the board is connected to.

  12. select the configuration.h tab.
    • select the configuration.h tab.

  13. Scroll down until you find the Thermal settings. You should see #define TEMP_SENSOR_0 1
    • Scroll down until you find the Thermal settings.

    • You should see #define TEMP_SENSOR_0 1

    • This needs to be changed to #define TEMP_SENSOR_0 5

    • This means you are changing the temperautrte sensor type to a 100K thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (4.7k pullup)

    • If you skip this step the temperature will not be read correctly.

  14. Scroll down a bit further and you will find. The minimum and maximum temperate settings.
    • Scroll down a bit further and you will find. The minimum and maximum temperate settings.

    • Marlin has a -15° restriction on the maximum temperature able to be set on the LCD, so in order to hot tighten at 285°C you will need to set the max temperature to 300°C

    • Never exceed 285°C when using the thermistor with Hemera

  15. Make sure thermal runaway protection is enabled.
    • Make sure thermal runaway protection is enabled.

    • If you see // in front of the #define remove them to enable.

  16. scroll down to the movement settings. you will need to change the esteps per mm value from 'x' to 409
    • scroll down to the movement settings.

    • you will need to change the esteps per mm value from 'x' to 409

    • You can further calibrate the esteps per mm later if need be.

    • 'x' refers to the number that your printer currently uses.

  17. In order for the 0,0,0 position to be in the bottom left hand corner of the bed you need to enter a Y min offset so that after it homes to the limit switch it moves to the corner of the bed before starting a print.
    • In order for the 0,0,0 position to be in the bottom left hand corner of the bed you need to enter a Y min offset so that after it homes to the limit switch it moves to the corner of the bed before starting a print.

    • In my case the nozzle was 23 mm away from the corner when it homed so I added -23.

    • You can now select upload to load the modified firmware.

    • In order to make sure the temperature reading is as stable as possible it is important to PID tune the setup.

    • The easiest way to do this is to use Repetier Host.

    • Repetier Host can be downloaded here: https://www.repetier.com/

    • Only run a PID tune after you have uploaded the new thermal settings to the Ender 3.

  18. Once you have downloaded Repetier Host open it up and click printer settings
    • Once you have downloaded Repetier Host open it up and click printer settings

    • Make sure the COM port you have the printer plugged into is selected.

    • Make sure the Baudrate is 115200

  19. Select connect Select manual control.
    • Select connect

    • Select manual control.

    • This will then allow the entry of Gcode

  20. M303 C5 [E0] S200
    • M303 C5 [E0] S200

    • Enter the above code into the terminal

    • hit enter.

  21. After it has run through the 5 cycles that were set it will show the Kp,Ki, and Kd values in the dialog box.
    • After it has run through the 5 cycles that were set it will show the Kp,Ki, and Kd values in the dialog box.

    • Make a note of these values.

  22. open the Arduino IDE again and find the PID settings in configuration.h Replace the old values with the ones you just gained from the PID tune.
    • open the Arduino IDE again and find the PID settings in configuration.h

    • Replace the old values with the ones you just gained from the PID tune.

    • The values entered here will not necessarily be the same as yours.

    • Select upload to load the new settings.

  23. If you get an error saying can't connect to board you will need to disconnect the Ender 3 from repetier host and then try again.
    • If you get an error saying can't connect to board you will need to disconnect the Ender 3 from repetier host and then try again.

Finish Line

3 other people completed this guide.

Dan Rock

Member since: 06/07/2018

21,478 Reputation

40 Guides authored

5 Comments

you will need to change the esteps per mm value from X to 409 ?

You mean E1 or?

AxelB - Reply

It means E0 (first extruder),if you have Hemera on the first extruder or you have only one extruder, the one showing in this guide is 93 and changed to 409

Rafi Shamoon -

is this to be done before or after installing the hemera hardware on your printer?

Luke Pickhard - Reply

It needs to be done before hot tightening, but it doesn’t matter before or after assembly.

Dan Rock -

I have a Bigtree E3 v1.2 board on my Ender 3 pro. Do I need to change the board somewhere? Right now it says #define MOTHERBOARD BOARD_MELZI_CREALITY

P.S. I don’t have a boards.h tab . If I need that where would I find it?

James Simon - Reply

Add Comment

View Statistics:

Past 24 Hours: 13

Past 7 Days: 56

Past 30 Days: 252

All Time: 6,151