Flight Controllers

30 May 2016

Board – Falcon F4 Flight Controller

farwestrotors 0 Comments

The Falcon F4 is a high performance STM32F4 based flight controller with the following features:

STM32F4 Processor running at 100MHz
Invensense MPU9250 gyro, accelerometer, and magnetometer
Measurement Specialties MS5611 barometer
Main port, Flexi Port, 8-pin Flexi-IO port
6 ESC / Servo Outputs
Mounting holes: 30.5 x 30.5 mm
Overall size: 36 x 36 mm
Power: 120mA @ 5V

Weight 5.6g (no motor pins)

The heart of any flight controller is its gyro and accelerometer.  The Falcon F4 uses the Invensense MPU-9250 and is connected using a SPI bus running at up to 20MHz (much faster and lower measurement latency than I2C).  The MPU-9250 operates at up 2000 degrees per second, has 16-bit resolution, and 8kHz measurement rate.




Spektrum Satellite Receivers

Connecting a Spektrum satellite to the Falcon is easy and does not require an external voltage regulator to drop 5V to the 3.3V power that Spek sats generally need.  The Falcon F4’s voltage regulator can supply 3.3V though one of the boot loader pins (shown below).  This solution works as long as your Spek Sat uses less than 100mA (true for both Spektrum and Lemon RX satellite receivers).


The Falcon F4, like all STM32 based flight controllers, has a low level boot loader permanently stored in its internal memory.  Normally this boot loader never runs, but when the STM32 CPU powers on, it looks at the state of the boot pin.  If the boot pin is connected to 3.3V at the instant of power on, then the STM32 CPU will run its low level bootloader.  This boot loader causes the STM32 CPU to look like a DFU (Device Firmware Update) USB peripheral.  DFU is an industry standard USB device class that allows software to update the firmware on the peripheral.  The RaceFlight configurator can be used to flash new firmware into a DFU device.

To force the Falcon F4 board into DFU mode follow these steps:

  1. Disconnect the flight controller from all power sources (USB, Lipo battery, etc.)
  2. Use a small pair of tweezers, a piece of wire, or a small screwdriver to short the two boot loader pins on the flight controller.
  3. Attach the board to a USB port.
  4. You can remove the tweezers or screw driver, the connection only needs to be present at the instant the CPU powers on.
  5. You should only see the green power LED on, no other LEDs should be on or blink.
  6. Now the flight controller board should be seen by your PC or Mac as a DFU device.  For example in the Windows device manager you should see a device called “STM32 BOOTLOADER.”
  7. Use the RaceFlight configurator (or other DFU capable software) to program new firmware into the flight controller board.