LiteWing ESP32 Drone Firmware - How to Download and Flash?

Published  January 1, 2025   11
Flashing Litewing Firmware

Introduction

This guide covers downloading and flashing firmware for the LiteWing ESP32-S3 drone. You can either build firmware from source using ESP-IDF or flash pre-compiled binary files. The LiteWing firmware is based on ESP-IDF v4.4 with modifications to fix several issues from the original Espressif code.
 

⇒ Method 1: Setting Up ESP-IDF

If you want to modify the firmware or compile the firmware by yourself, you will need to install some prerequisites

Prerequisites

Requirement

Version

Purpose

ESP-IDF

v4.4

Development framework

Git

Latest

Source code management

To develop and upload firmware for the LiteWing drone, you need to set up ESP-IDF on your system. Follow the official ESP-IDF Programming Guide for installation and setup instructions.

Repository Setup

Step

Command

Description

1

git clone https://github.com/Circuit-Digest/LiteWing.git

Clone the LiteWing repository

2

cd LiteWing

Navigate to firmware folder

Building from Source

Step

Command

Purpose

1

idf.py set-target esp32s3

Set build target to ESP32-S3 (one-time setup)

2

idf.py menuconfig

Optional: Configure firmware settings

3

idf.py -p PORT flash

Replace PORT with LiteWing's serial port name. If flashing fails, use slower baud rate:

 

idf.py -p PORT -b 115200 flash

⇒ Method 2: Flashing Pre-compiled Firmware

If you don’t want to modify the firmware and just need to reflash or update the firmware, download the latest firmware binary files from the following link

Binary File Flash Addresses

When using binary flashing methods, ensure correct flash addresses:

Binary File

Flash Address

Purpose

bootloader.bin

0x0000

ESP32-S3 bootloader

partition-table.bin

0x8000

Partition table

LiteWing.bin

0x10000

Main application

Download Firmware Files

Resource

Link

Firmware Binaries

GitHub Repository

Flash Download Tool

Espressif Tools

Option 1: ESP Flash Download Tool (Windows)

Step

Action

1

Download and extract Flash Download Tool

2

Run the .exe file

3

Select ESP32-S3 as chip type

4

Configure flash settings as shown below

 

ESP Flash tool installation
 
ESP flash tool chip selection

 

Flash Configuration

Step

Action

1

Select the 3 firmware files and corresponding flash address,

  • 0x0000 -  bootloader.bin
  • 0x8000 -  partition-table.bin
  • 0x10000 -  LiteWing.bin

2

Check corresponding checkboxes

3

Connect LiteWing via USB Type-C

4

Select correct COM port and baud rate 115200

5

Click START button

Flash Progress

The flashing process will start and show progress:

Flashing Litewing Binary files

 

Option 2: ESPtool.js (Web-based, Cross-platform)

For users without a Windows PC or who prefer web-based tools:

Step

Action

1

Go to ESPtool.js website

2

Connect LiteWing to PC via USB Type-C

3

Click "Connect" button

4

Select USB Serial port from popup

5

Add binary files with correct flash addresses

6

Click "Program" to start flashing

ESP Tool JS web interface


 

USB Port selection on ESP Tool

 

Flashing Litewing binary files using ESP tool js

Note: Sometimes the ESP32-S3 won't automatically reset after flashing is completed due to web API limitations. In that case, manually reset the LiteWing using the Reset button onboard.

Post-Flash Setup

Once the firmware is flashed successfully, you are ready to fly the LiteWing. Follow the instructions provided in the Mobile App Flight Guide to start flying the LiteWing.

Troubleshooting

 Issue

Solution

Flash fails midway

Use slower baud rate: -b 115200

Device not detected

Check USB cable and drivers

Permission errors

Run as administrator (Windows) or use sudo (Linux)

Error during the Flash

Verify binary file integrity and flash addresses

Document Index

Document

Description

Main Page

LiteWing overview, features, and specifications

Battery Selection Guide

Choosing the right LiPo battery for optimal flight

Firmware Guide

Downloading and flashing firmware

Mobile App Flight Guide

Flying with mobile application and new features

Calibration Guide

Roll and pitch trim calibration

Python Programming Guide

Programming with Crazyflie cflib SDK

Last Updated: December 8, 2025 | Build Status: Tested & Verified

Have any question related to this Article?

Hi,
Thanks for those clear explanations, flashing the ready-made (Bin) firmware work like a charm, but how to modify and adapt some more functions as the source code you provide is not the one that is ready-made !

Would you be kind to share the latest source code, as this is supposed to be open source and open to analysis and upgrade ?

hi Jobit Joseph,

 

Can you confirm link for ESP IDF source code, The one linked in this tutorial is ARDUINO one
Kind regards

 Hi jobit Joseph,
thanks a lot for all your great work on this  project.
I finally succeed to install the ESP IDF and your firmware;
now I am developing a hardware remote controller for this but I cannot find the UDP port parameter.
Would you be kind to tell me witch UDP port is used or where I can find it in the ESP IDF
Rgds

Hi jobit Joseph,
I am now trying to have a ESP_now version to controle liteWing
I try you esp_now sketch on github but cannot compile directly and had to adapt a little bit to my own configuration.
Now it compile , run and say joystick data has been sended but nothing happen on drone side.
Is there any too I can use with ESP-IDF to check what the drone receive and then fix my coding ?

 

Thanks

 

under powershell I can see some information that seem MAC
I (612) wifi:mode : softAP (dc:b4:d9:06:13:a9)

then
I (626) espnow: mac: dc:b4:d9:06:13:a8, version: 2
 

Witch one should I use in the sketch for the remote controler for
 

// Transmitter MAC Address - REPLACE WITH YOUR DRONE'S MAC ADDRESS
uint8_t transmitterMacAddress[] = {0xF0, 0x9E, 0x9E, 0x29, 0x5C, 0xF8};
 

Add New Comment

Login to Comment Sign in with Google Log in with Facebook Sign in with GitHub