Skip to content

Instantly share code, notes, and snippets.

@LongLiveCHIEF
Last active April 9, 2023 21:21
Show Gist options
  • Star 24 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save LongLiveCHIEF/eea2b91bebe4fa5d107493f76cb002bc to your computer and use it in GitHub Desktop.
Save LongLiveCHIEF/eea2b91bebe4fa5d107493f76cb002bc to your computer and use it in GitHub Desktop.
Hemera Extruder Assembly Tips and Gotchas

I got the E3D Hemera (formerly called the Hermes) a week ago, and at first glance was impressed by the amount of documentation/guides E3D worked with popular YouTubers to create.

However, as time went on with my install, I discovered each guide was missing critical information, had bits of information incorrect, or included firmware files in a old or flattened format, making it difficult to discern firmware changes required.

I'm very familiar with Marlin 2.x, and so I finally decided to just go straight to the Hemera Datasheet, and finally got things working.

I'm not going to do a full guide, since I'm hoping one of the popular YouTubers who is capable of a high production quality video will do a comprehensive guide, but I have put together the following tips and lessons learned that should help some of you who are struggling but can't figure out why things aren't working.

For reference: I have an Ender 3 with an SKR 1.3 using Marlin 2.x, equipped with TMC2208's in UART and a BLTouch. If you have an identical hardware configuration, you can download my firware from my fork of Marlin at https://github.com/HackerHappyHour/marlin

Verify and Calibrate Motor by doing a Cold Extrude before mounting

Do this step right out of the box, even before you thread in the heatbreak or heater block and nozzle. This will ensure you have a working motor before you mount everything, and be the easiest way to calibrate E axis steps per mm. Use Octoprint, pronterface, or similar software to send commands mentioned below.

  1. Observe & confirm/fix polarity of stepper coil wiring harness. If you're using a ramps compatible main board, you will find that the main board end of the stepper motor cable included in the kit is likely not wired correctly. For me, i found that it was easiest to reuse my existing ribbon cable for the old E stepper to ensure the correct coil wiring configuration. If you do the same, and it works, then you'll want to swap the position of the red and green wires (middle two wires) on the end of the cable that goes into your main board. The stepper coil wiring is on page 6 of the hemera motor datasheet if you want to verify things against your own boards pinouts.
  2. Set E axis steps per mm to 397.5 According to the datasheet, 409 steps/mm is the ideal value for 1/16th microstepping. I've found that that setting causes quite of a bit of over-extrusion, and after some fine tuning, I've settled on 397.5 steps/mm for E axis. If you have trinamic drivers, and aren't using interpolation for higher microstepping, than you'll need to multiply this value accordingly. If you're using Marlin and have trinamic drivers, you can to this by issuing gcode M92 E397.5. (Then M500 to save to EEPROM).
  3. Set motor current. According to the datasheet the hemera motor runs at 1.33amp. (It's the only amperage given so I'm assuming that's the run current, not the max current or RMS current). If you're using Marlin and have trinamic drivers, you can do this by issuing gcode M906 E940(**). This should give you a Max current of ~1330 mA. If you don't have trinamic drivers, you'll need to do a potentiometer adjustment to reach the correct vref based on your driver and aim for 1200 mA (90% of 1.3 Amps).
  4. Enable cold extrudes Send a M302 S0 command to enable cold extrudes. M302 reference
  5. Test extrude 100mm Thread in filament until it is even with the bottom of the hole were the heat break is supposed to go. Send gcode G1 E100 F300 to tell the extruder to extrude 100mm of filament. Take a measurement from the bottom of extruder block to the tip of the extruded filament and verify it is 100mm. If it's not, calibrate e steps per mm using the following formula until you consistently extrude 100mm of filament. (100/100 - mm of filament extruded)) × current steps/mm = new steps/mm value. Note, you'll want to do this after you've done final assembly using a hot extrude just make sure everything is calibrated properly under operating conditions

Attach Heat Break, Heater block, and Nozzle before mounting

  1. For the back plate I had to mount against, I was unable to fully turn the heater block once I had mounted the motor assembly to the x axis mounting plate. Therefore, I recommend the cold mounting part be done prior to mounting the motor assembly to the mounting brackets
  2. The heatbreak collet is extremely easy to break. Do NOT overtighten. Which brings me to the 3rd tip for mounting the heating components...
  3. the nozzle is what is used to fully tighten the heat break inside the extruder. This is a 3 component system that contributes to the angle of the fully tightened heater block assembly. The correct way to fully seat the heat break into the extruder housing, is to tightend the nozzle against the heatbreak inside heat block. This took some getting used to on my part, because it means the heater block acts as a "floating lock" component and the heater block should be tightened last of the 3 pieces, ensuring the nozzle is fully tightened against the end of the heat break

STL Files for mounting hardware

I took this opportunity to upgrade my part cooling fan to a 5015 blower motor. The duct included by Joe Casha in the files for my particular hardware was too big for the 5015, and after a few searches, I found what I believe is the best duct for the 5015 on thingiverse. Thing 4042492 by user HangTight.

I did use the backplate designed by Joe, which includes a fixed mount for the BLTouch, and I've found it's dimensions to be perfect in every aspect. This part can be found here: https://www.myminifactory.com/object/3d-print-ender-3-e3d-hemera-mount-105802

Hotend Fan Mounting

This was a big gotcha. At first I thought I was missing the mounting screws for the fan, because none of them seemed to be long enough. But as it turns out, the fan is mounted so that the side of the fan that has the "blade guards" is mounted against the heat sink, and you use the two silver phillips head screws in the upper right and lower left corners of the fan case.

The receiving holes for these are soft aluminum, and are self-tapping.

Firmware changes & final fit calibrations

  1. Update the thermistor settings in Marlin firmware, changing the value of TEMP_SENSOR_0 5 in Configuration.h
  2. Update HEATER_0_MAXTEMP 285 in Configuration.h
  3. PID Autotune. Send gcode M303 C10 S<your most common printing temp> U (the U will autosave the results to EEPROM
  4. Hot Tighten nozzle Heat the nozzle to 285 C using gcode M104 S285 (Note, max temp settable via LCD is 15 degrees lower than configured firmware value, so this has to be done with gcode, or the firmware MAXTEMP needs to be set to 300 if you do this from LCD)
  5. Final E step calibration Finally, do a hot calibration of e axis steps/mm by setting the extruder temp to whatever the norm is for the filament you are testing with, and extrude 100mm of filament, and verify 100mm of filament was fed through. You'll have to measure of the top of the extruder assembly this time around.

Permanent firmware changes

Once everything is running smoothly, set the values for the things you did above permanently in the firmware. Here's your checklist:

  • bed leveling probe geometry
  • trinamc driver current for E axis
  • X and E axis steps per mm (verify X doesn't change with the weight on your gantry. Shouldn't need to change it, but something to be mindful of)
  • PID settings
@tychop
Copy link

tychop commented Jan 3, 2020

Any slicer setting you can share? My Benchy looks horrible unless I lower the flow to 66%. (And yes, my Test extrude 100mm gives me 100mm)

@LongLiveCHIEF
Copy link
Author

LongLiveCHIEF commented Jan 4, 2020 via email

@LongLiveCHIEF
Copy link
Author

@tychop I found that both cold and hold step/mm calibration of the Hemera motor was perfect at 400 steps/mm. the difference in extrusion was pretty drastic, and might even be the difference of 66%. I'm going to try my first calibration print with E steps/mm at 400mm and see what things look like. I'll report back soon, stay tuned!

@LongLiveCHIEF
Copy link
Author

@tychop i have confirmed setting E steps/mm to 400 solves the over extrusion issue. I wonder if E3D made a motor change and the new value didn't make it to the datasheet?

@tychop
Copy link

tychop commented Jan 5, 2020

@LongLiveCHIEF I have mine on 409. Have been able to tune my prints now. Flow is back from 66 to 100%. My problem was that the filament I usually printed @ 205, now needed 190c. My prints are ok now.

@LongLiveCHIEF
Copy link
Author

Interesting... I'm going to be testing temps also, so I'll let you know if I notice the same thing.

@greghesp
Copy link

greghesp commented Jan 8, 2020

Awesome. Will test and report back. Having some under/over extrusion issues along with zitting

@insanity67
Copy link

Thank you!

@21omen
Copy link

21omen commented Jan 19, 2020

Quick noob question. My old HE thermistor cable was all white. The one on my Hemera is red/black. Does it matter which way I connect it?

@LongLiveCHIEF
Copy link
Author

LongLiveCHIEF commented Jan 19, 2020 via email

@macminoz
Copy link

I start to have a lot of issue with Hemera and my Ender-3 SuperSilent board (1.1.5)...I think could be a wrong vref value and so I would like to update via M906 code, but how ? I have this values:

0.72V for X/Y/Z
0.94V for Extruder

any hint ? Thank you

@drobertson123
Copy link

Just a heads up for people. The T-Slot tabs are extremely fragile on the Hemera also. My bolts were slightly long and I cracked two slots right off.

This was my fault but I am not impressed with the strength of the cast aluminum they are using. The stuff is crumbly as heck. Mine broke with just moderate finger force on the included Allen Key.

I should have been more careful but I also don't expect to need to treat a $120 hot end with kid gloves either. This manufacturing cost savings on their part looks like it is going to cost me an extra $40 in parts and shipping. Not impressed at all.
Inked20200216_123121_LI
Inked20200217_104930_LI

@greghesp
Copy link

Exactly what happened to me. Their instructions show the cylinder head, so I used them without measuring anything. Spun with a finger and it snapped right off.

A bit of super glue fixed it up, but still, was ridiculously fragile.

Also, the heatsink fan blades are very delicate. My knuckle caught it whilst spinning and snapped the blades off. Snapped the other side to balance it whilst waiting for a replacement, but that was doable with a single finger and minimal force.

@CaptainSweatpants
Copy link

Ive had my Hemera for about a week now. Running it off a SKR 1.4T board with TMC2209 drivers. Im quite familiar with wiring these things up, proper tension, VREF/RMS, esteps. etc etc. Im running my Hemera at 940 on the 2209 extruder driver in UART / Stealthchop mode (as thats what E3D suggested for my setup, and it seemed to give the best results... at first) but it seems on prints that go over 10 hours, the motor GETS HOT AS HELL -- too hot to even touch; but only after 10+ hours or so. Why it randomly just heats up to lucifer cocktail levels when there's no extra stress or change in print dynamics is beyond me. The level of heat i am experiencing is definitely in the "cancel this print immediately" levels. because i know if it fries, ill be blamed for "wrong voltage" and ill have no way to prove otherwise.

has anyone else experienced this behavior on longer prints? anyone have any ideas whats happening?

@LongLiveCHIEF
Copy link
Author

LongLiveCHIEF commented Sep 23, 2020 via email

@fieryfredo
Copy link

Ive had my Hemera for about a week now. Running it off a SKR 1.4T board with TMC2209 drivers. Im quite familiar with wiring these things up, proper tension, VREF/RMS, esteps. etc etc. Im running my Hemera at 940 on the 2209 extruder driver in UART / Stealthchop mode (as thats what E3D suggested for my setup, and it seemed to give the best results... at first) but it seems on prints that go over 10 hours, the motor GETS HOT AS HELL -- too hot to even touch; but only after 10+ hours or so. Why it randomly just heats up to lucifer cocktail levels when there's no extra stress or change in print dynamics is beyond me. The level of heat i am experiencing is definitely in the "cancel this print immediately" levels. because i know if it fries, ill be blamed for "wrong voltage" and ill have no way to prove otherwise.

has anyone else experienced this behavior on longer prints? anyone have any ideas whats happening?

Use spreadcycle only (recommended by trinamic when using their drivers on an extruder). Are you using linear advance with s curve enabled together ..these can conflict in Marlin 2.0..lastly maybe upgrade to a newer version of Marlin if you're a few releases behind (assuming you're comfortable doing so)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment