30th July 2018 – Falcon 3 Flight Testing and Evaluation
The Falcon 3 flight tests have been successful, including Loiter and RTL using an external HMC5983 magnetometer on the I2C bus, (although it will also work with the LIS3MDL compass as well).
The tests also included the transfer of Taranis Smart Port telemetry data. Improvments to the Falcon 3 telemetry firmware have been carried over to the forthcoming, next firmware build of the Falcon 2 (Verison 1.2.8).
Taking of updates, the Falcon 3 uses a new UF2 bootloader. When you plug the Falcon 3 into the PC via its USB port, it behaves as an external storage drive, like a memory stick. The UF2 bootloader allows firmware updates to be uploaded by simply dragging ‘n’ dropping a Microsoft *.uf2 file containing the firmware update on to the drive. This means there is no need to use complex development tools to upload new firmware anymore.
10th January 2018 – Falcon 3 Development
The layout of the new Falcon 3 flight controller board is currently work in progress. The board is based on a 30.5mm drill spacing, popularised by the Naze32. It will incorporate a 120MHz, ARM Cortex M4F, SAMD51 micro-controller from Microchip, on-board SPI bus sensors including the MPU6000 gyroscope/ accelerometer, LIS3MDL magnetometer and MS5611 barometer, as well as a 0.96” OLED display, plus four button user interface, together with 0.1” header pins.
Despite its smaller size the Falcon 3 will support four UART serial ports for SBUS, OSD, Telemetry and GPS, in addition to an I2C expansion port for additional sensors. The Falcon 3 will also include a SBUS inverter, eight motor outputs, battery voltage monitor and buzzer connectors, as well as a USB port for auxiliary power and firmware updates.
10th January 2018 – Falcon 1 and 2: ESC (Electronic Speed Controller) Protocols
On the software side, there’s been work on ESC protocols for the SAMD21 based Falcon 1 and Falcon 2 boards, namely adding a 490Hz PWM option, Oneshot42 (in addition to Oneshot125), as well as Multishot, DShot150 and DShot300.
The 490Hz option allows for the maximum update rate for standard PWM, while at the same time still providing 50Hz and 400Hz in the mixer editor for analog and digital servos respectively.
DShot150 and DShot300 use the first 8 channels of the SAMD21’s 12 channel DMAC (Direct Memory Access Controller), in order to load up to 8 motor timers (e.g. for Octocopter, X8, etc..) with DShot’s binary PWM data packets.
The DShot packets are arranged 11-bit data, 1-bit telemetry, 4-bit CRC (for error detection), that’s 16-bits in total. After calculating the CRC from the data and telemetry bits, the 16-bit binary 0s and 1s (that make up the packet) are converted to a series of pulse widths, around 37% wide (duty-cycle) to represent a binary 0 and around 75% wide for a binary 1. These pulse widths are held in memory. There are 16 pulses per packet.
The DMAC is set-up so that at the start of each timer period (overflow), the successive pulse widths are automatically loaded into the timer’s registers. This continues until the entire packet has been transmitted. The process is completely autonomous, all the CPU core has to do is pull the trigger and the DMAC does the rest, firing off a burst of 16 pulses. This is simultaneously repeated for up to 8 motor channels, the DMAC arbitrates and switches between them to ensure that all 8 outputs are serviced in a timely fashion.
The 9th DMAC channel meanwhile is still used transfer the 1KByte frame buffer to the OLED, thereby maintaining super fast display updates. All in all, not bad for a little 48MHz, ARM Cortex M0+ micro-controller.
The image shows a burst of DShot300 pulses on the Falcon 1’s first four motor outputs:
Ok, so that’s DShot150 and 300, what about DShot600 and 1200? Well, the SAMD21 maxes out at around DShot300 on all 8 channels, beyond this point it starts to drop pulses on some channels, as the DMAC arbiter is unable to switch fast enough to service all of them. Looking to the future, tests on the faster SAMD51 prototypes (that are the basis for the Falcon 3 board), prove that they’re capable of Dshot600 on all 8 motor outputs and DShot1200 on up to 6.
The image shows a burst of Dshot1200 pulses on the SAMD51 prototype board’s first four motor outputs, note it’s clocking out the each entire 16-bit data packet at around 13us (13 millionths of a second):
The next firmware update for the Falcon 1 and 2 boards will include these ESC protocols, as well as a two stage failsafe procedure. Although everything looks good on the oscilloscope, it needs to first thoroughly flight tested before release.
The Falcon 2 firmware release will also include support for an external LIS3MDL magnetometer, (as supplies of venerable HMC5983 have now dried up after it was discontinued in 2016). It also includes a new soft iron estimation algorithm. The Falcon 2 will automatically select whichever magnetometer (LIS3MDL, HMC5983 or HMC5883L) is connected on the I2C expansion port.
19th September 2017 – Falcon 2: Back In Stock plus New Developments
The Falcon 2 is now back in stock.
Microchip have recently released the SAMD51 microcontroller, a high performance 120MHz, ARM Cortex M4F core with hardware floating point unit. A feasability study is currently underway to incorporate this chip on to a Falcon 2 board for the purposes of evaluation.
27th July 2017 – Falcon 2: Back In Black
The Falcon 2 will be available again in mid August, (yes that’s August 2017).
Since the beginning of June there have been repeated production problems due to drilling errors with the printed circuit boards, these have now been resolved by switching to a new board manufacturer.
The image shows the first of new Falcon 2 Rev 1.0 boards that will be available in black. These boards have the same features as the previous first batch, that were available in green.
15th May 2017 – New Firmware Updates Released
New firmware updates for the Falcon 1 (V1.2.1) and Falcon 2 (V1.2.0) boards have been released.
The updates offer some new and enhanced features:
Falcon 1 V1.2.1
- Transmitter YAW stick or ARM switch options
- Idle Up Mode (aka Motor Stop)
- Air Mode
- FrSky X4R-SB receiver CPPM and SBUS – SBUS requires an external inverter
- OSD with external Minim and Micro Minim OSD boards – uses Falcon OSD firmware, requires an external I2C level shifter circuit
Falcon 2 V1.2.0
- Transmitter YAW stick or ARM switch options
- Idle Up Mode (aka Motor Stop)
- Air Mode
- FrSky X4R-SB receiver CPPM and SBUS – SBUS requires external inverter circuit
- FrSky SPort telemetry – requires external TX, RX inverter circuit
- OSD with external Minim and Micro Minim OSD boards – uses Falcon OSD firmware, requires external I2C level shifter circuit
- Improved throttle handover when switching to automated modes (Alt. Hold, Loiter or RTL)
- Failsafe Modes – NONE, LAND and RTL
New boards will be shipped with the updated firmware.
4th April 2017 – Flight Testing
Just started flight testing the Falcon 2’s new features. Here’s a short video of the Falcon OSD in action:
Music: “Moose” Bensound.com
22nd March 2017 – FrSky RSSI
In the forthcoming build it will also be possible to output the RSSI signal directly from your Taranis X9D transmitter to your OSD via the Falcon boards. This removes the need to use the analogue RSSI input on the Minim and Micro Minim OSD.
The Taranis X9D transmitter can be configured to piggyback the receiver’s RSSI signal on to channel 9. The Falcon flight controllers will receive it and output it straight to the OSD. This will work for SBUS or CPPM, although in CPPM mode it will be necessary to connect the physically separate channel 9, to one of the unused receiver inputs on the Falcon board.
7th March 2017 – ARM Switch, Idle Up and Air Mode
New features for the forthcoming firmware release will include ARM Switch, Idle Up and Air Mode:
ARM Switch (optional): It will be possible to ARM the board using either the traditional yaw stick method (like the KK2), or alternatively assign one of the transmitter switches.
Idle Up (aka Motor Stop): This (optionally) allows the idle up point of the ESCs to be calibrated (in the calibration menu) and will idle up the motors to this speed when the Falcon board is armed.
Air Mode: This mode adjusts the throttle in the motor mixer to allow attitude control when the throttle is very low or at zero. In the motor mixer the roll, pitch and yaw values from the PID control loops are added and subtracted from the throttle value. Air Mode works by detecting whenever mixed motor signals go below the minimum throttle point (or idle up point), which often happens when the transmitter RPY (roll, pitch, yaw) sticks are thrown at low throttle. It then increases the throttle to compensate, giving an even addition and subtraction to the opposite motors. Air Mode can be activated either by assigning it to a transmitter switch, or can be set to become active 1 second after launch.
These modes have already been implemented and successfully test flown on the Falcon 1. The changes have also been ported across to the Falcon 2, whose firmware is still currently undergoing further systems integration development.
24th January 2017 – Systems Integration
Work is well underway on integrating the Falcon boards with other external systems. This includes communications with an OSD (On Screen Display) that allows you to view the flight data while flying in FPV (First Person View) with a screen or goggles. It also will also incorporate enhanced receiver communications that supports SBUS and Smart Port telemetry, (Smart Port telemetry Falcon 2 only).
These new features will be available in the next firmware build scheduled for release in the coming months.
28th November 2016 – Flitetronix Website
The Flitetronix website has gone live. The website details the Falcon 1 and Falcon 2 flight controllers used to control multi-rotor aircraft, commonly known as drones.
A small number of prototype Falcon 1 and Falcon 2 boards are to be made available to buy through our on-line store.