Flashing Firmware to Creality CR-10 S5

There are plenty of firmware flashing guides out there for CR-10 models, but not yet a lot for the CR-10 S5 model.  So I had to figure out how to flash the firmware based on what was available for other models.

To  understand what is required, please refer to this video.  It has all of the major steps needed. This post is not meant as a full guide.  It's merely supplemental information that applies to the video below meant for the S5 model's of the CR-10 series. 

https://www.youtube.com/watch?v=7J7NYnxL5vA


So the basic idea is the CR-10's do NOT have a bootloader installed by default.  So in order to flash the firmware, you first have to burn the bootloader.  This can be done via an arduino because the CR-10's all use an arduino as their main processor.

The CR-10 normally has a jumper to switch to USB power.  the S5 does not have this.  You can just disconnect the 120/240v power and plug in the USB cable and it will power the S5 board.   You wil need the board powered on with 5v USB in order to flash the board.

So per the video, you are first using the arduino Uno to burn the bootloader to the CR-10.   So you need to connect the ISCP pins, and then connect the RST pin on the CR-10 to pin 10 on the Uno.   Refer to the above video for the mapping.

One thing to note is the position of the letter "ISCP" on both boards is NOT an indicator of orientation.  I had to use a multimeter to determine where the 3v out was coming from.  So you can use the image below to help map the cables to the correct pins. 


Now set the IDE's board setting and use BURN BOOTLOADER option.  this will burn the bootloader to the CR-10 from the Uno.  

After that, disconnect the ISCP pins, and leave the usb cord to power the S5.  Unplug the usb cable going to the Uno just in case.  Now you need to change the arduino IDE to point at the S5 and not the Uno.  Do this by changing the PORT option.

For other models, as the video points out, you change the Board and CPU settings to Sanguino 1428.  But the S5 is not a 1428 board.  It's actually an ATmega2560 (aka Arduino Mega).  So you need to change the arduino board setting to the Arduino Mega 2560  and Processor is ATmega2560.  Make sure the port is correctly assigned to the CR-10 S5.  Also keep the programmer as Arduino as ISP.

With those settings in place, you can now use the main arduino IDE "upload" button to push the firmware to the device.

I used the Th3dstudio's Unified Firmware package available here.  The website says the S5 model is supported.  Following the instructions for the download, you open the arduino IDE that is supplied with the download.  It then opens up all of the needed arduino sketch files. All you need to do is click on the CONFIGURATION.H tab and scroll down until you see #define CR-10_S5.    Un-comment this line by removing the first two forward slashes. 

There is another line below that one that  you can use to disable the use of the filament sensor, but this is not required.

The supplied instructions tell you to let this file tell you what board to specify in the IDE.  Directly above the #define statement, it tells you to use the Sanguino board.  As stated above, this is not correct.  I did try the Sanguino at first but I got invalid response errors because the board it was talking to was a 2560.   Once I changed the board to the ATmega2560 the firmware loaded without issues.

From there I didn't even need to restart the CR-10 S5.  It was already running the firmware and worked great. 





Comments

  1. I have comment, I was working on it got the boot loader on use Th3D's code on config H. had it ready using com 7, avrisp mkll, and using a At mega 2560, it gave me an error to use the "sangunio board" in which when i switch it would just lose connection to the processor. ( Basically saying this isnt right board and I cant connect) is there anything I can do? ( this is a cr-10 S5)

    ReplyDelete

Post a Comment

Popular posts from this blog

Scion xB 2005 - Fuel Filter replacement DIY

Using Radius authentication with SSH