Uploading/flashing Marlin to your Hic i3 (or other)
Posted: June 13th, 2016, 12:59 pm
[edited 11.12.16 : Changed link below to proper location for firmware for downloading Marlin - RC6]
[edited 03.20.17 : Corrected improper original IDE version I used to compile - RC6]
The question comes up a lot "how do I..." update my firmware?
First you need to read how to update your firmware and have all your research done prior to you properly and safely re-compile Marlin source code and upload firmware to (or 'flash') your printer. Remember if you are not sure what you are doing, you probably should not be doing it in the first place. However, you can perform your research on the bit and you will soon grasp just how all this works, it's fairly simple actually once you do it a few times. And you still *should* always not just start printing post a firmware update, but perform calibration checks on your printer with known test object any time you update software; re-edit <Configuration.h> if needed, etc. Trust me, you will save filament and time.
Read here first about Marlin on the Reprap.org Wiki, corrections and addition by myself is shown bellow:
http://reprap.org/wiki/Marlin
To re-state and prepare as mentioned in the above link (IMPORTANT: please note proper arduino IDE version now needed for Marlin 1.1.0-RC6), here I edited and commented on the original steps in the link above for some clarification:
1. Back up any Marlin source code or binary you may have if any. If you do not have it, there is no way to save your current printer firmware once you upload a new version. No you cannot download the firmware FROM your printer to save it, at least I have not heard how you can. You will not need it anyway, the newer Marlin has much more functionality built in.
2. Download a host program, I use Repetier Host for all my needs and even as a run time printing/monitor.
3. Download and Install the arduino software IDE/tool set, currently as when this particular source code was compiled, I used the version [edit] 1.6.8 from http://www.arduino.cc/en/Main/Software. NOTE: The proper version of the IDE is required to compile the source code. Things have changed after this original post, so check the requirements if your not compiling this particular version or a newer shared or uploaded version of any source code posted here in this forum.
Set up the IDE according to the instructions in the above link, i.e.:
- Start the Arduino IDE
- Select Tools -> Board: -> Arduino Genuine Mega 2560 for current HIC i3's RAMPS 1.3/1.4 (or whatever your micro-controller is)
- Select Tools -> Processor: -> AT_mega2560 (Mega 2560) [CL]
- Select the correct serial port in Tools -> Serial Port, usually there is only one option
- Exit the IDE
4. Download the Marlin source code and extract it into a directory of your choice, I use naming such as "../Marlin-1-1.0-RC6/" or what ever named version you are using.
- For a HIC i3, you can start with my current tested version as it comes with a <Configuration.h> file already per-configured for my/our printer. You can find the latest version I'm personally running here under this thread: viewtopic.php?f=51&t=298
- You SHOULD follow the advise in the above link to insure the <Configuration.h> file is 100% correct for your particular HICTOP printer though, in particular the extruder (thermistor) type, z-axis lead screws (e-steps), LCD display (default 4x20), configure and enable auto-bed leveling, etc. and edit and save it. This configuration works for my stock HIC i3 from China with stock z-axis rods (non-lead screw).
- You could also use any version Marlin of your choice and then just verify the <Configuration.h> file is correct. It's up to you.
5. Go to your Marlin source directory and double click the [edit ] <Marlin.ino> file, this should open the IDE with a tabbed file listing at the top of the window. There your can navigate to <Configuration.h> and edit and save the file if needed.
- When you are done, select Sketch -> Verify/Compile. This should compile the source with no errors
- Now insure you are connected to your printer and select Sketch -> Upload. This will once again compile and this time upload it to your printer control board
6. After a successful upload, the printer should re-boot and show an updated LCD opening screen bottom line (at least using my code) the current revision of the firmware, i.e. "HICi3 1.1RC6 ready." or similar.
OK, if all goes well it now time to go print some simple test objects, you DO test print calibration objects after firmware updates first do you not?
Good luck and happy printing,
Chip
---
[edited 03.20.17 : Corrected improper original IDE version I used to compile - RC6]
The question comes up a lot "how do I..." update my firmware?
First you need to read how to update your firmware and have all your research done prior to you properly and safely re-compile Marlin source code and upload firmware to (or 'flash') your printer. Remember if you are not sure what you are doing, you probably should not be doing it in the first place. However, you can perform your research on the bit and you will soon grasp just how all this works, it's fairly simple actually once you do it a few times. And you still *should* always not just start printing post a firmware update, but perform calibration checks on your printer with known test object any time you update software; re-edit <Configuration.h> if needed, etc. Trust me, you will save filament and time.
Read here first about Marlin on the Reprap.org Wiki, corrections and addition by myself is shown bellow:
http://reprap.org/wiki/Marlin
To re-state and prepare as mentioned in the above link (IMPORTANT: please note proper arduino IDE version now needed for Marlin 1.1.0-RC6), here I edited and commented on the original steps in the link above for some clarification:
1. Back up any Marlin source code or binary you may have if any. If you do not have it, there is no way to save your current printer firmware once you upload a new version. No you cannot download the firmware FROM your printer to save it, at least I have not heard how you can. You will not need it anyway, the newer Marlin has much more functionality built in.
2. Download a host program, I use Repetier Host for all my needs and even as a run time printing/monitor.
3. Download and Install the arduino software IDE/tool set, currently as when this particular source code was compiled, I used the version [edit] 1.6.8 from http://www.arduino.cc/en/Main/Software. NOTE: The proper version of the IDE is required to compile the source code. Things have changed after this original post, so check the requirements if your not compiling this particular version or a newer shared or uploaded version of any source code posted here in this forum.
Set up the IDE according to the instructions in the above link, i.e.:
- Start the Arduino IDE
- Select Tools -> Board: -> Arduino Genuine Mega 2560 for current HIC i3's RAMPS 1.3/1.4 (or whatever your micro-controller is)
- Select Tools -> Processor: -> AT_mega2560 (Mega 2560) [CL]
- Select the correct serial port in Tools -> Serial Port, usually there is only one option
- Exit the IDE
4. Download the Marlin source code and extract it into a directory of your choice, I use naming such as "../Marlin-1-1.0-RC6/" or what ever named version you are using.
- For a HIC i3, you can start with my current tested version as it comes with a <Configuration.h> file already per-configured for my/our printer. You can find the latest version I'm personally running here under this thread: viewtopic.php?f=51&t=298
- You SHOULD follow the advise in the above link to insure the <Configuration.h> file is 100% correct for your particular HICTOP printer though, in particular the extruder (thermistor) type, z-axis lead screws (e-steps), LCD display (default 4x20), configure and enable auto-bed leveling, etc. and edit and save it. This configuration works for my stock HIC i3 from China with stock z-axis rods (non-lead screw).
- You could also use any version Marlin of your choice and then just verify the <Configuration.h> file is correct. It's up to you.
5. Go to your Marlin source directory and double click the [edit ] <Marlin.ino> file, this should open the IDE with a tabbed file listing at the top of the window. There your can navigate to <Configuration.h> and edit and save the file if needed.
- When you are done, select Sketch -> Verify/Compile. This should compile the source with no errors
- Now insure you are connected to your printer and select Sketch -> Upload. This will once again compile and this time upload it to your printer control board
6. After a successful upload, the printer should re-boot and show an updated LCD opening screen bottom line (at least using my code) the current revision of the firmware, i.e. "HICi3 1.1RC6 ready." or similar.
OK, if all goes well it now time to go print some simple test objects, you DO test print calibration objects after firmware updates first do you not?
Good luck and happy printing,
Chip
---