Anet A8 Calibrated but print sizes are wrong Anet A8 printer, Github Marlin, Repetier Host, Cura slicer

Just setting up printer and printed 20mm calibration cube from Thingiverse. X,Y,Z &amp; E not too far off but not quite right (centre hole was oval not round) X19.5mm, Y19.5mm &amp; Z20mm.

Followed Youtube calibration help and updated firmware to Marlin. I ran several iterations of request travel, measure result and tweek stepper settings (M501,M92xxxx, M500) Live Die Repeat...

When I now print the calibration cube I get X25mm, Y20mm &amp; Z19.5mm.

Could the issue be with the firmare being upgraded to Marlin? The cube was sliced by Cura and I have used the same file for all of the prints. When I stop the print and ask Repetier to move the steppers the distance is as they should be for a 100mm travel.
If you have a stock printer, your calibration values should be stock - i.e. 100 steps/mm for X/Y. Also, as an extra hint, X and Y steps should be identical since the mechanics are identical (unless you swapped out one of the motors or drive gears).

It sounds like you have Y correct, but something wrong with X. This could be the belt being damaged, or slipping (or having slipped during your initial cal, and not later). Try increasing/decreasing print speed, this might show up some dynamic problems with the movement.

If you print something bigger (like this) you don't need to worry so much about measurement precision and under/over-extrusion (which adds to the error, but doesn't scale with size).

You don't make it clear if you've started by calibrating your extruder. This is the most important first step, and ensures that you extrude the right length of filament during the print. All this requires is that you mark out 10cm of filament and extrude it into free space.