This motherboard doesn't offer any fan control and its sensors are close to worthless.  If the car interior is 120degF, I'll need to run the fan at full blast to keep the computer from cooking itself, but I really don't want all that noise while I'm driving.

Requirements:

  • Low power; I have a hard 80W ceiling for everything.
  • Interface via either serial or USB.
  • Raise fan speed if haven't heard from the computer (prevent a locked up computer from burning itself to death...  and this computer locks up semi-regularly thanks to its unfixably buggy DMA).

Possible Solutions:

Discrete R charging a C that turns on a MOSFET. The computer could pulse a line to discharge the cap if it wants to slow the fan down.

Advantages: no microcontroller; all intelligence is on the computer.
Drawbacks: who knows what sort of timing the motherboard can produce?
Verdict: even though it's simpler, it would almost certainly be more effort than a microcontroller.

Microcontroller driving fan via pwm. example

Advantages: simple, easily modifiable, off-the-shelf serial connection for control.
Drawbacks: Packaging, need to set up a dev environment.

Screw it. The 18-pin PIC18F1220/1320 and 1230/1330 look awesome. Software is just too easy.

Programmers

But it ain't easy to find a newish PIC programmer for Linux. Some info: [1]

Fry's: Twin TW-DIY-5149 for $64.99. USB. OS support??

Jameco: Pickit2 $76.00. WTF? Digikey has this for 1/2 the price. No, it's 2/3 the price. The $36 product contains only the programmer, the $50 one includes all the jumpers, cables, etc.

Melabs: U2 $150 USB. Linux? Not impressive for the money, why not just go with Microchip?

Melabs: Epic Plus $100 Not USB. Linux? Also not impressive for the price.

Jupic: [2] Looks awesome but no US distributor.

Kit182: [3] This device looks super cool. Offered fully assembled in the US: [4] for $50. No word about software though. And this $60 kit looks to be the equivalent of the 150, the 182's big brother.

Digikey: $50 for regular or debug, $35 for pickit2 only.

Parts

Digikey:

Jameco:

Jameco:

PICKIT 2 STARTER KIT  MICROCHIP CORPORATION DV164120 	697338PS 		10/26/07 	1 		$75.95 	$75.95 	REMOVE
TRANSISTOR,N-CH.MOSFET(BUZ72L) IRL520N,100V,10A,TO-220 	MAJOR BRANDS IRL520N 	209058PS 		10/26/07 	10 		$0.63 	$6.30 	REMOVE
@ CAP,RADIAL,MINI,5MM,10uF,35V 20%,5mmx5mm INCREMENTS of 10 	JAMECO VALUEPRO 10UF/35V 5X5 	94220PS 		10/26/07 	10 		$0.08 	$0.80 	REMOVE
@ CAP,RADIAL,10uF,50V,20% 5mm x 11mm INCREMENTS of 10 	VARIOUS R10/50 	29891PS 		10/26/07 	10 		$0.06 	$0.60 	REMOVE
SMALL SIGNAL DIODE SWITCHING DO-35 500MW 75V ROHS 10K< 	DIODES INC. 1N4148-T 	1537969 		10/26/07 	10 		$0.02 	$0.20 	REMOVE
IC,PIC18F1320-I/P, FLASH16bMCU 4K ROM,16I/O,A/D,40MHz,18pITMP 	MICROCHIP CORPORATION PIC18F1320-I/P 	248111PS 		10/26/07 	3 		$4.89 	$14.67 	REMOVE

Should also decouple with 100nF at the pic's vdd.

Use this bootloader: http://www.etc.ugal.ro/cchiculita/software/picbootloader.htm

  • The smallest PIC device I can get with USB is 28 pins. Atmel's smallest appears to be 32 pins! Ouch. Guess I'll skip dual Serial/USB and just go with serial... that sucks!
  • The 18F1220/1320/1230/1330 are the only 18-pin DIP PIC18s. Maybe I'll give up self-programmability and try to get a smaller pincount.
  • Hey, the PIC12HV609 can operate at 12V! There may be no need for a 5V line. It does support ICSP. Except that there's no UART/USART! Smallest part with a USART is the PIC16F688 with 14 pins. Maybe I can use a software uSART?
  • Max232 looks like a pain. DS275 is in a DIP8. Too bad it wants 5V.
  • Max231 (14 pin dip) and Max239 (24 pin), MAX201 (14 pin) take 12V.

What a pain in the ass... I'm just going to go with the Sparkfun UBW.

All GPIO pins come up tristated. That means that we'll need external pulldown resistors to ensure that the fan will run full speed on startup. Or pullup I suppose, either one. Pullup is probably easier.