Edit: After completing the steps below, I found the following video with a USBASP that makes this process simpler (typical):

Original Post:

I decided to flash the TH3d firmware to my new Ender 3 – mainly for the thermal runaway protection and bed mesh levelling.

I used the following videos to flash the firmware, with a couple of changes:

I used a USBASP to flash the bootloader instead of an Arduino Uno, as that’s all i had to hand. Just ignore the steps where the ArduinoIsp sketch is flashed to the Arduino and connect the USBASP to the Ender 3 via the following pinouts:

USBASP – looking into connector with notch at the top:

MISO SCK !RES N/C MOSI
GND GND GND GND VCC

Ender 3 – looking at the board from the front of the printer:

!RES SCK MISO
GND MOSI VCC

Leave VCC Disconnected as the USBASP doesnt provide enough power to power the board.

Turn on the Ender 3, select tools -> programmer -> usbasp in arduino, then click tools -> burn bootloader.

The bootloader is now burned onto the chip. Now this has been done TH3D can be compiled and uploaded via the Ender 3’s usb port.

Turn off the Ender 3, unplug the USBASP and plug in the Ender 3’s usb cable,  in Arduino select tools -> programmer -> AVRISP mkII and select the Ender 3’s com port, set the board to sanguino, compile and upload!