How to Install a Bootloader and Update Marlin Firmware – Howchoo (2024)

Home Interests Ender 3

How to Install a Bootloader and Update Marlin Firmware – Howchoo (1)

Update your 3D printer's firmware and add thermal runaway protection.

howchoo (467)

September 20, 2023

16 minutes

You'll Need 4

What you'll need
Interests
Series

Howchoo is reader-supported. As an Amazon Associate, we may earn a small affiliate commission at no cost to you when you buy through our links.

Posted in these interests:

How to Install a Bootloader and Update Marlin Firmware – Howchoo (7)

3D Printing

3dprinting • 36 guides

How to Install a Bootloader and Update Marlin Firmware – Howchoo (8)

Arduino

arduino • 2 guides

How to Install a Bootloader and Update Marlin Firmware – Howchoo (9)

Ender 3

ender3 • 19 guides

  • How to Install a Bootloader and Update Marlin Firmware – Howchoo (10)

    Ender 3 FAQ
  • How to Install a Bootloader and Update Marlin Firmware – Howchoo (11)

    Ender 3 Firmware Update
  • How to Install a Bootloader and Update Marlin Firmware – Howchoo (12)

    Ender 3 OctoPrint
  • How to Install a Bootloader and Update Marlin Firmware – Howchoo (13)

    Ender 3 OctoPrint Touchscreen
  • How to Install a Bootloader and Update Marlin Firmware – Howchoo (14)

    Ender 3 Upgrades and Mods
  • How to Install a Bootloader and Update Marlin Firmware – Howchoo (15)

    Ender 3 BLTouch Setup
  • How to Install a Bootloader and Update Marlin Firmware – Howchoo (16)

    Ender 3 Board Upgrade
  • How to Install a Bootloader and Update Marlin Firmware – Howchoo (17)

    Ender 3 Spring Upgrade

This guide will show you how to install a bootloader and update the Marlin firmware on your Ender 3 or Ender 3 Pro. If you’re using an Ender 3 V2, then there’s a different guide forupdating firmware on the Ender 3 V2.

Why update your Ender 3’s firmware?

Most Ender 3s ship with a customized, outdated Marlin firmware version that lacks thermal runaway protection and other safety features.

If you useOctoPrint, you may even have seen the following error message:“Warning! Your printer’s firmware is known to lack mandatory safety features (e.g. thermal runaway protection). This is a fire risk.”Many 3D printer fires happen as a result of thermal runaway.

How to Install a Bootloader and Update Marlin Firmware – Howchoo (18)

OctoPrint: Control Your 3D Printer Remotely with Raspberry Pi and OctoPi
Untether your printer!

What is thermal runaway?

In a nutshell, your printer contains both a temperature sensor, or “thermocouple”, and a heating element. When you start a print, your heating element reads data from the thermocouple and continues to heat until reaching the predefined print temperature.Thermal runawayis a condition that exists when the thermocouple becomes dislodged or damaged and your printer continues heating,forever, until something like this happens (read: 🔥🔥🔥):

What is thermal runaway protection?

Thermal runaway protectionis a feature of most modern firmware that shuts down the heating element if the thermocouple isn’t responding properly. To get technical, it generally polls for a temperature change every N seconds and expects an increase. No increase? Shut it down.

Guide overview

Before updating the Creality Ender 3 firmware, we’ll load a custom bootloader onto the Ender 3 using a cheap Arduino Uno or Arduino Uno clone. You can pick an Uno up forabout $15 on Amazon.

What’s a bootloader?

A bootloader is a program that loads an operating system when a computer (in this case, the printer) is turned on. Because the Ender 3 doesn’t come with a bootloader, we’ll need to install one. This will allow the printer to boot using a newer version of the Marlin firmware. After installing the bootloader, we’ll be able to easily update the firmware in the future, too.

This guide will work for Mac, Windows, and Linux!

Let’s get started!

1 – Download and install the Arduino IDE

How to Install a Bootloader and Update Marlin Firmware – Howchoo (19)

Download and install the Arduino IDEfor Mac, Windows, or Linux.

2 – Add the U8glib library

How to Install a Bootloader and Update Marlin Firmware – Howchoo (20)

In the main menu, navigate toFile > ExamplesorExample Sketchesand selectArduino ISP.

Then, navigate toManage Librariesand install theU8gliblibrary.

3 – Install the Sanguino board

How to Install a Bootloader and Update Marlin Firmware – Howchoo (21)

Next, we’ll need to installthe Sanguino board.

OpenArduino Preferencesand paste the following underAdditional Boards Manager URLs:

https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json

Then, navigate to theBoards Managerand installSanguino.

4 – Upload the sketch to your Arduino Uno

How to Install a Bootloader and Update Marlin Firmware – Howchoo (22)

Connect your Arduino Uno (or Arduino Uno clone) to your computer using a USB cable.

UnderTools, selectArduino Unoas the board.

Then, select eitherArduino UnoorCOMas the port, depending on your computer.

Finally, clickUploadto upload theArduino ISPsketch. After uploading, keep the Uno connected to your computer.

🛈 The Arduino will need to remain connected to your computer for the entire process. Therefore, you’ll need to move your computer to wherever your printer is (or vice-versa).

5 – Connect the Arduino to your Ender 3

How to Install a Bootloader and Update Marlin Firmware – Howchoo (23)

Turn your printer OFF. Then, use the small hex key that came with your printer to remove the 3 screws from the Ender 3 control box—this is the box located beneath your bed.

Finally, use your “Dupont” jumper wires to connect your Arduino to your printer as follows:

Arduino Ender 3 bootloader connections

Ender 3 PinArduino Uno Pin
MISOMISO
5V5V
SCKSCK
MOSIMOSI
RESET~10
GNDGND

Matching up the pins

You may have noticed these pins aren’t labeled on either the Ender 3 or Arduino Uno. No worries—you might also have noticed there’s an identical small 2×3 header (2 rows of 3 pins in each row) on both the Arduino and Ender 3. We basically want to “match up” the two headers, with the exception of theRESETpin.

Use the attachedEnder 3 Arduino wiring diagramto connect the two headers properly.

🛈 Your Ender 3’s screen will light up as you connect things and it begins to draw power from your USB port.

6 – Burn the bootloader

How to Install a Bootloader and Update Marlin Firmware – Howchoo (24)

Select theSanguinoboard from theToolsmenu. Then, change theProgrammerfromAVRISP mkIItoArduino as ISP. Finally, clickBurn bootloader.

When the process is finished, you’ll see a message stating“Output bootloader burned successfully”.

Troubleshooting

If you run into issues, try the following:

  • Double-check your settings and connections
  • Swap out your jumper wires in case yours are defective
  • Make sure you downloaded the Arduino IDE directly from the Arduino website (not the Windows store)
  • If you see an error such as the one below (especially if you’re running macOS), try installing theTH3D United Firmware Packageand running the included preconfigured Arduino IDE instead of the normal Arduino IDE. Then, selectSanguino (1284P Boards)as the board. If you’re using a Mac, don’t forget to followthe Mac setup instructions for the TH3D Arduino IDE.
avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x01avrdude: stk500_initialize(): (a) protocol error, expect=0x14, resp=0x10avrdude: initialization failed, rc=-1 Double check connections and try again, or use -F to override this check.avrdude: stk500_disable(): unknown response=0x12Error while burning bootloader.

When the bootloader is done burning, carefully disconnect the jumper wires from your Ender 3, secure the control box cover, and unplug the Arduino from your computer.

7 – Download and prepare the latest Marlin firmware

How to Install a Bootloader and Update Marlin Firmware – Howchoo (25)

Downloadthe latest Marlin releaseto your computer and unzip it.

Then, navigate toMarlin/example_configurations/Creality/Ender-3and copy all those files into theMarlindirectory, replacing all files when prompted.

8 – Connect and transfer the firmware

How to Install a Bootloader and Update Marlin Firmware – Howchoo (26)

Connecta mini USB to USB cablebetween your computer and the Ender 3’s front USB port. If you’re alreadyusing OctoPrint with the Ender 3, simply move the USB cable from the Raspberry Pi to your computer. 🙂

Back in the Arduino IDE, selectFile > Openand locate theMarlin.inofile from theMarlindirectory you unzipped early.

Then, make sure the port is still selected asSanguinoorSanguino (1284P Boards), the programmer isArduino as ISP, and the proper serial port is selected.

Finally, click theUploadbutton. The firmware transfer process should take about a minute.

9 – Wrapping up

How to Install a Bootloader and Update Marlin Firmware – Howchoo (27)

Disconnect your computer and power on your printer. Your printer will take a bit longer than normal to start up. You should now see a different boot screen since your firmware has been updated.

Up next

Next,set up OctoPrint on your Ender 3and improve your printing experience!

How to Install a Bootloader and Update Marlin Firmware – Howchoo (28)

How to Set Up and Use OctoPrint on the Creality Ender 3
Control your Ender 3 remotely.

How to Install a Bootloader and Update Marlin Firmware – Howchoo (2024)

References

Top Articles
Latest Posts
Article information

Author: Chrissy Homenick

Last Updated:

Views: 6703

Rating: 4.3 / 5 (74 voted)

Reviews: 81% of readers found this page helpful

Author information

Name: Chrissy Homenick

Birthday: 2001-10-22

Address: 611 Kuhn Oval, Feltonbury, NY 02783-3818

Phone: +96619177651654

Job: Mining Representative

Hobby: amateur radio, Sculling, Knife making, Gardening, Watching movies, Gunsmithing, Video gaming

Introduction: My name is Chrissy Homenick, I am a tender, funny, determined, tender, glorious, fancy, enthusiastic person who loves writing and wants to share my knowledge and understanding with you.