Skip to content
View damir-lebedev's full-sized avatar
:electron:
nuclear energy in my veins
:electron:
nuclear energy in my veins

Block or report damir-lebedev

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
damir-lebedev/README.md

 English ·  Русский ·  中文 ·  Español ·  हिन्दी ·  العربية ·  Português ·  Français ·  Deutsch ·  日本語 ·  한국어

Damir Lebedev — from RC airplanes to orbit

Hi, I'm Damir 👋

Reliable, modular, mission-critical embedded systems
in modern C++ and RTOS.

C++ FreeRTOS ESP32-S3 STM32H743 Python

⚙️ 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.

✈️ Autopilot 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 lost: the plane flies home and circles
Radio switched off — the plane returns home on its own. Closed-loop simulation of the real firmware.

📍 Where it really stands

✈️ First prototype, manual mode 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.


🛠️ Tech stack

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

🧭 How I build

🛡️ 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.

🌌 Ad astra

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.


💼 Looking for

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 ✦

Popular repositories Loading

  1. OpenPlaneProject OpenPlaneProject Public

    Open-source flight controller & autopilot for RC airplanes — 12 flight modes, RTH failsafe, black box, MAVLink. ESP32-S3 and STM32H743. Header-only C++, 387 tests.

    C++ 1 1

  2. smart-home-esp32 smart-home-esp32 Public

    ESP32 Smart Home Controller - WiFi relays, RGB effects, voice/web control

    C++

  3. esp32-rc-joystick esp32-rc-joystick Public

    Пульт FlySky FS-i6 как USB-джойстик для RC-симуляторов на ESP32-S3 (iBUS/PPM -> HID, 8 осей x 16 бит). Часть OpenPlaneProject.

    C++

  4. damir-lebedev damir-lebedev Public

  5. openplane-studio openplane-studio Public

    Desktop configurator for the OpenPlane flight controller: step-by-step board setup, one-click build & flash, ground checks on live board data, 3D plane. Tauri 2 + React. Russian & English.

    TypeScript 1