Hemera Upgrade (Following Tutorial -- Got Stuck)

Okay. Starting over, so that I can get clarity.

  • I have a factory default pre-built Ender 5 Pro. No upgrades or changes. Pre-installed firmware. Mainboard: Creality V2.2

  • I broke the factory hotend. I decided to upgrade to the Hemera.

  • That’s the only change I’m making. I don’t know if that is “just a vanilla build” by your definition. I don’t know what counts as what.

  • I have VSC with the TinyMachines/ InsanityAutomations Marlin found here: GitHub - InsanityAutomation/Marlin at CrealityDwin_2.0

  • I am working from the unaltered version of that now.

  • I have the PlatformIO plugin.

  • I have the Auto Build Marlin plugin.

  • I cannot find this: “\Configurations-release-2.0.9.3\config\examples\Creality\Ender-5 Plus*” Where do I look? Do I want that with the Hemera change? It seems like, from your last reply, if I get that and change JUST the esteps entry in configuration.h to 409, that should work?

Thank you!

Hi @CrashOpossum

Yes, your printer is absolutely a vanilla setup. Even if you are using the Tiny Machines or the factory firmware both will accept the e-step change I am suggesting at the end of this msg. Whatever you have on there will work not an issue.

Sorry for the configuration confusion but let me answer that in another post just so this does not get Muddy.

For the change, you are making you actually don’t need new firmware, All you need is to update the M92 command in your printer. In order to do the update you would have to connect Pronterface or YAT to your 3D printer, Once connected simply type “M92” without the “” and you will get back a line something like below

M92 X87.489 Y87.489 Z87.489 E200

There is the reported steps for each Axis, X, Y, Z and E

assuming your steps are 409 for the Himerra all you would have to enter is “M92 E409” again without the “”. After that, you would have to ender “M500” to save the changes to your EPROM. Now you unplug from the interface, power cycle the printer and in the configuration menu select “reset EEPROM” and you should be up and running.

Generally speaking, you will need new firmware for things that are limitations to the printer such as Size of bed, Max Printing temp, A lot of other parameters like e-steps can be modified without having to get quite as deep as you are going.

1 Like

Now for the Configuration part of the answer

Anytime you build a Marlin-type firmware all of the changes you make to the firmware are made in 2 files. Specifically the configuration.h and the configuration_adv.h. You can make firmware for any printer on the planet just by modifying these files. Someone has been very smart and collected all of the configuration parameters and “pre-made” these 2 files for the most common printers. all of the configurations are done and just compiling with these 2 new files will make a vanilla printer function quite well. So all you need to do is change whatever is wrong and leave everything else alone.

Download Marlin here: GitHub - MarlinFirmware/Marlin: Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. | Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.

Now in order to use these new files here is the easiest way, Download Marlin and unzip it, I usually do it right off my root so my path would be C:\Firmware\Marlin_ version. If you follow this path completely you will locate these 2 files in the C:\Firmware\Marlin_version\Marlin-bugfix-2.0.x.RAW\Marlin-bugfix-2.0.x\Marlin\ folder.

Now download the configs from here: GitHub - MarlinFirmware/Configurations: Configurations for Marlin Firmware
You can unzip this anywhere on your computer and open the file system, using your printer as an example you would find it here: C:\Firmware Builds\Marlin\Configurations-release-2.0.9.3\Configurations-release-2.0.9.3\config\examples\Creality\Ender-5\CrealityV1. Take the 4 files from here copy and paste them into the marlin folder mentioned above and overwrite the files currently there. Now once you open this firmware in VScode all of your configs will be read from the new files. Before you make any changes compile first and make sure everything is where it should be.

Hope this helps

Thank you, Jason! I will check back in shortly and let you know if it worked. :smiley:

perfect, thanks

After going on a Python and Platformio update adventure, I followed your configuration instructions exactly and this is what it spit out when I clicked Build:

> Executing task in folder Marlin-bugfix-2.0.x: C:\Users\Christopher\.platformio\penv\Scripts\platformio.exe run <

Processing mega2560 (board: megaatmega2560; platform: atmelavr@~3.4; framework: arduino)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via `-v, --verbose` option
In file included from buildroot/share/PlatformIO/scripts/../../../../Marlin/src/inc/MarlinConfigPre.h:39:0,
                 from buildroot/share/PlatformIO/scripts/../../../../Marlin/src/inc/MarlinConfig.h:28,
                 from buildroot/share/PlatformIO/scripts/common-dependencies.h:29:
buildroot/share/PlatformIO/scripts/../../../../Marlin/src/inc/../../Configuration.h:23:2: error: #error "Don't build with import-2.0.x configurations!"
 #error "Don't build with import-2.0.x configurations!"
  ^~~~~
buildroot/share/PlatformIO/scripts/../../../../Marlin/src/inc/../../Configuration.h:24:2: error: #error "Use the 'bugfix...' or 'release...' configurations matching your Marlin version."
 #error "Use the 'bugfix...' or 'release...' configurations matching your Marlin version."
  ^~~~~
CalledProcessError: Command '"C:\Users\Christopher\.platformio\packages\toolchain-atmelavr\bin\avr-g++.exe" -D__MARLIN_FIRMWARE__ -DNDEBUG -D__MARLIN_DEPS__ -w -dM -E -x c++ buildroot/share/PlatformIO/scripts/common-dependencies.h' returned non-zero exit status 1.:
  File "C:\Users\Christopher\.platformio\penv\lib\site-packages\platformio\builder\main.py", line 182:
    env.SConscript(item, exports="env")
  File "C:\Users\Christopher\.platformio\packages\tool-scons\scons-local-4.3.0\SCons\Script\SConscript.py", line 597:
    return _SConscript(self.fs, *files, **subst_kw)
  File "C:\Users\Christopher\.platformio\packages\tool-scons\scons-local-4.3.0\SCons\Script\SConscript.py", line 285:
    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
  File "C:\Users\Christopher\Downloads\Marlin-bugfix-2.0.x\Marlin-bugfix-2.0.x\buildroot\share\PlatformIO\scripts\common-dependencies.py", line 247:
    apply_features_config()
  File "C:\Users\Christopher\Downloads\Marlin-bugfix-2.0.x\Marlin-bugfix-2.0.x\buildroot\share\PlatformIO\scripts\common-dependencies.py", line 133:
    if not env.MarlinFeatureIsEnabled(feature):
  File "C:\Users\Christopher\.platformio\packages\tool-scons\scons-local-4.3.0\SCons\Util.py", line 742:
    return self.method(*nargs, **kwargs)
  File "C:\Users\Christopher\Downloads\Marlin-bugfix-2.0.x\Marlin-bugfix-2.0.x\buildroot\share\PlatformIO\scripts\common-dependencies.py", line 216:
    load_marlin_features()
  File "C:\Users\Christopher\Downloads\Marlin-bugfix-2.0.x\Marlin-bugfix-2.0.x\buildroot\share\PlatformIO\scripts\common-dependencies.py", line 204:
    define_list = run_preprocessor(env)
  File "C:\Users\Christopher\Downloads\Marlin-bugfix-2.0.x\Marlin-bugfix-2.0.x\buildroot\share\PlatformIO\scripts\preprocessor.py", line 43:
    define_list = subprocess.check_output(cmd, shell=True).splitlines()
  File "C:\Users\Christopher\.platformio\python3\lib\subprocess.py", line 424:
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "C:\Users\Christopher\.platformio\python3\lib\subprocess.py", line 528:
    raise CalledProcessError(retcode, process.args,
========================================================================================== [FAILED] Took 0.81 seconds ==========================================================================================
Environment    Status    Duration
-------------  --------  ------------
mega2560       FAILED    00:00:00.805
==================================================================================== 1 failed, 0 succeeded in 00:00:00.805 ==================================================================================== 
The terminal process "C:\Users\Christopher\.platformio\penv\Scripts\platformio.exe 'run'" terminated with exit code: 1.

Terminal will be reused by tasks, press any key to close it.

This may not be possible, but is there some way to send me the file that needs to go on the card to go into the machine?

I solved this with Pronterface. Thanks so much, Jason!

Hi @CrashOpossum

Thanks for letting us know, I was looking at the error and it was looking like a version mismatch, Glad you got it straightened out.

What was the solution? you said you fixed it with Pronterface?

Yes. I ended up giving up entirely on flashing and instead made a few changes with Pronterface. I changed the esteps and the bltouch offset and it has been working well for about 24 hours now.

nice, that’s awsome, thanks for letting us know