Embedded Engineer
Embedded Engineer
Hardware Integration · Sensors · Optical Systems
Київ · Повна зайнятість · Гібрид
КОНТЕКСТ
Ми будуємо два бойових продукти: Smart AIM — AI-система наведення на гвинтівці (RPi5 + тепловізор + сервопривід), і BВ 2 — мозок автономної турелі (RPi CM5 + Hailo NPU + три камери + LRF + IMU). Обидва пристрої живуть на edge-залізі в реальних умовах.
Зараз нам потрібна людина для посилення команди, яка вміє дружити залізо з софтом — від сенсора до Python-коду, з мінімальними втратами по затримці і точності.
ЩО БУДЕШ РОБИТИ
Інтеграція сенсорів і периферії
- Підключати і налаштовувати сенсори: тепловізійні камери (USB/CSI/MIPI), оптичні камери, LRF-далекоміри, IMU/гіроскопи, серводрайвери
- Розуміти різницю між USB, CSI, MIPI, SPI, I2C, UART — і обирати правильне підключення з урахуванням затримок і пропускної здатності (MPx, UVI, Y16, YUYV тощо)
- Писати і налагоджувати драйвери та обгортки для нестандартних пристроїв — якщо готового драйвера немає, пишемо самі
- Допомагати відділу електроніки верифікувати спаяні плати — підключати, тестувати, знаходити де щось пішло не так
Оптимізація затримок і потоків даних
- Знижувати затримки на всьому шляху від сенсора до Python-обробки — кожен зайвий мілісекунд має значення
- Модифікувати низькорівневий код камер і capture-плат: наприклад, замінити буферизацію повного кадру на пострядкову передачу для мінімізації latency
- Налаштовувати параметри V4L2, OpenCV VideoCapture, ffmpeg pipeline під конкретне залізо і задачу
- Профілювати і усувати вузькі місця: CPU, шина, буфери, черги між потоками
Робота з Raspberry Pi та кастомними платами
- Налаштовувати RPi 5 і RPi CM5 з кастомними carrier board для роботи з Hailo NPU, MIPI-камерами, GPIO, I2C пристроями одночасно
- Конфігурувати DTS/Device Tree, overlays, kernel modules — там де стандартні налаштування не працюють
- Тестувати і налагоджувати взаємодію між RPi і Hailo-10H NPU через PCIe M.2
Підбір компонентів і технічна експертиза
- Підбирати сенсори під задачу: тепловізори, оптичні камери, LRF-модулі, IMU — з урахуванням FOV, роздільності, затримки, формату даних і ціни
- Читати datasheet і розуміти що конкретний модуль реально може і де бреше
- Оцінювати нові компоненти до покупки — не просто по характеристиках, але і по тому як їх потім підключати
ЩО ПОТРІБНО ВМІТИ
Мови і інструменти
- Python — впевнено: робота з cv2, V4L2, subprocess, asyncio, GPIO (RPi.GPIO / gpiozero)
- C/C++ — на рівні де можеш залізти в бібліотеку або драйвер і щось там поправити
- Linux — системний рівень: udev, systemd, dmesg, i2cdetect, v4l2-ctl, dtoverlay
- ffmpeg, GStreamer — на рівні pipeline налаштування і усунення проблем
Залізо і протоколи
- Практичний досвід з I2C, SPI, UART, GPIO — написати обгортку, відловити баг на осцилографі або логічному аналізаторі
- Розуміння відеоінтерфейсів: USB UVC, CSI-2/MIPI, різниця в latency, bandwidth, формати пікселів (Y16, YUYV, NV12 тощо)
- Базові навички з мікроконтролерами (STM32, ESP32 або аналоги) — прошити, налагодити, написати простий firmware
- Вміння читати схему плати і розуміти що на ній відбувається
Досвід з оптичними системами
- Робота з тепловізійними камерами: UVC-режим, витяг сирих 16-bit даних (Y16/TLinear), лінеаризація, Tau/Kurbas або аналоги
- Налаштування параметрів оптичних камер: exposure, gain, white balance, FPS через V4L2 або vendor SDK
- Базове розуміння оптики: FOV, focal length, глибина різкості — достатньо щоб осмислено підбирати лінзу
ЩО ВАЖЛИВО В ХАРАКТЕРІ
Ця роль — стик між залізом і кодом. Тут не буває «це не моя задача».
- Інженерна впертість. Якщо щось не заводиться — розбираєшся до кінця. Не «воно якось не так», а «ось чому, і ось як виправити».
- Допитливість до фізики. Цікаво чому тепловізор з коробки дає 30ms затримку і як це можна зрізати вдвічі.
- Практичність. Робоче рішення зараз краще ніж ідеальне пізніше. Підпорки — ок, якщо система летить.
- Самостійність. Задачі часто будуть без готового рішення в інтернеті. Треба вміти дійти самому — через datasheet, через експеримент, через AI.
ОБОВ'ЯЗКОВО
- Досвід роботи з Claude Code, Cursor або аналогами — це не опція, це частина робочого процесу
- Готовність вчитися нових AI-інструментів для прискорення роботи — ми активно це практикуємо
- Вміння формулювати технічні питання чітко: і для колег, і для AI-асистента
БУДЕ ПЛЮСОМ
- Досвід з Raspberry Pi CM5 або кастомними carrier board
- Знайомство з Hailo NPU, PCIe M.2 пристроями на Linux
- Досвід з робототехнікою: серводрайвери, PWM, енкодери, PID
- Розуміння балістики або механіки прицілювання — для усвідомленого тестування системи
- Базове знайомство з FPGA або програмованою логікою
ЧОГО НЕ ВИМАГАЄМО
- Досвіду саме в defense — важливі навички, не галузь
- Знання всього стеку наперед — є час розібратися, є команда
- Академічного бекграунду — важливий результат і здатність розбиратися
УМОВИ
- Повна зайнятість, гібрид (Київ)
- Бронювання при потребі
- Конкурентна ЗП — обговорюємо індивідуально
- Робота з реальними пристроями, які виходять в поле — бачиш результат своєї роботи
- Невелика команда, без бюрократії, пряма комунікація
- Можливість впливати на вибір компонентів і архітектурні рішення
Required skills experience
| C/C++ | 3 years |
| Python | 2 years |
| Linux | 2 years |
| UART | 1.5 years |
| I2C | 1.5 years |
| SPI | 1.5 years |
| OpenCV | 1 year |
Required languages
| English | B1 - Intermediate |
| Ukrainian | C2 - Proficient |