to correct for misalignement with the 5v steppers, make the following modifications to the firmware... to EggDuino.ino - add just before definition of setup() (or uncomment these lines if they already exist as they did in mine): float rotScale = (float)rotStepsPerRev / 3200.0; float penScale = (float)penStepsUseable / 800.0; in Helper_Functions.ino - replace #ifdef block with this: #ifdef BOARD_ULN2003 // map 3200x800 eggbot corrdinates to our 28BYJ-48's penStepsPerRev and rotStepsUseable /* * original rotStepsEBB = map(rotStepsEBB, 0, 3200, 0, penStepsPerRev); penStepsEBB = map(penStepsEBB, 0, 800, 0, rotStepsUseable); */ long rotStepsX16 = (long)(rotStepsEBB * 16L); long penStepsX16 = (long)(penStepsEBB * 16L); // Compare regular solution against 16x magnified solution long rotSteps = (long)((rotStepsEBB) * rotScale) + (rotStepError / 16); long penSteps = (long)((penStepsEBB) * penScale) + (penStepError / 16); rotStepsX16 = (long)((rotStepsX16 * rotScale) + rotStepError); penStepsX16 = (long)((penStepsX16 * penScale) + penStepError); // Compute new error terms rotStepError = rotStepsX16 - (rotSteps * 16L); penStepError = penStepsX16 - (penSteps * 16L); rotStepsEBB = rotSteps; penStepsEBB = penSteps; #endif