◈
Aeroduel: The Coolest Project I Have Ever Worked On

The actual project assignment began on November 14, 2025. Everything prior was before the official start date of the project and was done slowly during our free time in between other school assignments. The first and last weeks of the project were dedicated primarily to creating presentations - a pitch at the beginning and a demo at the end. That means only 3 weeks of the assigned project duration were dedicated to working on the project itself. This was a tight constraint we didn’t know about until shortly before the official start date. However, we managed to push through and have a working demo on time.
On November 20th, the day after the first presentation was due, we began elaborating on our design plan. Here’s a chart we sketched out on the whiteboard that day:

My part of the project was to build the local backend server (though I wasn’t the only contributor - another member of the team restyled the app to look better). Users can download the desktop app (for Windows, Mac, or Linux), which then starts a server on the local network. The RC jets’ ESP32 modules, when powered on, then communicate with that server via WiFi (users can use their mobile hotspot for this if no WiFi connection is available). Then, the pilot opens their mobile app, which links their plane to their account and registers that the user is online and ready to connect. The user can then join the match via their mobile app, and the desktop app will display them as online and joined. The user on the desktop app can then setup and start the match, at which point a match timer begins counting down. In the case of a crash or illegal maneuver, the desktop app can disqualify a player during a match. The desktop app then keeps track of score, as the planes send hit events to the server, which are then passed to the mobile app to display live score.
Unfortunately, when demo day came, we were only about 95% done, and hadn’t tested the planes in flight yet. However, we had enough working components and a simulator to demonstrate how each system works together to create a robust real time combat system. Here’s a screenshot showing the Aeroduel Server app in action with the mobile & ESP32 simulators:

Website:

I’ll skip the mobile app screenshot because my markdown render renders at full width, which takes up a ton of vertical space on a portrait image. It wasn’t a good screenshot anyway. However, here’s a graphic containing a better screenshot, which we have on our website.







For more information about Aeroduel, visit our website: www.aeroduel.com.
Our codebase is also open source and can be viewed here.