Ну и конечно же нельзя не сказать о легендарной среде программирования Arduino для микроконтроллеров AVR. Отношение к Arduino IDE, у тех кто увлекается программированием микроконтроллеров, далеко не однозначное. На различных специализированных сайтах, форумах, чатах, соцсетях, при одном только упоминании этой среды разворачиваются бурные холивары, сравнимые разве что с хохлосрачем (термин не в обиду никому, просто термин). Причин такого положения дел я не знаю, но достаточно, например зайти на ЛОР и все увидеть своими глазами. Тем не менее Arduino IDE, несмотря на свою нелепость как редактора кода, живет и развивается всем врагам назло. И это не просто так - готовая, великолепная отладочная плата, куча Arduino-библиотек на все случаи жизни, огромное количество интернет-ресурсов, поклонников и разработчиков этой среды. Конечно профессиональные программисты-ембеддеры с ухмылкой и легкой долей иронии отзываются об Arduino, но тем хуже для них, миллионам ардуинщиков на их мнение пофиг. За что только не ругают эту среду... В частности, за компилирование не эффективного кода. Но среда не стоит на месте и развивается, так если раньше просто мигнуть светодиодиком, скомпилированный файл весил 2 Кб, то теперь он весит всего 1 Кб - таким образом прогресс на лицо!
Никто не заставляет использовать встроенный С-подобный Ардуино-язык, прямо в среде можно кодить и компилировать на чистом С. При этом никаких дополнительных телодвижений не требуется. Среда прекрасно работает со всеми AVR-утилитами: AVR-GCC, AVRDUDE и компилирует не менее эффективный код, чем родная АВР-ская среда AVR-studio. Мне лично не нравится в Arduino IDE подсветка кода и сам встроенный Ардуино-язык, но во всем остальном - среда отличная. При этом Ардуино-плату я использую в качестве простого программатора, для прошивки голых микроконтроллеров. Как это сделать, описание есть на сайте Амперки, например. Таким образом нет никакой разницы на каком языке писать, а вот как отладочная плата, как готовый прошивальщик, Ардуино среда великолепна и хорошо настраиваемая. Просто глупо не использовать возможности Ардуины. Я например, предпочитаю использовать чистый С, но это не мешает мне использовать Ардуинку как отладочную плату и как готовый программатор. Так что, дорогу осилит идущий.