Вставлю свои 5 копеек опыта. Подобные системы делал. Но с АВР была проблема следующего плана это 8 разрядность. И отсутствие плавающей запятой. Если ездить по прямой и углам. То система худо бедно справляется. Но когда начинается поворот координатной системы и масштабирование. Вот тут в полный рост вылазит 8 разрядность. И недостаток памяти. А коммутировать банки и писать свою осю под это дело как-то ломает.
Лично для себя придумал такое решение. Старая РС 386 с 387 сопроцессором или там что по старше. На эту машинку грузится G код. И она выдает команды на управление по осям. В виде следующей точки и ускорения.
На каждую ось свой контроллер. Там серво-двигатель или ШД и концевые датчики сдвоенные (оптические и механические). И обратная связь линейные индуктосины. Но очень не плохо работает сенсор от оптической мыши

Соответственно каждый контроллер знает текущие координаты по осям. И при проходе реперных точек производит пере калибровку. Проблема синхронизации по осям решена просто и тупо. Перемещение начинается синхронно после снятия сигнала ожидания с линии с выходом ОК. по завершении перемещений выставляется сигнал готовности на линии ОК. Управляющий комп видит сигнал и передает следующие команды на перемещение. Контроллеры осей общаются по RS-485. + Ещё линии 2 линии с ОК ожидание и готовность с опторазвязкой.