I've put together a fan controller/temp monitor/hardware monitor that drives a 2x40 LCD and displays data collected from the PC over serial such as temperatures, CPU and GPU usage, network activity etc for this custom PC case. I'm using a Pro Micro which is an Arduino Leonardo based breakout board.
My only problem is I've killed 3 Pro Micros and I have no idea why. The first two died during prototyping but the 3rd just died while I plugged a fan into one of the headers while it was running.
Here's a schematic of the Pro Micro PCB:
I removed fuse F1 to disconnect it from USB power since the USB tends to provide power even when the PC is off and it causes issues. Also I'm applying 12V to RAW which runs it through the regulator and steps it down to 5V. VCC is used as an output to supply a regulated 5V to the thermistor.
My board is done on stripboard and is as follows. The blue traces are the stripboard, red are jumper links. The lower right circuit is a buck converter used for driving fans that don't have a discrete PWM input.
I had just set up a 25khz PWM signal from pin 5, which connects to the PWM2_FAN header. Everything was running and I plugged the fan in and the micro blinked a couple times, the display corrupted and it died. The fan is a small 70x70mm fan, draws 300mA @ 12V. The ATX spec states for PC fans, they want a 25khz PWM signal at 5.25V max 5mA max. Pin 5 measures around 10k to ground like the other pins, so I don't believe I shorted it.
The regulartor on the Pro Micro is now putting 1.8V instead of 5V. I'm going to remove it and see if its damaged or if its being dragged down by the micro.
I'm thinking this is a problem due to the inductance of the fan and my stripboard with its lack of ground plane but I'm not really sure how that all works.
Edit: Just checked and the regulator on the Pro Micro board died but the micro is still okay. I had problems with the regulators on the other ones dying but in those cases the microcontroller IC was also being damaged. Its a 5 pin SMD labeled S8QF which turns up not much data. I'm thinking its getting some kind of voltage spike perhaps? Maybe I should put like a 15V zener on the RAW pin to GND?
Also here's what it looks like if anyone's curious. The case is a modified Leightronix Pro-16 video event controller I had no use for. The micro communicates with a program called Open Hardware Monitor which I modified to send various sensor info to the micro to be displayed. It's my first project involving a microcontroller so everything is new to me and it took a whole bunch of hours to get to this point. From driving the display, to getting the serial data right, to modifying the Open Hardware program has taken months but its pretty satisfying at the same time.