E3D Hemera and Marlin 2.0.9.x

Calibrating E3D Hemera

My Ender 5 Plus was pretty basic. Using the original (noisy) Creality V2.2 board, the standard touch display and the original Heatsink bowden setup.

For the upgrade to the E3D Hemera, I followed the instruction of 3D Printing Canada. Check out their Youtube video here.

In the video, they used a certain mount, you can download from Thingiverse. That`s the one I used. You can download it here


After removing the original filament extruder, I created a new mount for the filament runout sensor. I designed the mount in Fusion 360 and put the STL on Thingiverse.

VERSION
1.0 E3D HEMERA

Three steps

  • Creating the firmware and uploading
  • making changes to BLTouch settings
  • Calibration

1. FIRMWARE MARLIN ENDER 5 PLUS (IA) and E3D Hemera

Using:

  • Marlin-CrealityDwin2.0_Bleeding
  • Marlin-configurations.bugfix-2.0.x

DOWNLOAD MARLIN 2.0.x

Used : Tiny Machines3D Marlin 2.0 (latest Insanity Automation)
URL : https://github.com/InsanityAutomation/Marlin/tree/CrealityDwin2.0_Bleeding
Configs : https://github.com/MarlinFirmware/Configurations/tree/bugfix-2.0.x

Save both files and extract them
Copy configuration.h and configuration.adv from your configfile (..\config\examples\creality\Ender-5 plus) to
your unzipped Marlin Firmware folder (..\firmware\marlin)
Overwrite existing files two configuration files

SETUP VISUAL STUDIO

Download Visual Studio Code from : https://code.visualstudio.com/download
Download PlatformIO

  • Open the folder with your unzipped firmware
  • On the left navigation panel, search for PlatformIO
  • It will then download it for you if not installed
  • Your project will be updated with metafiles for PlatformIO

VSC with PlatformIO has problems, if your sources are not local, but on a SMB share (like a NAS).
Make following change to local registry, to enable compiling over an UNC path.
HK_CU\Software\Microsoft\Command Processor
New Key: DisableUNCCheck [REG_DWORD]
Value 1

I exported the Regkey and saved it. Easier for next workstation setup.

On the left panel, go to explorer. You see the opened folder. Open marlin subdir. Open the configuration.h file

FIRMWARE CHANGES


All changes I have Remarked with my initials (easier to find them again)

CHANGES CONFIGURATION.H:

#define MachineEnder5Plus //BF
#define HotendE3D //BF
#define HotendAllMetal //BF
#define E3DHemera //BF
#define DirectDrive // Any direct drive extruder, reduces filament change lengths //BF
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, ZStepsmm, EStepsmm } //BF
#define NOZZLE_TO_PROBE_OFFSET { -3, -50, -4.2 } //BF Offset for Hemera Mount for Ender 5 (Plus) V6 and Volcano + IR Probe
#define Y_BED_SIZE 348 //BF
#define Y_MAX_POS 348 //BF
#define Z_MAX_POS 400 //BF
#define X_BED_SIZE 352 //BF
#define X_MAX_POS 352 //BF
#define DEFAULT_Kp 21.19 //BF
#define DEFAULT_Ki 1.58 //BF
#define DEFAULT_Kd 71.16 //BF
// change PETG en ABS values (optional)

BUILD FIRMWARE

Create the HEX file:

Using the PlatformIO plugin in VSC, you can build the software for the AtMega2560
Click the PlatformIO icon on the left navigation panel

  • Open the Mega2560 subfolder
  • Click build.

In the lower part of the screen, a statuswindow will open and show status. It should end with SUCCESS.

The new firmware file (.HEX) will be in the
In my case > the hex file will be in de …PIO\BUILD\mega2560 folder.
My file was named mega2560_DW7.4.7.HEX

FLASH YOUR PRINTER

When you compiled the software, you can upload the HEX file to your printer. In my case,
I did that using my Octoprint setup and the ‘Firmware Updater’ plugin.

Octoprint Firmware Updater config:
Serial Port : /dev/ttyUSB0
Flash Method : avrdude (Atmel AVR Family)
AVR MCU : ATmega2560
Path to avrdude : /usr/bin/avrdude
AVR Progr. type : wiring

Advanced settings
avrdude Baudrate: default
Prevent serial connections when flashing > enabled


2. CHANGES TO BLTOUCH PRINTERSETTINGS


Your EEProm settings for your printer are based on the old HotEnd.
First you have to set the correct values for your BLTouch.

For the Hemera Mount for Ender 5 (Plus) V6 and Volcano + IR Probe, you can use following command:

M851 X-30.00 Y-50.00 Z-2.41

Save this to eeprom and check if it is OK

M500
M501

If you are using another mount, you can easily set your BLTouch with following commands:

G28 ; HOME
M851 ; Read current values
M211 S0 ; Endstops OFF
M500 ; SAVE
M501 ; RELOAD (CHECK)
G28 Z ; HOME Z Nozzle
G1 F60 Z0 ; RESET Z value Nozzle
G1 F60 Z-1 ; Safely set first step down. Repeat with higher values till Nozzle reaches correct Z-Offset (roughly)
: In my case Z-2.41 was OK
M851 Z-2.41 ; Save Z Value
M211 S1 ; Endstops ON
M500 ; SAVE
M501 ; RELOAD (Check)

After that, find the correct X and Y values for first Probin point.
Save them with
M851 X-30 Y-50 (examples)


3. PRINTER CALIBRATION


Now it is time to calibrate your printer

  • PID Tuning (Temp HotEnd and Bed)
  • e-Steps calibration (Cold for Bowden setup, Hot for Direct Drive)
  • Bed Level manual
  • Bed Level with BLTouch
  • Clean Bed
  • Part Cool Fan test (With M106 and M107)
  • Test your first print with simple bedlevel test STL
  • Calibration with TEMP tower
  • Calibration with FLowRate Tower
  • Calibration with Retraction Tower
  • If everything is tuned in, you can finally print the ‘3DBenchy’ we are all waiting for…

Pre-compiled firmware

If you are not into setting up the firmware, you can leave me a comment on the mainpage of my website. I can mail you my HEX firmware file.