Hemera Direct Drive and Hot End

Jeff Millard

New member
Well, it got delivered. I have the duct and mount printed, and I've taken the Ender5 apart. After a couple mods I think I have the layout for the mount settled. There is absolutely no room for error with the drive mount screws. Maybe a millimeter or a little less. I'll have to grind one of them down because the fourth screw hole wasn't designed into the mount as it would require drilling the Creality carriage. Well, I drilled the carriage because I wanted all 4 mount screws. The screws attach to a slip in nut with very little clearance. I'm so glad Dawn got me a digital caliper.

This was the first step. I'm guessing I'll be taking the carriage apart at least a dozen times before I settle on the best approach. I've seen one of these in action, and I'm really looking forward to the first print. I'll be posting pictures as I get things assembled.

Jeff
 

Attachments

  • Front.jpg
    Front.jpg
    49.9 KB · Views: 67
  • Back.jpg
    Back.jpg
    35.8 KB · Views: 60
What is the purpose?

Direct drive extruder and hot end combined. Stringing has been a nightmare with the original extruder.

It's mounted on the carriage now, and partially assembled. I stopped earlier today to do some research on the firmware. Several things have to be changed. And I lost at least 5mm on the bed size as the motor hits before it reaches the stop switch. I moved the x-axis switch from the factory threaded screw hole to a T nut to solve that, but I think that needs to be set in the firmware. There's also motor current settings. I'll cover whatever I had to do when I get to it.

But here's what's done so far. The Motor is mounted, the cooling fan is hanging, Hot end is assembled but not the heat source. Also the X-axis switch is moved a little under 5mm in, onto a T nut.

Jeff
 

Attachments

  • HotEnd.jpg
    HotEnd.jpg
    45.7 KB · Views: 51
  • Motor.jpg
    Motor.jpg
    87.8 KB · Views: 52
  • Overall.jpg
    Overall.jpg
    96.4 KB · Views: 51
  • X_Axis.jpg
    X_Axis.jpg
    51.1 KB · Views: 48
Last edited:
Looks great Jeff . Did you find a guide for reference to this mod ?

Thanks Richard. I did not. I'm taking direction from a co-worker who built the same for his son a couple weeks ago. There is pretty decent information on Reddit just searching "Ender5 Hemera" but I haven't seen this particular mount and fan so far. And, I'm having trouble finding a print of a mount for the brass fitting for the PFTE tube. For now I think I'll just disassemble the Creality Extruder and just use the top plate and a couple T nuts to mount it to the rail. I serves no other purpose than to guide the filament to the Hemera Extruder. They only included about 4" of tube. I'm snaking it back to the original location due to the reel roller being right there.

Here's the update. Today was supposed to be study day. I'm taking a boat safety test tomorrow, so this has been happening in between cram sessions.
Everything is assembled for the carriage and print head. After power up, you have to heat the hot end to 285c and seat the nozzle and supply tube otherwise it will leak so that's all that's left for the head. Every single wire has to be extended to reach but the hot end supply. So I've decided the little plastic connectors are going away so it's not so crowded on the way to the electronics box. I printed a cover to hide the wires, and I'll print some clips to dress everything up. I'm really liking this upgrade. (As long as I don't screw it up...)

Jeff
 

Attachments

  • Done_1.jpg
    Done_1.jpg
    63.5 KB · Views: 42
  • Done_2.jpg
    Done_2.jpg
    75.9 KB · Views: 40
  • Done_3.jpg
    Done_3.jpg
    80.4 KB · Views: 40
  • Done_4.jpg
    Done_4.jpg
    103.9 KB · Views: 38
Had to work from home yesterday, so during breaks I did a little 3D work and settled the tube end mount issue. I couldn’t find anything I liked on Thingiverse, but the suggestion to heat a bolt with a heat gun to make the threads worked perfectly. A metric bolt from the TV bracket leftovers is the same as the brass tube end. So I printed a mount on the Ender3 and used two #3 bolts and t-nuts to hang it.

Everything is wired now. The next step is to study the firmware and set the current limit for the Extruder stepper. On the Creality board it’s a small pot, so there’s no firmware setting. I still haven’t decided if I’m using the original board, or upgrading to the BigTreeTech replacement and touch screen. More later.

Jeff
 

Attachments

  • 8C61445D-722E-4CF7-A3DF-4FA44D0C9923.jpg
    8C61445D-722E-4CF7-A3DF-4FA44D0C9923.jpg
    72.6 KB · Views: 31
My lovely wife. She heard me say I really wish I had the same board and monitor as I put in the Ender3. She went back in the Amazon orders and reordered both and also added the BLTouch. It all came Saturday night just as I started to work on the motor current setting. So the build took a left turn. Replacing original Creality boards with BigTreeTech SKR Mini E3 V2.0 and TFT E3 V3.0 touch screen. I printed a new case for the touch screen. I've got to rip out the electronics case and cut a new hole for the monitor ribbon cable. I really am not worthy of her, but I am thankful for her. Pictures to follow.

Jeff
 
My lovely wife. She heard me say I really wish I had the same board and monitor as I put in the Ender3. She went back in the Amazon orders and reordered both and also added the BLTouch. It all came Saturday night just as I started to work on the motor current setting. So the build took a left turn. Replacing original Creality boards with BigTreeTech SKR Mini E3 V2.0 and TFT E3 V3.0 touch screen. I printed a new case for the touch screen. I've got to rip out the electronics case and cut a new hole for the monitor ribbon cable. I really am not worthy of her, but I am thankful for her. Pictures to follow.

Jeff

She is definitely a keeper! :biggrin2:
 
New Control Board is installed, BLTouch is mounted, case printed for the Touch Screen, and those are installed. Here's first power up since disassembly. Tomorrow I have a date with Marlin Firmware and some calibration prints. Almost there.

Jeff
 

Attachments

  • BLTouch.jpg
    BLTouch.jpg
    90.3 KB · Views: 33
  • Case.jpg
    Case.jpg
    115.3 KB · Views: 34
  • Touch.jpg
    Touch.jpg
    134.1 KB · Views: 35
First day spent downloading and installing then editing settings for an Ender3 as that's all I have to work with so far. The BLTouch is connected and starts up. This is all new to me and a tad bit out of my comfort zone. There are a few things that have to be set up for the Hemera and the BLTouch, that I'm not totally sure of. But I've found two youtubes that seem to help. Once I'm sure I've set it good enough to not damage anything, I'll compile it and install it on the printer. I need to set new parameters for bed size, as I lost about 8mm on the right and 20mm towards the back. If I take 20mm off of the brackets that connect the top frame I'll get that real estate back on the print bed. I intended to make a how to, but there was just so much getting to this point I forgot to document some of it.

Jeff
 
Took a couple days, but I got the configuration files edited and the firmware compiled and installed. Now I’ve got a good base to work from so I can start the calibrations required. I see an error in the information window, but I found something on Reddit that makes me think it will be dealt with when I get some values from the calibrations, that need to be added to the firmware and flashed to the printer. The biggest problem I’ve found so far is there is no single post or YouTube that has these five things: Ender 5, SKR Mini E3 V2.0 motherboard, TFT 43 V3.0 touch screen, Hemera Extruder/Hotend, and a BLTouch probe. In fact, there are only a few with any two of them. Even less for the Marlin version of the firmware. So I’ve been stitching it together in steps. I started with the E5 base example, and added the BLTouch. It took 2 days to get it to the point it would Z_HOME in the center of the bed. I’ve got a little more work to make it probe the bed in the right places, but I’ve got notes for that. I’ve since added what I could find for the Extruder/Hotend, and I ran the temps up to low values just to ensure it was heating, and make the new E0 fan start up.

Every step I’ve done since downloading the very first piece of software, I’ve documented in text with comments on what I understand. When I’m done I’ll put that all in this thread. At 60, my memory is starting to cloud easily. In fact, it took me thinking of the word “meter” to recall the word “calibrate” when I was writing this post. Even sadder, I had trouble recalling the word “meter” too. But I’ll tell you something. This Marlin software is some pretty cool stuff. If you’ve got one of these printers and want to get at the code there is a mountain of information about it. Wading through is a bit of a task if you go to extremes like I have here. But I’ve got a BLTouch hanging on the side of the stock Hotend of my Ender3, and it’s gonna be a breeze to hook it up and add it to the firmware now that I’ve got a leg up on the code. (Listen to me using techie buzzwords... “code,” I have no idea what code is doing, just how to remove // to enable something) Once that’s printing and compensating for the uneven print bed, I’ll print the steps and even post my configuration files.

I figure another week and I’ll have the E5 done and working. Judging from the quality of the prints coming off the printer I tried to clone, I should have a very nice printer when I’m done. Every single Reddit post I’ve read about it on various printers was positive. (And it looks pretty awesome too!)

Jeff
 
Everything is set up but the Start and End GCodes in Cura. I just really burned out this afternoon and took a break to watch TV. I tried to print something, thinking the Start GCode would be the same, but it seems the Ender5 bed is flipped in the factory board's firmware. It acted like an Ender 3 and tried to drive to the front left rather than the rear right. But the placement of the probe prevents it from reaching the Ender3 style start location. So when I can get back to it, I'll edit the Start and End scripts and try again. So close. I was really hoping to get some plastic on the bed tonight, but 4 straight days working on it has been a bit too much.

Jeff
 
It was much worse than I imagined. The home point is flipped on a Ender 5. (It was what should've been changed first, so I had to do everything over again) But I'm going to start posting about each thing I had to do to get to the point where the printer knows where you want it to print... but still hasn't printed anything yet...

These are notes from each step I took to get the Marlin Firmware to a point it can be edited, saved, compiled and flashed to the SKR Mini E3 V2.0.

You need to Download Visual Studio Code and eventually Pronterface to do the following:
To create PlatformIO Extension in VSCode:
Download, Install and Launch VSCode.
Click the extensions Icon (looks like 4 little boxes)
In the search window type PlatformIO, then choose PlatformIO.IDE Install.
Then click the Alien Icon in the right toolbar to go to the PIO Home.
(At this point you should download the most recent Marlin files and configuration examples, look for “Marlin-bugfix-2.0.x” and “Configurations-bugfix-2.0.x” and Extract the zips to known folders, I used “Marlin-bugfix-2.0.VS” on the desktop so I would remember which folder I was working from rather than the default that could get confused) This is also a good time to choose your specific Config example and move them to the “Marlin” folder in “Marlin-bugfix-2.0.x” Mine was here: Configurations-bugfix-2.0.x/config/examples/Creality/Ender-5/BigTreeTech SKR Mini E3 2.0 The files needed were: _Bootscreen.h, _Statusscreen.h, Configuration.h, Configuration_adv.h. Overwrite the files of the same name in the “Marlin” folder.
In the “PlatformIO Home’ tab under Quick Access choose “Import Arduino Project”
In the folder window drill down to the folder you created, and select the Marlin-bugfix-2.0.x folder in it.
Now you have to select a board to start. Choose “Arduino Mega or Mega 2560 AtMega 2560 (Mega 2560)” then click Import. Right now you're just picking a board, you'll select your specific board and environment later.
Now PlatformIO will load and start up, with the folder that includes the platformio.ini, Configuration.h and Configuration.adv.h files you’ll need to edit in the window. To get to these folders just click the “folders” icon on the left bar at the top.
CTRL + F to search, remove or add “//“ to enable or disable a feature.

Next time, I'll add everything I changed to make the files I used work for the parts I have. After I'm done with this printer and it's working, I'll create Marin firmware for the Ender 3 and SKR Mini E3 V2.0 with the BLTouch that's been hitching a ride on the carriage and doing nothing but weighing it down...

UPDATE: Printing now. It prints like a dream. I did a couple of the calibrations and found I need to edit some values in the firmware that limit the ability to do the tests. I’ll comment all that.
Jeff
 
Last edited:
Here it is: All direction was taken from YouTube TeachingTech and Chris' Basement.

The following describes the firmware changes I made for the Creality Ender 5, with a BTT SKR Mini E3 2.0, BLTouch and Hemera Extruder/Hotend.
E = Enable D = Disable C = Change V = Verify

Edit the platform.h to reflect the SKR Mini E3 2.0:
C default_envs = STM32F103RC_btt

Edit the configuration.h:
C EXTRUDE_MAXLENGTH 40 (This is the distance from the gear to the nozzle)
(EXTRUDE_MAXLENGTH affects the next two in configuration.adv.h)
C FILAMENT_CHANGE_UNLOAD_LENGTH 40 (= to / less than EXTRUDE_MAXLENGTH)
C FLIAMENT_CHANGE_FASTLOAD_LENGTH 40 (= to/less than EXTRUDE_MAXLENGTH)
(When you edit the previous 3 values, you’ll limit your ability to do the Extruder test because it requires 120mm. I set it to 140 for all 3, then changed it back after the test was complete.)

C DEFAULT_MAX_FEEDRATE {500, 500, 20, 120}
E CLASSIC_JERK
E&C TRAVEL_EXTRA_JERK 5.0
C DEFAULT_EJERK 15.0

The next changes will flip the default Marlin home direction settings to match the Ender 5. It’d be nice if someone would make some default changes to Marlin so you don’t have to spend 10 days experimenting until you find a way to make this work correctly:
E USE_X_MIN_PLUG
E USE_Y_MIN_PLUG
D USE_X_MAX_PLUG
D USE_Y_MAX_PLUG
D INVERT_X_DIR
D INVERT_Y_DIR
C X_HOME_DIR -1 (sets Home at right)
C Y_HOME_DIR -1 (sets Home at back)

(Set the size of the bed. Bed is smaller due the the size of the Hemera, mounting and Probe)
C X_BED_SIZE 224 (this is width of available nozzle to bed)
C Y_BED_SIZE 212 (this is depth, available nozzle to bed) Once you’ve established the home location, measure the distance to the maximum available bed width and depth. This will be your X,Y_BED_SIZE and will determine Home and Bed Center for the BLTouch etc. Replace both top/back corner brackets with the blind type that go inside the T channel and print a bracket for the Y Stop Switch and you can recover some of the lost Y_BED_SIZE.

V Z_MAX_POS 300 (Print height is 300mm for Ender 5 Pro)
D //LEVEL_BED_CORNERS (this is disabled for BLTouch)
N/C LEVEL_CORNER_HEIGHT 0.0 (unchanged as it’s inside the above “if” statement)
V Z_SAFE_HOMING_X_POINT X_CENTER
V Z_SAFE_HOMING_Y_POINT Y_CENTER

BLTouch settings for configuration.h (I'm using the Probe in the Z Stop plug)
E BLTOUCH
E ENDSTOP_INTERRUPTS_FEATURE
C NOZZLE_TO_PROBE_OFFSET {46, -4, -2.9} (these are my measured values)
Some notes on this. The Marlin directions are backwards for the Ender 5. After the changes to invert the Home position to the right/back, everything (everyfrickinthing) inverts. Even the bed leveling procedure. On the Ender 3 it starts in the left/front and ends at the right/back, the Ender 5 is the opposite. After you make these changes in the firmware and flash them, they aren’t loaded into the EEPROM until you intentionally load them. There is more about this later.

C PROBING_MARGIN 10 (this sets the hard edge of the probe area, well that’s the idea)
(Look for PROBING_MARGIN_LEFT, RIGHT, FRONT, BACK to override this default of 10, I wanted 20 front and left so I set them later on in this list)
E MULTIPLE_PROBING 2 (will probe twice at each grid location for improved results)
E Z_MIN_PROBE_REPEATABILITY_TEST
E AUTO_BED_LEVELING_BILINEAR (comment out all the others in this group)
C GRID_MAX_POINTS_X 5 (Notice that the next line uses this setting to change the Y value to the same number.) This sets a 5 x 5 probe grid. Some use 4.
E LCD_BED_LEVELING (threw error “Z Values not declared, this same issue has something to do with “ECHO: FADE HEIGHT 10.00” message in info window) After calibrations were completed I stopped getting the messages.
E Z_SAFE_HOMING (this is required and probes the Z home in the center of the bed based on the above “CENTER”)

Hemera settings for configuration.h
C HEATER_0_MAXTEMP 300 (limited to 15 under, set to achieve the needed 285)
C TEMP_SENSOR_0 5
C DEFAULT_AXIS_STEPS_PER_UNIT {80. 80. 800, 400}

configuration.adv.h
E HOTEND_IDLE_TIMEOUT 5 (This has to be disabled during final tightening of the Hemera Hot End nozzle or it will stop heating during prep. Just increase time ‘5 to 15’ will do)
E USE_CONTROLLER_FAN
E&C CONTROLLER_FAN_PIN PC7
C SLOWDOWN_DIVISOR 8
E SHOW_REMAINING_TIME
E USE_M73_REMAINING_TIME
E ROTATE_PROGRESS_DISPLAY
E PRINT_PROGRESS_SHOW_DECIMALS
E STATUS_HEAT_PERCENT
C E0_CURRENT 940 (for the Hemera Extruder, search for AXIS_IS_TMC(E0))
E CANCEL_OBJECTS
E&C PROBING_MARGIN_LEFT 20 (was PROBING_MARGIN)
E&C PROBING_MARGIN_FRONT 20 (was PROBING_MARGIN) The four possible settings can be used if you want to probe a specific target on the bed.
E BABYSTEPPING
C BABYSTEP_MULTIPLICATOR_Z 0.5 (was 1)
E DOUBLECLICK_FOR_Z_BABYSTEPPING
E BABYSTEP_ZPROBE_OFFSET

Final tightening of the Hemera Nozzle: Remove the Blue Silicon cover from Hot End.
Set nozzle heat to 285. (I had to do this from the menu/knob based interface. The touch screen was only able to achieve 275) BE CAREFUL, EVERYTHING IS VERY HOT NOW!
Let it sit for 10 minutes, but be aware the idle nozzle setting shuts the heat off around 2 minutes. This can be disabled, but I just kept an eye on it and as soon as the message came up I quickly turned the heater back to 285.
Now use a wrench to hold the metal part of the Hot End and another to tighten the nozzle. Be careful not to rotate the Hot End, and don’t over tighten the nozzle, just snug.
Turn off the heat, let it cool and it will seat the nozzle with the threaded sleeve so molton plastic can’t leak between the two. Now replace the Blue Silicon cover.

Let’s talk about Firmware and the EEPROM. I’m the second person I know of, who made between 20 and 30 changes to the firmware over the course of 6 to 8 hours and flashed them to the printer over and over only to have nothing happen, because we didn’t know that you have to intentionally load and write them for the changes to be seen by the printer.
The following is directly from the Marlin website:
“By default, EEPROM is disabled. This is to avoid the “unintended consequence” of local developers making changes to the values in Source Code and then having the printer boot up using the EEPROM values instead. But note that if you have EEPROM enabled, you can load it with “factory defaults” (coming from the Source Code) using M502 followed by M500.
M500 - store current settings in EEPROM for the next startup orM501. M501 - read all parameters from EEPROM, or undo changes. M502 - Reset current settings to defaults, as set in Configurations.h - follow with M500 to reset the EEPROM. M503 - Print the current settings – ‘‘Not the settings stored in EEPROM.’’”

To sum up: Do your calibrations and get values for the Offsets. Place them in the Configuration.h, compile and flash it to the printer. Then hook up Pronterface and send an M502 to load the defaults, then send an M500 to write them to the EEPROM so they’ll stay. Remember that this clears everything and loads defaults you’ve set. Including PID, Bed Leveling data etc. Do a bed level before you print again, and PID data should be added to the GCODE for each specific filament type.

TeachingTech has a list of calibrations on his website. search it and you can do all the required steps to get it dialed in.

I was starting to wonder if it was worth the investment, but... now that it's working I have to say the quality of the prints is much better. Absolutely zero stringy threads dangling off things. No sagging. NO BED LEVELING! Perfect starts every time! So far I've done 10 prints with it and every one came out perfect. That's it. I'll stop boring you with the Hemera upgrade. But I have to add one more thing: I can print flexible materials now! :)

Jeff
 
The rest of 2021 was spent buying a new home, then flipping and selling the old place. I hadn't touched a 3D printer in over 9 months. Needless to say, animated lights were out of the question for the Holidays. A few weeks ago, I took both printers to work as the printing guru sits right next to me. Our boss is also interested, so he doesn't mind if we take a few minutes here and there to start prints. I made some serious Molex connector mounts that were used in a piece of test equipment we shipped out to other departments, so that makes it easier to justify. After the first few prints last year, I wasn't impressed with the Hemera. Now that it's dialed in, and test prints led to the proper settings in Cura Slicer... I'm printing multiples of everything. 24 C7 bases at a time, 10 bulbs at a time. The quality of the prints is much higher than single prints with the old hot end. I tried making the same adjustments with the Ender 3, just to see if it could be dialed in to get similar results. Nope, it's the upgraded hot end and extruder for sure. The picture of the bulbs is the third test, and there were still some issues due to the fact the we were trying a .6mm nozzle. But even these are better than I could get with the old hot end. I successfully printed 200+ of the bases in 2 days. Glad I did the upgrade. <Jeff>

IMG_4081 copy.jpg

IMG_4122 copy.jpg
 
Back
Top