Программист встраиваемых систем (middle) — Россия, Москва
от 250 000 ₽
ОткликнутьсяОбязанности: • Разработка прошивок для микроконтроллеров (STM32, GD32, AVR, ESP32).
• Настройка и отладка периферии, подключение цифровых и аналоговых датчиков и узлов.
• Работа с логическими микросхемами: сдвиговые регистры, расширители портов и т.п.
• Работа с дисплеями: 7-сегментные, символьные и графические ЖК.
• Проектирование логики устройств любой сложности в рамках МК.
• Разработка собственных протоколов обмена верхнего уровня (кадры, проверка целостности, защищённый канал) для общения разрабатываемых устройств между собой
• Разработка несложного ПО под Windows как интерфейса к устройствам на МК.
• Разработка ПО для одноплатных компьютеров (Raspberry Pi и аналоги) как верхнего уровня систем, в которых МК отвечают за работу с «железом» в реальном времени.
• Интеграция одноплатников с микроконтроллерами и периферией (UART, SPI, I2C, USB, GPIO).
• Интеграция одноплатных компьютеров с микроконтроллерами и периферией через UART, SPI, I²C, USB, GPIO и другие интерфейсы.
• Отладка программно-аппаратного взаимодействия совместно со схемотехником.
• Настройка стабильной работы устройств в реальных условиях эксплуатации.
Требования: Микроконтроллеры
• Уверенное программирование МК семейств STM32, GD32, AVR, ESP32.
• Работа со всей периферией: GPIO, таймеры, UART, SPI, I2C, ADC/DAC, DMA, прерывания и т.п.
• Отладка с помощью отладчика, осциллографа, логического анализатора.
• Умение использовать готовые библиотеки и разбираться в чужом коде.
• Умение строить архитектуру со сложной логикой: конечные автоматы, неблокирующие алгоритмы, планировщики или RTOS.
• Опыт разработки собственных прикладных протоколов: формат пакета, CRC, подтверждения, повторные передачи, защита канала.
• Знание Git.
Одноплатные компьютеры
• Уверенные навыки работы с Linux: терминал, SSH, systemd-сервисы, права доступа, сеть, автозапуск приложений, диагностика проблем.
• Умение писать приложения под одноплатники на Python и/или C/C++, работать с GPIO, шинами и интерфейсами (libgpiod, spidev, i2c-tools, pyserial и т. п.).
• Понимание разделения задач: что отдавать микроконтроллеру (реальное время, быстрая реакция), а что одноплатнику (сеть, интерфейс, база данных, тяжёлая обработка), и умение выстроить обмен между ними по собственному протоколу.
Windows
• Опыт разработки несложного desktop-ПО под Windows.
• C#/.NET, Python, C++/Qt или аналогичные технологии.
• Создание GUI.
• Работа с COM-портами, USB и сетевыми интерфейсами.
• Визуализация данных и телеметрии.
• Приложения могут использоваться как конфигураторы, сервисные программы, диагностические инструменты, интерфейсы управления и средства обновления прошивки.
Общее
• Умение настраивать надёжную работу устройства «в поле»: автозапуск, watchdog, защита от повреждения SD-карты и сбоев питания.
• Умение строить системы со сложной логикой и несколькими одновременно выполняемыми задачами.
• Понимание неблокирующей архитектуры программ.
• Умение использовать конечные автоматы, событийную логику, программные таймеры, планировщики и RTOS там, где это необходимо.
• Умение разделять проект на логические модули и поддерживать достаточно крупную кодовую базу embedded-проекта.
Личные качества
• Самостоятельность и ответственность за результат.
• Умение работать в связке со схемотехником.
Будет плюсом
• Понимание принципов работы нейросетей, обучения моделей, запуска ML на МК (TinyML),
• Опыт работы с RTOS (FreeRTOS, Zephyr).
• Умение читать схемы и базово разбираться в аппаратной части.
• Опыт запуска моделей машинного обучения на одноплатниках (TensorFlow Lite, ONNX Runtime, OpenCV, Jetson), в том числе с камерой.
• Опыт использования Docker и контейнеризации на встраиваемых платформах.
• Опыт сборки кастомных образов Linux (Buildroot, Yocto) и настройки Device Tree.
Условия: • Работа в развивающейся R&D-компании;
• Оформление в соответствии с ТК РФ;
• Конкурентный уровень заработной платы;
• Премиальные выплаты;
• ДМС после испытательного срока;
• Испытательный срок - 3 месяца;
• Комфортный офис в шаговой доступности от метро Сокол
• График работы пн-пт 10:00-19:00;
• Возможность профессионального и карьерного роста.