А как же IgorPlug-USB или V-USB? IgorPlug-USB - https://web.archive.org/web/20160414132209/http://www.cesko.host.sk/IgorPlugUSB/IgorPlug-USB%20(AVR)_eng.htm В свое время была killer feature дешевых восьмибитных AVR`ок
Ну так особенности программирования микроконтроллеров выплывает из особенностей их работы. Компьютер работает в своём виртуальном мире и большинство программ замыкаются сами на себя. Поступление данных с винчестера и клавиатуры с мышкой давно обсосаны со всех сторон и программист работает с ними как с виртуальными устройствами наличие которых в системе воспринимается как неоспоримый факт. Работа микроконтроллера основана на реагировании на поступающие извне сигналы. А их надо привести к необходимому уровню, отфильтровать и т.д. Хочешь не хочешь - влазишь в схемотехнику. А изучение зависит от подачи материала. Вот пример простого и понятного объяснения Благодаря этим лекциям я смог пробиться через этот тёмный лес.