I just got into the world of 3D printing and I'm extremely new to it and everything related and I'm not 100 % sure what I am actually doing (like all the code stuff too). I did one successful print on my Ender 3 (Benchy) before installing a CR Touch and unfortunately haven't been able to print since then due to many problems (about 2 weeks ago).

A bulk of the problems were caused by bad Creality firmware (SD card not recognized, no settings saving, mobo freezing during print). I downloaded TH3D's Unified 2 firmware and compiled it for my board/CPU (4.2.2 board, GD32F303 RET6) which appears to have helped. I also changed default_envs = line in the platform.ini file to GD32F303 RET6_creality_maple but I wasn't sure what to do after that so I just hit build? (in VScode). I built the platform.ini file before I built the configuration.h file, not sure if relevant either.

The problem now is that whenever I try to print something, the nozzle slams down into the bed and cuts deep grooves all over it. It does this when doing the filament purge line off to the side and when trying to print the actual object. I believe I have leveled the bed correctly, I bought yellow bed springs, and I manually leveled before I set up the CR Touch (by manually leveled, I had to actually move the nozzle to the 4 corners through the Move Axis option in the menu as I tried running CHEP's bed leveling G-code (the M25 version for 32bit board) but my printer would just say "Printer Paused: Parking" and then freeze)

I tried adding the X/Y probe offset in the Marlin firmware but even though I managed to flash the edited firmware, the offsets wouldn't stick (I uncommented the right options I believe for it as well). I managed to push the X/Y probe offsets through with Pronterface. I put them as X -45 and Y -5 for mine which I measured manually but am not sure if it's correct). I set the Z offset as -4.1 (baby-stepped until I could barely move a piece of paper) and I stored settings, so whenever I turn off and on the printer, I check the setting and it's still saved to -4.1. After I set up the Z-offset, I go to Motion > Level Bed and the printer does its 9-point probe, but I don't see an option to store settings after the bed level as I do in other people's menu. If it helps as well, I have also tried scaling back the Z-offset (so from -4.1 to -3.5 to -3 to -2.5) but it continues to kamikaze into the bed).

I put a G29 code after my G28 code in Cura, so the printer does a 9-point probe before each print and then proceeds to slam into the bed. I'll post my M503 result and slicer G-code below for anyone interested.

Sorry for the long post, but I hope I included enough information, I just want to be able to print :(

M503 results

> M503
- echo:; Linear Units:
- echo:  G21 ; (mm)
- echo:; Temperature Units:
- echo:  M149 C ; Units in Celsius
- echo:; Steps per unit:
- echo:  M92 X80.00 Y80.00 Z400.00 E95.00
- echo:; Max feedrates (units/s):
- echo:  M203 X400.00 Y400.00 Z15.00 E200.00
- echo:; Max Acceleration (units/s2):
- echo:  M201 X2500.00 Y2500.00 Z500.00 E5000.00
- echo:; Acceleration (units/s2) (P<print-accel> R<retract-accel> T<travel-accel>):
- echo:  M204 P1500.00 R500.00 T1500.00
- echo:; Advanced (B<min_segment_time_us> S<min_feedrate> T<min_travel_feedrate> X<max_x_jerk> Y<max_y_jerk> Z<max_z_jerk> E<max_e_jerk>):
- echo:  M205 B20000.00 S0.00 T0.00 X8.00 Y8.00 Z0.30 E5.00
- **echo:; Auto Bed Leveling:
- echo:  M420 S0 Z0.00 ; Leveling OFF**
- echo:  G29 W I0 J0 Z-7.40950
- echo:  G29 W I1 J0 Z-7.29150
- echo:  G29 W I2 J0 Z-7.17500
- echo:  G29 W I0 J1 Z-7.15250
- echo:  G29 W I1 J1 Z-7.10900
- echo:  G29 W I2 J1 Z-7.06200
- echo:  G29 W I0 J2 Z-7.09100
- echo:  G29 W I1 J2 Z-6.95900
- echo:  G29 W I2 J2 Z-7.09000
- echo:; Material heatup parameters:
- echo:  M145 S0 H200.00 B60.00 F0
- echo:  M145 S1 H240.00 B100.00 F0
- echo:; Hotend PID:
- echo:  M301 P28.72 I2.62 D78.81
- echo:; Z-Probe Offset:
- echo:  M851 X-45.00 Y-5.00 Z-4.10 ; (mm)
- echo:; Filament load/unload:
- echo:  M603 L100.00 U100.00 ; (mm)

(I highlighted the line that seems off)

Cura G-code

> ; - Ender 3 Custom Start G-code
- G92 E0 ; Reset Extruder
- G28 ; Home all axes
- G29 ; ABL
- G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
- G1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position
- G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line
- G1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little
- G1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line
- G92 E0 ; Reset Extruder
- G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
- G1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish
  • $\begingroup$ sounds like your flashing didn't work properly, is there a reason you can't return it? Why are you not using the Creality firmware anyway? $\endgroup$
    – Kilisi
    May 30 at 3:18
  • $\begingroup$ The general consensus appears to be that Creality firmware is a hot mess. I can definitely testify to that. Allegedly the GD32F303 RET6 in my board isn't the usual standard one used for other Ender 3's due to the chip shortage / sanctions, and Creality hasn't updated the firmware for it. $\endgroup$
    – kahalani
    May 30 at 4:29
  • $\begingroup$ Hot mess? Consensus from whom? It was working until you modified it according to your question. $\endgroup$
    – Kilisi
    May 30 at 7:49
  • $\begingroup$ Sorry, hot mess as in not working. Consensus just from looking around on different forums, bad creality firmware seems to be a common issue. It was working without the CR touch, but once installed it no longer works. I know it's not necessary at all to have one but I do want to find out what has gone wrong so I can learn more about printing. $\endgroup$
    – kahalani
    May 30 at 12:58

1 Answer 1


I suggest you revert to the state where it was working as your first troubleshooting strategy and then use that as a state of reference.

Then make your changes one by one rather than try and fix a modification that doesn't work with another modification you're unsure of.

It's better to learn things systematically from a set point than to mix and match randomly. The danger is that you can eventually make your point of reference unachievable which is only fine if you have an alternative working solution. And you're not really learning anything that way.

  • $\begingroup$ Yeah I think I'll take the Cr touch off, flash new firmware and see if I can go from there. It's just been so frustrating that finding out the cause of the problem would be a huge win :(. $\endgroup$
    – kahalani
    May 31 at 9:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .