Lewius Gordon

Lewius Gordon

Art Director

background
avatar

Shah Zaman Haider

Robotics Engineer

Robotics & Autonomous Systems Engineer | ROS 2, UAVs & Edge AI | Published Researcher | Founder of Robetix

Lewius Gordon

@shahzaman

Open to Research Opportunities

Based in

Pakistan

var(--variable-dmIeCVzE2)

ESP32 Custom Flight Controller

CLIENT

Independent Research

YEAR

2026

INDUSTRY

Aerospace Software & Hardware

SERVICES

UAVs & Autonomy · Embedded

Key Highlights

Real-Time Sensor Fusion & Kinematics

Engineered a bare-metal flight controller from scratch using an ESP32 DevKit V1 and an MPU6050 IMU communicating via 400kHz I2C. Implemented a continuous 1D Kalman filter in the main control loop to fuse accelerometer and gyroscope data, stripping out physical vibration noise to calculate highly accurate roll and pitch angles.

Wireless PID Tuning & Web Control

Eliminated the need to repeatedly re-flash the board during flight testing by writing an embedded HTML/JS web server directly on the ESP32. This allows for live updating of Proportional, Integral, and Derivative gains over Wi-Fi, writing the new variables permanently to onboard SPIFFS non-volatile memory.

Product interface detail from the project
Full-width photograph from the project
Close-up product detail from the project

Network-Capable Hardware Architecture

Successfully built a stable, budget-friendly flight controller capable of bypassing traditional RC radio inputs entirely. The system translates incoming WebSocket strings from a laptop keyboard into precise PWM signals sent to brushless motor ESCs, complete with hardcoded failsafe cutoffs.

Designed for measurable product growth

Every design decision focused on improving usability, increasing engagement.

400kHz

I2C Clock Speed

High-speed communication protocol for the MPU6050 IMU.

1050us

Failsafe Threshold

Automatic throttle cutoff logic to prevent uncommanded spin-ups.

100%

Remote Configurable

Full PID tuning and flight control executed wirelessly via browser.

Works

Explore More Works

var(--variable-pZqL61UMU)
var(--variable-pZqL61UMU)