@Old Steve : Great link! When I purchased my Arduino UNOs earlier this year (along with a whole bunch of shields at Radio Shack) after receiving one as a Christmas present two years ago. I downloaded the datasheet for the Atmel ATmega 328P thinking maybe I could program this powerful μP with assembler. Not. Way too complicated for my simple tasks. PICs and old-school 8085 8-bit μPs are about my speed now.
It is good to know that this chip it can be programmed as a stand-alone to behave like an Arduino UNO, neglectling the USB interface that comes with the Arduino UNO board.
Yep. I'd hate to be stuck using the actual UNO boards for everything. It's a fairly simple task to set up for using them as a stand-alone chip. And I didn't want to have to only buy chips with the bootloader pre-programmed into them, either.
I'll make good use of the great support for these things in the way of existing libraries. That's why I'm buying it - I wanted to test out simple mind control using the Mattel Mindflex headset and the Arduino Brain Library - too hard to port to my usual PICs.
I appreciate the floating point and 32-bit variable support, too. My usual PICBasic Pro can only handle up to 16-bit positive values. I have a C compiler for PIC, but it's much harder to wrestle with than PICBasic and Arduino.
Not keen on the new terms 'shield' and 'sketch', borrowed from 'Processing', I guess, but I'll get used to them. I also downloaded a copy of 'Processing' to check out yesterday. Pretty alien so far though. I think I'll stick to C++ for my PC programming. I feel at home with that.
My only gripe, with both Arduino and Microchip PICs, is they only support a single thread.
Multi-threading in micros would be fantastic. It would sure make some tasks easier, rather than messing around with complex multiplexing, interrupts etc.
So maybe it's time for me to resurrect the Raspberry Pi I received as a Christmas present several years ago, load that puppy up with a real-time Linux distro, and see what advantage multi-tasking might have... That's assuming I can find an affordable real-time Linux with pre-emptive multi-tasking and defined interrupt latencies like I used on an IBM '386 PC circa 1989 or thereabouts. I wish I could remember who the vendor was... not the usual Linux suspects.
Raspberry Pi definitely sounds interesting to play with. I have absolutely no experience with Linux, though. It would take me forever to get it singing and dancing the way I'd like.
That's another thing I like about Arduino - it took all of 5 minutes to work it out. Almost over-simple, and so much like normal C that there's no real learning curve involved. I noticed that the libraries are written in C with header files, too, so not too hard to create.
I would have bought an Arduino Mega2560, but the ATMega2560 only comes in surface-mount, so I settled for the UNO. Gutsy enough for most things I'll be doing.