Building a Firefighting Drone SENTINEL: Autonomous Fire Response with a Phone + ESP32

A student built a firefighting drone with a phone and ESP32, then won the competition with a limited demo after a crash.
This article recounts a student developer's journey building an autonomous firefighting drone called SENTINEL from scratch. The drone uses a rare architecture: an old Android phone runs a vision app for flame detection and video streaming, while an ESP32 drives the ESCs, reads the MLX90640 thermal camera, and controls the pump and servo; the controller is also self-built and communicates via ESP-NOW. The fire detection logic is simple: when the hottest thermal pixel reaches 100°C, pulsed spraying is triggered. On the night before the competition, a cheap 60A ESC shorted and output 22.5V instead of 5V to the flight controller, causing the drone to lose control and crash. The developer then removed the flight controller, connected the ESP32 directly to the ESC signal, armed and spun the motors via PWM, and demonstrated the autonomous firefighting software, ultimately winning first place. The article concludes with V2 improvement directions: key parts selection, validation of mechanical torque and weight distribution, and safe degradation when the link is abnormal.
A student developer spent several months building an autonomous firefighting drone called SENTINEL from scratch. It's not a commercial product but a prototype project for school exhibitions and competitions. Although it ultimately couldn't fly, it took first place at the competition venue—the value of this story isn't about success, but about revealing a real-world problem: when low-cost hardware solutions meet real engineering pressure, which parts are most likely to collapse, and how should they be remedied?

An Unusual Architecture: Phone as the Brain, ESP32 as the Executor
The design intent behind SENTINEL was clear: the first few minutes after a fire breaks out are the most critical, and if a drone could automatically detect the fire source and respond immediately, it could buy valuable response time. The airframe is based on a 10-inch frame, 3115 motors, and a 6S battery. It is currently in the ground testing phase, and the flight version is still being tuned.
Its system is split into three parts, each with a clear responsibility. At the drone end, the core is an ESP32, responsible for driving the ESCs, reading the MLX90640 thermal imaging camera, controlling the servo that aims the nozzle, and switching the 12V water pump via a MOSFET. The fire detection logic is simple and reliable: when the hottest pixel in the thermal image reaches 100°C, the system determines there is a fire, immediately aims at the hot spot, sprays in pulses, and automatically stops once the heat disappears.
What's truly special is the vision and autonomous decision-making part. Instead of using a Raspberry Pi or an onboard computer, the developer mounted an old Samsung Galaxy A32 phone on the drone, running a self-written Android app to perform flame detection, draw bounding boxes, and stream real-time video with a sci-fi-style HUD over Wi-Fi to a second phone on the controller. The controller itself is also a hand-built handheld panel containing an ESP32, a TFT screen, dual joysticks, and a master switch, communicating with the drone via ESP-NOW. It supports manual mode (one joystick aims the nozzle, a button triggers the pump) and autonomous mode. Flipping the master switch stops everything, and the drone also automatically stops if the link is lost.
The developer notes that this "phone + ESP32 over USB serial" architecture is quite rare. In his research he didn't find an identical solution; usually people use a Raspberry Pi for telemetry and autonomous control. This alternative choice both reduces cost and leverages the phone's compute power and camera resources, but it also means fewer reference cases and a steeper debugging curve.
MLX90640 and Thermal Fire Detection
The MLX90640 is a 32×24 pixel infrared thermal imaging sensor from Melexis that outputs the temperature value of each pixel via an I2C interface, with a typical measurement range of -40°C to 300°C and an accuracy of about ±1°C. It is inexpensive and small, and is often used in DIY thermal imaging and fire warning projects. Compared with ordinary cameras that rely on visible light and color to judge flames, thermal imaging directly senses temperature and is not affected by smoke or lighting conditions, making it more suitable for locating fire sources in the early stages of a fire. Its limitation is its very low resolution—at long distances a single pixel covers a large area, requiring a gimbal or servo scanning to pinpoint the location.
ESP-NOW Communication Protocol
ESP-NOW is a connectionless, low-latency wireless communication protocol provided by Espressif for the ESP8266/ESP32 series. It operates in the 2.4GHz band, supports a payload of up to 250 bytes per transmission, and enables point-to-point communication without establishing a Wi-Fi connection, with latency typically in the millisecond range. It is suitable for scenarios with small data volumes and high real-time requirements, such as controllers and sensor networks. Compared with conventional Wi-Fi, ESP-NOW eliminates handshake and routing overhead and consumes less power, but its transmission distance is limited (a few hundred meters under line-of-sight), and it lacks a reliable retransmission mechanism like TCP, so the application layer must design its own packet loss and link-loss detection logic—this is precisely why SENTINEL has a "link loss auto-stop" feature.
First Flight Failure: A Chain Reaction Triggered by a Cheap ESC
The biggest turning point came the night before the competition. During a test flight that evening, the developer tried to throttle down, but the drone suddenly spun out of control, lost power completely, the battery flew out, and the aircraft crashed on its own. Investigation afterward found the problem was a 60-amp ESC—a cheap product from China. He admitted that for a 10-inch 6S drone of this class, he should have chosen a brand-name ESC with guaranteed quality, and that he bore some responsibility for settling on parts selection.
Even more fatal was the follow-up inspection: the voltage supplied by the ESC to the flight controller should have been 5V, but 22.5V was actually measured. He speculated that a capacitor on the ESC shorted during flight, feeding high voltage directly into the flight controller and causing it to malfunction in flight. This detail reveals an engineering common sense often overlooked by beginners: protection design in the power supply chain determines system robustness more than the parameters of individual components.
"Did I succeed?" the developer gave a blunt answer in his retrospective: "Not yet." He acknowledged that this was his first drone project, and that an autonomous drone involves multiple engineering domains such as software, hardware, and weight distribution—it's impossible to cover everything on the first try.
ESC, Flight Controller, and BEC Power Supply Chain
An ESC (electronic speed controller) converts the battery's DC power into three-phase AC to drive a brushless motor, and most ESCs include a BEC (step-down voltage regulator) that taps a 5V rail from the battery voltage to power the flight controller and receiver. A 6S lithium battery is about 25.2V at full charge, so the BEC must reliably step the high voltage down to 5V. Once a capacitor or regulator component in the BEC breaks down and shorts, the battery's high voltage can surge directly onto the 5V bus and destroy the flight controller. This is why in multirotor designs it is often recommended to use a separate UBEC or power the flight controller independently, and to add protection components such as TVS diodes and fuses on the power lines. The 22.5V measured on SENTINEL is exactly the result of battery voltage passing straight through a failed BEC—a typical case of missing power-chain protection.
Competition-Day Improvisation: Remove the Flight Controller, Let the ESP32 Take Over
After the crash, the developer was very frustrated at first, but quickly reorganized his plan. He realized that flying a 10-inch drone in a classroom exhibition hall was inherently unsafe, so he shifted the focus of the demonstration to "the parts that could be shown."
The key discovery was that the shorted ESC actually still worked after the flight controller was unplugged—it was only because the voltage and ground pins were still outputting 22.5V that the flight controller got burned. So he connected the ESC's signal wire directly to the ESP32 at the rear, letting the ESP32 take over all control. He didn't actually fly with this setup, but completed arming and spun the motors via PWM signals while demonstrating the autonomous firefighting software flow.
He also admitted that he held back when talking to the judges, not fully explaining that the drone could no longer fly. In the end, this "limited demonstration" won him first place. The result was somewhat accidental, but it also illustrates a fact: in prototype competitions, a complete demonstrable software loop and a clear system narrative can sometimes impress judges more than a successful flight.
PWM Signals and ESC Arming
Hobby ESCs typically receive a 50Hz PWM signal with a pulse width of 1000–2000 microseconds: 1000μs corresponds to minimum throttle and 2000μs to full throttle. After power-up, the ESC must first receive a minimum-throttle signal to "arm"; otherwise, for safety, it will not drive the motor. After removing the flight controller, SENTINEL used the ESP32 to output PWM directly to the ESC, precisely exploiting this mechanism to complete arming and the motor-spinning demonstration. Note that this direct connection bypasses the flight controller's attitude stabilization loop, so the motors can only spin at open-loop throttle and true flight control cannot be achieved—which is why the developer used it only for ground demonstrations.
V2 Improvement Directions: From "Demonstrable" to "Flyable"
The developer has made it clear that the project is not over. V2 is planned for release before the end of the year, with one core goal: to make it actually fly. Judging from this retrospective, the improvements will most likely focus on a few areas.
Parts selection is the first priority. Key components such as ESCs and flight controllers must not be chosen based on price alone—especially for 6S systems, which have higher power quality requirements. Brand-name products with a good reputation should be selected, along with proper monitoring and protection of supply voltage. Second is validation of mechanics and weight distribution. The developer noted that the crash could also have been caused by mechanical torque exceeding the available torque, which means motor mounting, propeller balancing, and center-of-gravity layout all need more systematic testing. Finally, software redundancy design. Although the phone-plus-ESP32 architecture is unique, link stability and degradation strategies under abnormal conditions need more thorough validation—for example, the system should safely stop when video streaming is interrupted or thermal imaging data is abnormal.
For others building low-cost autonomous drones, SENTINEL's lessons are more valuable as a reference than its architecture: unique solutions can bring cost advantages and differentiation, but only on the premise that the reliability of basic hardware is not compromised. The gap between logic that works in the lab and a machine that can fly stably is often filled with those invisible power supply details and mechanical margins.
One-line Summary
A student built a firefighting drone with a phone and ESP32, then won the competition with a limited demo after a crash.
Paragraph Summary
This article recounts a student developer's journey building an autonomous firefighting drone called SENTINEL from scratch. The drone uses a rare architecture: an old Android phone runs a vision app for flame detection and video streaming, while an ESP32 drives the ESCs, reads the MLX90640 thermal camera, and controls the pump and servo; the controller is also self-built and communicates via ESP-NOW. The fire detection logic is simple: when the hottest thermal pixel reaches 100°C, pulsed spraying is triggered. On the night before the competition, a cheap 60A ESC shorted and output 22.5V instead of 5V to the flight controller, causing the drone to lose control and crash. The developer then removed the flight controller, connected the ESP32 directly to the ESC signal, armed and spun the motors via PWM, and demonstrated the autonomous firefighting software, ultimately winning first place. The article concludes with V2 improvement directions: key parts selection, validation of mechanical torque and weight distribution, and safe degradation when the link is abnormal.
Related articles

After Claude Design Shut Down, We Rebuilt an Interactive Design Space by Hand
After Claude Design shut down, a creator rebuilt an interactive design space demo in a Claude conversation: natural language generates clickable prototypes, adjusts titles in real time, and validates design directions via simulation before implementation—showcasing a new AI prototyping workflow.

Building an Automated Sales Tool on Replit Without Code: Say Goodbye to Copy-Paste
Enid builds an automated sales tool on Replit that updates Salesforce records and issues orders, eliminating copy-paste and advancing the self-driving company.

LLM Tracers: Changing an Opponent Model's Answers Without Retraining
Reddit's Ammons LLM Tracers claims private info can change an opponent model's answers without retraining. We examine the claim, inference-stage injection mechanisms, and implications for safety evaluation and context isolation—while noting the missing experimental details and reproduction evidence.