There is an issue with the current Robo firmware configuration which I believe is a major root cause of Z Ribbing on the stock Robo. My base Robo setup is stock except for the following mods: - Z axis threaded rods are 8mm pitch 1.25mm. Firmware has been flashed with 2560 steps/mm on the z axis. - Z Axis stabilizers fitted (my design http://www.thingiverse.com/thing:278484) - Auto bed levelling fitted (my design http://www.thingiverse.com/thing:301715) Despite the M8 threaded rods and Z axis stabilizers, I was still seeing ugly Z artifacts on most of my prints. To systematically analyse why this was happening I first: - Checked every rod for size, screws were tight, belts were properly tensioned, Z couplers were seated properly and there was no vertical movement (springiness) in the couplers/threaded rods. - Checked by hand there was no obvious loose slop in any the axes. - Created a test model stl which showed any Z artifacts clearly but was simple and quick to print. Sliced the model once (for PLA at a layer height of 0.2mm) and used the exact same gcode for every test print. I picked 0.2mm because at this height there are no step size rounding errors for 8mm or 5/16" threaded rods. I discovered during this check that my couplers were not seated properly, a few screws were not tight enough and one smooth rod at the front of the X axis was under sized. Only issue I couldn't fix right away was the under sized X axis rod. Consequently there is some slop in the X axis which might be causing print quality problems - but unlikely to be causing Z artifacts. My first test print showed obvious Z artifacts. These were clearly Z Ribbing (not Z wobble) in a pattern which matched the pitch of the threaded rod. View attachment 3233 As Z Ribbing is usually caused by variation in the layer height the obvious thing to check was the behaviour of the Z Stepper. So I ran a test print and video'ed the coupler. I could see right away there was some unusual behaviour in the way the couplers were turning to increase the layer height. In some cases the steppers were jumping slightly backwards before turning to raise the height up. In others they were jumping slightly forward before turning to raise the height up. To prove whether this was a hardware or a software issue, I set up a spare Arduino/Ramps and Z stepper on the bench and ran the exact same gcode through this test setup. You can easily see in the video of the test stepper the jumps forward and backward before the stepper turns to raise the height. Obviously these slight jumps are causing a variation in height of the layers. The reason for these tiny jumps is simple. In the Robo firmware (configuration.h) , the Robo guys have decided to turn off the power to the Z stepper when it is not being used. // Disables axis when it's not being used. #define DISABLE_X false #define DISABLE_Y false #define DISABLE_Z true //robo modded #define DISABLE_E false // For all extruders However the big problem with doing that is the stepper can not hold its place when microstepping. As soon as the power to the stepper is turned back on it moves forwards or backwards to the closest full step position. So in simple terms... At a layer height of 0.2mm and a threaded rod pitch of 1.25mm there will be 6.25 increments per complete turn of the stepper. So there are 6.25 times per turn when the stepper will jump slightly backwards or forwards before turning to raise the height by 0.2mm. Probably the worst case is an error of up to 6.25 X 1.8 degrees / 2 = 5.625 degrees (or 0.0195mm) of accumulating error per complete revolution of the stepper. (Obviously my maths are a simplification of what is really going on at the microstepping level) It doesn't matter whether the threaded rod is 8mm or 5/16" (or anything else) these jumps backwards/forwards will cause the layer height to vary in a regular, repeating pattern which depends on layer height, thread pitch and full step size of the stepper. IMO this behaviour of the Z stepper (because of the Robo firmware setting) is one of the root causes of Z Ribbing on the stock Robo. The fix is simple. Make the following change in the Marlin configuration.h file and reflash the firmware. // Disables axis when it's not being used. #define DISABLE_X false #define DISABLE_Y false #define DISABLE_Z false //robo modded - fixed #define DISABLE_E false // For all extruders Unfortunately having the power always on to the Z stepper also means the Ramps stepper driver power needs to be adjusted to work reliably. To make this adjustment read these instructions http://bootsindustries.com/portfolio-item/pots-adjustments/ And I suggest running some basic gcode to adjust the driver power and check the Z stepper moves reliably with no ugly noises. After making this fix I ran a number of test prints at various layer heights. I can see that the Z stepper is now moving correctly (ie no jumping at all) and the Z Ribbing has definitely been reduced on my Robo. I am not saying this is the complete solution but is definitely one of the causes of Z Ribbing.