Hello,
yes, this a totally academic question that has been bugging me today for the creator team, i'm not trying to start any kind of ucontroller flamewar at all, it's a pure and simple question.
I come from the PIC camp(well, a long time ago, my only experience is with PIC and ASM) and due to that i've been always biased as to chose PIC as an exclusive ucontroller provider(i'm familiar with it, etc etc) -which isn't saying "ohh the rest are crap", it's just what i'm more familiar with.
After getting started with Arduino and reading the ATmega xx8 series datasheet i have to say i'm very impressed, it's an incredible powerful little chip there with a huge instruction set to boot.
So, what drove Arduino team to use AVR, specifically the ATmega xx8 series?.
Was it...
¿hardware specs?: i have a hard time finding a PIC with the same relative characteristics in 8bit,(they usually go in the PIC18 range with 64 to 80 pins packages and far greater specs like 30 adc channels and whatnot). Also AVR has self-write and bootloader capability which AFAIK aren't common in midrange PICs
¿price?(atmega328 is ~5$ in digikey)
¿OSS compiler availability? AVR has GCC open source compiler readily available, PIC has the free hitech C-lite what compiles without optimizations(horrid code)
¿team members familiarity/expertise with AVR?
or another choice which i'm not listing?
Eliminateur:
¿OSS compiler availability? AVR has GCC open source compiler readily available, PIC has the free hitech C-lite what compiles without optimizations(horrid code)
¿team members familiarity/expertise with AVR?
I don't know for certain, but these two seem like reasonable guesses. One thing about the AVR is that it has the GCC compiler for it, so just about any platform can be used to compile code for it (you could probably even use a souped up Amiga if you wanted to - with a bit of hacking, of course!). Whereas the PIC doesn't have this openness; it was one of the things that drove me from the BASIC Stamp to the Arduino (I could no longer compile my code under 64-bit). Plus, GCC support for the PIC line is limited for some reason (only a couple of lines from the family, from what I have gathered, and it doesn't seem to be updated often, either).
So this openness might have driven a decision (???)...
That, and the people behind it may have been more familiar with those tools than with the PIC and its toolchain.
Maybe the founders will chime into this thread, and point us to some historical documents or tell us in more detail why they did choose the AVR? All I know, though, is that I am glad they did!
hadn't seen it, very interesting but it's too "marketing", i'd love a more technical explanation, that part got mentioned on the fly generically at the beginning, and always with generic words like "technical solution A, B, bug" etc etc.
as far as i could gather it's because of the GCC compiler cross-platform thing.... but i'd love a real technical account of the process that led to AVR
I think you have the timeframe a bit skewed. From the documentary, it seems it was more like "AVR was chosen because it was there, and the Arduino project sort of grew up around it."
westfw:
I think you have the timeframe a bit skewed. From the documentary, it seems it was more like "Arduino was chosen because it was there, and the Arduino project sort of grew up around it."
Eliminateur:
hadn't seen it, very interesting but it's too "marketing", i'd love a more technical explanation
This is not marketing. This is what the Arduino is and how this project was born. Very interesting video for everyone who want to make something similar. Arduino-making machine at the epilogue is my favorite part of this movie =)))
cr0sh:
[...] Whereas the PIC doesn't have this openness; it was one of the things that drove me from the BASIC Stamp to the Arduino (I could no longer compile my code under 64-bit).
I never thought of that. Shows what a long time it's been since I played with a Basic Stamp.