CoreXY Belt Routing Design
CoreXY Belt Routing Design

CoreXY Scalability

The scalability of a core-xy printer can be an issue when it comes to hardware design and implementation. An increased belt path can also introduce problems resulting in artifacts in 3d printed parts. A rigid gantry setup is needed and proper binding is a must. 9mm and 12mm belts are available to account for belt stretch. If ringing happens, most of the artifacts caused by  ringing can be reduced with Dynamic Acceleration control.

Dynamic Acceleration Control

Use the Duet3d M593 g-code to enable Dynamic Acceleration. Dynamic Acceleration Adjustment is a firmware feature for the Duet3D controllers. When M593 is enabled the acceleration and deceleration rates will be adjusted per-move to cancel out ringing at the specified frequency. You will notice that sharp changes in direction are much more quiet than before.

Firmware Settings

Match the frequency and sound, then select the lower frequency out of the X and Y frequencies. Set the max acceleration high and prevent the slicer from modifying it and let DAA manage the acceleration profile entirely. This would also mean not using M204 P T. The Max acceleration may be set too low to allow dynamic acceleration control to work properly.


Add M593 to the config.g file

For Example:

M205 X10 Y10 Z0.2 E5 ; Set maximum instantaneous speed changes (mm/sec)

M203 X18000 Y18000 Z900 E3000 ; Set maximum speeds (mm/min)

M201 X5000 Y5000 Z1500 E3000 ; Set maximum accelerations (mm/s^2)

M204 P3500 T2200 ; Set print and travel acceleration (mm/s^2)

At an acceleration of 5000 mm/sec, and 100 mm/sec print speed, the extruder will reach 100 mm/sec about 3 mm away from the corners. 

  • Run a test print
  • Measure the wavelength of the ripples
  • Calculated the frequency 

For Example: if the calculated frequency is 31.2 Hz

  • Input the value after the M204 statement:

M593 F31.2

  • Run the same test print again
  • Recalculate if needed 

It’s best to use high acceleration and low jerk when you use M593. The firmware will reduce acceleration or deceleration if it shifts the first zero of the vibration spectrum on to the specified frequency. This happens when the acceleration is equal to the speed times the frequency. 


M204 with the S parameter is a setting that sets both print and movement acceleration. 

Machine values are inserted first and provide defaults. Acceleration is changed. M204 commands override slicer settings before each feature is printed. Firmware does not differentiate between acceleration for different types of features such as perimeters versus infill.

The specified value is used which will be a specific print setting. If you set all of the print settings acceleration values to 0 or disabled, the M204 lines are not inserted. 

When a max is set, if a specified value is included in the gcode then the machine will set those limits, overriding the previous configured values.

If a speed is sent that exceeds those limits the firmware will override that limit.

Any speed limit values will last until set to something different. Using the appropriate Reprap gcode command then the values will update to the new limits. 

Related Content

SolidCore DIY 3D Printer

SolidCore CoreXY BOM

SolidCore Documentation

SolidCore CoreXY Frame

SolidCore Thingiverse 3D Printer Build Plans

SolidCore Kinematic Bed Mounting System Setup

CoreXY Kits

CoreXY Parts