Возвращаюсь из Абхазии, а у меня на столе коробочка от JLCPCB с платами управления новой безымянной железяки (ссылка на гитхаб). Сразу в глаза бросился основной мой косяк: я не проконтролировал, что стояла галочка "plot footprint references" (зато зачем-то поставил галку "plot footprint values"). Придется теперь паять, как самопал: руководствуясь бумажной распечаткой с расположением элементов.
А еще сразу бросилось, что забыл исток транзистора Q4 посадить на землю. А у разъема Enc2 вместо защитных CESD3v3 нарисовал обычные диоды (да еще и вверх ногами). У этого разъема контакты идут на 5v-non-tolerant пины, поэтому надо было либо обычные диоды воткнуть как по схеме, но вместо земли посадить их на 3.3В; либо вот такую защиту (стабилитроны нельзя, т.к. у зенеровских диодов напряжение стабилизации очень сильно зависит от тока, а вот CESD3v3 — низковольтный лавинный диод, здесь все ОК). Притащил BOM домой, чтобы взять элементы, которых на работе нет. Если завтра будет настроение (я еще неделю в отпуске), пойду, спаяю все это дело. И можно будет понемногу начать программировать. Здесь уже не обойтись без уймы всяких настроек, которые будут храниться во flash-памяти. Нужно разработать простой парсер (как в управлялке оптоволоконным спектрографом, например), чтобы не городить уйму кода в case'ах, а в цикле пройтись по массиву структур, найти (если есть) нужную, проверить предельные значения и поменять нужный элемент (если все ОК).