Для начала: немного теории:
http://www.purelogic.ru/doc/PDF/SM/SM_controller.pdf т.е.
шаговый двигатель не имеет датчика угла, но если известно, что двигатель делает 200 шагов на оборот, то подав на него 200 шагов мы будем знать, что он повернулся на 360град, или надо было выбирать более мощный движок.
Сигналы с концевиков аналоговыми не являются.
Когда станет ясно, что необходимо приобрести для твоей системы, и уровень трудозатрат, то окажется что не суть важно какой именно контроллер использовать: mega32 или скажем стартер от stm32
http://www.st.com/internet/evalboard/product/250863.jsp, тем более для последнего ничего кроме usb шнура и среды разработки (Кокос) не требуется.
По поводу драйверов - делал драйвера
http://www.otocoup.com/CarteL6208_e.htm на 297 - 298 (задача типа чпу для сверлилки).
Надо определиться вот с чем: для чего система, какой мощности двигатель, какой тип обмотки (уни - биполярный см. ридико), отсюда тип драйвера двигателя, кроме того, если тебе надо хранить программу, то хватит ли внутреннего флеша, если нет - то надо сажать внешний флеш, тут у меня опыта нет. Ну скажем обслуга mmc карточки отжирает 512 байт памяти на формирование буфера блока.
Ковыряюсь сейчас с измерительным стендом, система выглядит так плата контроллера: контроллер mega8515 -АЦП mcp3204 - 232 порт - st232. Движок 16hm4401. Драйвер двигателя - leadshine M415b. Контроллер работает от любого терминала в текстовом режиме. Автономная работа стенда не предполагается.