Swashplateless Micro Helicopter
I built a swashplateless micro helicopter — a single motor controls both thrust and cyclic pitch
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.
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.
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.


Swashplate diagram from this Aviation Stack Exchange answer.