Тут единственная тонкость собрать правильно образ загрузочной флешки.
Там в примере ребята схалявили - взяли загрузчик для линукса, что на порядки больше самой мигалки, и уже он инитит все железо и грузит мигалку.
Так что это уже без ОС, но не на голом железе.
Пока ничего нового не изобрели, хоть там 16 ядерный Кортекс А99 грузится с точки зрения программера почти как обычный МК.
Только что прогмем не в флеше, а встроенным загрузчиком копирован с внешний флешки в SRAM.
SDRAM, PLLы и прочая переферия не проинициализированы, MMU, ядра кроме нулевого спят - бери и сразу ногами другай
У конкретно Raspberry Pi - boot sequence странный, насколько я знаю. Первым стартует вообще GPU со своего boot ROM. Парсит SD, ожидая там FAT32, ищет там некоторые файлы (в кодах неведомого VideoCore-IV, а вообще не ARM). Это добро инициализирует GPU и части системы. А только потом - включает ARM, который там на правах сопроцессора

. И вот там уже начинается загрузка Linux. Параллельно с работающим VideoCore. Лично в эти детали извращений не лез - не нравятся мне малины, поэтому мои знания очень примерные, если что сильно не пинаться.
Так что во первых извращенцы из броадкома таки изобрели. Во вторых, с документацией на VideoCore тухло, а загрузчики - без сорцов. Хотя какие-то маньяки и работают над этим, на нелюбимом вами гитхабе можно найти итоги реверса и даже некий минимальный загрузчик в исходниках. И вроде даже какой-то порт GCC который обучен генерить код под VideoCore. Но если что-то такое реально охота - посмотрите на гитхаб вокруг sunxi/allwinner, там несколько тривиальных минимальных программ которые запускаются "без OS". И там это сильно проще, потому что все как вы и описали, плюс-минус. В этом плане китайцы все-же лучше американцев с их overengineering, черт возьми. Их система намного проще для понимания и вообще логичнее. Они не страдали фигней а думали как сделать чтобы было недорого и круто. На остальное они забили - и это к лучшему. Но программить такие чипаки без Linux - занятие довольно мучительное. Этим не занимаются не потому что принципиально невозможно, а потому что много сложностей на ровном месте и калибр системы все-же просит там полноценную операционку.
та пожалуйста (навскидку):
1) Таймер для вытяжного вентилятора санузла (настройка с телефона)
2) Бриз в квартире (настройка с телефона)
3) Таймер - меньше просто не бывает (будет еще меньше - не надо индикатора - с телефона запрограммировал и все)
4) Многоканальный суточный таймер (настройка и синхронизация времени с телефона)
5) Устройство защиты квартиры от перепадов сетевого напряжения (настройка и синхронизация времени с телефона, статистика на телефон)
далее сами сможете
да хоть и 6) Электронная свеча (вкл и выкл с телефона), там есть 3x 4-канальный PWM

...при том в стандартные классы устройств блюпупа это явно не впишется. И для каждой этой фигни потребуется по отдельному приложению, блин. Приложение для настройки вытяжки. Для бриза. Для таймера. И второго таймера. И для защиты от перепадов. И для свечи. Итого 6 программ. А как удобно будет между ними всеми мотаться

. Хотя возможно у вас есть идеи лучше и это будет generic решение? А не очередной залоченой на 1 производителя фигней? Так что про dashboard с агрегированным статусом можно забыть, и вообще, 6 программ для столь пустяковых фиговин наверное быстро задолбают даже фанатов этого.
И уж простите за наивность, а зачем надо настраивать вытяжку в санузле? И что именно настраивать? Не логичнее ее автоматически включать допустим если влажность воздуха повышенная? Статистику включений и мониторинг статуса - ну я еще могу понять. Но как мне кажется реально интересно для людей может быть разве что какой-нибудь клин вентилятора. Остальное будет только зря компостировать и без того нагруженный информацией в современном мире мозг. А что, реально большая разница - работала вытяжка 5 минут или целых 6? И даже много народа готовы платить за это сакральное знание?