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
Raspberry Pi
Should be physically close to the Ender 3
Should be removed from any case with access to the GPIO pins
Should be able to get an SSH prompt (you can use my guide on Setting up Kubernetes and OpenFaaS on a Raspberry Pi cluster using Hypriot if you do not already have this leaving off the steps after Setting up the cluster)
Six female-to-female jumper wires (Amazon Prime)
A macOS computer with homebrew installed
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 InstallGo 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 |
---|---|
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 aboveInstall the avrdude packages necessary
Copy theÂ
/etc/avrdude.conf
 to the home directoryFind 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.