dRehmFlight VTOL - An Open Source Teensy Flight Controller
For Senior Design Project, my team (number 39) is developing an autonomous search and rescue drone for ski slopes using both thermal and optical cameras for identifying injured skiers. At the heart of any drone project is the flight controller which needs to be simple to program and reliable.
Rather than using an off-the-shelf flight controller, I strongly advocated to utilize the dRehmFlight VTOL (vertical take off and lift) project created by Nicholas Rehm. This project turns any Teensy 4.0 or 4.1 into a powerful flight controller that can support modern ESC (electronic speed controller) protocols for drone motors. All that is needed to build one of these FCs is a Teensy 4.0 or 4.1 and a MPU6050 or MPU9250 IMU (inertial measurement unit). We have these components at M5 as well as older Fly Sky remote controllers and receivers so I spent some time on a proto-board pictured below to interface all these components together.
Teensy 4.0 in the center on the red proto-board, the IMU and radio receiver on the left, and the ESC connector on the right
The Teensy is able to take in the PWM signals from the radio receiver when I move the Fly Sky controller’s sticks and then output either the default PWM and OneShot125 or DSHOT600 signals to the ESC. What also makes this platform useful is the fact that you have complete control over the GPIO pins of the Teensy if the base functionality does not work for your project. For the porting over to the autonomous control of the drone, having the Teensy be easily re-programmable will simplify the communication between our Raspberry Pi 5 with GPS data and the Teensy’s motor signal relay to the ESC. The entirety of the main code is also ~800 lines with a supporting 72 page document on both usage and code walkthroughs for all the functions.
If you read this quick description and want to check out the project for yourself here’s the website link:
https://www.drehmflight.com/drehmflight-vtol