English
·
Русский
·
中文
·
Español
·
हिन्दी
·
العربية
·
Português
·
Français
·
Deutsch
·
日本語
·
한국어
Reliable, modular, mission-critical embedded systems
in modern C++ and RTOS.
⚙️ 1 firmware · 2 MCUs · ⏱️ 500 Hz control loop · 🧪 387 tests · 📊 98% coverage
🌍 Open to remote roles worldwide · 📧 dam.lebedev2018@yandex.ru
I design hardware-agnostic embedded systems from scratch — and prove them with tests.
🚀 Flagship project — OpenPlane
An open-source flight controller and autopilot for RC airplanes. The same firmware runs on ESP32-S3 and STM32H743.
| 12 flight modes: stabilize, altitude hold, cruise, loiter, return-to-home, auto take-off and landing, thermal soaring, rescue | |
| 🛡️ Failsafe | Strict priority order (link loss > ARM > mode > throttle): no mode can push throttle past ARM; the plane returns home on its own when the radio goes silent |
| 🧱 Architecture | Header-only C++, HAL as the only layer that knows the MCU, sensor drivers independent of I2C/SPI, no dynamic memory in the control loop |
| ⏱️ Real time | 500 Hz control loop, dual-core tasks on ESP32, FreeRTOS on STM32 |
| 📡 Telemetry | Web dashboard on board, MAVLink to QGroundControl / Mission Planner (frames checked byte for byte against pymavlink) |
| 📼 Black box | Every flight recorded at 500 Hz: to on-board flash (ESP32-S3) or an SD card (STM32), decoded to CSV by a Python tool |
| 🧪 Verification | 387 automated tests, 98% line coverage, closed-loop flight simulations of every mode, 24 board × sensor builds with zero warnings |

Radio switched off — the plane returns home on its own. Closed-loop simulation of the real firmware.
| Flown | |
| 🧪 Autopilot | Verified on the bench, in tests and in simulation — waiting for flight trials |
| 🔌 STM32H743 board | Already driven from a transmitter (iBUS, ARM, servos and motor) — sensors come next |
I keep the status table in the OpenPlane README honest on purpose: what flew, what ran on a bench, what is only tested.
Also: esp32-rc-joystick — a FlySky FS-i6 as a USB joystick for flight simulators.
| Languages | C++ (modern standards, OOP), C, Python (tools, automation) |
| MCUs | ESP32 (S3, C3, classic), STM32H743 |
| RTOS & frameworks | FreeRTOS, Arduino framework, STM32duino, PlatformIO |
| Architecture | SOLID, dependency injection, HAL, event-driven design, fail-safe state machines |
| Interfaces | I2C, SPI, UART, SDMMC, iBUS, UBX (GPS), MAVLink |
| Quality | Unity test framework, native (host) test builds, gcovr, cppcheck, clang-tidy, GitHub Actions |
| Tools | Git, Linux, Wi-Fi / HTTP telemetry, KiCad |
| 🛡️ Fail-safe first | Failure behaviour and state machines are designed before features, not after. |
| 🧪 Proven, not promised | Host builds, closed-loop simulation, coverage, static analysis and CI on every change. |
| 🤝 AI-assisted, human-owned | AI helps me move faster; the architecture and the verification stay in my own hands. |
My goal is simple: I want to work on things that go to space. Today that is RC airplanes and UAV autopilots; the direction is aerospace — flight software that has to work the first time, with nobody around to press reset.
Space belongs to no single country, so this profile doesn't speak a single language either — pick yours at the top.
Mid-level / strong Junior+ Embedded Firmware Engineer or Software Architect — remote roles anywhere in the world: robotics, UAVs, aerospace and space systems, IoT, high-load hardware.
📧 dam.lebedev2018@yandex.ru · 🐙 OpenPlane on GitHub
Per aspera ad astra ✦
