The Arduino can be programmed in standard C and assembler, of course, using Atmel's AVR Studio software - it has a connector for the Atmel debuggers and programmers.
Indeed it can. I would just use GCC, vi and a free programmer. Indeed I have done so prior to being waylaid by the Propeller.
But that's not the point of Arduino, the Arduino is not just a chip. They have taken a micro-controller and packaged it up in a way that you can get started with it very quickly. That includes the board it sits on, the serial bootloader, the IDE and the supplied libraries. They carefully don't document the programming language to it's full extent, just enough to quickly let you get on and make something work.
Actually the biggest achievement of the Arduino is that they have managed to make it some kind of standard such that there are now all kinds of add ons for it, the shields, coming from many sources. Bit like a micro-controller version of the PC. You don't by a chip you buy a motherboard and slap whatever you want onto it.
This, apparently, has come about due to the open source nature of the whole thing from IDE to compiler to bootloader to board design. Everything except the chip itself.
The Arduino seems to have been whole heartedly adopted by the "artistic" people that wanted a building brick, with a lot of the heartache hidden, to flash lots of LEDs etc.
The Prop, to me, still has that hidden away "engineers" niche. As many before have lamented, if only that breakthrough could happen for the Prop. The lunch box I carry around is a demo board sort with a breadboard on the top of a Betacam SP tape box, it was an Arduino before. The almost built in periferal support made it a staight choise.
It all works very well, especially in a university environment. That type of development might become more common, in the future. It means that one gets the use of a top of the range expensive compiler (Keil) completely free. One can even use the system from a mobile phone! Off-line development is possible, as well.
You have just described the Propeller A.S.C. (Arduino Sheild Compatible) board. See this forum.
Well I'll be...you're right! The people who are encouraging the use of the Propeller in education should definitely be highlighting this as an example rather than the proto board or Propeller Education Kit. The Propeller ASC looks like it simplifies almost all of the electronic aspects, just like the Arduino does. Thus, as long as you write correct code and connect the correct shield, you get correct results. No need to troubleshoot the circuit itself. The ASC architecture also means fewer damaged components due to incorrect connections, which was a huge concern when I got my degree and probably still is a huge concern nowadays.
For anyone who is learning on their own, though, I would strongly recommend the Propeller Education Kit. You'll learn a lot more by wiring up the whole system yourself on a breadboard and setting up each of the experiments using individual components. The "disadvantage" of the PEK is that you can damage components if you hook something up incorrectly. You also might have to troubleshoot a circuit instead of just debugging your code. Personally, I think both of those things are good learning experiences. But in today's world of inflated grades and deflated budgets, I can understand why the Arduino-type "idiot proof" architecture would be popular.
I would love to see schools use the propeller as an education platform. Like other have stated if you know C,C++, or even Java it should be easy to pick up Spin. I think most schools would not use the propeller because they are in the mind set of just using C since it is the current dominating language in micro-controller programming, even though spin is pretty much the same concept. If more people start using the propeller to create fun and exiting projects other will follow. I am actually using a propeller for my senior project
Comparisons of both computer hardware and software has an extremely long history of endless debate.
In an academic environment, you really have to accept the lead that your teacher offers. Of course there will always be the 'lemmings' that will claim that what they have is the best of all regardless of facts. And there will also be a lot of 'loyalist' that just prefer what they know and using what their friends also you.
Consider the fact that your teacher has spent many hours outside class preparing lessons for a particular platform. Are you asking him/her to dump all that and take up another product? In many cases, you will be viewed as subversive to the educational process.
Still, it is best to learn both and understand the underlying realities of what makes each unique and better in some circumstances. But these issues are better pursued outside a basic educational course.
My own preferences are Parallax products, but if I enrolled in a curriculum that required an Arduino, I'd simply try to do my best to master what the class has to offer.
The thing is: Arduino and Propeller are two seperate things. Two seperate stories. We can't compare them that much since the architectures of both systems are totally different.
If I'm a starter, begineer or a freshman, Arduino will come to my mind. For those who learnt C/C++ as a hobby, this will be more of an enjoyment also.
However, I started learning micrcontrollers through the hard way - Assembly. Yes, the PIC16F. Soon, I worked my way up to the PIC18F, and nowadays using C instead.
In general, if anyone wanted to learn a microcontroller without much experience in electronics, Arduino could be the choice. It is not to say that the Propeller is begineer-unfriendly - on times it needs some experience in microcontrollers from the person first.
But nowadays, I feel that the Propeller is also reaching towards the begineers as well. I haven't read much about the Spin language yet, and I have the confidence that it'll be a very good and a fun experience for these students.
I'd say be happy it's not a PIC chip. AVR's are much nicer to program at the assembly level than pretty much any other 8 bit'er. Only exception that comes to mind is the H8's.
Two things do come to mind.
1. If the teacher feels that teaching C is quite important, Arduino seems to be preferred. And yet I have to wonder as I believe that the Propeller offers C as well.
2. The quality of the supporting publications available have as much to do with the successful acceptance of a device in the educational environment as does the actual cost and the actual features of the hardware..
Regarding item 2, Parallax excelled in its Basic Stamp publications for ease of learning. And they had a huge success story because of it. I certainly love the BasicStamp Manual as it was far more informative and well put together than anything else out there. Some of the competition was downright horrible.
But with the Propeller, there was a bit of a rush to market with more documentation coming later. Initial success has likely been due to both Parallax's reputation and the unique aspects of the Propeller. But I fear that the material that Parallax is now putting out for the Propeller is not much better educationally than Arduino.
In the long run, Parallax will likely pull ahead in the educational market as their publications evolve and improve. There has already been some headway. But the bottom line is that I think it is a deception to think it is just the hardware that makes a superior educational device.
Good publications and excellent presentation of the details are what really appeal to the learner. They have confidence in the books and that builds confidence in themselves. For their teachers, teaching is also much more pleasant.
The 16-bit PICs are very nice to program in assembler, they are much better than the AVR.
Last I read the PIC was still using a single accumulator register, no general register set at all, and with all sorts of twists to perform any indexing. It was gah! how could something be so backward.
That was the 8-bitters though. I gather the 16 bit versions only share the name?
But now there are 32 bit PICs which have a MIPS architecture with 5-stage pipeline, hardware multiply/accumulate unit and up to 8 sets of 32 core registers.
They have identical peripherals to the 16-bit PICs, and are pin-compatible with the larger ones, so they are PICs. Upgrading is very easy, the board doesn't have to be redesigned.
Change the subject why don't ya! I'm sure we could manage same peripherals for the prop also. After all, they won't be code or even register compatible with the 8 bit peripherals.
My question was about the 8 bit vs 16 bit assembly. The 32 bitters have already revealed themselves to be a licensed core. Is that also true for 16 bit PICs? In fact, are they also a MIPS core?
Take a look at Parallax's preview of the new 'C3'. I suspect this is what one might call Parallax's hardware response to the Arduino on a hardware level. It is loaded with goodies and promises to be an extremely good value.
The 8-bit PIC18 fixes most problems people have with the earlier PIC16 architecture. I've never had any problems with it, BTW, and Microchip is the market leader in 8-bit devices. Atmel is fifth.
You seem to have conveniently forgotten that the SX chips and Stamps that are so popular with Parallax users use the PIC architecture! PICs are popular with professional users and hobbyists because they are easy to use, Microchip support is excellent, very good tools are available, and the chips are very competitively priced and are actually available. Most of their competitors can't supply anything, at present.
The 16-bit PICs have actually been around for about 10 years. They started with the dsPIC, which has a DSP in addition to the 16-bit core.
As to Pics being popular with hobbyists, I would think they must be using 3rd party easy to use compilers, 3rd party documentation, and 3rd party sample programs which they can easily modify? (And they never set foot on the Microchip web site?)
I can't imagine any person new to microcontrollers could walk in off the street, read a 300/500 page Pic data sheet, then several other 200 page manuals for this and that, and understand a Pic!
...now use the two calculations provided to determine your PWM frequency. And use that document to learn what "FOSC" and "TOSC" are!
Luckily someone has come up with a handy dandy calculator web page which easily gives you these values. And at the top of this page it says...
"This calculator will save you from insomnia and headaches!" :smilewinkgrin:
Comments
But that's not the point of Arduino, the Arduino is not just a chip. They have taken a micro-controller and packaged it up in a way that you can get started with it very quickly. That includes the board it sits on, the serial bootloader, the IDE and the supplied libraries. They carefully don't document the programming language to it's full extent, just enough to quickly let you get on and make something work.
Actually the biggest achievement of the Arduino is that they have managed to make it some kind of standard such that there are now all kinds of add ons for it, the shields, coming from many sources. Bit like a micro-controller version of the PC. You don't by a chip you buy a motherboard and slap whatever you want onto it.
This, apparently, has come about due to the open source nature of the whole thing from IDE to compiler to bootloader to board design. Everything except the chip itself.
The Prop, to me, still has that hidden away "engineers" niche. As many before have lamented, if only that breakthrough could happen for the Prop. The lunch box I carry around is a demo board sort with a breadboard on the top of a Betacam SP tape box, it was an Arduino before. The almost built in periferal support made it a staight choise.
Gack, what a nightmare.
Price is great considering what it includes, but more expensive than a duemilanove.
Well I'll be...you're right! The people who are encouraging the use of the Propeller in education should definitely be highlighting this as an example rather than the proto board or Propeller Education Kit. The Propeller ASC looks like it simplifies almost all of the electronic aspects, just like the Arduino does. Thus, as long as you write correct code and connect the correct shield, you get correct results. No need to troubleshoot the circuit itself. The ASC architecture also means fewer damaged components due to incorrect connections, which was a huge concern when I got my degree and probably still is a huge concern nowadays.
For anyone who is learning on their own, though, I would strongly recommend the Propeller Education Kit. You'll learn a lot more by wiring up the whole system yourself on a breadboard and setting up each of the experiments using individual components. The "disadvantage" of the PEK is that you can damage components if you hook something up incorrectly. You also might have to troubleshoot a circuit instead of just debugging your code. Personally, I think both of those things are good learning experiences. But in today's world of inflated grades and deflated budgets, I can understand why the Arduino-type "idiot proof" architecture would be popular.
In an academic environment, you really have to accept the lead that your teacher offers. Of course there will always be the 'lemmings' that will claim that what they have is the best of all regardless of facts. And there will also be a lot of 'loyalist' that just prefer what they know and using what their friends also you.
Consider the fact that your teacher has spent many hours outside class preparing lessons for a particular platform. Are you asking him/her to dump all that and take up another product? In many cases, you will be viewed as subversive to the educational process.
Still, it is best to learn both and understand the underlying realities of what makes each unique and better in some circumstances. But these issues are better pursued outside a basic educational course.
My own preferences are Parallax products, but if I enrolled in a curriculum that required an Arduino, I'd simply try to do my best to master what the class has to offer.
If I'm a starter, begineer or a freshman, Arduino will come to my mind. For those who learnt C/C++ as a hobby, this will be more of an enjoyment also.
However, I started learning micrcontrollers through the hard way - Assembly. Yes, the PIC16F. Soon, I worked my way up to the PIC18F, and nowadays using C instead.
In general, if anyone wanted to learn a microcontroller without much experience in electronics, Arduino could be the choice. It is not to say that the Propeller is begineer-unfriendly - on times it needs some experience in microcontrollers from the person first.
But nowadays, I feel that the Propeller is also reaching towards the begineers as well. I haven't read much about the Spin language yet, and I have the confidence that it'll be a very good and a fun experience for these students.
Yeah - best of all it has multiplier/divider circuitry inside.
The advanced dsPIC30/33 has barrel-shifters which could be good for matrix manipulations.
By the way, are the dsPIC30/33's some parts of their architecture (especially FPU) are reminiscent to 486DX ?
1. If the teacher feels that teaching C is quite important, Arduino seems to be preferred. And yet I have to wonder as I believe that the Propeller offers C as well.
2. The quality of the supporting publications available have as much to do with the successful acceptance of a device in the educational environment as does the actual cost and the actual features of the hardware..
Regarding item 2, Parallax excelled in its Basic Stamp publications for ease of learning. And they had a huge success story because of it. I certainly love the BasicStamp Manual as it was far more informative and well put together than anything else out there. Some of the competition was downright horrible.
But with the Propeller, there was a bit of a rush to market with more documentation coming later. Initial success has likely been due to both Parallax's reputation and the unique aspects of the Propeller. But I fear that the material that Parallax is now putting out for the Propeller is not much better educationally than Arduino.
In the long run, Parallax will likely pull ahead in the educational market as their publications evolve and improve. There has already been some headway. But the bottom line is that I think it is a deception to think it is just the hardware that makes a superior educational device.
Good publications and excellent presentation of the details are what really appeal to the learner. They have confidence in the books and that builds confidence in themselves. For their teachers, teaching is also much more pleasant.
Last I read the PIC was still using a single accumulator register, no general register set at all, and with all sorts of twists to perform any indexing. It was gah! how could something be so backward.
That was the 8-bitters though. I gather the 16 bit versions only share the name?
My question was about the 8 bit vs 16 bit assembly. The 32 bitters have already revealed themselves to be a licensed core. Is that also true for 16 bit PICs? In fact, are they also a MIPS core?
The 8-bit PIC18 fixes most problems people have with the earlier PIC16 architecture. I've never had any problems with it, BTW, and Microchip is the market leader in 8-bit devices. Atmel is fifth.
PIC12 - PIC18 (available from 1985(corrected)) is the original 8 bit heavily nerf'd core from an earlier processor.
PIC24 (available from 2004) is a cleanly design 16 bit core that is full featured and with a few bonuses.
PIC32 (available from 2008) is the licensed MIPS core.
The 16-bit PICs have actually been around for about 10 years. They started with the dsPIC, which has a DSP in addition to the 16-bit core.
So, prolly wasn't available for most people until 2005. I guess I should have put 2005 in my list.
It's only the 8 bitters that were stink bombs. Which just happens to be the vast majority of what the PIC is.
I can't imagine any person new to microcontrollers could walk in off the street, read a 300/500 page Pic data sheet, then several other 200 page manuals for this and that, and understand a Pic!
For example go to Adobe reader page 69 (document page 67) at the following document, where it explains how to use the PWM on a Pic microcontroller...
http://ww1.microchip.com/downloads/en/devicedoc/39582b.pdf
...now use the two calculations provided to determine your PWM frequency. And use that document to learn what "FOSC" and "TOSC" are!
Luckily someone has come up with a handy dandy calculator web page which easily gives you these values. And at the top of this page it says...
"This calculator will save you from insomnia and headaches!" :smilewinkgrin:
And here someone has explained what these values are...
http://www.microcontrollerboard.com/pic-timer2-tutorial.html