Neo Desktop Fan
PC fans are always stylish, adding beauty to the desktop PC while enhancing aesthetics and setting the ambiance for gaming, design etc., Recently, I purchased a few fans for my PC, and with one extra fan on hand, I decided to create a simple fan setup that would look cool on my desktop and add to the overall ambiance.
This desktop fan, along with a dust filter and fan grill, can also be utilized as an air filter on the desk or a fume extractor at workstation.
Supplies
Electronics
- 120mm fan with RGB LEDs - link
- RP2040 XIAO module - link
- Boost converter module - link
- Rocker switch - link
- SPST push button - link
- USB Power Brick - 1 (5V, 1.5A min)
- Wires - 26 AWG (Power) and 30 AWG (Signals)
Mechanical
- M3 bolt x 10mm - 14
- M3 Hex Nut - 4
- M3 Dome Nut - 4
- M3 Brass Inserts - 6
- 120mm fan filter cover - 1 link
- White sticker paper 5mm x 200 mm - 2
3D printed parts
- Fan Holder Frame and Bracket - 1
- Headphone Stand - 1 Thingiverse
- Enclosure -1
- PCB holder - 1
- 120mm Fan grill - (optional) Thingiverse
Tools:
- Arduino IDE
- Soldering Iron
- Scissors, Knife, Ruler
- Insulation Tape, Screwdriver
Inspiration
3D Print Parts
Print config: Medium/High Quality with 60% infill for better results
Material: PLA
Install Brass inserts to the enclosure(4x) and bracket(2x) with soldering iron of temperature around 220 C
120mm Fan Details & Pinout
Prizm 120 ARGB fan has 2 sets of ribbon cables coming out,
Fan operates on DC 12V and LED on DC 5V supply
- 4-pin cable: FAN control
white stripped wire is Ground of the fan and the next to it is +12V
- 3-pin cable: RGB LED control
white stripped wire is +5V of the LED and the next to it is DATA IN and Ground
There are 18 RGB LEDs in the RING - WS2812B
Electronics
Plan is to operate the setup with USB TYPE-C (5V) input power, since the fan requires 12V, a boost converter is used to step UP the voltage from 5V to 12V
Rocker switch to control the power supply of the fan and RGB LED strip
Push button to change the LED strip color, 10K series resistor is used with push button and connected to P3
Data pin of the LED strip is connected to P4
USB Power Consumption: 5V and approx. 700 to 900 mA
Soldering and Wiring
Solder the setup based on the electrical diagram
Place the XIAO microcontroller module in the socket of the enclosure
Close it with 3D printed PCB holder to secure it from moving with 2 x M3 bolt
Add a piece of insulation tape around the Boost module to avoid any electrical short during the final assembly
Arduino Program
Arduino program is a slightly modified example code "buttonCycler" from Adafruit NeoPixel library
Modify the pin assignment as per the electrical diagram
- Button PIN as 3
- PIXEL PIN as 4
- PIXEL COUNT 18
- BRIGHTNESS
- 0 - 0%
- 255 - 100%
Upload the code with rocker power switch OFF (Since the fan consumes more current, few PC USB ports cannot deliver the current)
Unplug from PC, connect to USB power brick and power ON to test the code
Downloads
Final Assembly
4 x M3 Bolts are used with M3 Dome nuts to hold the filter and grill/mesh
FAN is attached to the Bracket with 4 x M3 bolts and Hex nuts
Two white stripes of sticker is used for aesthetics on the enclosure
Attach the frame to the enclosure with 2 x M3 bolts
Bracket is attached to the frame with 2 x M3 bolts in the sides
Setup frame is hung on the headphone stand similar to a headphone 🎧, USB-C is connected in the back
FAN can be flipped direction 🔃 to change the air flow direction by flipping the fan and 90 deg to the bracket