Page 1 of 1

Updating HIC 3DP-03 to Marlin 1.1.X

Posted: August 2nd, 2018, 4:30 pm
by zembacraftworks
Greetings all, I've been running a HICTOP 3DP-03 for a couple years.

I've made a few modifications (new extruder, new hotend, new heated bed), and awhile ago I tracked down the source for the HICTOP firmware to make some minor modifications for those upgrades.

It still works great, but I've been wanting to update to a newer, official Marlin firmware and enable features like thermal runaway protection that are lacking in the stock HICTOP flavour.

It seems like you folks have done quite a bit of that. Any suggestions where to start? I was thinking of starting with Chip Luck's firmware from this thread but I'm curious what differences to look out for between different 3DP model printers.

Re: Updating HIC 3DP-03 to Marlin 1.1.X

Posted: August 2nd, 2018, 5:43 pm
by Roberts_Clif
Do you have your original firmware source code?

I have a 3DP11 and a 3DP12 and started with Chip Luck's firmware presently using Marlin 1.1.5. Thou have configured all Marlin 1.1.X

Post a Link or your configuration.h file, we have many Hictop users here and can get you on the correct path.
Not sure if the M503 works on the 3DP03 but this will print out most of the numbers needed for configuration.h setup.
Tell us about you minor modifications.

Now myself when I upgraded I was a little nervous, so to settle my nerves I purchased a spare Controller so if i messed up I would still have the original.
Today I have two 3D Printers and 2 sets of LCD & Controllers as backups no longer nervous about flashing any new firmware.

Re: Updating HIC 3DP-03 to Marlin 1.1.X

Posted: August 2nd, 2018, 8:32 pm
by zembacraftworks
Sure thing! Here's the configuration.h for the firmware I'm currently running. I forget where I downloaded it originally but it was posted as the stock HICTOP firmware for 3DP-03.

The upgrades I've installed are:
  • Replaced stock extruder with E3D Titan Extruder. Moved extruder to top of the printer next to the spool holder and added a bowden tube to the hotend.
  • Replaced stock hotend with E3D v6 hotend.
  • Replaced stock printbed with 1/4" cast aluminum plate (original bed was badly warped and it was impossible to make use of the full build area). Switched to 3-point leveling instead of 4-point. Added silicone heater mat to heat new bed.
And the associated tweaks I've made in the firmware are:

Changing the thermistor tables for the e3d thermistor and the silicone mat. I added Table 11 for the heater mat because it didn't exist in the original firmware I had:

Code: Select all

// 2018-03-24 Note: Changed Hotend to Table 5 for E3D Thermistor cartridge.
// Also added Table 11 for silicone heater mat to thermistortables.h and switched to that for heated bed.

#define TEMP_SENSOR_0 5 		// E3D Thermistor Cartridge
#define TEMP_SENSOR_1 0
#define TEMP_SENSOR_2 0
#define TEMP_SENSOR_BED 11 		// E3D Silicone Heater Mat
And the stepper values for the Titan motor. I think I also calibrated the other steppers but they're still the stock motors so I don't think they changed much, if at all:

Code: Select all

// 2016-12-06 Note: Installed bowden extruder system with approx 600 mm of tubing. Increasing extruder steps to 720 based on cal.

#define DEFAULT_AXIS_STEPS_PER_UNIT   {80,80,406,720}  
#define DEFAULT_MAX_FEEDRATE          {500, 500, 10, 25}    // (mm/sec)
#define DEFAULT_MAX_ACCELERATION      {9000,9000,100,10000}    // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot.
I haven't tuned the PID settings for the hotend or bed because the previous values have been working reasonably well, but I do want to do that eventually.

I think I've also tweaked some smaller things like travel limits (X/Y/Z_MAX_POS), but I haven't had to tweak anything outside of configuration.h other than adding the thermistor table.

Re: Updating HIC 3DP-03 to Marlin 1.1.X

Posted: August 2nd, 2018, 9:08 pm
by Roberts_Clif
Are planning to setup the auto bed leveling?

Manual using Z-End Stop Switch ( https://github.com/MarlinFirmware/Marli ... d-Leveling )
Auto bed leveling using a Z-Proximity sensor ( http://marlinfw.org/docs/features/auto_ ... eling.html )

Re: Updating HIC 3DP-03 to Marlin 1.1.X

Posted: August 2nd, 2018, 11:38 pm
by zembacraftworks
Probably not to start with but I would like to play around with it eventually.

Re: Updating HIC 3DP-03 to Marlin 1.1.X

Posted: August 3rd, 2018, 8:00 am
by Roberts_Clif
Marlin 1.1.5 Configuration.h

Took the liberality of making most changes take a look see if I missed anything.

I used WinMerge to make the changes.

Configuration.h
(62.01 KiB) Downloaded 63 times

Re: Updating HIC 3DP-03 to Marlin 1.1.X

Posted: February 11th, 2019, 9:44 pm
by zembacraftworks
Thanks again, @Roberts_Clif! Sorry to take forever getting back to you -- I kept finding new projects to print, and I didn't want to potentially take my printer offline to upgrade the firmware until I had some time to troubleshoot if necessary. Fortunately, Marlin 1.1.5 with the Configuration.h you posted went off almost without a hitch.

As it turns out (for future reference if anyone else with a Hictop is reading this) I did need to invert the endstop logic:

Code: Select all

#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
And I changed the motherboard to RAMPS 1.3 instead of 1.4 since that matched the old code 33 from my Hictop configuration.h, although I'm not sure if there's much of a difference:

Code: Select all

#ifndef MOTHERBOARD
  #define MOTHERBOARD BOARD_RAMPS_13_EFB
#endif
Aside from that everything was perfect and it's printing beautifully again. Setting up OctoPrint next!

Re: Updating HIC 3DP-03 to Marlin 1.1.X

Posted: February 12th, 2019, 7:22 am
by Roberts_Clif
zembacraftworks wrote:
February 11th, 2019, 9:44 pm
Marlin 1.1.5 with the Configuration.h you posted went off almost without a hitch.

As it turns out (for future reference if anyone else with a Hictop is reading this) I did need to invert the endstop logic:
This is really strange went back through all my Configuration.h files I do not have a configuration.h with all False.
Must have accidentally Changed the true's to false's in the uploaded configuration.h

My Configuration.h Settings

#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.

Its good you worked it out.

I started off with my Hictop 3D Printers on "MOTHERBOARD BOARD_RAMPS_13_EFB" finally changed to "MOTHERBOARD BOARD_RAMPS_14_EFB" Works Great.
I have 3 Hictop Controllers Base v1.3, MPX.3 and the Newest one MPK_V1 all work with "MOTHERBOARD BOARD_RAMPS_14_EFB".