← UAV

Swashplateless Micro Helicopter

I built a swashplateless micro helicopter — a single motor controls both thrust and cyclic pitch

2024–2026

Swashplateless Micro Helicopter

Motivation

Traditional helicopters use swashplates to convert fixed-frame pilot inputs — roll, pitch, and thrust — into rotating-frame blade pitch commands, including cyclic and collective pitch control.

Most micro helicopters use a CCPM (Cyclic-Collective Pitch Mixing) mechanism, where servos tilt the swashplate to generate cyclic blade pitch while simultaneously moving the swashplate up and down along the main shaft to control collective pitch.

The swashplate mechanism works remarkably well, but it comes at the cost of added mass, part count, and mechanical complexity — penalties that scale poorly as helicopters become smaller and lighter.

How a cyclic input tilts the swashplate, producing periodic blade pitch changes

What is a swashplateless rotor?

Originated from the underactuated rotor concept developed by ModLab at the University of Pennsylvania, a swashplateless design eliminates the conventional swashplate entirely. Instead, blade pitch is modulated through controlled variations in rotor shaft torque, synchronized with rotor azimuth.

A direct-drive motor introduces small, phase-locked variations in angular acceleration at specific rotor azimuth angles. This induces a controlled blade lead–lag response. Through a pair of antisymmetric, tilted hinges, the resulting periodic lead–lag motion is mechanically coupled into corresponding variations in blade pitch, effectively producing a cyclic-pitch-like input without a swashplate.

The underlying control concept is based on frequency-separated modulation of rotor dynamics. The three degrees of freedom — roll, pitch, and thrust — are decoupled in the frequency domain: roll and pitch are controlled through amplitude and phase modulation synchronized with rotor rotational frequency, while thrust (collective control) is regulated at a lower frequency band.

Design & Build

Hardware

The helicopter is a heavily modified 200-class (~200 mm main rotor blade) commercial off-the-shelf RC helicopter. The original frame and motors were reused, while the rotor head and flight control system were fully redesigned.

  • Main rotor: 13-inch multirotor propellers adapted for main rotor use (370 mm rotor diameter)
  • Total mass: 270 g
  • Actuators: brushless direct-drive main rotor and tail motors
  • Battery: LiPo 11.1 V (3S), 750 mAh
  • Flight controller: 30×30 H743 flight controller running a custom PX4 firmware
  • Sensors: IMU, GPS, barometer, magnetometer, range finder + optical flow
  • C2 link: ExpressLRS (ELRS) with MAVLink telemetry

The swashplateless rotor head was designed and iteratively developed in-house, and 3D printed in PETG. The goal was to achieve a swashplateless rotor system with acceptable vibration characteristics and smooth, controllable lead–lag behavior under load. I went through approximately 50 iterations of rotor head designs.

The final design uses a three-bearing-per-hinge architecture, combining two radial bearings with a thrust bearing to handle axial loads transmitted through the tilted hinge geometry due to centrifugal forces. This configuration ensures low-friction, stable lead–lag motion along the tilted hinge axes.

Software

I developed a new driver module for the rotor shaft sensor, publishing the main shaft azimuth angle via uORB in PX4.

I also implemented a new airframe type (HelicopterSwashplateless) along with a custom control allocation layer that maps thrust and torque setpoints into swashplateless modulation signals.

This layer takes attitude rate commands generated by the controller and converts them into:

  • net rotor thrust (collective control equivalent)
  • periodic azimuth-synchronized torque modulation (cyclic control equivalent)

The rate controller was specifically adapted for helicopter dynamics, including integral-term rotation between the roll and pitch axes to support level pirouetting under wind disturbances, as well as integral-term decay to improve maneuverability.

The attitude controller, position controller, and mission management stack were reused from PX4’s existing multirotor architecture.

Cyclic Control

Observe how the blade pitch is coupled with the lead–lag motion.

Swashplateless rotor — blades neutral
Neutral
Swashplateless rotor — blade lead
Lead
Swashplateless rotor — blade lag
Lag

The rotor head produces the same periodic blade pitch variations a swashplate would — without any swashplate. Watch how blade pitch changes in response to cyclic input.

Flight

Getting this to fly required tuning across the control stack. The rate loop needed its PID gains, feed-forward, and rate limits set; the attitude and position loops on top of it had to be tuned in turn. Low-pass and FFT notch filters were configured to suppress rotor-head vibration. And specific to the swashplateless architecture, the phase curve and torque gain had to be calibrated to produce effective cyclic control.

Rate mode

High-rate aerobatic capability with 120°/s body rates.

Position mode

Thanks to the PX4 integration, the swashplateless helicopter natively supports PX4’s navigation filter (EKF2), with position hold via barometer, optical flow, and GPS.

Fast forward flight in wind

Forward flight > 10 m/s with stable handling in wind.

Automated mission

Waypoint mission flight enabled by the PX4 integration.

Swashplateless helicopter in flight, viewed against sky

Swashplateless helicopter hovering at the test site


Swashplate diagram from this Aviation Stack Exchange answer.