Mbot Cube Kit X & Y Calibration

I just completed the build of the Mbot Cube kit and have an X & Y calibration problem.
When I command the head to move 20 mm, it comes up short by about .5mm. This is using digital calipers to measure the actual movement of the head, yes the belts are tight! This also causes my 20mm calibration cube to also be small by around .5mm. How can I calibrate the steps pre mm for the X & Y. I tried modifying the start gcode by adding an M92, but it doesn’t seem to do anything.
Any help would be great.

302030.stl (7.9 KB)

try to print the file attached and inform me the size you printed

OK, here are the sizes:
X & Y = 28.5mm
Z = 30mm (perfect)
Wall thickness = 5.1mm

Make that: X & Y = 28.6mm

Width of the hole: = 18.2mm X & Y

X&Y = 28.6mm
Z = 30.00mm
Wall Thickness = 5.1mm
Hole width = 18.2mm

help us confirm the the number of the teeth on the synchronous wheel at the X and Y motors
How to distinguish the 17 teeth gear machine and the 18 teeth gear machine.pdf (262.0 KB)

Hello, my X and Y are out of calibration as well. I printed the test object and got ~33mm for X and Y dimensions, 30mm for Z. My Cube Kit has 18 teeth synchronous wheel.