Skip to content
BackLITEWING
ROLL
+0.0°
PITCH
+0.0°
YAW
+0.0°
THROTTLE
0%
ALT
0.00m
BATT
100%
Cursor mode

Hand tracking available on desktop

Move your cursor to control · or try hand tracking

Flight Performance

1.0ms
PID loop period
ESP32 @ 1kHz
45µs
Measured loop jitter
GPIO + Saleae logic analyzer
±2.5°
Attitude hold accuracy
60-second hover test

How it's built

C++ · ESP32

PID Attitude Control

1kHz control loop with proportional, integral, and derivative terms tuned for stable hover. Loop period measured at 1.0ms with 45µs jitter using GPIO toggling on a Saleae logic analyzer.

  • Separate PID for roll, pitch, yaw
  • Anti-windup on integral term
  • Derivative filtering to reduce noise
I²C · MPU-6050

IMU Sensor Fusion

MPU-6050 IMU read over I²C at 400Hz. Raw accelerometer and gyroscope data fused to produce stable attitude estimates resistant to vibration noise.

  • Complementary filter (gyro + accel)
  • 400Hz PWM motor output
  • 4-motor mixing for quadcopter geometry
Custom Protocol

ESP-NOW Telemetry

Custom low-latency communication protocol over ESP-NOW between controller and drone. Lower overhead than standard TCP/IP for real-time control data.

  • Sub-10ms round-trip latency
  • Connectionless — no handshake overhead
  • Packet loss detection and recovery

Logic Analyzer Capture

GPIO toggling captured on a Saleae logic analyzer. The 1.0ms period and 45µs jitter are measured directly from this trace — not estimated.

logic analyzer screenshot coming soon

drop image at public/litewing/logic-analyzer.png