3D Printed Axial Compressor

An axial compressor that is designed to be produced inexpensively by the daily hobbyist

Similar projects worth following
I always was fascinated by jet engines but, like most, I didn't have $4k to shell out for a hobby engine. So I started on the long quest to build one. Two years later, I'm on my sixth iteration and am hoping that it's the last (fingers crossed).

The idea behind this is to allow people to have access to the power and efficiency of a jet engine without the need to pay an arm and a leg for that and to hopefully bring awareness to the inefficiencies of modern jet engines. Although I don't see this going anywhere commercially, I hope it brings to light that there are other possibilities to flight propulsion that don't rely on fuel.

Although I'm planning on using it for for my drone plane (which I hope to have a design to upload eventually), the capabilities of this compress could be endless.

To start off with, this is just the compressor, not a jet engine. A jet engine is comprised of a compressor, a combustion chamber, and a turbine. I built this to be run with an electric motor. I wasn't planning on building a combustion or turbine stage.

Being a recent grad, I didn't have a lot of money, really all I had to my name was my computer and my 3D printer. So to design an axial compressor to a good degree of efficiency I had to do a few things on my own.

An axial compressor is comprised of rotating rotor blades and static guide vanes, or stators. The whole trick to increasing pressure is not allowing the velocity of the air to increase that much. If the engine were made of only rotors, the velocity would increase with each stage. But with the static stators in place, they reduce the velocity of the incoming air and increase the pressure. However, with pressure/velocity increase, temperature must also increase. To put into perspective how much, the inlet temp vs the outlet temp of my model is projected to be just under 400 K in difference.

Designing a compressor relies, really, on only five things:

  1. The atmospheric conditions
  2. The size constraint of the engine
  3. The reaction coefficient, R
  4. The stage loading, Psi
  5. Flow coefficient, Phi

R, Phi, and Psi are defined by these three equation

R is essentially, the amount of work the rotor and the stator are doing. So for 0.6 reaction, 60% of the work is being done by the rotor, and 40% by the stator. Ideally, the value of R should be kept in the 0.5 - 0.65 range. It is half the stage loading multiplied by the sum of the tangents of the inlet relative angle (b1) and the relative outlet angle (b2) of the air from the rotor blade.

Psi is similarly designed by the flow coefficient and the the inlet outlet angles.

Phi, is a non-dimensional term expressed as axial velocity over the blade speed.

The angles of the rotor blade can easily be calculated using a velocity diagram, not unlike the one below.(I'll come back and add more details later but let me explain the project)

Calculating R, Psi, and Phi, along with all of the other necessary information to generate a rotor is a very recursive task and not to mention you have to repeat the process for each stage. Luckily, there is a free program out there that does this quite nicely, LUAX-C. Developed by the nice people at LUND U. I'm working on incorporating a Python version of this process in my compressor program, described below.

This allowed me to have the necessary information to designing my compressor, along with some approximations on to the performance. But designing the blades using the information was another hurtle. I'm decent at CAD but no-where near patient enough to design these blades with the angles they needed. So I wrote a Python program that generates the rotors and stators for me, I attached it in the link section. It uses PyQt and Numpy-Stl to allow the user to generate a rotor and stator to be exported as an STL.

PLEASE NOTE: The program, although tested, is brand new and probably buggy. I'm still working on the re-write to make it cleaner and what-not.

After designing the rotors and stators in CompPy they were then finalized in an external CAD program. Mostly what I did was just reduce the vert counts, bored the axle hole and made sure they were solid.

The stators were then built into the case itself. I toyed with this idea for awhile, my first three iterations had separate stators and I just felt it was too many parts; plus commercial jet engines use a similar 'clam-shell' stator/housing combo.

Next the bearing housings needed to be made. These would hold the ceramic bearings in place.

The final step was to create the spacers and the coupler. Ideally, the space between a rotor and a stator should be zero, but with that being impossible, I had to get compromise. I needed enough room to create the transitional space between stages but not enough where stalling could lower the efficiency. The spacers separate the rotors such that...

Read more »


Updated .stl files for latest version. Contains updated separated stators. This is the version that is currently being constructed.

RAR Archive - 1.95 MB - 06/21/2017 at 22:46


  • 1 × 3D Printer At least 80mm X/Y length
  • 2 × M5 x 100 mm Bolts
  • 2 × M5 Nuts
  • 2 × Ball Bearing 16mm Outer Dia, 8 mm bore hole, ceramic preferred
  • 1 × 8mm Dia Steel Rod This will be the axle

View all 6 components

  • Motor Purchased and Mount Underway

    noob_sauce07/17/2017 at 15:43 2 comments

    So I pulled the trigger and purchased a brushless motor with an ESC. This one to be specific. This one "should" be able to spin at 30k with a 2S LiPo under the weight of the rotors.

    So now I'm designing and printing the mounts and stands for the compressor and motor so I can run it safely.

    As always, I'll try and keep y'all updated as I go along.

  • Constructed

    noob_sauce07/04/2017 at 01:07 0 comments

    After a grueling couple of months and low tolerances, the prototype is finally constructed...and to my surprise everything fits perfectly, odd.

    I can't really give many angles of the prototype because of how it's assembled, it took almost an hour to get it right, so I've only attached the profile picture of it. To put the size into perspective, it's about the size of a tallboy. For those non-Americans that's a 22 Oz of beer...preferably Bud.

    My main concern was the possibility of my printer printing the bearing housings off center, but everything seems to be aligned, at least well enough for now.

    The next thing is to buy the brushless motor and controller to power this. I'm looking at a 4100 kV motor, but if anyone has any recommendations hit me up - my expertise is not electronics.

    Happy 4th.

  • New STL and Book

    noob_sauce06/21/2017 at 22:49 0 comments

    I've updated the .stl files with the latest version. This is the version that is being constructed. It is also the one that pictured above.

    I've also been asked how someone could learn to make something like this, or just learn about turbomachinery in general. This link, is a link to the textbook that was basically my bible. With this and all of the freely available sources on the inter-webs, anyone could learn this.


  • TOTAL Overhaul (hopefully the last)

    noob_sauce06/12/2017 at 16:39 0 comments

    Now I said in the description that I was hoping that this final iteration would be the last, and I'm still considering that hope achievable even though I did a total overhaul...I'll explain.

    So I was finalizing the design of the engine when I realized how impossible it would be to fabricate the clamshell-stator assembly. The whole point of this project was to be able to 3D print it and then cast it in aluminium; this way anyone can have the ability to do this. With the previous case design, that was nearly impossible.

    So introducing the last 2 weeks of my life...

    I didn't do any new calculations, the engine should still operate the same except now it will be able to be produced instead of being a rendering. This is also why I'm not considering this Mark 7, it's the same engine except with a different (and better) face.

    I rebuilt the case to have a rail-ish system, where the stators would slide into the designated spots and then be bolted down using M3 screws. The rotor assembly wasn't touched in this rework so those still operate the same. I then added the long overdue cowling and outlet nozzle. These also were built this rail/bolt system because all of the stress will be on these two pieces because they also house the bearings.

    If I'm not explaining this well enough I've got pictures.

    Fully assembled (minus the axle) new compressor design. Notice the exit cone vs outlet diameter, these also had to be painstakingly calculated

    Side View

    Front View

    Just the case

    Full Case

    In addition to all that, I've finished printing everything and I've commissioned the main-middle part of the case to be 3D printed (I don't want to babysit a 40hr print). That should come in within the next few days so within the next couple weeks I should have a physical prototype.

    I'm submitting this to the Wings, Wheels, and Walkers HAD Prize so wish me luck. I'll keep you all updated with more as it comes!

  • Outlet Guide Vane Finalized

    noob_sauce05/28/2017 at 21:58 0 comments

    So I gutted my program and was able to retro-fit it to create an outlet guide vane. I then incorporated it into the clam-shell case which I won't attach a picture of because it doesn't change the aesthetics very much.

    As stated before the outlet guide vane is designed to de-swirl the air that is exiting from the final stator. By taking out the swirl from the air a smoother combustion can rake place inside the combustion chamber (which doesn't apply here), and by smoothing out the air, more thrut is produced.

    Here is a render of the blade shape. Notice the incidence angle compared to the outlet angle.

    Don't mind jagged edges, that's just an artifact of the render, they're smoothed out in the vane.

    And here is the finalized outlet vane that was incorporated into the clam-shell case.

    I will update the STL files to include the changes.

  • Outlet Guide Vane Rough Calculations

    noob_sauce05/22/2017 at 14:01 0 comments

    • Alright so I finished doing some calculations on the outlet guide vane parameters. As mentioned earlier, this final vane is designed to "de-swirl" the airflow of the air that's exiting the final stator. The whole purpose of the guide vane is to allow for maximum combustion of the fuel when it enters the combustion chamber, however since I'm not building one of those that doesn't apply. But, it has been shown that having a a straight flow of air increases the thrust produced, hence why jet engines have an outlet guide vane after the last row of turbines.

    Anyways, here are my caluclations:

    • Number of blades: 17
    • ___Blade Angles___
      • Inlet: 22.194
      • Outlet: -45.249
      • Incidence: -5.011
      • Deviation: 45.249
      • Camber: 67.4443
      • Stagger: -16.538

    In addition to those angles, like stated before, I also plan on doing a deviated blade, one that has a different angle of attack at around 1/3 of the length. This angle will be around 45 degrees.

    So because of all these weird angles - if you can imagine a stage with an inlet angle of 22 and out of -45, I have to re-write my blade construction program. Also note, because this isn't considered a "working stage" it doesn't have the three stage variables:

    I'll update this once I've re-written the program and have a 3D model to show you all.

    Until next time.

  • Rotors Complete

    noob_sauce05/21/2017 at 22:43 0 comments

    I apologize for the long overdue update. It's been a rather obnoxious couple of weeks. I've been attempting to re-print the rotor section and got through most of the pieces, then when printing the first (and largest) rotor, my printer broke. So after fixing it, I just finished printing, and assembling the rotor section.

    To my surprise, I designed this very well and everything fit together. So these picture of it the separators and rotors screwed together.

    What I need to do now is give them an acetone vapor path, smooth out those rough edges.

    Whats next is to get my CNC up and running. This is just one of those Chinese desktop CNCs, real cheap and easy to use. I'll be using the CNC to build the ball-bearing housings out of aluminum.

    I can't 3D print this for a number of reasons:

    1. The bearings generate a considerable amount of friction heat
    2. The oil used to lubricate the bearing might not mesh well with plastic
    3. The alignment and the major stress of the compressor on placed upon the bearing housings, so having them 3D printed won't give as accurate of a shape as milling them.

    I'm also going to commision the compressor casing to be printed so I'll be looking into hubs on

    To be continued

  • Fixed Rotor Assembly

    noob_sauce05/05/2017 at 03:07 0 comments

    I was at work today doing really nothing and it hit me, the rotors couldn't be supported solely on tension and the two screws - they'd eventually become misaligned. So what I did tonight was, essentially, make them Lego-blockey. They're all slotted to fit into each other, this way the stress from the rotation is dispersed to all dynamic piece. So I guess I'll need to reprint all these again....

    I've attached a graphic of what I'm talking about.

    Lemme know if ya'll have any questions, I'm still trying to update the techniques used as I go along.

  • Outlet Guide Vane and CompPy Screenshots

    noob_sauce05/01/2017 at 22:36 0 comments

    I'm trying to play catch-up with what I've got and what I've documented, all why juggling work.

    Anyways, I decided to attach some screenshots of my program CompPy. This is what I used to build my rotors and stators.

    • The first picture is a final render of a rotor. This can be exported and finalized in an external CAD program.
    • The second picture is the blank program you see when you first initialize it
    • And the third picture is the NACA blade profile for the object you're building

    I'm still working on making it an executable so people without Python can run it.

    The next thing I'm working on is a design for an outlet guide vane. When the air is exiting the final stage it has a swirl which is created from the final stator. If a combustion chamber was installed the most efficient burn would occur if the air was relatively straight, to achieve this an outlet guide vane is installed.

    I calculated that I'll need an outlet guide vane that has 17 blades. But instead of just a regular blade, there is another and better option. In 2012 a patent was filled, (Patent Number: 8,333,592 B2 for those interested) that showed that having an outlet guide vane with a blade that had a different angle of attack about 30% the length.

    I'm probably not explaining this correctly so attached is a picture. The left diagram is a regular outlet vane and the right one is with the increased swept.

    So this weekend I'll work on a model and try and print it.

  • Stages 2,3,4

    noob_sauce05/01/2017 at 00:10 0 comments

    Printed the rotors for Stages 2, 3, 4 and the spacers and the coupler models, these still need to be finished and cleaned.

    I haven't printed Stage 1 rotor because it's going to be an 18hr print, so I need to devote a weekend to that.

    To give some sizes:

    Stage 2 is 27.8 mm in diameter and 10 mm long.

    Stages 3 and 4 are very similar, both being 24.5 mm in diameter and 6 mm long.

View all 11 project logs

Enjoy this project?



longvo76 wrote 09/21/2018 at 23:33 point

great project!! and you seem to be very knowledgeable.  could i contact you on tips on what im working on?

  Are you sure? yes | no

belac626 wrote 06/21/2017 at 20:10 point

Great project! I am interested to see how it turns out!

 I'm curious though, what resources are you using to design your compressor/inlet and outlet guide vanes? i.e. how do you know the theoretical temperature rise, incidence and deviation angles, etc... And how is your Python program "CompPy" coming along? Will this program eventually automate these calculations?

  Are you sure? yes | no

noob_sauce wrote 06/22/2017 at 12:21 point

I'll try and keep this organized:

Q: What resources are you using to design your compressor/inlet and outlet guide vanes?

A: I've used a bunch of different research papers, luckily with the invention of Sci-Hub anyone can access them and not have to deal with the nonsensical payments, here are a few of the ones I've used: 

-The impact of inlet angle and outlet angle of guide vane on pump in reversal based hydraulic turbine performance

- US Patent 8333559

But with a simple Google you can easily find more

Q: How do I know the etc values?

A: Once I get more time, I'll try and give a detailed overview on the more in-depth math. But basically you take your desired specifications, calculate the temp rise, angles, axial speed, pressure rise of one stage; then repeat that with the other stages using the previous terms as the new inlet variables. 

Q: How my CompPy program coming?

A: Lol, it's coming along, is the best answer I can give right now. It's far from perfect but it's operable. And yes, I do plan on eventually incorporating all those calculations into it. But once again, if there were only more than 24 hours in a day.

  Are you sure? yes | no

tobias.kornmayer wrote 06/21/2017 at 16:40 point

Cool project! I recommend printing the stator veins seperately for printability, I checked the case stl and I don't think it'll be easily printable. Also, the case parts are a bit low poly for my taste :) How about an OpenSCAD version of your design? I could help out with that.

  Are you sure? yes | no

noob_sauce wrote 06/21/2017 at 17:20 point

My newest update actually addresses your concerns. I'll update the STLs later tonight when I get home but the pictures are the renders of the new design where the stators are seperate.

This new design is the one I went with and within a few weeks should be constructed, so stay tuned.

And I was a bit weary about the resolution of some of the parts too, however it wasn't until I printed and saw how small these pieces are that I realized it doesn't matter. In my designer program, the resolution can be adjusted with a simple parameter change so if I wanted to change them it'd be simple. But again the sizes make the polys minimal. For example, the rotor in the compressor, the blades have a max thickness of 3 mm if I remember.

  Are you sure? yes | no

noob_sauce wrote 06/21/2017 at 22:50 point

I've updated the .stl for you if you want the newest ones. Cheers

  Are you sure? yes | no

Keegan Reilly wrote 06/21/2017 at 16:26 point

awesome project, great work so far! I really appreciate you giving some of the math and theory behind compressor design. I have a total noob question:  what is the advantage to this over a standard prop or even a ducted fan?  If it's just for curiosity or to see if it can be done that's cool by me, just wondering if there are efficiency advantages in theory as well.  What speed/altitude range is you drone planned for?  Good luck!

  Are you sure? yes | no

noob_sauce wrote 06/21/2017 at 17:16 point

Noob questions are the first step to non-noob questions. And I'm sorry there isn't more math, I'm trying to update this as much as I can in my spare time, so I promise more will come.

And it really depends on what the desired performance characteristics are for what you would choose. 

-A prop is terrific at low speeds, easy (respectively) to build and maintain. They however will not function above Mach. 

-A ducted fan is essentially the predecessor to the compressor. A ducted fan is simply a propeller inside...well a duct. This work similarly to how regular props work but with added thrust. They also cannot function over mach. A ducted fan works by increasing the velocity of the fluid, whereas a compressor tries to maintain a constant velocity. Both do work on the fluid, it's the stators in the compressor that are the main difference. 

I chose a compressor for the power. The shear power that can be created by a compressor is overwhelming compared to that of a prop and ducted fan. But with power comes great responsibility...and complexity. 

And as far as my drone, which I'm still working on a render so stay tuned, I don't really have any idealistic dreams with it. I'm just kind of seeing what happens. 

  Are you sure? yes | no

Keegan Reilly wrote 06/24/2017 at 03:41 point

Cool,  thanks!  No rush on the math, that textbook you linked to above has everything anyone could want maths-wise.  Have you browsed through the NASA software repository?  There's some really good stuff in there.  It sounds like you are well past the stage of needing design software and CFD, but thought I'd mention in case you ever want to do version 2:

I may still be missing something.  Is your drone supposed to go supersonic?  Or is the power provided by a compressor advantageous because of the thrust to weight ratio compared to props?

  Are you sure? yes | no

Tron9000 wrote 06/21/2017 at 12:54 point

I like the look of this project. I'm keeping an eye on it as I want to learn how to design a compressor. good stuff!

  Are you sure? yes | no

Kyle Brinkerhoff wrote 05/03/2017 at 22:46 point

so when do we add a brushless dc motor to drive it ?

  Are you sure? yes | no

noob_sauce wrote 05/04/2017 at 00:46 point

Once I print everything out and everything rotates without mucking themselves up, I'll commit to the purchase of a brushless. I'm still debating whether a high torque, low RPM motor with a gear box, or a low torque, high RPM would be better. I'm leaning towards to first but that'll just mean more work...

  Are you sure? yes | no

Martin wrote 05/05/2017 at 14:50 point

A gearbox has always losses and makes noise, especially at high RPM. Often RPM are limited by the brushes - no issue with a brushless. Higher torque means stronger, heavier magnets, bigger motor.

I would strongly recommend to use a solution without a gearbox, if somehow possible. Think of the Dyson "digital motor" AFAIK it does not even have magnets, as it is a variable reluctance motor. But it drives a tiny fan ("single stage compressor") with up to 100krpm. Balancing a rotor so it does not rattle itself apart at 100krpm is probably not trivial.

EDIT: I just reread your text and saw that your rpm target is around 30Krpm. This is a perfect value for a brushless motor. I can't see any reason to go for a gearbox in the design. I had a quick look on Hobbyking, there are BL motors with 1000 to 10000rpm/Volt ("KV" number) at a pricepoint below 10$ and doing e.g. up to 45krpm.

Another question: you calculated a temperature rise of 400K. How do you think the plastic can cope with this temperatures?

  Are you sure? yes | no

noob_sauce wrote 05/08/2017 at 17:10 point

Thanks for the info, I'll definetely check out those brushless motors as soon as the prototype is complete. 

And for your question, the temperature rise of 400K and first actual show of effective thrust is only at "the stable RPM" which is the 30k RPM for my motor. For my plastic model I don't plan on going that high. The main purpose of the plastic is to see if everything works well with each other and moves the air as well as a micro-compressor could. After everything checks out, I'll cast everything in aluminum. For informational purposes, cast alumnium has a tolerance of around 200-400 m/s for the tip speed before something bad happens, and luckily at these sizes, that shouldn't be problematic. Machined aluminum is around 500 m/s.

  Are you sure? yes | no

tobias.kornmayer wrote 06/21/2017 at 16:44 point

@Martin: the dyson motor does use magnets (look at 10:30, parameters get cropped): 

  Are you sure? yes | no

helge wrote 05/02/2017 at 08:52 point

Quite the challenge! Love it.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates