Dedicated to the Promotion of Electric Propulsion in all types of Aeromodeling

A New Stall Warning System Based on a True Airspeed Sensor Suitable for Electric RC Models.


By: Stephen H. Nussbaum, SEFSD Member since 2010.


Have you ever been caught by surprise when your model suddenly takes a dive and ends up in a heap in the middle of the runway? It’s happened to me and more than once. We probably experienced a stall due to the air flow over (and under) the wing being too slow to generate enough lift to keep the airplane flying. In all real, certified airplanes, the FAA mandates that there is a stall warning bell or buzzer that alerts the pilot when the plane is flying too close to the “stall speed”. When this alarm sounds, it’s time to take action by adding power and/or if you have enough altitude, drop the nose in order to regain the necessary air flow over the wing to generate the lift needed to maintain flight. Sometimes when the alarm sounds your wheels are just a few inches above the runway, ok land already.

In a real plane, the pilot can see his true airspeed on the airspeed indicator. He can get a good idea by monitoring this indicator that his aircraft is moving forward at a safe speed. That is, a speed that guarantees sufficient lift. RC pilots we don’t have that critical piece of information.

I set about to change that for my models and I wanted to share the results of my efforts with you guys. I have developed a stall warning system that will provide you with a true airspeed display and issues a warning tone when you’re flying too slow and are at risk of stalling. I refer to it as a “system” because it’s it’s made up of a few components although it’s not that complicated. My hardware design resides in the plane but to complete the task it also relies on the telemetry capabilities of the Spektrum radio product line. The telemetry capability is key here because this is how the measured airspeed gets transferred from the plane down to the controller for your observation. The controller also allows you to program the minimum speed threshold, unique to your model, that will be used to sound the alarm (or vibrate the controller) if the speed drops to that level. That’s how the stall warning is implemented.

This system features the new airspeed sensor and associated hardware. Along with the Spektrum telemetry and transmitter features, it provides the following benefits:

1.       True airspeed readout on the transmitter’s LCD display range is 0-35 mph.

2.       An optional voice announcement of the airspeed at 5 or 10 second intervals

3.       A selectable warning annunciation when the airspeed drops below the user programmed minimum speed threshold. The alarm can be a combination of a tone, vibration, or voice message

Putting this system together will require soldering skills. Jumper wires need to get soldered to a few through holes in a pcb. The sensor cable needs to be extended since you can’t buy one that is long enough to run from the sensor out on the wing into the fuselage center section where it terminates at the electronic module that reads it. Also, you’ll need to have basic modeling skills that include fishing the sensor cable though the wing and mounting the electronics. 


Let me start off with a description of the airspeed measurement hardware. It didn’t take long to find an airspeed sensor that fits this application. The one made by Sparkfun, part number FS3000-1015 fits the bill. It has a low range of 0-35 mph. For higher speeds it would require a pitot tube style system. For a stall warning application 0-35 mph is within  the range of concern. Sparkfun is a company that makes products for DIY robotic builders. Figure 1.a shows a closeup of the sensor mounted to the underside of my Dauntless Dive Bomber. The actual sensor is that small, black rectangular piece that is mounted on the 1” square red pcb. It’s mounted so that the opening is facing front and aimed directly into the air stream. I just had to make a small rectangular opening in the wing panel in order to feed the 4-wire cable connector through it. The connector plugs into one of the connectors mounted on the pcb. The pcb is secured to the wing panel with 4 wood screws. Figure 1.b shows the sensor mounted far enough outboard towards the wing tip so that it’s not affected by prop wash. Figure 1.c shows a ruler scale next to the sensor so you can see that it’s approximately 1” square.


Figure 1.a Sparkfun Airspeed Sensor


Figure 1.b Airspeed Sensor Position


Figure 1.c  Airspeed Sensor Size


The sensor uses a 4-wire cable that needs to be made long enough to be fished through the wing and routed to where it connects to electronics.

Figure 2.a shows a completely wired system laying on the wing prior to installation. It has already been tested it and it’s ready to be installed. The 3 electronic modules are velcroed to a balsa panel. The modules left to right are 1. Pro Mini 3, 2. Level Shifter and 3. Pro Mini 5. More on those later. Notice the cable for the sensor has already been extended.


Once you have the system pre-wired as shown in Figure 2.a, you can start routing the sensor cable from the fuselage center section through the wing and out to the opening you made where the sensor is going to be mounted.  The opening hole can be a simple rectangle shape approximately 3/8” l x ¼ “w. It just needs to be big enough to feed the cable end through it. Note in Figure 1.a that the sensor covers as much of the opening as practical. You can see the cable routed through the opening. The two connectors on the sensor pcb are in parallel and you can use either one of them.

The electronic panel location is shown in Figure 2.b. For this model there was plenty of room to mount it on the shelf forward of the elevator and rudder servos. This area is normally used for the throttle servo, very handy. The short grey cable gets plugged into the AR637T X-bus port. Finally, shoot some wood screws through this panel to hold it in place and the installation is done.


Figure 2.a  Assembled system ready for installation


Figure 2.b System Installed



This design uses 2 Sparkfun smart modules a Pro Mini 3 and a Pro Mini 5. These are generic microcontrollers. They are programmed to perform tasks such as reading the sensor and other tasks required by this application. Figure 3.0 depicts the block diagram of the overall system. Note, in this system I am showing the Spektrum AR637T for the receiver and the NX8 for the transmitter. These are the actual units I use for flying my models.


Figure 3.0 Overall System Block Diagram

Download Figure 3.0 for a larger view: Figure_3.0.pdf

Referring back to the block diagram while reading this following description will give you a basic understanding of how this process works.

1.       Starting off on the left side of the diagram, you can see an arrow that represents the air flow going through the sensor due to the planes forward motion. The FS3000-1015 sensor measures this air flow speed and provides a digital value of it in miles per hour. It is the true airspeed.

2.       The Arduino Pro Mini 3 module’s job is to read the sensor’s output airspeed value. The module then sends this airspeed value over to the Pro Mini 5 through the logic level shifter.

Quick word on the level shifter: the FS3000 sensor is a 3-volt device as is the Pro Mini 3, so those parts are electrically compatible. The Pro Mini 5 is a 5-volt device and is therefore not compatible for connecting directly with the Pro Mini 3.  The level shifter solves this by converting the 3-volt signal coming out of the Pro Mini 3 to a 5-volt signal for Pro Mini 5 input pin.

3.       The Pro Mini 5’s job is to take the speed value it received from the Pro Mini 3 and send it over the X-bus whenever the AR637T requests this value. The AR637T will request this value from the Pro Mini 5 after it receives a request command from the transmitter. This occurs several times a second as long as the NX8 is turned on. The NX8 generates this periodic command because “Airspeed” has been selected on the telemetry list.


Before you can build anything, you need to get some parts. Figure 4.0 is the Bill of Material that shows the part, supplier and price.  If you choose to buy parts from other than the supplier listed, be aware you may be getting a substitute part which may not work as expected. Its not worth trying to save a few bucks and risk getting something that doesn’t work.


Figure 4.0 Bill of Material


To build up this system you will need to wire the modules together as shown in Figure 5.0 Schematic. I’ve also provided a jumper table that tells you the connections that need to be made. Using the table may be easier than tracing lines on the schematic. Looking at the first row in the table it reads to take a red wire and solder one end into the Pro Mini 3 hole labelled “RAW”. This is the input supply connection. The other end of the jumper is to be soldered to the hole labelled “VCC” on the Pro Mini 5 module. The length of the jumper is not critical I just cut them about 2-3 inches in length. Work your way go down this list and install the jumper defined by each row in the table. The sensor cable wires get soldered into the holes that are called out on the table as well. All of the airspeed sensor wires go to the Pro Mini 3 module. The X-bus cable gets wired to the Pro Mini 5 module.  Since there are multiple “GND” holes I re-labelled them on the schematic as “GND1” and GND2” etc. The silkscreen on the modules just refer to these holes as “GND”. You can use any hole labelled “GND” wherever GND is called out but to avoid uncertainty I defined specific GND holes to use by re-labelling them with numbers.


Figure 5.0 Schematic

Download Figure 5.0 for a larger view: Figure_5.0.pdf

You will find both Pro Mini modules and the level shifter have well labelled holes to facilitate the connections. Every jumper has a dedicated pair of holes to feed in and solder to. There should be only one wire per assigned hole. I used a wire color code simply because it makes it easy for me to go back and check for correctness after all the wires are installed. Use #26 awg stranded wire for the jumpers. If you want to use #26 solid core wire that’s fine too.

As you can see from this table there are a total of 7 jumper wires to solder into place and 2, 4-wire cables to terminate. The FS3000 cable and the X-bus cables are purchased assemblies. But before installing them you’ll need to cut off one of the connectors.

The purchased cable for the FS3000 sensor will need to be extended. To do this, splice 4 individual wires to each of the existing loose ends. Be sure to provide enough wire so that the cable will easily reach from the sensor location out on the wing into the fuselage near the receiver where these modules will be mounted.  I suggest simple solder splices with heat shrink tubing to cover the solder joint on each wire separately.

The X-bus cable should reach to AR637T port without the need to extend it. Pay careful attention to the wire identifications based on the orientation of the connector being inserted into the X-bus port as shown in the schematic.

Important: If you are not using the AR637T receiver X-bus, be sure to identify the 4, X-bus wires according to the documentation of the receiver being used. The TM-1000 module for example has the X-bus connector in a different orientation than the AR637T receiver so take care with this. If you have questions, please let me know so I can help out.


Jumper Table



If you are already familiar with programming Arduino modules, I will provide you the sketches needed for programming the 2 modules. If not, I will program your modules for you. You can send them to me via USPS or hand them over to me at the field. I will program them and send them back to you.


After the installation of the hardware is complete, it’s time to set up the transmitter. With the transmitter turned on, go to the Function List and select “Telemetry”. Using the scroll wheel on the Telemetry page and scroll to an “empty” position and press the scroll wheel again. Then scroll through the list of parameters until you see “Airspeed “and press the scroll wheel to lock this in.  Figure 6.0 shows what the telemetry screen could look like with the airspeed parameter locked into position #1. There can be other parameters on this list and the airspeed can be placed anywhere on this list, it does not have to be in position #1.


Figure 6.0 The Telemetry Setup Screen



When you’re on the Telemetry screen double click on the airspeed parameter on the list.


Figure 7.0 Airspeed Set Up Page


The transmitter can be programmed to report the airspeed periodically by voice using the “Status Reports: xx Sec” parameter. On this page you can set the voice to report airspeed at 5 or 10 second intervals. So, while you’re flying you don’t have to divert your eyes away from the sky to read the airspeed. I set up my NX8 to report the airspeed every 10 seconds so every 10 seconds I hear the following “airspeed is xx “m” “p” “h”. Where xx is the real-time measured airspeed. I find this feature very helpful when you’re on final approach and you want to get the airspeed in a good range for landing, i.e. not too fast and not too slow. After a few flights you can get a good feel for setting up the approach speed you want.


For the stall alarm, I will use the “Speed Min:  xx MPH” field and set this value to what I know is a safe flyable speed that is just a little bit faster than the stall speed. For now, leave this value at “0” until you’ve finished the installation and have conducted test flights to determine the stall speed.


Prior to flying, ground test the system for proper operation. Using the block diagram as a guide, connect the system together.

Test Procedure:

Please remove the propeller prior to this test for safety concerns.

1.       With the transmitter turned off, plug the battery into the ESC cable.

2.       The Pro Mini 3 should show a blinking LED.

3.       The Pro Mini 5 should show a steady LED on.

4.       Turn on the transmitter (it should already be paired to the receiver).

5.       Once the transmitter has linked up with the receiver, the LED on the Pro Mini 5 should start blinking instead of being on steady state. This indicates that the Pro Mini 5 is responding to requests for airspeed from the AR6378T over the X-bus port.

6.       Scroll over to the Airspeed page and you should see a “0” mph on the screen.

7.       Using a source of low-pressure air such as a fan or by simply blowing into the sensor, you should see a non-zero airspeed values. If you do, the test is complete and it was successful.


 Now that the system is working, you can work on establishing the model’s stall speed. During the test flight(s) It’ll help if you have someone to watch the airspeed reading while you’re watching the plane. Get to a safe altitude where you can easily recover from a stall. Get the plane into a stall condition and take note of the lowest speed the plane will fly before it actually stalls and drops from lack of lift. Do this several times to get a good feel for this minimum speed, this is the stall speed. If your model has retracts, I’d test stall with them down because the plane will stall at a higher speed and require more power to maintain safe speed. Land and, based upon your test results, pick a Speed Min that is a few mph higher than the actual stall speed. It’s your safety margin.  After you program the “Speed Min” parameter you can go to those fields that let you select the alarm method, i.e. tone, vib or voice.

I hope this helps you to avoid those nasty surprise stalls.

You may contact the author at: