Flapping-wing flight is fascinating. It inhabits that intriguing space between biology and technology; simultaneously harking back to Da Vinci’s flying machines while also invoking vivid imagery from Dune and other imagined futures.   Although feasible with modern technology in very specific cases, it remains impractical:  the challenges of generating both lift and thrust with a flapping surface, as well the incredible mechanical complexity required makes it a technological dead-end.

When Maker Festival Toronto  put out a call for “spectacle”, I jumped at the excuse to build something impractical, but visually satisfying. The festival has been held in the Toronto Public Library for the past few years now, which provides a vast vertical space. With thousands of people milling below, a large ornithopter was clearly the right thing to do. Not one that actually flew, because that would require power and danger and engineering far exceeding the scope of a spare-time project, but rather a kinetic sculpture, gently flapping above the crowds.



Perusal of the internet brings up a lot of micro ornithopters, a small, but lively community, and of course this majestic human-powered ornithopter by UTIAS. My all-time favourite ornithopter is DelFly, from the highly capable folks at TU Delft.

From this survey it seems that getting something small to fly is relatively easy, but as the aircraft becomes larger, flapping becomes a harder problem. The success of small ornithopters can be ascribed to the favourable weight to power ratio, and that the scale of the wing membranes gives a good balance between structure and flexibility, which seems to result in wing curvature that gives us lift.

I wanted a device that is light enough to easily and safely suspend above people, flaps in a pleasing way, and can be powered with a small motor and battery. So, let’s build it.

The wings

It’s all about the wings.  For a previous project, where I algorithmically optimised a Jansen walker, I spent a lot of time building simulations of mechanical linkages. It was fairly easy to build a similar implementation for the wing mechanism. This allows me to specify a linkage design, simulate the movement using a physics engine, and measure the key parameters that I’m interested in. Of course, the simulation is not perfect, but it gives me a quick way to explore different linkages. In this case I was specifically interested in minimising the torque required, and plotting the wing tip to evaluate movement.



The linkage mechanism. The blue points are anchored to the body of the ornithopter, red parts are pivot joints. The entire linkage is driven by rotating the bar 0-1 around point 0. I measure the torque at point 0 – the lower this is, the less likely the motor will stall.  To limit the scale of the problem and flatten the wing profile, I constrained points 3, 9 and 5, as well as 2, 4 and 6 to be in a straight line.


After several iterations and a bit of tweaking, I settled on this. The wing is pulled in about 15% on the upstroke, before reaching out to maximise area on the downstroke. I took the dimensions of the bars into Inkscape and drew the shapes I wanted. These were then  printed out, traced, and one after another cut from 3mm aircraft plywood using a scroll saw.

The links are joined together with M3 machine screws. To increase rigidity of the mechanism, I doubled up the top bar (3-9-5), using 20mm nylon stand-offs to keep things nicely aligned and low friction. The wing tips were made by attaching thin balsa strips to the end of the linkage.

The wing membrane was cut from nylon kite fabric. This may be a bit stiff for my application: it might be worth substituting a lighter fabric.


The body provides the structure for attaching the wings, motors and tail to each other. The main parts are made from 12mm x 12mm balsa strips, with all joints reinforced with either struts, corner triangles, or braced on either side with bits of plywood.

The tail is also constructed from two balsa strips, mounted in a V, and at an angle to the main body. This serves to balance and stabilise the assembly. The inner edges of the wings were glued to the top of the frame, while leaving sufficient space to allow for movement.

A piece of kite line (45kg braided dacron) was attached to the front and back of the top of the frame, to form a two-legged bridle. The main suspension line was attached to the bridle with a Prusik knot, to allow pitch adjustment, and a swivel, to prevent twisting in the line. I highly recommend Prusik knots.



Each wing is independently driven by a 65:1 geared 6V motor. These are directly connected to the driving arm, with the motors mounted on a piece of aircraft plywood. Experimentation showed that they will run happily (if a bit slow) down to 3V, drawing about 250mA on average. A 2400mA LiPo battery gave me enough power to survive a 10 hour day.

However, the wings have different torque requirements, due to variations in wing size, varying friction on the joints, and external things happening to the device. I therefore used two large gears at the front to keep the flapping synchronised. There is no significant force transferred between the gears; they only couple the movement of the wings together. A balsa wood guide helps to keep the gears engaged, despite some warping in the plywood.


In the end, the ornithopter weighed 950g, had a wing span of 2.5m and a length of 3m. About a quarter of the weight was due to the motors and battery, with the synchronisation gears also playing a significant part. The torque required for movement is low enough that a single motor would have sufficed, but this would have complicated the gear arrangement.


It was suspended from the balcony of the third floor of the library, down to just above the first floor, flapping above an origami forest and Epilog lasermen.    I merely had to walkaround all day, checking that it stays in place.


My main criticism of the build is the excessive flex in the wing assembly. As the wing moved, force on the wing membrane would pull the moving part of the linkage back, causing the fabric to drag behind the stroke. A stiffer mechanism would significantly increase the thrust – perhaps by adding a parallel linkage 300mm behind the first?




Various people and organisations contributed to all of this happening:

Design files for the flapping mechanism are available here.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s