Yet Another Fucking Arduino Clone

Click this image to return to the main index. I recently had the opportunity at work to use an Arduino - like, an actual Arduino, one of those roughly-credit-card-sized boards with USB cable and color-coordinated software package. I had used the occasional third party target board before but I far and away preferred avr-gcc and an SPI programmer.
A couple of things bugged me: All the pin labels are human friendly rather than the chip port labels. The form factor is a bit strange - all of the headers are on the same 0.1" grid except for one header which is off this grid by 0.05" which means I can't access those pins without some extra soldering when I drop a piece of 0.1" grid perf board on there. Shield boards tend to hijack pins - some combinations of add-ons aren't compatible because they (try to) use the same pins to talk to the Arduino. Finally, they're expensive (due in part to a high part count) which discourages permanent embedded use.
The final issue is partially addressed with various 'barebone' boards. Sparkfun makes the Arduino Pro but I still get sticker shock and I question the logic (pun not intended) of the design: I can see 150mA being used up quite quickly (although I suppose I can use the VIN pin then). What's with the power switch? Even the full sized Arduino meant for desktop experimentation didn't have a power switch. The resettable fuse is nice but again it seems geared for desktop use, not embedded use - protection from the 'oops, I plugged that in wrong' situation. Evil Mad Science makes the Diavolino which is a good step up but I still don't like the header layout.
So I figured "Why don't I make my own Arduino-compatible board and fix what I think is 'wrong'?" (Although strictly speaking I guess it's not fully compatible because I changed the headers. Hah!)

If the f-bomb in the name offends you or you need to use this is a class setting, feel free to substitute the word 'fun'. None of the hardware actually has the name spelled out so everybody is none-the-wiser.


Rev 0
I'm not going to detail revision 0 in depth. I initially challenged myself to draw up the schematic, do the layout, and order the board all in one weekend. The resulting board itself works, but after spending some time thinking about the design afterwards I ended up changing some critical bits. Namely, I switched over to all through-hole parts (not a big deal) and flipped one of the headers to make running the traces a lot easier (a HUGE deal as this means all future boards won't work with Rev 0 boards).
I should point out that I haven't run the Arduino software on this board yet. This is mainly because I used a leftover ATMega48 TQFP I had laying around from the LED Matrix project. If memory serves, the Arduino bootloader needs a ATMega168 or better.


DISCLAIMER
All content is owned by its respective creators/licence holders.
Unless otherwise stated, everything else: Copyright © 2009-2010, Chlazza