Ender 5 – Hemera Upgrade

Ender 5 with Hemera

Aside from the Duet, one of the biggest improvements that I made to my Ender 5 is the 24VDC version of the direct drive Hemera hot end, drive motor, and extruder combination by E3D. This hot end is a dual-drive system with a hardened stainless steel drive train. An optimized heatsink ensures airflow is diverted up and away from both the Hot End and the heated bed. This reduces the risk of warping and uneven stresses forming in the printed part; optimized airflow also means a quieter fan.

Direct Drive vs Bowden Drive

The Ender 5 comes with a Bowden tube system. This means that the filament drive motor is fixed to the frame and doesn’t move with the hot end like on a direct drive system (pictured on the right). Instead, the filament is pushed through a tube that runs from the drive motor on the frame to the hot end (pictured on the left).

Direct vs Bowden extrusion. Source: Craftunique

The stock Bowden setup can have speed advantages because you have less weight on the moving parts and thus less inertia to overcome when the extruder needs to rapidly change directions. However, I found by moving to the Hemera direct drive solution it is light weight enough that I retained the same speed I was getting out of the stock Ender 5 and improved the following:

  • Print with a wider rage of materials such as the ninja flex
  • Better part cooling performance with quieter 24VDC fans
  • Wider range of temperature ability at the hot end which was a combination of the Duet driving the Hemera
Hemera on my Ender 5 with BL Touch

Hemera Install

Before you start taking your printer apart you need to print a new mount for the Hemera. Ideally you print in something durable like PETG or ABS. With the stock printer I had issues with printing in anything other than PLA. So I printed the mount in PLA and so far it has been rock solid.

Printing the new Hemera Mount

To select your mount I recommend visiting www.thingaverse.com and searching for “Ender 5 Hemera BL Touch”. I used this mount but I found the BL Touch portion of the bracket to be very flimsy and it broke off during the install. However, I still had the metal BL-Touch bracket that came with the Ender 5 BL Touch kit which with some slight modification to the printed mount proved to be a far better solution. Since my install a few more mounts have popped up. I recommend you print a few options before disassembling your current printer.

As part of the mount I also printed a part cooling duct for an aftermarket fan:

Hemera installed on Ender 5 with metal BL Touch mount
Hemera with Metal BL Touch Mount

Removing the current hot end and drive system

Now that you have printed your mount you can safely start removing the stock direct drive motor from the frame of the Ender 5. For some guidance I recommend watching this video from 3D Printing Canada using Although the video shows an Ender 5 PLUS model which is not an exact match for the Ender 5 Pro it was very useful to help me understand the entire process. During this install keep in mind that the Ender 5 Pro power supply is 24VDC and NOT 12VDC. Make sure you get the right fan and Hemera (24VDC).

Wiring

I installed both the Hemera and the Duet 2 at the same time as updating the wiring. I used Cat6 Ethernet cable for the Extruder and X-axis. I will link to a PDF to show the wiring and connector orientation used.

I recommend adding quick disconnects to both Fans to make them easier to change out in the event of a failure.

Recently a youtuber “Chris’ Basement” put out a video of installing the Hemera on an Ender 3 with a Duet mainboard. Chris does a great job of breaking down all of the configuration file changes.

Config.g Changes

After wiring the Hemera you will need to update some parameters in the Duet’s config.g file per the E3D reprap directions.

Drive Settings

The wiring detailed in my PDF ensures all the motors turn in the same direction. In the config.g file that direction:

; Drives
M569 P0 S0            ; physical drive 0 goes backwards
M569 P1 S0            ; physical drive 1 goes backwards
M569 P2 S0            ; physical drive 2 goes backwards
M569 P3 S0            ; physical drive 3 goes backwards
M584 X0 Y1 Z2 E3      ; set drive mapping

E-Steps

Set the E steps per the Hemera website.

  • Your slicer will generate G-Code for your printer, which will tell it to extrude a certain length (in millimeters) of filament. Your printer takes those lengths of filament and calculates how much it should rotate the Hemera stepper motor to push out the expected amount filament. This number is used to make that conversion
  • For a x16 microstepping setting E3D recommends you start with a value of 409.

I found that I needed to tweak that 409 value to E392.70 for more precise extrusion

M92 X80.00 Y80.00 Z800.00 E392.70       ; set steps per mm

Motor Current

The standard Hemera motor has a rated motor current of 1.33A. In order to provide the Hemera motor with the correct amount of current, so as to have it’s ideal torque level, and not over heat, it is required to make some adjustments to the VREF on your stepper drivers.

E3D recommends setting the motor current to around E980 (mA). I found that setting it to a lower current of E800 was satisfactory.

M906 X800 Y800 Z800 E800 I50          ; set motor currents (mA) and motor idle factor in per cent

Thermistor / Heaters

Note: In my configuration the bed is heater 0 and the hotend is heater 1.

E3D recommends the following settings for the Hemera:

M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8
  • T parameter: 100 000
  • B parameter: 4725
  • C parameter: 7.06e-8

The max temp limit can be extended to 300C for seating of the nozzle.

M143 H1 S300

I have also disabled the bang-bang mode and set the PWM limit.

The full set of thermistor and heater settings in my config.g:

M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin e0temp
M950 H1 C"e0heat" T1                                   ; create nozzle heater output on e0heat and map it to sensor 1
M143 H1 S300                                           ; set temperature limit for heater 1 to 300C
M307 H1 B0 S1.00                                       ; disable bang-bang mode for heater  and set PWM limit

Fan Settings

I have three fans on my printer.

  • P0 = Part Cooling Fan (Aftermarket Purchase)
  • P1 = Hot End Cooling Fan (Included with Hemera)
  • P2 = Case Fan (Stock case fan)

The part cooling fan (P0) is controlled by the slicer as it depends on the print job and type of material.

M950 F0 C"fan0" Q500  ; create fan 0 on pin fan0 and set its frequency
M106 P0 C"F0 Part Cooling Fan" S0 H-1 

I have configured the hot end fan (P1) to come on at 45C automatically.

M106 P1 C"F1 Hot End Fan" S1 H1 T45

I also set the case fan to turn on when the hotend fan turns on at 45C. The logic here is that unless the printer is actually printing the case fan isn’t necessary. I have found that the case and electronics passively cool pretty well when it is just the microprocessor running under the 5v supply and serving up a web page. When the printer starts a job and the hot end goes above 45C then both the case and hotend fans come on to cool both the hotend and the drive electronics. This keeps it nice and quiet when not in use.

M106 P2 C"F2 Case Fan" S1 H1:0 T45 
Hemera on Ender 5
Hemera w/ aftermarket part cooling fan on the right
M950 F0 C"fan0" Q500                                   ; create fan 0 on pin fan0 and set its frequency
M106 P0 C"F0 Part Cooling Fan" S0 H-1                  ; set fan 0 name and value. Thermostatic control is turned off
M950 F1 C"fan1" Q500                                   ; create fan 1 on pin fan1 and set its frequency
M106 P1 C"F1 Hot End Fan" S1 H1 T45                    ; set fan 1 name and value. Thermostatic control is turned on
M950 F2 C"fan2" Q500                                   ; create fan 2 on pin fan2 and set its frequency
M106 P2 C"F2 Case Fan" S1 H1:0 T45                     ; set fan 2 name and value. Thermostatic control is turned on

Leave a Reply

Your email address will not be published. Required fields are marked *