Introduction: Single Cylinder Air Engine

Picture of Single Cylinder Air Engine

Before starting with this Instructable, I would like to express my sincere thanks to Instructables for featuring Single Cylinder Air Engine. I am indeed honored and humbled, again, many thanks.

Single Cylinder Air Engine runs on compressed air, a vacuum cleaner, a balloon, or even lung power. I've included three adapters in the design to interface with each. Please note the friction test video; your engine needs to pass this test before being successfully operated on balloon power.

The design incorporates two ports, one upper and one lower. When Single Cylinder Air Engine is viewed from the port side, "Wheel Piston.stl" rotates clockwise when pressure is applied to the upper port, and counter clockwise when a vacuum is applied to the upper port. As pressure or vacuum is applied to the upper port, the lower port functions as an exhaust (when pressure is applied) or an intake (when vacuum is applied). The opposite occurs when the lower port is used for pressure or vacuum.

I probably forgot a file or two or something, so if you have any questions, please feel free to ask.

Designed using Autodesk Fusion 360, sliced using Cura 2.3.1, and printed in PLA on an Ultimaker 3 Extended.

Step 1: Print and Prepare the Parts.

Picture of Print and Prepare the Parts.

I printed my parts on an Ultimaker 3 Extended using .1mm vertical resolution and 100% infill.

"Base.stl" must be printed using supports. "Cylinder Piston 484.stl" must not be printed with supports.

Prior to assembly, test fit and trim, file, sand, etc. all parts as necessary for smooth movement of moving surfaces, and tight fit for non moving surfaces. Depending on the colors you chose and your printer settings, more or less trimming, filing and/or sanding may be required. Please view the friction test video and review the associated description for friction testing.

Carefully file all edges that contacted the build plate to make absolutely sure that all build plate "ooze" is removed and that all edges are smooth. I used a flat jewelers file and plenty of patience to perform this step.

Study "Assembly.stl" and "Assembly Exploded.stl", carefully noting the locations and positions of the various components as assembly proceeds.

Step 2: Install the Piston Rod and Piston.

Picture of Install the Piston Rod and Piston.

Slide "Rod Piston.stl" into "Base.stl" carefully noting the orientation of the hole in "Rod Piston.stl".

Next, press "Piston 484.stl" onto "Rod Piston.stl" until it is exactly 38mm from the end.

Step 3: Install the Valve.

Picture of Install the Valve.

Slide "Valve.stl" into "Cylinder Piston 484.stl" carefully noting the orientation of the holes in the valve surface.

Step 4: Attach the Cylinder to the Base.

Picture of Attach the Cylinder to the Base.

With the valve installed in the cylinder, press the cylinder into the base making sure to align the piston rod with the square hole at the rear of the cylinder.

At this point it's a good idea to again check to see that the valve and piston assembly move with ease. If not, remove the cylinder and parts and trim, file and/or sand until they do.

Step 5: Attach the Wheels.

Picture of Attach the Wheels.

Attach "Wheel Piston.stl" and "Wheel Valve.stl" to the base carefully noting the orientation of the two small hexagonal holes in each.

Once attached, the wheels should spin with ease. If not, remove both wheels and trim, file and/or sand the hole in the base until they do.

Step 6: Attach the Piston Arm.

Picture of Attach the Piston Arm.

Attach "Arm Piston.stl" onto "Rod Piston.stl" using "Pin Arm Piston.stl". "Arm Piston.stl" should swing freely once installed.

Next, attach the other end of "Arm Piston.stl" to "Wheel Piston.stl" using one of the two "Pin Wheel.stl".

Step 7: Attach the Valve Arm.

Picture of Attach the Valve Arm.

Attach "Arm Valve.stl" to "Valve.stl" using "Pin Arm Valve.stl". "Arm Valve.stl" should swing freely once installed.

Attach the remaining end of "Arm Valve.stl" to "Wheel Valve.stl" using the remaining "Pin Wheel.stl".

Step 8: Break In.

I printed and attached "Adapter Vacuum.stl" to the lower port of my Single Cylinder Air Engine, then attached a vacuum cleaner hose to the adapter.

When the vacuum was turned on, I nudged "Wheel Piston.stl" clockwise (as viewed from the port side), and off it went. Depending on how well the parts were sanded/filed/trimmed, this break in period may take anywhere from a few minutes to an hour.

The video is an earlier prototype in slow motion.

Good luck and I hope you like it!


Gadgets Randomness (author)2017-08-01

Can you make a final version that works perfectly? That would be appreciated.

I'm not sure what you mean by "works perfectly?" While the engine does indeed work, this engine will never "work perfectly" due to air (leaks) and friction losses. When printing this design, all the parts must be carefully printed and filed/sanded in order to minimize these losses, but neither (air nor friction losses) will be ever be "perfect".

I've printed over 50 of this design and the various incarnations located here:,



and here:

They do work, not perfectly, but they do work and they do indeed require meticulous printing and assembly. If you are having any specific problem with the design, please feel free to ask and I'll do my best to assist.

rudi48 made it! (author)2017-03-15

Hello gzumwalt,

I made the Air-Engine. My 3D printer is a psusa i3 clone.

Thank you very much for the nice design.

I could run the engine a few turns by blowing very strong in the Adapter-balloon, while holding the engine with the Wheel-piston down. The Wheel-piston must bei in the 2 o'clock position at start, looking at the front side.

With a balloon I did not got it to work.

Several things must be modified to make it work:

1. The piston was about 0.3 mm x 0.3 mm too large. Fortunately I had a mill to fix it.

2. The piston-rod was in one direction 0.3 mm too thick

3. The pins dit not fit, I need to use metal screws.

4. I needed to put some tape at the Cylinder to base connection.

5. The base with your parameters need 6 h 3 min to print. I reduced to 0.2 mm layer thickness and 20% fill. Then the print time was reduced to 2 h 26 min, and it was solid enough.

Regards, Rudi48

gzumwalt (author)rudi482017-03-15

Thanks for all the information. I will be very useful in future designs. And thanks for your patience!

LoraZ1 (author)2017-03-08


gzumwalt (author)LoraZ12017-03-11

Thanks, glad you like it!

flattop94 (author)2017-03-11

Love the design, I printed a one cylinder wobbler a couple of years ago and really enjoyed it looking forward to printing this one. Will you be posting your four cylinder version? I saw it on YouTube it looks great!

gzumwalt (author)flattop942017-03-11

Thank you very much, I will be looking forward to seeing your results!

The four cylinder should be coming soon, it's a little more complicated than this one. And thanks, glad you like it also!

HHarry14 (author)2017-03-10

Thanks very much, gzumwalt!! Rotating the parts 45 degrees did the trick!! I can now start printing the parts and I'll let you know the results after some time when the engine will be running!

Thanks again, HHarry14

gzumwalt (author)HHarry142017-03-10

You are very welcome!

I am glad I could be of assistance, and I am really looking forward to seeing your results!

HHarry14 (author)2017-03-10

Hi gzumwalt, Thank you for your reply! I use Cura 15.04.6 and it works fine. When I load "Base" or "Rod Piston" the colour of the parts is dark grey and a gcode cannot be made. Descaling to 0.92 changes the colour into green/yellow after which I can make the gcode. I understand that these parts won't fit after descaling, but what can I do to solve this problem? Regards, HHarry14

gzumwalt (author)HHarry142017-03-10

Well I've seen that before, when the part is "dark grey" it is indicating it is not entirely on the build plate which doesn't make sense unless you build area is quite small.

Did you try rotating the parts 45 degrees (e.g. corner to corner)? Also, are the parts flat on the build plate?

HHarry14 (author)2017-03-10

A very nice project indeed, thank you very much! I started making gcodes of the different parts. However, Cura wants to descale "Base" and "Rod Piston" from 1.0 to 0.92. This means that the rod will not fit the piston. I don't know the consequences for Base. What can I do now? It would be a pity if it won't work. Regards, HHarry14

gzumwalt (author)HHarry142017-03-10

Thank you very much, I'm very glad you like it!

What version of Cura are you using? I use 2.3.1 and Cura doesn't scale anything unless I scale it using the scale command. And from 1.0 to .92, that's a substantial scale down.

You are correct that the rod will not fit the piston, as well as the base. Also, the cylinder, wheels, valve, etc. The reason is the gaps between the parts are being scaled down as the parts are scaled down, which will dramatically increase the amount of filing and sanding.

Because this project is already a tight fit (in order to hold all the components together under air pressure and reduce air waste), any scaling down will probably result in it not working properly.

Cgiff (author)2017-03-09

love he dynamic nature of your project. Well done

gzumwalt (author)Cgiff2017-03-09

Many thanks, glad you like it!

4DIYers (author)2017-03-07

That is cool! I had to make an air engine back in high school using a lathe and mill. Was a fun project.

gzumwalt (author)4DIYers2017-03-08

Thank you very much, I am very glad you like it!

About This Instructable




Bio: Formerly the owner of a company that designed software for avionics (EFIS, FMS, etc.) and video games (Tetris, Robocop, Predator, Michael Jordan in Flight, and ... More »
More by gzumwalt:Santa Sleigh, Wifi EditionMotorized WiFi Controlled ChassisModel Aircraft Styled Air Engine, Experimental
Add instructable to: