Getting started
This is a generic guide for getting started with Hemera on Marlin 2.0 Firmware.
Visual Studio Code is used to compile Marlin 2.0 Firmware with the help of the PlatformIO extension. This guide will take you through the process of installing these as well as setting up your Firmware specifically for Hemera.
You can load higher resolution versions of images by clicking on them
1. If you do not have Visual Studio code or a Marlin source firmware to work from, you should work through this guide first.
2. Locate 'configuration.h' in the explorer tab and open it:
Marlin -> configuration.h
3. Scroll through 'configuration.h' until you find the 'Thermal Settings' section or use Ctrl+F.
Using CTRL+F on your keyboard and then typing in a keyword (Eg. 'Thermal Settings') can help to speed up navigation. It's worth knowing that your line numbers won't always match up with the ones in the guide so it is better to look for keywords rather than line numbers.
4. Change:
#define TEMP_SENSOR_0 1
to:
#define TEMP_SENSOR_0 5
Changing the definition here changes the type of thermistor that the board is expecting input from.
If the Temperature Sensor type is not changed, this may result in incorrect temperature readings.
5. Next we must locate the MAXTEMP values, you can set this value to 300. If you are using a higher temperature version of Hemera, you may be able to increase this.
Refer to this guide for information on max temperatures.
Change:
#define HEATER_0_MAXTEMP 275
to:
#define HEATER_0_MAXTEMP 300
6. To ensure the safety triggers work, double-check that Heater 0 MinTemp is set to 5.
#define HEATER_0_MINTEMP 5
If you are printing in a particularly cold environment where the temperature might drop below this value, then you may want to decrease this value or heat the environment you will be printing in prior to printing.
7. Movement Settings up next.
look for:
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 93 }
change it to:
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 397 }
This changes the Steps per mm value from 92 to 397, allowing for accurate extrusion.
If the gcode instructs Hemera to extrude 100mm, it will extrude 100mm, not more or less!
8. Extruder Motor Current.
Hemera is rated to 1.33A (1330mA) of current. Exceeding this may damage your Extruder.
To change motor current, you need to navigate to 'Configuration_adv.h'.
You will find it alongside 'Configuration.h' in the tree on the left side.
Search for 'AXIS_IS_TMC(E0)' in Configuration.h and change:
#define E0_CURRENT 650
to
#define E0_CURRENT 1000
On many printers, the motor currents can now be changed from the LCD screen. This saves you having to recompile firmware if you need to adjust them.
1000 mA should be sufficient. The lower the current, the more likely the extruder is to begin skipping steps. On the other hand though, the higher the current, the hotter the motor will be to the touch. 1000 is a good balance to start with and can be adjusted further if you wish.
9. To maximise your build area and ensure no space is lost, you may need to adjust your manual home position settings.
Let's say that you've finished installing your Hemera and go to 'home' the printer. You find that the Nozzle is no longer in the same position as it was before. It is 12mm out in X and 16mm out in Y. If this isn't accommodated for in the firmware, you will lose 12mm of Build Area in X and 16mm in Y. By adjusting the manual home positions to -12 in X and -16 in Y, you can accommodate for the discrepancy and the nozzle will end up in the same position as it was prior to your Hemera upgrade.
The discrepancy in your home position before and after the upgrade will vary from user to user as a result of your machine and your choice of mount.
Unless you know what the exact offset between your old and new nozzle will be, it is a good idea to skip this step and come back to it once you've completed the upgrade and have homed the machine. That way you will be able to measure the distance yourself and make adjustments accordingly.
In order for changes to the home position values to take effect, you must uncomment them. You do this by removing the two forward slashes ( // ) that come before #define.
Compiling the Firmware
Before the firmware can be uploaded, it must be successfully compiled.
10. You should be able to see a small tick on the left of the blue ribbon at the bottom of your screen.
If you can't, you can bring it up by right-clicking on the blue ribbon and selecting 'PlatformIO IDE (Extension)'
11. Click on the tick and the compiling process should begin. The process shouldn't take more than a couple of minutes.
You should be greeted with a 'SUCCESS' message similar to this.
If it fails, it is most likely to be caused by a mismatch between your board and your default environment. Return to step 17 and double-check the environment is correct.
Uploading the Firmware
The final step is to take your newly compiled firmware and upload it to your printers mainboard.
12. Navigate back to the main 'Marlin-2.0.x' folder. Open up the .pio file.
Click on build.
Click on LPC1768.
You should find a '.bin' file in this folder.
VLC media player is installed on the computer being used and is viewing the file as a video file, to make sure it is a .bin file, right-click and check the file properties.
If you have compiled the firmware a number of times, you may be greeted with multiple .bin files. Make sure to choose the one with the most recent 'Date modified' if in doubt.
13. Copy the file.
14. Paste the file onto the SD or MicroSD card that fits into either your Mainboard or LCD screen.
The "randomness" (timestamp) of the file name is required here, if you are tempted to rename the file make sure that you use a unique file name for each firmware flash you attempt. If you reuse an old name the screen will remain blank when restarting.
15. Make sure the printer is turned off, insert the SD card back into the printer, then power on.
The screen may remain black for a few seconds but should boot up with the new firmware.
If unsure about any of the steps, please contact our Support Team.