Page 1 of 1
Update to marlin 2 3dp12
Posted: January 3rd, 2025, 8:08 am
by Bluemerlin
hi all,
I've tried upgrading to Marlin 2.1.2 using Clif's firmware and the firmware loaded ok, however when I press the home button in octoprint for the Z axis the z axis moves right to the top and the printer crashes.
I did the M500 and M502 step, am i missing something else?
It's a standard 3dp12 with an SN04 sensor.
Re: Update to marlin 2 3dp12
Posted: January 3rd, 2025, 9:01 am
by Roberts_Clif
Hello
I do not remember configuring a Marlin 2.1.2 for the Stock Hictop 3DP12.
To the best of my knowledge the last Stock Hictop 3DP11/12 configured firmware was Marlin 2.0.9.3 and one specifically for 3DP08.
Could you post the Zip file for me to take a look at and configure for a stock Hictop 3DP12.
I did find an untested non-Stock custom configuration of Marlin 2.1.2 configured on 3.16.2023.
Re: Update to marlin 2 3dp12
Posted: January 3rd, 2025, 9:49 am
by Bluemerlin
Which file do you suggest I use for stock 2.0.9.3?
The 2.1.2 file I found was in this folder:
https://drive.google.com/drive/folders/ ... RGN9fKYZUe
Re: Update to marlin 2 3dp12
Posted: January 3rd, 2025, 10:00 am
by Roberts_Clif
I can configure Marlin 2.1.2 or any other version you want. If you want Marlin 2.0.9.3 that should work.
Re: Update to marlin 2 3dp12
Posted: January 3rd, 2025, 10:13 am
by Bluemerlin
I'd love stock 2.1.2 if you could.
Re: Update to marlin 2 3dp12
Posted: January 3rd, 2025, 10:56 am
by Roberts_Clif
This has not been tested..
Did not include baby stepping
Did not include Advanced Park
If you have any problems post with explanation will take a look.
Re: Update to marlin 2 3dp12
Posted: January 3rd, 2025, 6:56 pm
by Bluemerlin
Thank you, I'll give it a try.
Re: Update to marlin 2 3dp12
Posted: January 4th, 2025, 12:09 pm
by Roberts_Clif
I use Win Merge to convert one version configuration to another version,
Loading an older working version sub file example(Configuration.h From working version and version to configure.
Compare them line by line updating what you want. As you progress you may note they changed some variable names.
You can even download the Marlin source from Hictop though it is so old it will take a long time learning how convert it.
This is mostly what I changed in Marlin 2 versions. Ps I started with Marlin_Chip Luck's version:
I converted 06.13.16, HICi3-1.1.0-RC6-Bugfix though many Marlin 1 & 2 versions then said not much more firmware can do.
Add MOTHERBOARD, SERIAL_PORT, BAUDRATE, CUSTOM_MACHINE_NAME, DEFAULT_NOMINAL_FILAMENT_DIA, TEMP_SENSOR
Add TEMP_SENSOR_BED, PIDTEMP, PIDTEMPBED, @section homing, Mechanical endstop, Stepper Drivers,
Ect...
Then Difference between my 3D 3DP11/12 Printers and the Original Hictop 3DP08/12
My Hictop has a different lead screw
2mm pitch leadscrew = 200*16 /2 = 1600 (STEPS_PER_REVOLUTION_Z / PITCH_OF_Z_ROD)
Your Hictop has a Stock lead screw
8mm pitch leadscrew = 200*16 /8 = 400 :: (STEPS_PER_REVOLUTION_Z / PITCH_OF_Z_ROD)
My Hictop has a TL-W3MC2 Proximity sensor Yours is a SN04N
#define Z_MIN_ENDSTOP_INVERTING true // set to true for SN-04N flase for TL-W3MC2
My Hictop has a Filament runout sensor
#define FIL_RUNOUT_PIN 19 // Configuration.h, instead of pins_RAMPS.h Y-MAX
My Hictop has a Second controllable Fan
#define FAN1_PIN 7 // Configuration.h, instead of pins_RAMPS.h
Changes in
Configuration.h
#ifndef MOTHERBOARD // All of motherboards below work the select one works best on Arduino Mega 2560 with ramps and our controllers.
//#define MOTHERBOARD BOARD_RAMPS_14_EFB
#define MOTHERBOARD BOARD_MKS_BASE_14
//#define MOTHERBOARD BOARD_MKS_GEN_13
#endif
// Mechanical endstop with COM to ground and NC to Signal uses "false"
#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 for SN-04N false for TL-W3MC2.
#define X_MAX_ENDSTOP_INVERTING true // Set to false for Runout Sensor.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to same logic as "Z_MIN_ENDSTOP_INVERTING".
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 94.4962144 }
#define NOZZLE_TO_PROBE_OFFSET { 10, 63, -0.5 }
#define Z_AFTER_HOMING 10 // (mm) Height to move to after homing Z
#define FILAMENT_RUNOUT_SENSOR
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
#define FIL_RUNOUT_ENABLED_DEFAULT true // Enable the sensor on startup. Override with M412 followed by M500.
#define NUM_RUNOUT_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each.
//#define FIL_RUNOUT_PIN 19 // Configuration.h, instead of pins_RAMPS.h Y-MAX
//#define FAN1_PIN 7 // Configuration.h, instead of pins_RAMPS.h
//#define FIL_RUNOUT_STATE LOW // Pin state indicating that filament is NOT
//#define FILAMENT_RUNOUT_SCRIPT "M600"
// NOTE FAN1 and Filament Runout Pins can be set here no need for Pins in Ramps
// Though if you are downloading from Marlin some code needs to be added to Pins_Ramps
#endif
Configuration_Adv.h // My settings for Configuration_adv.h you can use stock settings
#define SDCARD_SORT_ALPHA // Use if want does not effect operation
#define BABYSTEPPING // ""
#define ADVANCED_PAUSE_FEATURE // ""
Pins Ramps // My settings for Pins_Ramps.h you can use stock settings
#ifndef MOSFET_D_PIN
#define RAMPS_D7_PIN 7 // -1 to disable
#define MOSFET_D_PIN RAMPS_D7_PIN // Mosfet FAN1 Driver setup
#endif
#if EITHER(HAS_MULTI_HOTEND, HEATERS_PARALLEL)
#define HEATER_1_PIN MOSFET_D_PIN
#else
#define FAN1_PIN MOSFET_D_PIN
#endif
#ifndef FAN_PIN
#if EITHER(IS_RAMPS_EFB, IS_RAMPS_EFF) // Hotend, Fan, Bed or Hotend, Fan, Fan
#define FAN_PIN RAMPS_D9_PIN
#elif EITHER(IS_RAMPS_EEF, IS_RAMPS_SF) // Hotend, Hotend, Fan or Spindle, Fan
#define FAN_PIN RAMPS_D8_PIN
#elif ENABLED(IS_RAMPS_EEB) // Hotend, Hotend, Bed
#define FAN_PIN 4 // IO pin. Buffer needed
#else // Non-specific "EFB" i.e., "EFBF"or"EFBE")
#define FAN_PIN RAMPS_D9_PIN
#endif
#endif
#ifndef MOSFET_D_PIN
#define RAMPS_D7_PIN 7 // CPU Fan
#define MOSFET_D_PIN RAMPS_D7_PIN
#endif
// RAMPS 1.4 DIO 4 servos connector // Filament Runout can be setup in Configuration.h
#ifndef FIL_RUNOUT_PIN
//#define FIL_RUNOUT_PIN 4
//#define FIL_RUNOUT_PIN 19 // Y-Max
#endif
#ifndef Z_STOP_PIN
#ifndef Z_MIN_PIN
#define Z_MIN_PIN 18
#endif
#ifndef Z_MAX_PIN
#define Z_MAX_PIN 19 // Filament Runout
#endif
#endif
Ps.. Hope I did not miss any code lines, If you want to learn step line by line in Win Merge comparing the Configuartion.h
The configuation.h is the only code that needs to be changed to get Marlin 2 to work on our Hictop 3DP12 Printers.
The others for Our 3DP12 is for options like Filament Runout, Baby stepping, Advanced pause, Configure 2nd fan Control ect...
Re: Update to marlin 2 3dp12
Posted: May 10th, 2025, 12:59 pm
by Bluemerlin
I've had issues with it failing print while doing the bed probe, could you change the below I've found here for a different printer:
https://3dprinting.stackexchange.com/qu ... 0512#20512
For Marlin firmware, you should check the setting PROBING_HEATERS_OFF in Configuration.h file:
Re: Update to marlin 2 3dp12
Posted: May 16th, 2025, 8:11 pm
by Roberts_Clif
Have not been here for a while.
What would you like for me to configure for you???
Re: Update to marlin 2 3dp12
Posted: May 21st, 2025, 5:35 pm
by Bluemerlin
I'm not sure, I keep getting failed jobs due to heating failure before it starts, even if I don't probe.
Re: Update to marlin 2 3dp12
Posted: May 22nd, 2025, 3:48 pm
by Bluemerlin
I've been doing more investigating, could you try turning off THERMAL_PROTECTION_VARIANCE_MONITOR
https://community.octoprint.org/t/therm ... e0/41836/2