Простейшая программная реализация - заводим "волшебну лапку" одного из протов на вывод "сброс".
Дополнительные варианты с BOD, WDT и программный сброс специальной командой, если данное предусмотрено в определенном кристалле (есть и такие как у атмела так и у микрочипа).
Только вот "зачем?"...
Допустим у котуинки такой вариант оправдан (и то "под вопросом") режимом оперативной загрузки новой программы - но ведь для обычного МК подобное изменение содержимого основной программы (перезапись флэш на ходу) никогда не требуется.
В крайнем случае идет загрузка через бутлоадер при полном останове исполнения ранее установленной программы.
Касательно "ущербности" - не всякий МК может быть оптимален для конкретной конструкции (тем более не существует чего-то "абсолютно универсального") - в этом смысле наличие в семействе "упрощенных вариантов" с минимальным набором аппаратных модулей для практики вполне оправдано.
Выбираем тот кристалл и то семейство, что во первых максимально изучено и проработано и во вторых наиболее преемлемо в данной конструкции. Третий критерий цена и наличие в доступной продаже определен лишь для простолюбителя.
Для АВРок единственный упрек можно сделать лишь относительно отсутствия явного указания в маркировке (как на кристалле, так и в байтах сигнатуры) номера ревизии кристалла. Остальное вполне удобоваримо - собираем ВСЕ даташиты, включая ерраты и имеем полное представление о конкретном МК.
Пы.Сы.
Если есть желание показать программу и/или продемонстрировать собственную конструкцию - то уж надо и схемы и описание всего устройства выкладывать.
Или конкретный алгоритм, действительно оригинальный (
https://radiokot.ru/forum/viewtopic.php?f=62&t=78185).
Простой кусманчик исходника (тем более "крупноформатный") не слишком удобен для простого читателя.
Предпочтение выделению оригинального алгоритма в отдельный файл, с возможностью его применения вне рамок конкретного проекта в виде подключаемой библиотеки (хтоя-бы в "слэнговом" варианте).