Firstly measure the filament in multiple places, and type that into slic3r
2nd realize that you cannot calculate a correct ESteps value, and the one in the firmware is just a starting point.
Part of the reason for this is that when the filament is compressed in the rollers it changes the effective diameter of the drive wheel, the main reason for this is while the slicer relies on volume in = volume out, it's using an approximation for the extruded profile, and the actual calculation is only as accurate as that approximation.
NOTE that means correctly calibrated for one slicer does not necessarily mean correct for a different slicer.
To my mind there is only one model and 2 print settings you care about to calibrate extrusion, I use the 20x20x10 test cube, though any cube or cylinder would do.
I'm using Slic3r in the following but I'd do the same with KisSlicer or Cura.
Generally I set my extrusion width explicitly, in particularly I don't like Slic3r's automatic extrusion width calibration. I set all of the widths in Slic3r to the same value 0.55 for my 0.5mm nozzle, general rule of thumb being nozzle diameter +10%.
I want settings that minimize other effects on the feed rate so
- I disable retraction
- I set all of the speeds to the same relatively low value of 20mm/s
- I disable any slowdown for cooling (I run a fan always on)
At this point I'd normally take 0.55/0.65 = 0.85 and just use it as the extrusion multiplier, print another hollow cube, verify then print a solid cube, but I want to show you how extrusion affects print quality.
The final litmus test IMO for extrusion is being able to print a tidy 100% fill test object.
I use the same settings as above but I set perimeters to 2 and infill to 100% for the test cube, to illustrate in the following picture, I printed from 1.0 to 0.75 extrusion multipliers in 0.05 steps. The excess material is obvious on the 100% example and can be see decreasing through the 90% one, the 85% one looks good and if you look closely you can start to see small gaps in the infill and between the perimeters in the 80% and 75% cubes. So apparently my rough calculation above was good.
I would note here that the gap between the left/right edges and the infill is less that the gap between the top/bottom edges and the infill, I apparently have a small mechanical issue, probably one of my ujoints has too much friction, or a belt isn't tight.
What's not obvious is the general effect it has on other aspects of quality here is the profile of the 100 85 and 75% cubes. Note the unevenness and generally poor layer alignment of the 100% cube, it's worse in Slic3r than most other slicers because Slic3r only prints perimeters inside to out, pretty much guaranteeing that the outside perimeter is displaced by extra material in the inside perimeter.
The 75% one is cleaner than that "correct" 85% one, because the perimeters don't touch so it's like printing a single wall object, with a slicer printing perimeters outside to in or with only a single perimeter there would probably be no visible difference between them.
Note You can't just take my 0.85 value and use it, you need to measure and print a couple of test objects, the 0.85 is correct for the PLA filament I happen to be using right now on my machine using the version of Slic3r I happen to be using, if I were printing ABS, that 0.85 would likely be higher because the pinch rollers compress it more.
IMO the default ESteps value in the RostockMax firmware is on the high side even for ABS, so if you haven't calibrated, it is affecting your quality.