Инженер-программист встраиваемых систем (Embedded Software Engineer) БПЛА

Инженер-программист встраиваемых систем (Embedded Software Engineer) БПЛА

Москва, Покровская улица

Метро: Лухмановская

Описание вакансии

Направление: Бортовые системы БПЛА

О роли:

Мы ищем инженера-программиста для разработки и сопровождения отказоустойчивого ПО бортовых вычислительных комплексов беспилотных летательных аппаратов.

Работа охватывает полный стек — от драйверов нижнего уровня на «голом железе» до
middleware-сервисов на Linux и интеграции с экосистемой ROS.

Если вы способны одновременно думать фронтом сигнала на ножке МК и графиком
топика в PlotJuggler — эта позиция для вас.

Чем предстоит заниматься:

  • Проектирование и разработка firmware на C++ для микроконтроллеров STM32F4/G4 (FreeRTOS, HAL/LL, работа с регистрами напрямую).

  • Разработка и отладка конечных автоматов (FSM) для критической логики безопасности:
    Fail-Safe, защита от ложных срабатываний, аппаратные и программные watchdog-таймеры.

  • Написание низкоуровневых драйверов периферии без блокирующих вызовов: EXTI, DMA, таймеры Capture/Compare, I2C/SPI в неблокирующем режиме.

  • Реализация обмена по шине CAN/CAN-FD с использованием протокола
    DroneCAN (UAVCAN v0/v1), включая работу с libcanard.

  • Разработка bridge-сервисов на Python 3 под Linux: трансляция данных между
    CAN-шиной и ROS1 (rosserial, publisher/subscriber-ноды, кастомные сообщения).

  • Диагностика и устранение аномалий: HardFault, джиттер прерываний, Race Conditions, некорректная синхронизация в многозадачной среде FreeRTOS.

  • Сопровождение сборочной инфраструктуры: CMake, Ninja, кодогенерация
    (парсинг DSDL, генерация C++-заголовков).

  • Макетирование и сборка стендов для разрабатываемых устройств: подключение
    периферии, отладочных интерфейсов и измерительного оборудования.

  • Ведение проекта в GitLab: работа с ветками, MR/CR, настройка и сопровождение
    пайплайнов CI/CD (сборка, прогон тестов, автодеплой артефактов).

  • Участие в проведении ревью кода и формировании командных стандартов разработки.

Обязательные требования:

Языки и платформы

  • C/C++ (C++14/17) — уверенное владение; понимание специфики критических систем:
    отказ от RTTI, исключений и динамической памяти в real-time контексте.

  • Python 3 — написание устойчивых к сбоям системных демонов, корректная обработка исключений, управление ресурсами ОС (файловые дескрипторы, сокеты).

  • ROS1 (Noetic) — разработка нод, работа с publisher/subscriber,
    кастомными типами сообщений, параметрами и launch-файлами.

Микроконтроллеры и периферия

  • Архитектура ARM Cortex-M: работа с регистрами, CMSIS, HAL/LL STM32.

  • Периферия: CAN, I2C, SPI, UART, EXTI, DMA, таймеры (PWM, Capture/Compare).

  • FreeRTOS: задачи, очереди, мьютексы, семафоры, корректная синхронизация,
    предотвращение Race Conditions и дедлоков.

Сериализация и передача данных

  • Глубокое понимание упаковки данных: побитовые операции, выравнивание памяти
    (padding), порядок байт и бит (Endianness, LSB/MSB first).

  • Опыт работы с бинарными протоколами (CRSF, SBUS, DroneCAN, кастомные фреймы).

Инструментарий

  • GCC ARM Toolchain, CMake, Git.

  • Навыки работы с логическими анализаторами (Saleae Logic и аналоги): захват и декодирование протоколов на шине — UART, SPI, I2C, CAN, CRSF, SBUS и других.

Желательные требования:

  • ROS2 (Humble/Iron) — базовое понимание архитектуры, DDS, отличий от ROS1.

  • PlotJuggler — построение и анализ временны́х рядов телеметрии; создание custom
    плагинов или скриптов трансформации данных будет существенным преимуществом.

  • DroneCAN/UAVCAN v1 — работа с libcanard v1, расчёт DSDL-сигнатур,
    генерация кода через nunavut.

  • Опыт тестирования firmware в эмуляторах (QEMU) в контуре CI/CD (GitLab CI).

  • Опыт работы с осциллографом для анализа аналоговых сигналов и временны́х диаграмм.

  • Прототипирование устройств и быстрая проверка гипотез на базе Arduino.

Мы предлагаем:

  • Официальное трудоустройство по ТКРФ;
  • "Белую" зп до 250.000 руб. включительно (после вычета налогов) И ВЫШЕ;
  • Гибридный, либо офисный формат работы;
  • Технику для работы;
  • Интересные проекты на переднем крае развития БЛА;
  • Креативный и дружный коллектив профессионалов.

Оставляйте отклик и пишите сразу в телеграм!

Навыки
  • C++
  • ROS/ROS2
  • MAVLink
  • Embedded
  • Python
Посмотреть контакты работодателя

Адрес

Похожие вакансии

Е-Флопс
  • Москва

  • Не указана

Рекомендуем
Научно-производственное объединение дальней радиолокации имени академика А.Л. Минца

Ведущий инженер-программист микроконтроллеров

Научно-производственное объединение дальней радиолокации имени академика А.Л. Минца

  • Москва

  • Не указана

Рекомендуем
Синтелс
  • Москва

  • Не указана

Рекомендуем
НТЦ Ротек
  • Москва

  • до 300000 RUR

Моторика
  • Москва

  • до 300000 RUR

Научно-производственное объединение дальней радиолокации имени академика А.Л. Минца

C++ разработчик (Embedded)

Научно-производственное объединение дальней радиолокации имени академика А.Л. Минца

  • Москва

  • до 300000 RUR

Научно-производственное объединение дальней радиолокации имени академика А.Л. Минца

Инженер-программист микроконтроллеров

Научно-производственное объединение дальней радиолокации имени академика А.Л. Минца

  • Москва

  • до 300000 RUR

Инженер-программист (микроконтроллеры STM32)

Конструкторское бюро беспилотных систем

  • Москва

  • до 200000 RUR

Научно-производственное объединение дальней радиолокации имени академика А.Л. Минца

C++ разработчик (Embedded)

Научно-производственное объединение дальней радиолокации имени академика А.Л. Минца

  • Москва

  • до 200000 RUR

Алео-Альянс
  • Москва

  • до 200000 RUR

НИКИЭТ
  • Москва

  • до 200000 RUR

Инженер-программист

Развивающаяся R&D-компания

  • Москва

  • до 250000 RUR

ПИК-специализированный застройщик

Embedded-разработчик (Инженер по видеосистемам)

ПИК-специализированный застройщик

  • Москва

  • до 250000 RUR

НТЦ Вулкан
  • Москва

  • до 250000 RUR

Информтехника

Программист C (embedded)

Информтехника

  • Москва

  • от 200000 RUR

  • Москва

  • до 250000 RUR

Хотите оставить вакансию?

Заполните форму и найдите сотрудника всего за несколько минут.
Оставить вакансию