Introduction

LiteWing is a compact, WiFi-controlled drone based on the ESP32-S3 microcontroller. Designed for hobbyists, makers, and engineers, LiteWing offers a simple yet powerful platform for drone experimentation and development. It is an open-hardware project, making it easy to modify and expand.

Whether you’re new to drones or an experienced developer looking to create custom flight applications, LiteWing provides an accessible and affordable way to explore drone technology. Unlike traditional drones that require proprietary controllers, LiteWing connects to your smartphone, allowing for an intuitive flying experience without additional hardware.

The firmware on LiteWing supports Crazyflie cfclient and cflib, meaning you can program and control your drone using Python and add more features like height hold, position hold, gesture control, and more.

LiteWing Version 1.0

The latest version includes more GPIO pins, sensor mounts, LED indicators to make it easier to tinker with and program. The PCB frame design keeps it lightweight while reducing costs, making it one of the most affordable DIY drones available.

open source icon

Open Hardware

Fully open-source design with schematics, Gerber & Firmware available for download & modification

icon image for mobile app

Mobile App

Dedicated mobile app for Android and iPhone. No need for an external controller or Joystick

Crazyflie

Comes with modified Crazyflie firmware with support for CFclient and add-on sensor integration

PC Control

Compatible with custom Python SDK (CFlib), allowing you to control the drone with Python scripts

Betaflight

Supports Betaflight, an open-source flight control software for FPV enthusiasts

Arduino

The on-board ESP32-S3 microcontroller can also be programmed using Arduino IDE


Specifications

CategoryParameterSpecification / Details
Core SystemMicrocontrollerESP32-S3, Dual-core Xtensa LX7, 240 MHz, 512 KB SRAM
IMU SensorMPU6050 – 3-Axis Gyroscope + 3-Axis Accelerometer
CommunicationWi-Fi 2.4 GHz (CRTP over UDP protocol)
Programming InterfaceUSB Type-C with CH340 USB-to-UART bridge
Motor & PropulsionMotor Type720 Coreless DC Motors
Propeller Size55 mm or 65 mm
Motor ControlMOSFET-based PWM speed control
Power SystemBattery3.7 V 1S Li-Po battery, 20C or higher
Charging CircuitTP4056 Li-ion charging IC (1 A max)
Voltage RegulatorSPX3819, 500 mA low-noise LDO
Physical SpecificationsFrame MaterialCustom FR4 PCB frame
Dimensions100 mm × 100 mm
Weight~45 g (without battery)
Payload Capacity~25 g (with 55 mm propellers)
Optional SensorsVL53L1X ToF SensorHeight-hold capability
MS5611 Barometric SensorAltitude-hold capability
PMW3901 Optical Flow SensorPosition-hold capability
Control OptionsMobile ControlAndroid & iOS app (Wi-Fi based)
PC ControlCFClient support and custom Python SDK

Quick Start Tutorials

Basic Tutorials

how to select battery for litewing drone

1. Select and Install Battery

how to assemble litewing drone

2. Assemble Drone (DIY kit only)

flash firmware on esp32 drone

3. Flash Firmware (Optional)

how to fly litewing esp32 drone

4. Fly with the Mobile App

how to calibrate esp32 litewing drone

5. Trim and Calibration Settings

Intermediate Tutorials

how to control litewing esp32 dorne with python

1. Control Drone Using Python

2. Height Hold using VL53L1X

3. Fly with a joystick

Advanced Tutorials

1. Gesture Control Drone


Hardware Overview

ESP32-S3 Microcontroller

The LiteWing drone is powered by the ESP32-S3, a highly efficient microcontroller that offers low power consumption and an increased number of GPIO pins for enhanced expandability. It is powered by a dual-core Xtensa LX7 core, capable of running at 240 MHz, accompanied by 512 KB of internal SRAM and integrated 2.4 GHz, 802.11 b/g/n Wi-Fi and Bluetooth 5 (LE) connectivity.

Its improved computational efficiency ensures better flight stabilisation and allows seamless future firmware upgrades. The built-in USB interface simplifies programming, debugging, and firmware updates.

ESP32-S3 Module Closeup
MPU6050 Close Up of LiteWing

MPU6050 IMU Sensor

For precise flight stability, the LiteWing features an MPU6050 IMU, which provides accurate motion tracking and stabilisation.

Programming Interface

The LiteWing can be easily programmed through the onboard USB Type-C connector without the need for any external programmers or debuggers, thanks to the onboard USB-UART bridge controller and auto-reset circuitry.

Close up ch340 2n7002DW area of LiteWing
Drone PCB Closeup and Strap Hole of Lite Wing

Designed for minimalist efficiency, the LiteWing drone incorporates an all-in-one PCB frame, eliminating the need for additional structural components. The frame includes hook & loop battery strap slots for easy mounting and removal of the battery.

Motor Drivers

The LiteWing employs PWM-based motor control, ensuring smooth acceleration and manoeuvrability with precision. The motor driver circuit is built around an N-channel MOSFET along with a flyback diode and a pull-down resistor.

LiteWing Motor Driver Closeup Shots
tp4056, ldo and USB connector of LiteWing

Power Management

LiteWing features a simple but efficient power management circuit:

ComponentFunction
TP4056Battery charger with up to 1A charging current
SPX3819Ultra-low-noise 3.3V LDO for ESP32, IMU, and other components
Power Path ControlP-Channel MOSFET and Schottky diode for automatic USB/battery switching

For detailed information on battery selection, see the Battery Selection Guide

Status & Debugging Indicators

LiteWing features an intuitive LED status system for real-time feedback:

LED IndicatorFunction
PWRPower Indicator. On when LiteWing is turned on.
CHRGCharging Indicator. On when the battery is charging.
FULLFull Charge Indicator. On when the battery is fully charged.
SYSSystem Status. Slow flash indicates sensor calibration; normal flash when ready to fly.
ERRError Indicator. On when the battery is low.
LinkLink Status Indicator. Flashes when connected to the App or PC.
LEDS on LiteWing
Audio Connector

Audio Indicator Option

LiteWing also features an option for audio indications via a 1.25mm pitch JST connector near the ESP32-S3 SoC for connecting a passive piezo buzzer.


Expansion Capabilities

GPIO Expansion Pins

Pinout Diagram of LiteWing

With extra GPIO breakout pins, the LiteWing is designed for expandability, allowing users to integrate additional sensors for enhanced flight capabilities.

Pin NameCategoryDescription / Connection
IO15General GPIOESP32-S3 GPIO15
IO16ESP32-S3 GPIO16
IO17ESP32-S3 GPIO17
IO18ESP32-S3 GPIO18
IO19ESP32-S3 GPIO19
IO20ESP32-S3 GPIO20
IO1ESP32-S3 GPIO1
TXUART0UART0 TX – Connected to TXD0
RXUART0 RX – Connected to RXD0
IO48General GPIOESP32-S3 GPIO48
SCL1I2C1 (ToF – VL53L1X)I2C1 Clock – Connected to GPIO41
SDA1I2C1 Data – Connected to GPIO40
SCLI2C0 Clock – Connected to GPIO10
SDAI2C0 Data – Connected to GPIO11
IO13General GPIOESP32-S3 GPIO13
3V3Power3.3V Regulated Output
GNDGround Connection
VBUSUSB VBUS Power
IO39BuzzerBuzzer + (Connected to GPIO39)
IO38Buzzer – (Connected to GPIO38)
MISOSPI (Optical Flow – PMW3901)SPI MISO – Connected to GPIO37
CLKSPI Clock – Connected to GPIO36
MOSISPI MOSI – Connected to GPIO35
CSSPI Chip Select – Connected to GPIO42

Optional Modules for Assisted Flight Control

Optional Modules for Assisted Flight Control

The firmware is designed with future updates in mind, enabling features such as position hold and altitude hold:

ModuleInterfaceFunctionStatus
VL53L1X ToF SensorAuxiliary I2CHeight HoldTested and working
MS5611 BarometerI2CAltitude HoldComing soon
PMW3901 Optical FlowSPIPosition HoldTested and working

Assisted flight control is currently supported with the LiteWing App and the custom Python SDK. For setup details, see the New Mobile App Guide.


Firmware and Programming

The LiteWing drone firmware is built using ESP-IDF, the official development framework by Espressif for ESP32-series microcontrollers. ESP-IDF provides a set of libraries, drivers, and tools essential for embedded development.
 

Download Firmware

The default LiteWing firmware that comes pre-installed in the drone can be found on our github repo. You can also download the binary files for the firmware using the button below and flash firmware on your litewing drone.

Firmware Overview

Framework FeatureDescription
WiFi & BluetoothBuilt-in support for wireless communication
FreeRTOSSeamless multitasking capabilities
Debugging ToolsPerformance monitoring and power management

The LiteWing firmware is based on ESP-Drone, an open-source flight control firmware specifically designed for ESP32-powered drones. ESP-Drone integrates flight control algorithms from the Crazyflie open-source project.

Firmware Components

ComponentFunction
Flight Control CoreSensor data processing, stabilization, motor control, PID adjustments
Hardware DriversCommunication with peripherals (I2C, SPI, UART)
Communication ModulesTelemetry, remote control, data logging via WiFi
Software LibrariesSignal filtering, sensor fusion, real-time data processing

Programming Options

PlatformMethodDocumentation
Python SDKCrazyflie cflib libraryPython Programming Guide
CFClientDesktop application for control and monitoringcfClient Installation Guide
ArduinoESP32-S3 Arduino programmingComing soon

CrazyFlie and Python Tutorials

LiteWing comes preloaded with firmware based on ESP-Drone and Crazyflie, making it compatible with cfclient and the cflib Python library. You can control it using an Xbox or PS4/PS5 controller and monitor flight data in real time.
 

TutorialDescriptionLink
Gesture ControlControl LiteWing using hand gesturesView Tutorial
Python SDK BasicsGetting started with cflibPython Programming Guide

Arduino Tutorials

The brain of the LiteWing drone is the ESP32-S3 SoC from Espressif, allowing users to program it from scratch using the Arduino IDE. Basic flight testing with Arduino code and a user-friendly GUI for programming and monitoring has been completed. A step-by-step tutorial on flying LiteWing with Arduino will be available soon.

PCB Design & Layout

The hardware design for LiteWing, including the schematics and Gerber files, is made open-source for people to try and experiment. All designs are under a CC license; you are free to build, modify, and share.

PCB of LiteWing
ResourceDescriptionLink
Circuit DiagramsCircuit DiagramsGitHub Repository
Gerber FilesGerber FilesGitHub Repository
Firmware Binary SourceFirmware Binary SourceGitHub Repository

Download GERBER

The default LiteWing firmware that comes pre-installed in the drone can be found on our github repo. You can also download the binary files for the firmware using the button below and flash firmware on your litewing drone.

Interactive BOM


Circuit Diagram

Schematics of USB Input ,Power Control and 3.3V LDO

USB Input and Power Path Control

A Type-C USB port is used for both charging and programming purposes. The pull-down resistor on the CCx lines ensures that the LiteWing can be charged or programmed from any standard USB-A or USB-C port.

The power from the USB port is connected to a power path controller circuit built around a P-Channel MOSFET (U1) and a Schottky diode (D1). When USB power is available, the device will be powered from the USB and will also charge the internal battery. When USB power is not present, the device will automatically switch to battery power.

ltage regulation, the design uses a SPX3819 3.3V LDO from Maxlinear, which is capable of providing up to 500mA of current with a very low dropout voltage of 550mV even at full load.

Battery Charger Circuit

The internal battery is charged using the TP4056 charge controller IC, which is capable of a maximum charge current of 1A. The charge current can be adjusted by changing the value of the current programming resistor R5.

The TP4056 provides two charge status indicator outputs: one for charging and one for charge completion. Both outputs are connected to LED indicators for visual feedback. The IC also features a battery temperature monitoring option, though this feature is not utilised in the current circuit design.

Schematics of  Battery Charger
Schematics of Battery Monitoring and on/off Switch

Battery Monitoring and Power Switch

Battery voltage sensing uses a classic voltage divider circuit that reduces the battery voltage to a safe level for measurement. The output from the voltage divider connects to an ADC input of the ESP32, which continuously monitors battery voltage levels.

A slide switch controls the on/off state of the LiteWing. The switch, with a pull-up resistor, connects to the enable pin of the SPX3819 LDO. When this pin is pulled to ground, the LDO shuts down, powering off all components except the battery charging section.

USB to UART Programming Circuit

Although the ESP32-S3 has native USB support, the design includes an external USB to UART bridge for firmware flashing. The CH340K USB to UART bridge controller from WCH provides the following features:

FeatureDescription
InterfaceHardware full-duplex UART
BufferIntegrated transmit-receive buffer
Baud Rate50bps to 2Mbps
OscillatorIntegrated crystal oscillator


For auto-reset functionality, a 2N7002DW dual N-channel MOSFET in a single package reduces component

Schematics-USB-UART-Bridge / Programming Circuit Schematics
Schematics ESP32 S3 SoC

ESP32-S3 Microcontroller Schematic

The ESP32-S3 module section includes manual reset and boot buttons for easier operation and debugging. All connections are labelled, and apart from two strapping pins and one normal GPIO, all other pins are either used for LiteWing functionality or brought out as expansion ports.

A two-pin connector near the module supports a small piezo buzzer for audio output. Standard bypass capacitors and pull-up resistors required by the ESP32-S3 module are also included.

MPU6050 IMU Schematic

The MPU6050 provides 6-axis motion tracking with an integrated 3-axis gyroscope and 3-axis accelerometer. This sensor is essential for maintaining stability, detecting orientation changes, and responding to flight movements in real time.

FunctionDescription
CommunicationI2C interface with ESP32
ProcessingRaw sensor data for attitude estimation
IntegrationWorks with PID controller for motor speed adjustment
CalibrationRequired to minimize drift and improve flight accuracy


In the LiteWing firmware, the MPU6050 works alongside the flight control core to adjust motor speeds based on pitch, roll, and yaw readings

MPU6050 IMU Schematics
Schematics of Motor Driver

Motor Driver Circuit Schematic

Each motor driver consists of an IRLML6344 N-Channel MOSFET, a flyback diode, and a pull-down resistor. There are four identical circuits, one for each motor.

ComponentFunction
N-Channel MOSFETControls motor on/off state via gate signal
PWM SignalControls motor speed by varying duty cycle
Flyback DiodePrevents damage from back EMF during switching
CapacitorsSuppress voltage spikes for stable operation


When a high signal is applied to the MOSFET gate, it turns on and allows current to flow, powering the motor.

Status LED Schematic

Three debugging LEDs are included in addition to the power and charging indicators:

LED ColorBehaviorMeaning
GreenSlow blinkSensor calibration in progress
GreenFast blinkSystem ready for takeoff
BlueBlinkingUDP connection established with controller app
RedContinuousBattery voltage below safe threshold
Schematics Status LEDs
Schematics of Expansion Connector

Expansion Connector Schematic

Four expansion connectors provide a total of 24 pins for extending functionality:

Pin CategoryPins Available
PowerVBUS, +3.3V, GND
CommunicationUART, I2C, Auxiliary I2C, SPI
General GPIO11 additional pins

Optional Sensor Module Pads

SMD solder pads on the bottom of the LiteWing PCB enable easy installation of optional sensors for advanced flight modes:

SensorInterfaceFunction
VL53L1X ToFAuxiliary I2CHeight hold
MS5611 BarometerI2CAltitude hold
PMW3901 Optical FlowSPIPosition hold

When using these solder pads, the battery may need to be mounted on top of the LiteWing.

Schematics of Expansion Module

Troubleshooting Guide

IssuePossible CauseSolution
App Connection IssueMobile data interferingEnsure mobile data is off and WiFi is connected to drone’s hotspot
VPN activeTurn off any VPN
Auto network switchingDisable automatic WiFi switching for networks without internet
App glitchRestart the LiteWing APP
Drone Disconnecting During TakeoffInsufficient battery powerUse a higher discharge rating battery (e.g., 650mAh 30C). See Battery Guide
Not Responding to ControlsConnection issueCheck app connection and LED indicators
Sensor Calibration mode active
 
If SYS LED blinks slowly, place on flat surface and reset
Improper startupAlways place on flat surface before turning on
Drone Not Taking Off ProperlyWrong propeller placementVerify motor rotation and propeller installation per PCB markings. See Assembly Guide
Drone was Unstable / won’t hover straightIMU Calibration issueSee the Calibration Guide.

Where to Buy?

You can buy Litewing Drones from our distributors listed below:

buy litewing from quartz components
buy litewing from tindie
buy litewing drone from robu
buy litewing drone from robocraze

Have any Questions?

Start a Discussion on:

WHATSAPP
TELEGRAM
DISCORD

Ask a Question or Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top