Ender 5 Update firmware

Requirements :

To update the firmware on your Ender 5, you will need a board with a bootloader installed (some 1.1.4 have it or 1.1.5) or a Raspberry Pi/Arduino and some jumpers to communicate with the Ender 5 board.

Handy videos:

 

Flashing Firmware with a Raspberry PI

NOTE: This guide was written for macOS so you may have to make some substitutions on instructions for your OS.

Things you will need

Setup

Before we get started we need to install a few things on both your machine and the Raspberry Pi.

On your machine

  • Install Arduino IDE

    1 2 brew cask install --appdir="/Applications" arduino
  • Download the TH3D firmware

    1 2 3 4 cd ~/Desktop git clone cd TH3D-Unified-U1.R2/TH3DUF_R2/
  • Open the Arduino IDE

    • Go to Arduino > Preferences and paste https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json into Additional Board Manager URLs and click OK

    • Go to Tools > Board and select Sanguino

    • Go to Tools > Processor and select ATmega1284 or ATmega1284P (16 MHz)

    • Go to Tools > Manage Libraries… and type U8glib and click Install

    • Go to File > Open… and select TH3DUF_R2.ino

    • Go to the tab labeled Configuration.h find the line #define ENDER3 and remove the two leading //

    • In the same tab file the line #define DISABLE_BOOT and remove the two leading //

    • Go to Sketch > Export compiled Binary

You should now see two files: TH3DUF_R2.ino.sanguino.hex and TH3DUF_R2.ino.with_bootloader.sanguino.hex

  • Copy the files to the Raspberry Pi machine

    1 2 scp -i ~/.ssh/YOUR_PRIVATE_KEY.rsa TH3DUF_R2.ino.sanguino.hex TH3DUF_R2.ino.with_bootloader.sanguino.hex pi@YOUR_RASPBERRY_PI_IP:~/

Change pi to the Raspberry Pi username and YOUR_RASPBERRY_PI_IP to the IP of the Raspberry Pi machine you are using on your home network

Connect the Ender 3 board and the Raspberry Pi

UNPLUG THE ENDER 3 POWER AND RASPBERRY PI POWER

Here is the Ender 3 Board with the pins you will be connecting labeled:

And here is the Raspberry Pi 3 board with the pins you will be connecting:

Given these diagrams you can connect your jumper cables in the following way

Ender3

RaspberryPi

Ender3

RaspberryPi

5V

PIN 2

MISO

PIN 12

MOSI

PIN 16

SCK

PIN 18

GND

PIN 6

RESET

PIN 11

On the Raspberry Pi

  • Plug back in the Raspberry Pi and wait some time for it to boot

  • SSH to the Raspberry Pi emachine on your network which you have just copied the .hex files to above in the Arduino IDE section above

  • Install the avrdude packages necessary

  • Copy the /etc/avrdude.conf to the home directory

  • Find the linuxspi line and change the baud rate to 115200

  • Add the following to the bottom of the file

     

  • Test to see if the board is recognized

    You should see output similar to the following:

    If you do NOT see the following DO NOT PROCEED and check your PIN connections.

  • ACTION STEP Now you can flash the board

    You should see the following output:

  • You should now run the following

  • Wait one solid minute and now unplug the micro USB POWER to the Raspberry Pi

  • Unplug all of the jumper cables from the Raspberry Pi

You are now done flashing the board. You can now plug back in the Ender 3 and power it on. You may see a blank screen for a moment and then it should show the usual screen you see when there is no print in progress.

Extra

If you are like me you would like to:

  • Install a BLTouch

  • Install the Microswiss hotend

  • Install stepper motor dampers

  • Install the Petsfang to work with the dual blower 5015 fan mod and Microswiss hotend

The trick to both the BLTouch with the Petsfang dual 5015 blowers are some modifications to the firmware. The 5015 fans whine and there is a fix in the TH3D firmware for this as well as some tuning and enabling of the BLTouch.

Also, my Ender 3 came with pressed fit pulleys, and it wasn’t until I discovered this YouTube video that I knew I was hitting an obstacle that was not readily mentioned elsewhere. For this I had to print out modifications (mentioned and linked by the video) that I could then install the stepper motor dampers with the press fit pulleys. This required inverting the X-axis motor.