CoaxCopters: A long journey from a concept to enjoyable flights

Back in December 2020, I was immensely inspired by the first 12.5km flight of Starship SN8. I realized that those three green motors, which had been shipped to me instead of four by mistake, can be used for a CoaxCopter.

So my journey began, with a lot of trial-and-error, but also with a lot of fun. Here are my “prototypes” built so far, ranging from those which could not leave the ground to those which are nearly fun to fly FPV.


CX2: Coaxial Copter, vehicle 2
Lifespan: March 2021, disassembled on March 13th.

This is my first attempt to build a coaxial copter. The reason why its number is 2 is simple: the first one, CX1, was, so to speak, a production pathfinder, and consisted of two motor plates of the “theta” shape made of plywood. After trying it the hard way, I concluded that the future is with additive technologies, and bought a large 3D-printer.

As usual with coaxial copters, it features a pair of motors with propellers rotating in different directions, and a pair of flaps controlled by servos. Those were installed on a 3D-printed frame, whose base essentially consisted of two theta-shaped 5mm-thick plates, or “thrust pucks”, which were bolted together and equipped with assorted arms and mounting surfaces to hold servos, flaps, batteries and other equipment.

As I was not really thinking of any kind of blogging, I didn’t make any high-quality photos or videos at that time. The following video that summarizes the design is based on three low-quality photos made on the first day of tests.

Such early prototypes are typically created from various leftover parts. Two (out of three) motors were examples, the other was the ancient APM 2.6 flight controller. The matching version of ArduCopter was 3.2.1, and at these times the firmware for a coaxial copter was a separate one, and I actually had to compile it on my own, as no stock image existed in the wild. The remaining hardware was just as outdated as that APM: two huge 30A speed controllers running SimonK firmware, and a FlySky iA6 for the remote control.

And it tried to fly. Well, almost. In fact, it was the best at somersaulting.

The problem was that I confused left and right when mounting the pitch servo. By default, and apparently unchangeable in ArduCopter 3.2.1, that servo should be on the right.

The easiest way to counteract that was to pretend that the whole craft is rotated. With a little change in configuration, and with a fresh battery, it managed to leave the ground on the next day, and even tried to stabilize - but that was indoors, and the apartment was too small for it to survive.

That was not very sad after all, since the whole craft was too heavy (500+ grams dry, mostly due to heavy thrust pucks), and a much better solution was to design the next one.

1 Like

CX3: Coaxial Copter, vehicle 3
Lifespan: April-May 2021, disassembled on May 15th.

This is my first coaxial copter that survived at least one flight. Similarly to CX2, there was only a little footage recorded, including exactly one photo and exactly one video.

Its hardware was mostly the same, with the exception of speed controllers that were replaced by much smaller Spedix ES30 HV ones. However, I had to include a source for 5V to power the flight controller and the servos.

It also featured two batteries, which is essential for weight balance that is crucial for vehicles like this one. These were 3S batteries 850mAh each, and one of them powered the top motor, whereas another one powered the bottom motor and everything else. To some extent, this was the biggest design error, as one of the batteries depleted much quicker than another one.

The dry weight of this vehicle was around 370 grams. This is lightweight enough to allow nonzero flying times. The second flight test has been recorded, and here is the video. Warning, the noise is loud.

Few weeks after doing this test, I tried to fit a FPV system on it, and that was too much for the particular 5V BEC I was using. During the series of outdoor flight tests on a windy day the copter rebooted in-flight several times on every serious flap move. The final of these tests led to a hard crash into the ground and depleted one of the batteries to death. There is something to improve indeed.


TV1: Thrust-Vectored Coaxial Copter, vehicle 1
Lifespan: May-June 2021, disassembled on June 06th.

Since single-stage-to-orbit rockets are nonsense on Earth - and a Starship is to be assisted by a Super-Heavy Booster - it is also tempting to design a “booster” coax copter that would deliver a smaller coax copter to interesting altitudes. And while the smaller coax is to be flown FPV, the booster looks best to fly missions:

  1. First, arm the second stage.
  2. Command the first stage to reach the specified altitude, supposedly at maximum throttle and depleting maybe 70-90% of the battery.
  3. Stage separation: take-off the second stage from the first stage.
  4. The first stage understands that its job is now done, so it starts a controllable free-fall to the ground, with minimum throttle to control the attitude.
  5. At a specified altitude it reorients itself and performs a usual ArduCopter’s soft landing, draining the rest of the battery.

While it is still a batch of bold ambitions, one thing is for sure. A coaxial copter for the first stage needs to cope with a relatively heavy load, so instead of flaps for pitch and roll, it possibly needs thrust vectoring. ArduCopter has seen a concept build of separate engine tilting, a similar thing has been recently investigated in INAV and by Nicholas Rehm in his Starship model. All these implementations have various problems related to highly asymmetric mixing, so I decided to go a way that (still) seems more appealing to me: engine section two-axis gimbaling.

This concept needs testing, as this is a kind of vehicle ArduCopter has not probably seen. This was what TV1 was born for.

This vehicle underwent a series of tests, none of which resulted in actually flying. Most of these tests have been continued until something broke. The broken parts were printed once again (with a stronger design) or, in the case of propellers, replaced with new ones, until the next test.

This is the last testing day of this vehicle, more are on the same channel.

The vehicle was, of course, too brittle to carry a real payload, and too fragile overall. The right PID values seem to be really difficult to come up with, and the existing control algorithms do not seem to cope well with the nonzero mass of gimballed engines, not even counting in the gyroscopic forces. But the idea continued to take its place in my brain, so the successor of TV1 was imminent to come…

CX4: Coaxial Copter, vehicle 4
Lifespan: August 2021, disassembled on August 22nd.

If you look at CX3, you will notice a mess of wires, batteries and other equipment on the outer side of the duct. This all will introduce unwanted drag once the vehicle gets a high vertical velocity, so if you want to do that on a regular basis, you want a smooth outer surface (as well as a smooth inner surface, where the air has a high velocity in any case). Since all the equipment has to be between these surfaces, the design gets somewhat complicated. Among everything else, the shapes should be aerodynamically sound.

If one fixes the inner diameter (based on the available propellers) and the outer diameter (a minimum needed to fit the batteries, the flight controller and so on), the shape of the duct that connects these two diameters is subject to numeric optimization.

Since I am very new in computational fluid dynamics, it took me a lot of time to set up the necessary tool (OpenFOAM in this case), choose a particular solver, make it work, and run an optimizer atop this pipeline. Optimizers are something I am professionally aware of, so I began with the powerful evolution strategy called CMA-ES, and it was the optimizer employed until the very end.

Typically for such a domain, two main problems prevailed: first, the simulation cost (especially if you simulate the actual propellers actually rotating), and second, the choice of the particular objective function. As optimizers tend to optimize the given function itself and not what you actually want from it, the whole process was poisoned with various resonance effects, convergence to boundaries and breaking the laws of physics. This all took a whopping lot of time, but eventually it produced something nicely looking. This is how CX4 was born.

Apart of the complicated, scientifically sophisticated shape, it also featured a Pixracer, which can run the latest ArduCopter, so this is where I finally caught up with the train. For the radio control it used another recent technology, ELRS. It also featured a FPV set consisting of one of the Foxeer cameras and a small-ish transmitter.

The main problem, of course, was the weight. I don’t remember the particular numbers, but it was roughly 850 grams with batteries. But it actually managed to fly.

The second problem was the ArduCopter’s bug which, when everything was configured for DShot, reset trims of servos as well to ridiculous values of 1000. This problem did not exist in APM, as I used plain old PWM with it. Before I understood the root cause and learned how to deal with it, CX4 came to an end.

This was the reason why take-offs were a non-trivial thing, as shown in the video about the indoor tests.

Despite all this, this was the first coaxial copter I managed to fly FPV. There is no side video and no proper sound, but the FPV footage has been recorded.

Although it ended with a spectacular crash, it has shown to me that it is actually possible, and that I can actually design and fly such a thing. More to come.

1 Like

TV2: Thrust-Vectored Coaxial Copter, vehicle 2
Lifespan: August-October 2021, disassembled on October 17th.

In the meantime there was a second attempt to build a thrust-vectored coaxial copter. Keeping in mind that the previous vehicle was constantly breaking propellers (being not protected from hitting the ground) and frame parts (being too weak), I designed TV2 to be far sturdier.

This is how the vehicle looked like:

and its most interesting part, the gimbal section, can be seen in more detail in the thumbnail for the following video (which explains pretty much everything about this vehicle).

And of course, being only a second iteration with robustness in mind, it was extremely heavy (1.8 kg with a battery). With only a half of juice in the battery, it could not even lift itself from the ground, the thrust was barely enough to slide on the floor. Maybe it could lift itself with a fresh battery, but this could not have been declared success anyway.

Based on this experience, I postponed the idea of a thrust-vectored coaxial copter - and having the first and the second stages altogether - until better times.

In the hindsight, the thrust section below the center of gravity - although being the only option if one wants payload at the top - is one of the main sources of problems. Putting it above allows for more lightweight designs, including a brilliant idea by MClay of having concentric motor shafts and thus radically simplifying construction overheads for gimballing.

Great job, looking forward to your update

CX5: Coaxial Copter, vehicle 5
Lifespan: November 2021 - June 2022, disassembled on June 14.

This was my most tested coaxial copter to date. It was very much like CX3 - but even lighter: it was 340 grams dry, 500 grams wet, in the beginning, with some light reinforcement added later. It also derived all its hardware from CX4, so it was running recent ArduCopter firmware.

During its lifetime, it experienced 12 outdoor flights and 8 indoor test sessions. Most of these outdoor flights were dedicated to running AutoTune: some of these were not initiated, many were partial. Some of these autotune runs ended with spectacular crashes featuring fountains of snow made with CX5 upside down running at 60+ amperes.

The last flight of CX5 has been performed after a long break caused by latest geopolitic events and my activities to settle my future life in a saner country. During this time, I have made some upgrades to CX5, including configuring bidirectional DShot and coping with the off-center location of the flight controller.

Unfortunately, this flight went wrong for a number of reasons, and ended up with a terrible crash; one of its batteries was cut by a propeller and smoked everything around.

Actually, I could print the broken pieces anew and continue with flight tests, but by this time, a carbon frame has been designed, printed and delivered for the next vehicle, so CX5 was declared end-of-life and disassembled. Most of its hardware will be used in the next prototype, CX6.

1 Like

CX6, the next coaxial copter, was built and tested on August 2022. Before I could do any serious tuning or flights for fun, I had to leave my country of origin, and of course I was not brave enough to take my flying things with me. Only the smallest chips maybe :slight_smile:

CX6 was the first coax built by me that featured a carbon frame. And, last but not least - it looked beautiful!

In its last indoor test flight, it even received a well-behaving hand-made PID tuning. Now it - hopefully - rusts on a shelf in some drone store, serving as an attraction.

New country, new crazy drones, stay tuned!