Вы разрабатываете устройство/прибор с нуля, у вас есть схема, конструкция и понимание того, как именно должно работать устройство, что отображать, какие данные обрабатывать и куда слать? Этого вполне достаточно, чтобы реализовать алгоритм в микропроцессоре. Мы уже много лет занимаемся разработкой программ для микроконтроллеров. Делали программы для устройств абсолютно разной сложности и назначения - от простейших "новогодних игрушек" со светодиодиками до сложнейших устойств типа генераторов и анализаторов Ethernet-трафика.
Наши разработчики прошли через годы работы в составе команд разработчиков на промышленных или гос-предприятиях. Практически у всех был период, когда результата приходилось добиваться порой микроскопическими, но очень нужными этапами - сначала убедиться в том, что процессор вообще запускается и плата разведена правильно. Потом "научить" процессор взаимодействовать с внешними устроствами, наблюдая за светодиодами, индикатором, последовательным портом или просто осциллографом. Ощутить момент, кода наконец-то на экранчике устройства или в выводе UART появляется долгожданное слово, означающее, что пройдена "точка неопределенности" на тему "заработает / не заработает". И момент, когда готовое и отлаженное устройство можно увидеть в работе большой системы в связке с другими устройствами.
Расскажите нам о вашей задаче. Возможно, мы уже подобное делали. Или мы просто сможем предложить хорошее решение по реализации нужной вам функциональности.