“Spriya” – High efficiency Anet A8 Fan Duct

The story

Why another one – you will ask.
Well, this fan duct was designed with the intent to be free and open source alternative to another one that I liked very much, but it’s license didn’t allow me to share the “remix” I made. Not that it was such a big remix… but I have already made the remix when I saw the license restriction 🙂
So, I decided to start over, and design my own, inspired by it.

The model was designed from scratch in Blender in a couple of days. It went through several iterations, until I was satisfied with the result.

The “marketing” stuff 😉

  • This design is more effective than my other semi-circular design found on Thingiverse (which a lot of people use), and A LOT more effective than the stock Anet A8 fan duct.
  • It makes less noise compared to the stock and semi-circular fan ducts.
  • You get a clear view of the tip of the nozzle – the fan duct does not block it
  • It uses custom attachment design that fits outside of the fan, not inside – making it impossible to fall of once it’s mounted. Many of the fan ducts have this weakness – they fall easily and might ruin your print
  • It provides stronger and wider air flow, compared to the other tested designs. The air flow is separated into two flows at approximately 90 degrees apart. This allows cooling of a wider area, even  way it cools wider area, even if the nozzle moves away from the “point of interest”.
  • It does not cool the heat block / nozzle, especially after performing PID Auto Tune (described below) – the temperature is very stable – plus/minus 0.5C.
  • It’s weight is just 3 grams. Most of the other designs are heavier – 4-5 (or more) grams.
  • The design is open source, and was made using open source software (Blender). The source .blend file is available for download, and you are free to remix & share it!
  • I have intentionally used relatively low-polygon mesh + solidify modifier to make the model easy for customization.


I have chosen Marvin Key Chain for test subject – http://www.thingiverse.com/thing:215703.
All 3 tests were done using the same settings:

  • layer height: 0.2mm
  • shell width: 1.2mm
  • temperature: 190C
  • bed:  60C
  • material: PLA
  • print speed: 30mm/s outer shell, 60mm/s inner shell, 100mm/s travel
  • no infill
  • print acceleration: 800mm/s^2, travel acceleration 1600mm/s^2
  • the “back” side of Marvin was facing to the back of the printer, and it was prone to “sagging” on the lower layers (as with any spherical object).

Test Results

The results are very conclusive.

  • With the stock fan duct – there was a lot of sagging on the back and the sides of the object.
  • With the “Semi-Circular” fan duct – there was some sagging on the back, and minimal sagging on the sides
  • With Spriya – no sagging at all (or almost). I spotted just two tiny irregularities on the back.

Testing with 3D Benchy produced the same results. Actually, they were even better – there was absolutely no sagging with Spriya.

Performing PID Auto Tune

This is very important step, and if you skip it, your extruder’s heater will most likely be working sub-optimal. Meaning, your temperature will be more unstable.
I highly recommend this procedure!
You will need some way of sending gcode commands directly to the printer. Some slicers have this function built in, others – don’t.
You can use the Pronterface (http://www.pronterface.com/) standalone application if you are usure.
Connect the printer to the PC, open Pronterface, and connect it to the printer.
Your fan must be turned on before the auto tune. To do so, execute the following GCODE command (you can also turn it on from the printer’s own menu):

M106 S255 

Next, decide what is your preferred printing temperature, so the heater can be tuned for that tempearture. Mine is 190C (because I use PLA).
Execute the following GCODE command to start the PID auto tune process (replace 190 with whatever temeprature you have chosen):

M303 E0 S190 C8

You should see this response (or something similar):

 Info:PID Autotune start

What will follow, are 8 cycles of heating / cooling. It will take 4-5 minutes or so. Just sit back and wait patiently. When it’s done, you will get something like this:

bias: 164 d: 90 min: 188.73 max: 191.76
Ku: 37.70 Tu: 20.50
Classic PID
Kp: 22.62
Ki: 2.21
Kd: 57.96
Info:PID Autotune finished ! Place the Kp, Ki and Kd constants in the Configuration.h or EEPROM

Use your printer’s Configuration -> Extruder menu, to set the control type to PID, and then set the P,I and D values to match respectively the Kp, Ki and Kd.
Save the settings to the EEPROM, and you are done!
The instructions are for Repetier firmware, but it’s similar on the stock Anet and Skynet3D firmwares.


  • To mount the fan duct, you have to loosen the screws of your fan, insert the duct, and tighten them again.
  • The name “Spriya” is a Bulgarian dialect word, and means “strong wind”, “vortex”, “blizzard” etc 😉

Print Settings

Printer:Anet A8





I used Cura 2.4 to print this. Lay the model like on the picture below:

Only the attachment part needs a bit of support, so you can set the “Support Overhang Angle” to something high like 80.
You also need to set the support placement to “everywhere”, and support type to “concentric”.
Support density of 15% works OK. Be careful when removing the supports afterwards!
Without support, the upper part of the attachment might sag a bit, but it will still work.

Here’s how the generated support structure should look like (it’s ok if it looks different – just make sure there is SOME support):


The files are hosted on Thingiverse: http://www.thingiverse.com/thing:2133328

Leave a comment...