Site Navigation

Your Account

Choose Language

Introduction

The bootloader is a small piece of code on your printer's microcontroller that runs whenever the printer is turned on or reset. This code checks to see if your computer is trying to send a firmware update over the USB connection. If so, it stores the new firmware to the printer's internal flash memory.

A bootloader is required in order to upload new firmware to your printer over the USB connection. Without it, the only way to install new firmware on your printer is using a special programming device which plugs into the printer's internal programming port.

Most printers come with the bootloader already installed. However Creality neglected to do this when they built the original CR-10. In this guide we will show you how to install the bootloader on your CR-10 yourself. This will enable you to upload new firmware to your printer.

Important Notes

  1. The CR-10S (the new version of the CR-10) already has a bootloader installed. If you have a CR-10S, this guide is unnecessary.
  2. Flashing the bootloader requires a special tool capable of programming AVR chips. This is called an AVR ISP. In this guide, we used a Bus Pirate, which is a multipurpose tool capable of many useful functions, including programming AVRs. The Bus Pirate can be purchased for about $30. There are a number of other more inexpensive programmers available on Amazon. Any of these will work. Another option is to use an Arduino as a programmer, if you have one available.
  3. Flashing the bootloader will erase the original firmware on your printer. Make sure that you are ready to install a new firmware after following this guide.
    • Turn off the printer.

    • Unplug the AC power cable.

    • Optional: Unplug the controller box from the printer. This may make working on the controller box easier.

  1. Remove the spool holder by unscrewing the two thumbscrews holding it to the top of the controller box. Remove the spool holder by unscrewing the two thumbscrews holding it to the top of the controller box.
    • Remove the spool holder by unscrewing the two thumbscrews holding it to the top of the controller box.

  2. Flip the controller box over. Unscrew the 5 screws holding the bottom on using a 2 mm hex driver.
    • Flip the controller box over.

    • Unscrew the 5 screws holding the bottom on using a 2 mm hex driver.

    • Remove the bottom panel.

  3. Unscrew the four screws on the side of the box that hold the power supply in place using a 2.5 mm hex driver. Tilt the power supply and pull it out of the box. Set the power supply down, leaning it against the back of the box in order to minimize strain on the wires.
    • Unscrew the four screws on the side of the box that hold the power supply in place using a 2.5 mm hex driver.

    • Tilt the power supply and pull it out of the box.

    • Set the power supply down, leaning it against the back of the box in order to minimize strain on the wires.

  4. The In-circuit Serial Programming (ISP) header is located on the edge of the board, next to the USB port. Pin 1 is in the top right corner in this picture.
    • The In-circuit Serial Programming (ISP) header is located on the edge of the board, next to the USB port.

    • Pin 1 is in the top right corner in this picture.

    • Follow the instructions provided with your AVR programmer to connect it to the ISP header. If you are using the Bus Pirate, here are the connection instructions.

    • If your programmer has the option to choose between 3V and 5V, choose 5V.

    • Plug your AVR programmer into your computer.

  5. If you have not already done so, download and install the Arduino IDE. Go to File > Preferences Check the box that says Show verbose output during upload. This will allow you to monitor the flashing process and ensure that it is going correctly.
    • If you have not already done so, download and install the Arduino IDE.

    • Go to File > Preferences

    • Check the box that says Show verbose output during upload. This will allow you to monitor the flashing process and ensure that it is going correctly.

    • Click the button next to Additional Boards Manager URLs and then paste the following URL into the box:

    • https://raw.githubusercontent.com/Lauszu...

  6. The motherboard in the CR-10 is a derivative of a board called the Sanguino. Go to Tools > Board > Boards Manager.
    • The motherboard in the CR-10 is a derivative of a board called the Sanguino.

    • Go to Tools > Board > Boards Manager.

    • Search for the Sanguino board and install it.

    • Go to Tools > Board and select Sanguino from the list.

  7. Go to Tools > Processor and choose "ATmega 1284 or ATmega 1284P (16 MHz)" Go to Tools > Port and select the port for your AVR Programmer. If you have no other 3D printers or other serial devices connected to your computer, then your AVR programmer will be on the only port in the list. Go to Tools > Programmer and choose your type of AVR programmer from the list. If you are unsure of which type to choose, consult the instructions that came with your programmer.
    • Go to Tools > Processor and choose "ATmega 1284 or ATmega 1284P (16 MHz)"

    • Go to Tools > Port and select the port for your AVR Programmer. If you have no other 3D printers or other serial devices connected to your computer, then your AVR programmer will be on the only port in the list.

    • Go to Tools > Programmer and choose your type of AVR programmer from the list. If you are unsure of which type to choose, consult the instructions that came with your programmer.

  8. Go to Tools > Burn Bootloader.
    • Go to Tools > Burn Bootloader.

    • If all goes well you will see progress bars in the area at the bottom as Arduino writes the bootloader to the board and reads it back to verify it.

    • If you are using the Bus Pirate, you may get an error saying Paged Read command returned zero. You can ignore this error. The bootloader has been flashed successfully.

Conclusion

Congratulations, you are now ready to install new firmware on your CR-10. We recommend that you try uploading the firmware before closing up the control box so that you know the bootloader is working properly before you put everything back together.

Tyler Anderson

Member since: 06/30/2015

2,149 Reputation

20 Guides authored

0 Comments

Add Comment

View Statistics:

Past 24 Hours: 14

Past 7 Days: 124

Past 30 Days: 563

All Time: 5,509