dRehmFlight VTOL

Teensy Flight Controller and Stabilization

Similar projects worth following
dRehmFlight VTOL is a simple, bare-bones flight controller intended for all types of vertical takeoff and landing (VTOL) vehicles from simple multirotors to more complex transitioning vehicles. dRehmFlight was created with those of us in mind who may not be proficient at coding, but want to get an advanced VTOL platform requiring custom mixing in the air relatively quickly. The goal is to have an easy to understand flow of discrete operations that allows anyone with basic knowledge of coding in C/Arduino to peer into the code, make the changes they need for their specific application, and quickly have something flying. The Teensy 4.0 board used for dRehmFlight is an extremely powerful microcontroller that allows for understandable code to run at very high speeds: perfect for a hobby-level flight controller. Download the complete code and documentation here:

  • Code modifications and compiling done within the Arduino IDE with Teensyduino add-on.
  • Default code supports 6 ESC outputs using OneShot125 Protocol, and 7 conventional PWM outputs for ESCs or servos, with the ability to modify the code for extra outputs for custom setups.
  • Support for conventional PWM receiver type or smaller PPM-type receivers.
  • Easy to use control mixer with stabilized axis variables and ability to pass direct, unstabilized commands to the motors or servos direct from the transmitter.
  • Three PID controller types including rate and angle-based setpoint.
  • Simple variable fading, with support for more advanced options planned in the future.
  • Default hardware setup (Teensy 4.0 and Gy-521 IMU) costs less than $30 and weighs less than 15 grams.
  • Comprehensive documentation with explanation of every function and variable, as well as tutorials for setting up the hardware and modifying the code for your application.

Feature Requests and/or Planned Updates:

  • Support for MPU9250 9DOF IMU (better attitude estimation)
  • SBUS radio connection
  • Simple switching function for control inputs (e.g. swapping roll and yaw for a tailsitter)
  • More fading options

dRehmFlight VTOL Documentation.pdf

Tutorials, How-To's, and general overview of the code

Adobe Portable Document Format - 8.94 MB - 09/11/2020 at 23:15


  • 1 × Teensy 4.0
  • 1 × Gy-521 MPU6050 IMU

View all 3 project logs

  • 1
    Download The Docs

    Everything you need to know is included in the dRehmFlight VTOL Documentation.pdf document!

View all instructions

Enjoy this project?



Ted Grant wrote 2 days ago point

Awesome, amazing, wonderful work!!!

  Are you sure? yes | no

Jacob David C Cunningham wrote 6 days ago point

wtf I did not know those "spinning wing" designs could do VTOL that's rad

  Are you sure? yes | no

Nick Rehm wrote 5 days ago point

Yep cyclos are pretty cool and have some unique advantages over conventional rotors because of the uniform velocity field over the blades

  Are you sure? yes | no

Mike Szczys wrote 6 days ago point

Bad news for you Nick... despite your assertion in the video, this project shows you are now "a coding guy".  :-D   I think doing a few tutorial videos as you mention at the end is a great way to help get others up to speed quickly with this, I'm glad you've made it open source!

Nice to see someone taking advantage of the 600 MHz clock speed of that Teensy 4. I wonder if @Paul Stoffregen has seen this project yet?

  Are you sure? yes | no

Nick Rehm wrote 6 days ago point

Hahah thanks! My code is definitely 'sloppy' and in many places redundant, but the beauty of the Teensy is that it doesn't matter. Tutorials coming soon!

  Are you sure? yes | no

Dan Maloney wrote 6 days ago point

Ambitious project, hats off to you for tackling it. Looking forward to seeing this rolled out into all sorts of interesting aircraft.

  Are you sure? yes | no

Does this project spark your interest?

Become a member to follow this project and never miss any updates