Gyroflow is a cross-platform desktop and mobile application for video stabilization using gyroscope and IMU data. It ingests telemetry from a wide range of cameras (GoPro, Sony, Insta360, DJI, Canon, RED, Blackmagic, etc.), applies lens distortion correction, rolling-shutter compensation, and smoothing algorithms, then exports stabilized video via FFmpeg with GPU acceleration. The architecture is a Rust core library (gyroflow-core) with a Qt/QML GUI, GPU backends (OpenCL, wgpu/Vulkan/Metal/DirectX, Qt RHI), and a rendering pipeline supporting hardware encoding. It also includes advanced features like optical-flow-based synchronization, lens calibration, adaptive zoom, and NLE plugin installation. The codebase is large and well-structured, with trait-based algorithm dispatch for distortion models, smoothing, optical flow, and pose estimation. It demonstrates strong engineering in GPU interop, signal processing, and computer vision. However, it uses a custom Rust-like dialect (macros that transpile to Rust/C++) which increases onboarding complexity, and there are many platform-specific conditionals and some unwrap-heavy error handling. The project is actively maintained with a large community and frequent updates.
EmuFlight is a real-time embedded flight controller firmware for multirotor drones, forked from Betaflight/Cleanflight. It runs on STM32F4/F7/H7 microcontrollers, providing sensor fusion (gyro, accelerometer, barometer, GPS), PID control, motor mixing, telemetry, and on-screen display. The architecture is bare-metal with a cooperative scheduler, modular driver abstraction (vtable patterns for serial ports, displays, VTX, sensors), and a persistent parameter group (PG) configuration system. Key data flows: sensor inputs → Kalman/dynamic notch filters → PID → mixer → motor outputs; RC input via various protocols; telemetry/blackbox logging output. External dependencies include STM32 HAL, CMSIS DSP, and MAVLink libraries. The codebase is well-structured with unit tests (Google Test) and CI, though it retains some legacy drivers and conditional complexity from the Betaflight lineage.