Hi, I have a problem with the bed leveling on my SV04 and I have narrowed the problem down to a twisted x-axis. In my firmware I have changed between ENABLE_LEVELING_AFTER_G28 and RESTORE_LEVELING_AFTER_G28 with various combinations of G28, G34 and G29 (bilinear). When I place a finger on the z-axis I can feel that both z-axis move independently from each other on the first layer. However, the first layer is higher on one the left side and lower on the right. The only thing that I have found is that some people seems to have a problem with a twisted x-axis and this conclution have I also landed on. From my knowledge it seems that M423 X_AXIS_TWIST_COMPENSATION is not supported on the SV04, I am running johncarlson21 firmware with some tweaks. Is there someone that can guide me to any solution or if it is possible to edit Marlin to add this feature?


presuming that you already have checked & adjusted all mechanical components of your SV04 (e.g. bearing rollers, removed dirt on gantry, fixed screws etc.) & tested levelling with disabled mesh compensation (M420 S0) it is quite a project to add X_AXIS_TWIST_COMPENSATION to the SV04 firmware. It could be done by merging all source code blocks that contain the string #if ENABLED(X_AXIS_TWIST_COMPENSATION & into the very position of the corresponding source code files of your current firmware or copying the complete file, if it is new. Additionally, X_AXIS_TWIST_COMPENSATION has to be enabled in the Configuration_adv.h file.
Things above are the easy part that makes G-Code M423 available for a host session. Transferring the guided X-Twist compensation procedure which exist for LCD display only to the SV04 touchdisplay will be more challenging…

Good luck