Marlin 1.1.4 With 3DTouch / BLTouch for i3 Pro B
Marlin 1.1.4 With 3DTouch / BLTouch for i3 Pro B
Hi folks,
-------
Download : -------
Configured Marlin 1.1.4 (latest to date) to work with Geeetech Prusa i3 Pro B, with 3DTouch probe mounted... Comment probe section in Configuration.h if you don't need BLTouch...
- -
Still configuring probe so cables not guided ^^ You will need to only adjust Z offset corresponding to your printer after flashing firmware from Arduino IDE to get your probe adjusted. Just initialize firmware with M502 then M500 to discard old EEPROM Settings... Save back your steps and other settings on paper before flashing ^^
Auto level probing is set with 4 points near bed corners... Bed sizes are defined for standard Geeetech model mounted like described in manual. Mounted my bed fixed with nuts cause we are probing, so no more springs in the way... Try to be leveled with a spirit level, will help to get nice prints because gravity is a joker...
Issue G-Code : M851 Z[My offset like -1.4 for ex.] followed by M500 to save in EEPROM... I recommend to test and print some lines to really adjust correctly and definitively the offset between the hot-end and the probe (mounted with printed part from Geeetech)...
You can tune your probe with screw adjustments to get the most accurate settings from it... But this is a very long process. Don't forget to oil correctly all Z axis moving parts to get the smoothest movements and use M48 repeatability test to get the smallest deviation possible (near <= 0.01mm). I don't need to explain that your bed surface need to be also well cleaned...
Procedure to do this (probe in up position, turn your screwdriver very gently):
- unscrew the top screw until probe flash alarm.
- Reset alarm (G-Code : M280 P0 S160)
- Screw until the light pops on (this is your near best starting point to fine tune next)
- Launch M48 repeatability test procedure
- fine tune the screw until Z bed position is the most near 0 and your derivation <= 0.01mm (less is better)
I glued with a glue gun the probe's screw after getting the best results for 4 consecutive tests (probing 4x4 times), I am almost sure it won't budge... I am below 0.01mm deviation, so this is excellent.
Here, after 2 hours of settings (this is a patience game), I can get this :
- -
When using Cura, here is my starting G-Code sequence :
M851 Z-1.67 ; Set Z Offset (tuned for auto-leveling) <-- I can adjust Z-Offset on the fly here
M500 ; Store in EEPROM for future uses
G21 ; set units to millimeters
G90 ; use absolute positioning
M82 ; absolute extrusion mode
M104 S{material_print_temperature} ; set extruder temp
M140 S{material_bed_temperature} ; set bed temp
M190 S{material_bed_temperature} ; wait for bed temp
M109 S{material_print_temperature} ; wait for extruder temp
G28 ; home all
G29 ; AutoLevel 3DTouch (BLTouch)
G1 X0 F12000.0 ; Set X
G1 Y0.0 F12000.0 ; go outside print area
G1 Z0 F12000.0 ; Reach Bed
G92 E0.0 ; reset extruder distance position
G1 X60.0 E8.0 F1000.0 ; intro line <-- Print line to clean the hot-end
G1 X100.0 E18.5 F1000.0 ; intro line <-- Finish print line to clean and feed the hot-end
G92 E0.0 ; reset extruder distance position
Avoid use of G28 after G29 command or your leveling values will be resetted...
I Corrected source code to avoid errors, so working with latest Arduino IDE 1.8.3...
Also corrected temps failures from firmware for bed and nozzle for this printer, there was sometime too much control for temps and stock power supply is not one of the most powerful to keep our temps in a range that was in Marlin tolerance...
Here it is :
N.B. : SOURCE CODE IS CONFIGURED FOR LATEST GT2560 Rev A+ Board (the one with direct 3 pins probe connectors on the board). If you are using older boards with soldered probe, revert #define SERVO0_PIN variable to 32 in code...
* Default Axis Steps Per Unit (steps/mm)
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
#define DEFAULT_AXIS_STEPS_PER_UNIT { 81.5, 81.5, 2577.46, 94 }
I defined steps with these values for my printer, so adjust them to your needs if you want... (you can do this from LCD panel) With these values, my printer prints ABS within 0.05mm precision in all directions ^^ Here I have printed a test of my bottle neck design for any soda bottle cap like Pepsi (perfectly sealed with water inside ^^) on a 4cm square plate = 0.02 drift without sanding finish :
-
Pepsi cap screwed I don't use languages other than English because LCD screen only support JAPANESE extended characters and accents are not well supported.
MP me if you encounter any bug...
Remember, printing fast is not a good idea if you want well finished parts... Adjust jerk and printing speeds respectively to 0.1mm/s and between 30-40mm/s gives me very good results... So you cannot mix high speed printing with good results... Patience is mandatory to get nice printed parts ^^
Enjoy...
-------
Download : -------
Configured Marlin 1.1.4 (latest to date) to work with Geeetech Prusa i3 Pro B, with 3DTouch probe mounted... Comment probe section in Configuration.h if you don't need BLTouch...
- -
Still configuring probe so cables not guided ^^ You will need to only adjust Z offset corresponding to your printer after flashing firmware from Arduino IDE to get your probe adjusted. Just initialize firmware with M502 then M500 to discard old EEPROM Settings... Save back your steps and other settings on paper before flashing ^^
Auto level probing is set with 4 points near bed corners... Bed sizes are defined for standard Geeetech model mounted like described in manual. Mounted my bed fixed with nuts cause we are probing, so no more springs in the way... Try to be leveled with a spirit level, will help to get nice prints because gravity is a joker...
Issue G-Code : M851 Z[My offset like -1.4 for ex.] followed by M500 to save in EEPROM... I recommend to test and print some lines to really adjust correctly and definitively the offset between the hot-end and the probe (mounted with printed part from Geeetech)...
You can tune your probe with screw adjustments to get the most accurate settings from it... But this is a very long process. Don't forget to oil correctly all Z axis moving parts to get the smoothest movements and use M48 repeatability test to get the smallest deviation possible (near <= 0.01mm). I don't need to explain that your bed surface need to be also well cleaned...
Procedure to do this (probe in up position, turn your screwdriver very gently):
- unscrew the top screw until probe flash alarm.
- Reset alarm (G-Code : M280 P0 S160)
- Screw until the light pops on (this is your near best starting point to fine tune next)
- Launch M48 repeatability test procedure
- fine tune the screw until Z bed position is the most near 0 and your derivation <= 0.01mm (less is better)
I glued with a glue gun the probe's screw after getting the best results for 4 consecutive tests (probing 4x4 times), I am almost sure it won't budge... I am below 0.01mm deviation, so this is excellent.
Here, after 2 hours of settings (this is a patience game), I can get this :
- -
When using Cura, here is my starting G-Code sequence :
M851 Z-1.67 ; Set Z Offset (tuned for auto-leveling) <-- I can adjust Z-Offset on the fly here
M500 ; Store in EEPROM for future uses
G21 ; set units to millimeters
G90 ; use absolute positioning
M82 ; absolute extrusion mode
M104 S{material_print_temperature} ; set extruder temp
M140 S{material_bed_temperature} ; set bed temp
M190 S{material_bed_temperature} ; wait for bed temp
M109 S{material_print_temperature} ; wait for extruder temp
G28 ; home all
G29 ; AutoLevel 3DTouch (BLTouch)
G1 X0 F12000.0 ; Set X
G1 Y0.0 F12000.0 ; go outside print area
G1 Z0 F12000.0 ; Reach Bed
G92 E0.0 ; reset extruder distance position
G1 X60.0 E8.0 F1000.0 ; intro line <-- Print line to clean the hot-end
G1 X100.0 E18.5 F1000.0 ; intro line <-- Finish print line to clean and feed the hot-end
G92 E0.0 ; reset extruder distance position
Avoid use of G28 after G29 command or your leveling values will be resetted...
I Corrected source code to avoid errors, so working with latest Arduino IDE 1.8.3...
Also corrected temps failures from firmware for bed and nozzle for this printer, there was sometime too much control for temps and stock power supply is not one of the most powerful to keep our temps in a range that was in Marlin tolerance...
Here it is :
N.B. : SOURCE CODE IS CONFIGURED FOR LATEST GT2560 Rev A+ Board (the one with direct 3 pins probe connectors on the board). If you are using older boards with soldered probe, revert #define SERVO0_PIN variable to 32 in code...
* Default Axis Steps Per Unit (steps/mm)
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
#define DEFAULT_AXIS_STEPS_PER_UNIT { 81.5, 81.5, 2577.46, 94 }
I defined steps with these values for my printer, so adjust them to your needs if you want... (you can do this from LCD panel) With these values, my printer prints ABS within 0.05mm precision in all directions ^^ Here I have printed a test of my bottle neck design for any soda bottle cap like Pepsi (perfectly sealed with water inside ^^) on a 4cm square plate = 0.02 drift without sanding finish :
-
Pepsi cap screwed I don't use languages other than English because LCD screen only support JAPANESE extended characters and accents are not well supported.
MP me if you encounter any bug...
Remember, printing fast is not a good idea if you want well finished parts... Adjust jerk and printing speeds respectively to 0.1mm/s and between 30-40mm/s gives me very good results... So you cannot mix high speed printing with good results... Patience is mandatory to get nice printed parts ^^
Enjoy...
Last edited by Olimatou on Mon Jul 17, 2017 10:53 pm, edited 6 times in total.
Re: Marlin 1.1.4 With 3DTouch / BLTouch for i3 Pro B
Thanks for your sharing sincerely.
-Keep your mind and try to test it.
-Everything will be fun!-Support all Getech printer.
-You can ask me the questions and I will kindly reply.
-Respect others is the best way you can get help!
-Everything will be fun!-Support all Getech printer.
-You can ask me the questions and I will kindly reply.
-Respect others is the best way you can get help!
Re: Marlin 1.1.4 With 3DTouch / BLTouch for i3 Pro B
You are welcome ^^ Sharing is the basic of 3D makers community "normally". So if someone need tips for this firmware, he can contact me to get answers if I can help...
Next, I will tune PIDs for Hot-end and Heat-bed to get a better heating for this printer... With the light power source, heating is the culprit (with threaded rods not so linear in 2nd ^^) for this nice little printer to get perfect prints... Improve it is a game I like to play ^^
Regards.
-
- Posts: 1
- Joined: Sat Jul 15, 2017 8:09 am
Re: Marlin 1.1.4 With 3DTouch / BLTouch for i3 Pro B
Thank you so much for sharing. I have been struggling to get my 3dTouch working with the correct offset on my Geeetech Pro X. I am keen to have a go at your updated firmware. My troubles have been related to the first layer height. I can get the bed level to occur however when first layer lays down it is so close to the plate that the filament can't extrude so I figure my offsets Z height offset isn't working. Found in the Geeetech firmware there was a min -15 and max -5 for the z offset which was restricting me set it to -0.4 (what i measured). But still after I made that find it still lays down the first layer too thin.
Re: Marlin 1.1.4 With 3DTouch / BLTouch for i3 Pro B
Hi,troyhodges wrote: ↑Mon Jul 17, 2017 6:05 pmThank you so much for sharing. I have been struggling to get my 3dTouch working with the correct offset on my Geeetech Pro X. I am keen to have a go at your updated firmware. My troubles have been related to the first layer height. I can get the bed level to occur however when first layer lays down it is so close to the plate that the filament can't extrude so I figure my offsets Z height offset isn't working. Found in the Geeetech firmware there was a min -15 and max -5 for the z offset which was restricting me set it to -0.4 (what i measured). But still after I made that find it still lays down the first layer too thin.
I set the Z-Offset for the probe to 0 in firmware so you can adjust the correction size directly in M851 offset. One place to handle the offset is enough ^^ Added -20 to 20 offset range in firmware to get margins for settings...
Try some test line prints and correct your Z-offset on the fly in your beginning G-Code. Once you have your golden number, this is it ^^ You're done.
You could try gcode prints to do so like (hot-end at extrude good temp !):
M104 S230 ; set extruder temp for ABS
M140 S110 ; set bed temp
M190 S110 ; wait for bed temp
M109 S230 ; wait for extruder temp
G1 X30 Y30 Z0 ;
G1 X60 E3.0 F1000 ;
G1 X30 Y40 Z0.1 ;
G1 X60 E3.0 F1000 ;
G1 X30 Y50 Z0.2 ;
G1 X60 E3.0 F1000 ;
etc...
This will print 3 cm lines for testing each 1 cm and moving Z offset with 0.1 mm for each. You can fine tune with Z 0.05 intervals if you need more precision...
Then add delta to your existing Z-Offset :
For Ex. : You have -1.4 offset then you had correct print at line G1 X30 Y50 Z0.2 ; So you need 1.4 - 0.2 = 1.2 ^^
Issue M851 Z-1.2 ; and M500 to save and Voila !
I don't know if the Pro X bed is the exact same dimension than Pro B, but you can correct this easily in Configuration.h file... Change also the name of your printer accordingly ^^
Regards.
Re: Marlin 1.1.4 With 3DTouch / BLTouch for i3 Pro B
I have installed this and it works perfectly. Thanks so much!
Re: Marlin 1.1.4 With 3DTouch / BLTouch for i3 Pro B
Yesterday I performed my first longer print with this firmware. For some reason my printer froze 2 hours in.
I have never tried this before. Any suggestions?
I have never tried this before. Any suggestions?
-
- Posts: 1
- Joined: Mon Jul 31, 2017 5:56 pm
Re: Marlin 1.1.4 With 3DTouch / BLTouch for i3 Pro B
Hi Olimatou,
i would like to use your modification with a capacitive sensor for my Geeetech i3X instead of BLTouch. Which kind of probe do I have to activate ? If it is #define FIX_MOUNTED_PROBE, are there any parameters?
i would like to use your modification with a capacitive sensor for my Geeetech i3X instead of BLTouch. Which kind of probe do I have to activate ? If it is #define FIX_MOUNTED_PROBE, are there any parameters?
-
- Posts: 9
- Joined: Thu Jun 22, 2017 3:57 am
Re: Marlin 1.1.4 With 3DTouch / BLTouch for i3 Pro B
Hello,
What should I comment out if I do not have a probe installed???
You have provided the only firmware for the GT2560 A+ board that I have. I've replaced the original board in order to store my settings via the EEPROM and the lack of bootloader on the original makes that a pain.
What should I comment out if I do not have a probe installed???
You have provided the only firmware for the GT2560 A+ board that I have. I've replaced the original board in order to store my settings via the EEPROM and the lack of bootloader on the original makes that a pain.
-
- Posts: 9
- Joined: Thu Jun 22, 2017 3:57 am
Re: Marlin 1.1.4 With 3DTouch / BLTouch for i3 Pro B
Cancel my question.