So you are unlucky and got the firs prototype(not many people got it) – well dont cry yet because it might work somehow. And to anyone reading it in the future – I will be sending the new and properly working version of the board to the people who got the prototype for free 🙂
Preparing the arduino
Connect the Arduino then just open the .ino file in Arduino IDE, set the board and COM port under Tools and then you can flash the program. You should see some lights flashing on the Arduino when it is flashing. If you have trouble with these steps then Google is your friend.
You can also tweak the 4 values if you like to, the min, max and default speeds can be calculated by multiplying the percentage with 255. The timeout value I havent yet documented well enough so for now leave that alone for now 🙂
Installing the mod onto the fan
Firstly check if your fan is compatible, since I found out that some fans use slimmer ears on the connectors (HP PN: 654577-002) and the pcb cannot fit into those.
Next part is bit tricky, you need something to remove the original fan connector. I used a small flathead screwdriver to lift the connector over the clip holding it in, best way I found is to spin the screwdriver little bit to try to push the connector towards the fan. Then just pushed it out towards the fan with the screwdriver from the gap.
Now the fan board can be inserted into the fan connector, the side with J4 header towards the fan.
This is the trickiest part, inserting the pcb into the fan. For that I bend the red plastic outwards and push the board down until the fan connector is below the mount and then try to get the pcb to start going into the mount. After the pcb edge is in the mount gap you can just push it in place. BUT be careful with the black connector on the PCB, it BREAKS EASILY, so do not put any force onto it or use it as leverage point. Only push the module by the pcb. The other connector on the other side of the board that goes into the fan is pretty strong though so dont worry about it 🙂
Next steps are more of a guideline because there are multiple ways you can go about them.
For dl380p I inserted the fans into the carrier, then soldered the wires to the boards. For dl380e you have to solder the wires, then insert the fans into the server(be careful when inserting and make sure the wires dont get pinched, there is a slot towards back of the server where the wires fit out well) The wires have to be soldered to the J4 header, be careful when soldering though since if you are not careful you can accidentally scrape of the soldermask and short the module to the ground. I did it and then the arduino just keeps restarting and fans will spin at full speed. It could also damage your arduino.
There are 6 pins/channels you can connect the fans to: 3, 5, 6, 9, 10, 11
You can connect the fans to any of them you like, for 6 fan servers you can have control over each fan individually, on 8 fan servers you have to have 2 fans on same channel. Or if you are lazy you can have all fans under same channel. I used a scew terminal arduino header to make connecting and disconnecting easier during prototyping phase but you can solder the wires or attach them however you like.
Below are some ways I did it on my dl380p
After plugging the arduino into servers internal (or external if you dont have one available inside) usb port you should be ready to go 😀 – the fans should spin at constant 15% without any control signals coming from server. Also you should boot up the server with the case open at start and see if all fans spin because this board is a prototype and the connectors arent best quality ones. And let it post and see if the server detects all fans, if it doesnt then wiggle the fan ardound until it does detect it – yop thats the best solution for this. I promise that next versions do not require you to wiggle fans around 😀
And if no amount of wiggling helps, then you can cry, or just message me(if you got the prototype you already have my contact)