@Leon: Oh, no I am not going to produce chips I was just pointing out that Parallax is nothing different from Atmel or any other company producing ICs. Giving out the design would be if not self-killing, but at least throwing away years of hard work.
Arduino programs have a "main" function, of course. It's linked to the application by the software and the user doesn't have to bother with it.
Leon,
That is EXACTLY what I am talking about - you certainly can use the AVR in an Arduino as an AVR. But that is not using an Arduino. When a newbie starts out with an Arduino, and then "catches the bug" and moves on to GCC or Keil, or CodeVision, or ImageCraft any other C compiler, a common mistake will be to forget to put in a Main(); function. Then it will not compile! As far as software goes, their sketch compiler is really the only thing that IS Arduino. I can use WinAVR, or any other IDE and I can compile in any of those above listed compilers (or BASCOM AVR, or Forth, or CoBoL for that matter), and use a downloader of my choice (even create my own bootloader so that I can download programs over the Arduino serial port rather than an ISP), but again that is NOT Arduino.
Look people, I have nothing against the Atmel hardware used in the Arduino, but that is not what makes up the Arduino. You can say that you love the Big Mac because you can take the meat out, wipe off the Special Sauce, etc and put it on a Kaiser roll and add cheddar cheese, some leaffy lettuce and mustard and BBQ sauce and have a great sandwich! But that is not a Big Mac! You are only using an Arduino if you stick with the Arduino C-ish compiler, use their downloader and IDE and stick to the Arduino philosophy.
Again, please don't think that I hate the Arduino. I don't! It's just that I think that the Arduino has a lot more hype than it really deserves and I don't think that it makes a good starting point for beginners - this from over 20 years of teaching computer/tech classes on-and-off (it may make a good starting point for someone who wants to start AND end with Arduino, after all it is pretty simple), but if there is any chance of continuing to other controllers, start with one that uses a more standard system (language, IDE, downloader, ISP, etc.)
With the AVR, you are free use any programming language, any developing environment (Integrated or not), any downloader system and any bootloader and still call it an AVR. If you select a Prop, you can use any programming language (Spin, Assembly, FemtoBASIC, PropBASIC, C, Forth, etc, etc, etc) and any developer, and download it with the serial or USB cable or even put it on the EEPROM or an SD card, and you are still using a Propeller. As I mentioned before, if you change anything in the Arduino system, you are not really using an Arduino. Try to run the Arduino IDE/compiler for a PIC, or a MSP-430 or even a Prop - it won't work. The Arduino compiler cannot be used (correctly) if I choose ButtLDR or WinAVR loader or BASCOM AVR loader or any thing else. If I choose to program in BASCOM, I can use the Arduino hardware, but it is not Arduino - go to an Arduino forum and ask about troubleshooting a problem in your BASCOM program and watch the results - that is not Arduino.
Nope - not me. I just like some of the stuff they do. I like the idea of the really bare bones Arduino boards with the same form factor as the normal ones - but I haven't actually used one yet (even though I bought a bunch of them).
There are several nice "Arduino semi-compatible" boards out there that were inspired by the Arduino community but are not plug compatible with Arduino shields but are easy to plug into breadboards. They make really nice AVR development tools, though - stuff like the BBB from Modern Device.
...most of my AVR products have an ISP port built-in, but the Arduino (IIRC) does not...
Most Arduino boards either have the 3x2 header for ISP or have a place to solder one in.
By the way, I like BASCOM and it's what I've used most often with AVRs. I've been using them since before Arduinos were around and I've been through numerous Atmel shortages (including stocking up on different versions of 2313s and preordering 328s).
If you know what you're doing, you can mix and match all the hardware and software (languages, compilers, bootloaders, ISPs, etc.). I like working with the AVRs (and props too, of course. I never really liked programming PICs). This flexibility is a large part of it. I also enjoy playing with the "building block" nature of Arduino shields and this carries over to things like the Gadget Gangster boards.
I'm also fond of the Processing language that the Arduino IDE is based on. They are all different tools for different purposes.
I'll try to remember to bring a Diavolino board with me to UPENE. I've have some spare 328s (and 168s) around too (may have to dig to find a crystal - they always seem to evade me).
All that someone who has been using an Arduino needs to do if he graduates to using an ordinary C compiler is get a copy of Kernighan and Ritchie and read it. Everything is in there.
All that someone who has been using an Arduino needs to do if he graduates to using an ordinary C compiler is get a copy of Kernighan and Ritchie and read it. Everything is in there.
Leon,
That's true! Of course that is true for anyone who wants to learn C - Every course I've taken in C (on-line, independant study book and in-class) has recommended that book - I've read it and it does cover the language.
But someone who starts off with an almost C will have some difficulties switching over to K&R C (some more difficulty, some less).
Nope - not me. I just like some of the stuff they do. I like the idea of the really bare bones Arduino boards with the same form factor as the normal ones - but I haven't actually used one yet (even though I bought a bunch of them).
...
I'll try to remember to bring a Diavolino board with me to UPENE. I've have some spare 328s (and 168s) around too (may have to dig to find a crystal - they always seem to evade me).
Schill,
Thanks - if you cannot find the MCUs, I can use an older Arduino and burn it into a Mega-8 (have several of them) and run with that. The crystal would be very handy, although there is a version which will run on an M-8 with no crystal - you need to change some settings in the IDE for speed, baud, etc, I think.
Hmmm, looks like you are either blown away by this arduino marketing hype, or you are the one of those who create this hype How do you compare arduino board and software (mostly software) to propeller chip ?
Andrey, I'm well aware of the difference. I was rebutting the comparison made between the Arduino version of open source and the Propeller version of open source.
When a newbie starts out with an Arduino, and then "catches the bug" and moves on to GCC or Keil, or CodeVision, or ImageCraft any other C compiler, a common mistake will be to forget to put in a Main(); function. Then it will not compile!
I think that by the time a newbie gets to the point of using any of those compilers, he/she will have figured out what main() is.
With the AVR, you are free use any programming language, any developing environment (Integrated or not), any downloader system and any bootloader and still call it an AVR.
You can do this with an Arduino board. Simply use it as an AVR development board if you don't want the Arduino "environment". Headers are included on most boards.
If you select a Prop, you can use any programming language (Spin, Assembly, FemtoBASIC, PropBASIC, C, Forth, etc, etc, etc) and any developer, and download it with the serial or USB cable or even put it on the EEPROM or an SD card, and you are still using a Propeller.
I'm not sure how to respond to this. The Propeller is by far not something that you would/could consider a "standard" microcontroller. All of the stuff that you mentioned except for perhaps Spin, PASM, and EEPROM (and maybe SD card) have been produced with much toil and hardship. How many posts have there been about the workarounds and tricks needed to accomplish what would have been trivial on another microcontroller?
Take C for example. ImageCraft C and Catalina both rely on using an LMM kernel. In fact, without that LMM kernel, it's been stated by the compiler producers that it wouldn't have been possible to port C because of the Propeller's particular architecture. If you think a newbie is going to have trouble getting to main() from an Arduino, try getting them to understand LMM. I'm not a C expert, but from using an Arduino Duemilanove and a Propeller demo board, I find it trivial to add my own functions & code to a sketch, yet have not been able to get either ImageCraft C or Catalina running. I'm not saying that the Arduino is better, or that ImageCraft C or Catalina are bad. What I am saying is that the AVR is designed to be C friendly, the Propeller is not, and those facts are reflected in the end results.
I haven't looked into FemtoBASIC, so I can't comment on it. PropBASIC has the option to use or not use an LMM kernel, so I'm sure that it would have happened at some point without LMM. BTW, LMM really means any of about a dozen different LMM kernel out in the wild. And Forth (let me say, that if you haven't tried PropForth, you really should) on the Propeller has also had it's share of troubles due to the Propeller architecture.
I have a couple of Arduinos because at the time that I bought them, I was looking to work with C on a microcontroller, and there were no good options with Parallax products. The proposed CCS C compiler for the SX fell through, Spin was it on the Propeller, and the Basic Stamps also have trouble with main(). I also have a Propeller demo board, and have been using that lately over the other micros that I have. One of the reasons that I bought the board is that I found that without having actually used a Propeller, I was really in no position to accurately comment on it. I've read plenty of anti-Arduino and anti-Propeller posts that have had this in common - none of the posters had actually used the product that they were critiquing.
And FWIW, I think it would be great if Parallax would produce an Arduino clone, and give it full citizenship in the product line-up. People that preferred that platform to the BS2 or Propeller would still find a place in the community.
You can do this with an Arduino board. Simply use it as an AVR development board if you don't want the Arduino "environment". Headers are included on most boards.
That is true - as I've said numerous times: then it is not an Arduino. It is only an Arduino if you use it as an Arduino - if you use it without the part that makes it an Arduino (the IDE and language) then it is not an Arduino! The hardware is not the open source part and is not the part that makes it an Arduino - the Arduino runs on certain of the Atmel (proprietary) processors.
I do like the Atmel AVR famiily - said that many, many times! Most of my commercial products utilize the AVR chips (so far.) The hardware on which the Arduino runs, is an AVR and I like that! The only part that I don't like is the ARDUINO part (and - also said many times - that is not really a big trouble)
I'm not sure how to respond to this. The Propeller is by far not something that you would/could consider a "standard" microcontroller. All of the stuff that you mentioned except for perhaps Spin, PASM, and EEPROM (and maybe SD card) have been produced with much toil and hardship. How many posts have there been about the workarounds and tricks needed to accomplish what would have been trivial on another microcontroller?
It wasn't that the Propeller is "standard" in terms of PICs, MSP430s, AVRs, ARMs or any other single-core processor; it is that it is the chip itself, the hardware, the silicon, whatever; that makes it the Propeller. The Atmel AVR Mega-8, Mega-16, Mega-328, whatever is NOT what makes an Arduino an Arduino. It is the Arduino language compiler feeding into the Arduino IDE and downloaded to the Arduino boot-loader that makes it an Arduino - not the hardware. That is my contention - if you take those away, you are left with a pretty good, or even great, controller system that is called an AVR, not an Arduino. I have a ChiBot controller (a simple robot brain from Wright Hobbies, designed for the TableTop 'bot with a Mega-48), if I replace the Mega-48 with a Mega-8 burned with the Arduino boot-loader and fiddle with the boot-loader source and Arduino IDE settings, I can run it as an Arduino - but without those "upgrades", it is still a ChiBot controller, not an Arduino.
Again - I said that there are some things about the Arduino that I am not thrilled about - people keep telling me that the AVR (not the Arduino) can do this and that and that the AVR (again not the Arduino) is a great system. I agree whole-heartedly. People also keep getting confused and insisting that for me to not love the Arduino, means that I hate the AVR. I do not hate the AVR, I don't even hate the Arduino - I just think that there are some things about it that I am not thrilled by. The Arduino is not the same as the AVR - the Arduino RUNS on the AVR, not "they are equivalent."
Once again, people - I really do appreciate Schilling's offer of an Arduino (Diavolino), and I will play with it (even though some people seem to think that I believe that I will be hopelessly contaminated if I even come near one :eek: :rolleyes:) And I do have many AVRs (from Tiny-11s and -13s all the way up to Mega644s). Not counting the stock that is being used for my current products, I probably have 50 or so, for my experimenting/developing work. I also have a half-dozen Props, a few PICs, a few MSP-430s a bunch of Motorola 6802s, some Z-80s a BASIC-52 from Micromint, a couple of Renesas chips and many other (non-MCU/non-MPU) chips for experimenting. That is my job, and I love it. But I still am not hopelessly, helplessly, head-over-heels in love with the Arduino (that is reserved for my bride of 30 years;)). And I am OK with not loving the Arduino. I will play with it and, I believe, still think that it is not the best thing ever.
[soapbox] Those of you comparing the Arduino to the Propeller are talking apples and oranges. They are not, and were not designed to be anything alike. [/soapbox]
[soapbox] Those of you comparing the Arduino to the Propeller are talking apples and oranges. They are not, and were not designed to be anything alike. [/soapbox]
Exactly - neither are the Arduino and AVR the same thing. However, all three can do similar jobs, some having a better fit to specific jobs than others (as in all jobs of selecting the proper processor.)
Granz, my point was that the Arduino is a system and the Propeller and the Atmel chips are just that, chips and don't work without other hardware (that the Arduino and the Propeller demo boards provide.)
Granz, my point was that the Arduino is a system and the Propeller and the Atmel chips are just that, chips and don't work without other hardware (that the Arduino and the Propeller demo boards provide.)
Good point! That is what I've been trying to say. You are pretty good at wording your points.
BTW - I hope that did not come across as sarcasm. Looking at it again, it may be taken that way, and that is not how I meant it.
What does it matter?
Few are the students. Look around this place, most of it is just casting pearls before swine, catering to the mentally lazy and second-handers.
PE - Parallax would do well to emphasize and foster scientific thought and critical thinking & logical problem-solving and to de-emphasize the whim-worship, empiricism, and the intellectual sloth that abound here.
The basic stamp IS for the "Intellectual sloth". It is the starting point for many people. It is kind of the lazy way out of microcontrollers, but that is what makes Parallax and the Stamp so useful. Never before could somebody pick up a Stamp(and with minimal skills) actually get it up and working. I am not downing Parallax when i say this, but that is the very essence of their creations. To be the working mans/ Lazy mans way into micro controllers. Parallax provides this to get people interested, they do not actually think people are going to use the Stamp as a commercial product(although some do) . The Stamp just might be the spark that someone needs to get them on the right track. Who are we to call "most" of the people on the forum lazy? They ask for help and we give it to them. They might use our help or they might just forget all about it....Just saying
There are those that disdain the BasicStamp as too simple (no floating point, no build-in ADC, no large memory resources), but many of the same people fail to grasp that micro-controllers ARE binary, prefer interger maths (there is no floating point without artificial support), and that C insulates one from discovering the boundary between software and hardware.
If one takes the BasicStamp to its limits, then moves on to programing in Assembly language - one is likely to learn quite a bit and may be able to do more with far less than those that disdain it.
Parallax is not for digital lemmings and does offer an opportunity to get many of the fundamentals right.
Platform debates just go on forever and forever (just look at this thread), but if you really spend your time making things work rather than looking for someone else's solution in Google - often the BasicStamp is all you need. It certainly would be nicer to have an internal Real Time Clock and an internal ADC, but there are very good reasons for them not being included. The Real Time Clock needs to run on its own low power 24/7 and outboard ADC can provide far greater accuracy if required or many lines if needed or both.
I think a lot of people from time to time misunderstand Parallax's approach and just go for the biggest gob of hardware that they can get - then don't know what to do with it because they have not really learned enough to mate hardware with software.
the BS1 and the 2 may be the most simple µcon Parallax sells but for 90% of the things I need a chip for its a Overkill.
I Will admit the PicAxe 8 pin would be a better choice for my Projects but the BS2 is to ME a better buy .
Once again I Feel that each chip has its place .
The BASIC stamps are not simple !
they have a Simple interface BASIC ala like OSX
untill the Prop came along we had the SX and javalin .
but the BS2 was Key to countless projects . it is was/Is the main choice for simple One ofs for hobby , movie , and Theatre .
We must not forget how many cool things we made with this
Ermm " sloth" chip .
In the world of amateur Anything you get what you put in it .
In other words If your most complex project is to make a timer do do photography or RFID door lock for your room , And the BS2 Fits who cares .
I don't see many users here whining Oh I wish the BS2 had USB ADC RTC Etc .
Most Know if they Need a ADC on a chip the Prop is the best route in the Parallax line .
I look at this way too
I use Apple macs . No Iam not Dumb .
I have made 10s of PCs over the last 12 years and this was back in the jumper days . plug and pray ! was still a pipe dream .
I use Apple as they fit my life . I Own Final cut pro and many other professional programs for Audio and Video . I do AV work on the side .
I think everyday to solve problems ( E tech ) for people , it Drains me !
so I use a more intuitive OS so I don't have to Think on how to use a Computer when I get home .
I love complex items to simple tasks .. Heck I own a roomba for a dorm room
I use a Heat suit not a down jacket in winter Here !
I love to geekify anything I can . but Iam simple too .I Just want things to work . let the poor gray matter rest once and a while .
This is the BS1 BS2 series . Lets face it , Its Quite possably the most user frendly µcon once can get .
It brings the Joy of DIY to a large audience.
I Know Some may snob at the idea of avg Joe doing programming with out a formal edication . some may not like to help "n00bs".
this attitude is why the US is not the bleeding edge in science !!!!!
look at Mr Gates he never completed college when he was young .
he is loaded ! Linus torvalds ( Linux father) did . But unless you are a OS history junky 90% of the US does not Know Who he is .
for all we know the Next gates is is going to join this forum next week . We need to support with in reason everyone who comes here .
This is after all the Parallax Support forum , Not the " lets PWN a N00B " forum .
Now back on topic ...
the AVR ardinuo is the dell to HP . they are both very simalar
the BS2 is a PIC ( vanilla )
with some fancy on board code to make it easy to use .
but its still PIC . and in fact If it was a raw chip ( no interperter ) on the BS2 module board it could run C .
Makeing the BS2 module assembly a fancy form factor PIC on a carrier board
The Arduino is the same idea.
It uses a AVR . and it too adds a user friendly shell of sorts .
And like others have said here it can run C code too.
but then its a AVR on a fancy PCB .
the Prop has is Ardunio too. its Prop BASIC SW (one of many ) and the PropStick HW .
Okay, you guys do have some points, but you have to admit that the stamp is created for the beginner, the person that doesn't want to start off learning C/C++, for the person that wants a quick fix.....I am not downing the Stamp when i say this, but that is who it was made for. The Stamp was my first uC and i fell in love with micro controllers as a whole. After i messed around with the Stamp for a while i moved up to the Picaxe. The picaxe was cheap, had more program space and they had smaller sizes you could pick.. I still use the Picaxe, but i soon realized i needed something a little more powerfull....Then I found the PROPELLER. This chip is my favorite so far, but even it is lacking in some things. You must use the right chip for the right application.
Parallax has a few different chips that each are for a somewhat different purpose. The Stamp for beginners, the Propeller for the experience programmer and the SX for people that want a small micro that could even be used in products. Lets face it, you don't really see a whole lot of commercial products using a Stamp. They all use AVR's and stuff like that. The Stamp is good at what is does, but you can't put it up against a ARM9 or something. It is no disgrace to say the Stamp is used primarily in the education sector and that is the way that "Lazy" students get started in micro controllers. Parallax knows that the Stamp is that spark that will get the slow student to finally get fired up
If Parallax wants to compete with the Arduino, they should start by calling the programs "Scribbles" or "Finger Painting", and any add-on boards should be called "Pants".
C/C++ was and still is written for Standard I/O and a Standard Error file. It was and still is intended for portability among larger computers.
Micro-controllers generally don't have or need Standard I/O and Standard Error as they generally don't support file systems and terminals.
And there are significant advantages to having a compiler that fully supports hardware specific features. C usually resorts to Pragma for this.
The drawbacks with BasicStamp and the Propeller is that they are not compiled languages - they are tokenized. This process sacrifices a lot of speed. But the Propeller also allows PASM for optimal speed - beyond what C compilers can do.
On the plus side, the BasicStamp offer PBasic which is an excellent place to start if you don't know anything and the BasicStamp is a complete hardware unit. Sure cost is always a factor with students and Arduino has become popular because it does provide a lot of value for a student.
But the perception that micro-controller need C is somewhat misleading.
For many years in Eugene, Oregon we had a club of 'local artists', called PAL-- .... Holy cow, G., er, this is not a forum I frequent so I'm probably blowing all house formatting rules, but your posting came up in a search for "Phony Art League," and there you are! (There you are, continents away.) Because this posting is four years old and you're likely never to see it I won't get all personal but only mention Max's Tavern, a prime meeting place for the PAL, the Reedsport float-houses, and Nixon Street, a short-lived address for a few aficionados. -- P.
I have no idea what Patrise is on about in reviving thins long lost thread but whilst we are here perhaps it's time to review this question "Arduino, gaining foothold in education market? What can Parallax and the Prop do"
Firstly I saw a couple of charmers on this page:
Franklin,
Those of you comparing the Arduino to the Propeller are talking apples and oranges. They are not, and were not designed to be anything alike.
I get the idea, they are built philosophically and architecturally very differently. But from an end user perspective they are directly comparable when considering which MCU one might use to accomplish a vast range of embedded control/monitoring tasks. Their areas of applicability overlap a lot.
Loopy,
C/C++ was and still is written for Standard I/O and a Standard Error file. It was and still is intended for portability among larger computers...
....perception that micro-controller need C is somewhat misleading.
I hope Loopy has seen the misconception in that during the intervening four years:)
Anyway back the question at hand:
In the passed four years the landscape in which Parallax operates must have changed a lot.
1) The Arduino is everywhere. I thought it was already in 2010 but now it must be even more so. It's welded into a world wide network of clone suppliers, shield suppliers, mobile Apps...a huge ecosystem.
2) The Raspberry Pi arrived. Already heading to 3 million units out in the world. Again with a huge world wide ecosystem grown around it. Burrowing it's way into education, as is it's mission statement.
3) The "Internet of Things" has become all the rage. Demanding very cheap wireless networking solutions. See Electric Imp and others.
3) Some other funky things are going on like the Espruino and the MicroPython. I'm not saying those particular products will set the embedded or IoT worlds on fire. But it seems running such languages on such small machines is very popular and could take off big time now that 2 dollar MCU's can run them usefully.
4) Meanwhile back in Parallaxia:
a) I still could not name the "standard" Propeller board that people could pick up and run with like the Arduino. That is sure to have the support of a huge user community and so on. I gave up following such things after the nice GadgetGanster board frizzled out.
b) I still cannot buy Propellers off the shelf. My local electronics parts supplier has Arduios and STM32 F4 Discoveries etc etc. They are quite up with current toys. No Parallax products.
The only challenge is that Arduino has been built up, and most people think of Ardino when they hear the word microcontrollers. When I first heard of Parallax 6 years ago, I didn't think I would ever stick with Parallax. At that point in time, I had only heard of Arduino, and was planning on learning and using the Arduino platform to accomplish my projects. This is a common problem especially among kids who are interested in technology ( as I am a kid, and had this same view-point a long time ago, I have evidence! ). Because of this, Parallax isn't as well off as Arduino. The solution to this problem is to show kids, at a young age, that Parallax is the better choice for beginner and advanced users. By doing this, when the kids get older and teach others about technology, they will choose Parallax instead of other platforms for learning.
Comments
Are you asking me? I do not need to
Art:
Arduino programs have a "main" function, of course. It's linked to the application by the software and the user doesn't have to bother with it.
Leon,
That is EXACTLY what I am talking about - you certainly can use the AVR in an Arduino as an AVR. But that is not using an Arduino. When a newbie starts out with an Arduino, and then "catches the bug" and moves on to GCC or Keil, or CodeVision, or ImageCraft any other C compiler, a common mistake will be to forget to put in a Main(); function. Then it will not compile! As far as software goes, their sketch compiler is really the only thing that IS Arduino. I can use WinAVR, or any other IDE and I can compile in any of those above listed compilers (or BASCOM AVR, or Forth, or CoBoL for that matter), and use a downloader of my choice (even create my own bootloader so that I can download programs over the Arduino serial port rather than an ISP), but again that is NOT Arduino.
Look people, I have nothing against the Atmel hardware used in the Arduino, but that is not what makes up the Arduino. You can say that you love the Big Mac because you can take the meat out, wipe off the Special Sauce, etc and put it on a Kaiser roll and add cheddar cheese, some leaffy lettuce and mustard and BBQ sauce and have a great sandwich! But that is not a Big Mac! You are only using an Arduino if you stick with the Arduino C-ish compiler, use their downloader and IDE and stick to the Arduino philosophy.
Again, please don't think that I hate the Arduino. I don't! It's just that I think that the Arduino has a lot more hype than it really deserves and I don't think that it makes a good starting point for beginners - this from over 20 years of teaching computer/tech classes on-and-off (it may make a good starting point for someone who wants to start AND end with Arduino, after all it is pretty simple), but if there is any chance of continuing to other controllers, start with one that uses a more standard system (language, IDE, downloader, ISP, etc.)
With the AVR, you are free use any programming language, any developing environment (Integrated or not), any downloader system and any bootloader and still call it an AVR. If you select a Prop, you can use any programming language (Spin, Assembly, FemtoBASIC, PropBASIC, C, Forth, etc, etc, etc) and any developer, and download it with the serial or USB cable or even put it on the EEPROM or an SD card, and you are still using a Propeller. As I mentioned before, if you change anything in the Arduino system, you are not really using an Arduino. Try to run the Arduino IDE/compiler for a PIC, or a MSP-430 or even a Prop - it won't work. The Arduino compiler cannot be used (correctly) if I choose ButtLDR or WinAVR loader or BASCOM AVR loader or any thing else. If I choose to program in BASCOM, I can use the Arduino hardware, but it is not Arduino - go to an Arduino forum and ask about troubleshooting a problem in your BASCOM program and watch the results - that is not Arduino.
There are several nice "Arduino semi-compatible" boards out there that were inspired by the Arduino community but are not plug compatible with Arduino shields but are easy to plug into breadboards. They make really nice AVR development tools, though - stuff like the BBB from Modern Device.
http://www.moderndevice.com/
Most Arduino boards either have the 3x2 header for ISP or have a place to solder one in.
By the way, I like BASCOM and it's what I've used most often with AVRs. I've been using them since before Arduinos were around and I've been through numerous Atmel shortages (including stocking up on different versions of 2313s and preordering 328s).
If you know what you're doing, you can mix and match all the hardware and software (languages, compilers, bootloaders, ISPs, etc.). I like working with the AVRs (and props too, of course. I never really liked programming PICs). This flexibility is a large part of it. I also enjoy playing with the "building block" nature of Arduino shields and this carries over to things like the Gadget Gangster boards.
I'm also fond of the Processing language that the Arduino IDE is based on. They are all different tools for different purposes.
I'll try to remember to bring a Diavolino board with me to UPENE. I've have some spare 328s (and 168s) around too (may have to dig to find a crystal - they always seem to evade me).
Leon,
That's true! Of course that is true for anyone who wants to learn C - Every course I've taken in C (on-line, independant study book and in-class) has recommended that book - I've read it and it does cover the language.
But someone who starts off with an almost C will have some difficulties switching over to K&R C (some more difficulty, some less).
Schill,
Thanks - if you cannot find the MCUs, I can use an older Arduino and burn it into a Mega-8 (have several of them) and run with that. The crystal would be very handy, although there is a version which will run on an M-8 with no crystal - you need to change some settings in the IDE for speed, baud, etc, I think.
Art
Andrey, I'm well aware of the difference. I was rebutting the comparison made between the Arduino version of open source and the Propeller version of open source.
I think that by the time a newbie gets to the point of using any of those compilers, he/she will have figured out what main() is.
You can do this with an Arduino board. Simply use it as an AVR development board if you don't want the Arduino "environment". Headers are included on most boards.
I'm not sure how to respond to this. The Propeller is by far not something that you would/could consider a "standard" microcontroller. All of the stuff that you mentioned except for perhaps Spin, PASM, and EEPROM (and maybe SD card) have been produced with much toil and hardship. How many posts have there been about the workarounds and tricks needed to accomplish what would have been trivial on another microcontroller?
Take C for example. ImageCraft C and Catalina both rely on using an LMM kernel. In fact, without that LMM kernel, it's been stated by the compiler producers that it wouldn't have been possible to port C because of the Propeller's particular architecture. If you think a newbie is going to have trouble getting to main() from an Arduino, try getting them to understand LMM. I'm not a C expert, but from using an Arduino Duemilanove and a Propeller demo board, I find it trivial to add my own functions & code to a sketch, yet have not been able to get either ImageCraft C or Catalina running. I'm not saying that the Arduino is better, or that ImageCraft C or Catalina are bad. What I am saying is that the AVR is designed to be C friendly, the Propeller is not, and those facts are reflected in the end results.
I haven't looked into FemtoBASIC, so I can't comment on it. PropBASIC has the option to use or not use an LMM kernel, so I'm sure that it would have happened at some point without LMM. BTW, LMM really means any of about a dozen different LMM kernel out in the wild. And Forth (let me say, that if you haven't tried PropForth, you really should) on the Propeller has also had it's share of troubles due to the Propeller architecture.
I have a couple of Arduinos because at the time that I bought them, I was looking to work with C on a microcontroller, and there were no good options with Parallax products. The proposed CCS C compiler for the SX fell through, Spin was it on the Propeller, and the Basic Stamps also have trouble with main(). I also have a Propeller demo board, and have been using that lately over the other micros that I have. One of the reasons that I bought the board is that I found that without having actually used a Propeller, I was really in no position to accurately comment on it. I've read plenty of anti-Arduino and anti-Propeller posts that have had this in common - none of the posters had actually used the product that they were critiquing.
And FWIW, I think it would be great if Parallax would produce an Arduino clone, and give it full citizenship in the product line-up. People that preferred that platform to the BS2 or Propeller would still find a place in the community.
That is true - as I've said numerous times: then it is not an Arduino. It is only an Arduino if you use it as an Arduino - if you use it without the part that makes it an Arduino (the IDE and language) then it is not an Arduino! The hardware is not the open source part and is not the part that makes it an Arduino - the Arduino runs on certain of the Atmel (proprietary) processors.
I do like the Atmel AVR famiily - said that many, many times! Most of my commercial products utilize the AVR chips (so far.) The hardware on which the Arduino runs, is an AVR and I like that! The only part that I don't like is the ARDUINO part (and - also said many times - that is not really a big trouble)
It wasn't that the Propeller is "standard" in terms of PICs, MSP430s, AVRs, ARMs or any other single-core processor; it is that it is the chip itself, the hardware, the silicon, whatever; that makes it the Propeller. The Atmel AVR Mega-8, Mega-16, Mega-328, whatever is NOT what makes an Arduino an Arduino. It is the Arduino language compiler feeding into the Arduino IDE and downloaded to the Arduino boot-loader that makes it an Arduino - not the hardware. That is my contention - if you take those away, you are left with a pretty good, or even great, controller system that is called an AVR, not an Arduino. I have a ChiBot controller (a simple robot brain from Wright Hobbies, designed for the TableTop 'bot with a Mega-48), if I replace the Mega-48 with a Mega-8 burned with the Arduino boot-loader and fiddle with the boot-loader source and Arduino IDE settings, I can run it as an Arduino - but without those "upgrades", it is still a ChiBot controller, not an Arduino.
Again - I said that there are some things about the Arduino that I am not thrilled about - people keep telling me that the AVR (not the Arduino) can do this and that and that the AVR (again not the Arduino) is a great system. I agree whole-heartedly. People also keep getting confused and insisting that for me to not love the Arduino, means that I hate the AVR. I do not hate the AVR, I don't even hate the Arduino - I just think that there are some things about it that I am not thrilled by. The Arduino is not the same as the AVR - the Arduino RUNS on the AVR, not "they are equivalent."
Once again, people - I really do appreciate Schilling's offer of an Arduino (Diavolino), and I will play with it (even though some people seem to think that I believe that I will be hopelessly contaminated if I even come near one :eek: :rolleyes:) And I do have many AVRs (from Tiny-11s and -13s all the way up to Mega644s). Not counting the stock that is being used for my current products, I probably have 50 or so, for my experimenting/developing work. I also have a half-dozen Props, a few PICs, a few MSP-430s a bunch of Motorola 6802s, some Z-80s a BASIC-52 from Micromint, a couple of Renesas chips and many other (non-MCU/non-MPU) chips for experimenting. That is my job, and I love it. But I still am not hopelessly, helplessly, head-over-heels in love with the Arduino (that is reserved for my bride of 30 years;)). And I am OK with not loving the Arduino. I will play with it and, I believe, still think that it is not the best thing ever.
Exactly - neither are the Arduino and AVR the same thing. However, all three can do similar jobs, some having a better fit to specific jobs than others (as in all jobs of selecting the proper processor.)
Good point! That is what I've been trying to say. You are pretty good at wording your points.
BTW - I hope that did not come across as sarcasm. Looking at it again, it may be taken that way, and that is not how I meant it.
Seems to me, the boot-strapping going on with Propeller right now is not unlike that required to put a simple face on the AVR.
Very nice Ron - The Prop takes on the Arduino - Arduino shaking head wondering where the truck came from...
Few are the students. Look around this place, most of it is just casting pearls before swine, catering to the mentally lazy and second-handers.
PE - Parallax would do well to emphasize and foster scientific thought and critical thinking & logical problem-solving and to de-emphasize the whim-worship, empiricism, and the intellectual sloth that abound here.
You are always going to have more beginners than competent people in a site like this. If you don't enjoy nurturing beginners, why complain?
Kindness and patience often matter more than the hardware platform.
(Wish I'd said that.)
Are you suggesting that what happens with the Propeller is "In yours and my discharge?"
There are those that disdain the BasicStamp as too simple (no floating point, no build-in ADC, no large memory resources), but many of the same people fail to grasp that micro-controllers ARE binary, prefer interger maths (there is no floating point without artificial support), and that C insulates one from discovering the boundary between software and hardware.
If one takes the BasicStamp to its limits, then moves on to programing in Assembly language - one is likely to learn quite a bit and may be able to do more with far less than those that disdain it.
Parallax is not for digital lemmings and does offer an opportunity to get many of the fundamentals right.
Platform debates just go on forever and forever (just look at this thread), but if you really spend your time making things work rather than looking for someone else's solution in Google - often the BasicStamp is all you need. It certainly would be nicer to have an internal Real Time Clock and an internal ADC, but there are very good reasons for them not being included. The Real Time Clock needs to run on its own low power 24/7 and outboard ADC can provide far greater accuracy if required or many lines if needed or both.
I think a lot of people from time to time misunderstand Parallax's approach and just go for the biggest gob of hardware that they can get - then don't know what to do with it because they have not really learned enough to mate hardware with software.
I Will admit the PicAxe 8 pin would be a better choice for my Projects but the BS2 is to ME a better buy .
Once again I Feel that each chip has its place .
The BASIC stamps are not simple !
they have a Simple interface BASIC ala like OSX
untill the Prop came along we had the SX and javalin .
but the BS2 was Key to countless projects . it is was/Is the main choice for simple One ofs for hobby , movie , and Theatre .
We must not forget how many cool things we made with this
Ermm " sloth" chip .
In the world of amateur Anything you get what you put in it .
In other words If your most complex project is to make a timer do do photography or RFID door lock for your room , And the BS2 Fits who cares .
I don't see many users here whining Oh I wish the BS2 had USB ADC RTC Etc .
Most Know if they Need a ADC on a chip the Prop is the best route in the Parallax line .
I look at this way too
I use Apple macs . No Iam not Dumb .
I have made 10s of PCs over the last 12 years and this was back in the jumper days . plug and pray ! was still a pipe dream .
I use Apple as they fit my life . I Own Final cut pro and many other professional programs for Audio and Video . I do AV work on the side .
I think everyday to solve problems ( E tech ) for people , it Drains me !
so I use a more intuitive OS so I don't have to Think on how to use a Computer when I get home .
I love complex items to simple tasks .. Heck I own a roomba for a dorm room
I use a Heat suit not a down jacket in winter
Here !
I love to geekify anything I can . but Iam simple too .I Just want things to work . let the poor gray matter rest once and a while .
This is the BS1 BS2 series . Lets face it , Its Quite possably the most user frendly µcon once can get .
It brings the Joy of DIY to a large audience.
I Know Some may snob at the idea of avg Joe doing programming with out a formal edication . some may not like to help "n00bs".
this attitude is why the US is not the bleeding edge in science !!!!!
look at Mr Gates he never completed college when he was young .
he is loaded ! Linus torvalds ( Linux father) did . But unless you are a OS history junky 90% of the US does not Know Who he is .
for all we know the Next gates is is going to join this forum next week . We need to support with in reason everyone who comes here .
This is after all the Parallax Support forum , Not the " lets PWN a N00B " forum .
Now back on topic ...
the AVR ardinuo is the dell to HP . they are both very simalar
the BS2 is a PIC ( vanilla )
with some fancy on board code to make it easy to use .
but its still PIC . and in fact If it was a raw chip ( no interperter ) on the BS2 module board it could run C .
Makeing the BS2 module assembly a fancy form factor PIC on a carrier board
The Arduino is the same idea.
It uses a AVR . and it too adds a user friendly shell of sorts .
And like others have said here it can run C code too.
but then its a AVR on a fancy PCB .
the Prop has is Ardunio too. its Prop BASIC SW (one of many ) and the PropStick HW .
Parallax has a few different chips that each are for a somewhat different purpose. The Stamp for beginners, the Propeller for the experience programmer and the SX for people that want a small micro that could even be used in products. Lets face it, you don't really see a whole lot of commercial products using a Stamp. They all use AVR's and stuff like that. The Stamp is good at what is does, but you can't put it up against a ARM9 or something. It is no disgrace to say the Stamp is used primarily in the education sector and that is the way that "Lazy" students get started in micro controllers. Parallax knows that the Stamp is that spark that will get the slow student to finally get fired up
- Mark
Micro-controllers generally don't have or need Standard I/O and Standard Error as they generally don't support file systems and terminals.
And there are significant advantages to having a compiler that fully supports hardware specific features. C usually resorts to Pragma for this.
The drawbacks with BasicStamp and the Propeller is that they are not compiled languages - they are tokenized. This process sacrifices a lot of speed. But the Propeller also allows PASM for optimal speed - beyond what C compilers can do.
On the plus side, the BasicStamp offer PBasic which is an excellent place to start if you don't know anything and the BasicStamp is a complete hardware unit. Sure cost is always a factor with students and Arduino has become popular because it does provide a lot of value for a student.
But the perception that micro-controller need C is somewhat misleading.
Firstly I saw a couple of charmers on this page:
Franklin, I get the idea, they are built philosophically and architecturally very differently. But from an end user perspective they are directly comparable when considering which MCU one might use to accomplish a vast range of embedded control/monitoring tasks. Their areas of applicability overlap a lot.
Loopy, I hope Loopy has seen the misconception in that during the intervening four years:)
Anyway back the question at hand:
In the passed four years the landscape in which Parallax operates must have changed a lot.
1) The Arduino is everywhere. I thought it was already in 2010 but now it must be even more so. It's welded into a world wide network of clone suppliers, shield suppliers, mobile Apps...a huge ecosystem.
2) The Raspberry Pi arrived. Already heading to 3 million units out in the world. Again with a huge world wide ecosystem grown around it. Burrowing it's way into education, as is it's mission statement.
3) The "Internet of Things" has become all the rage. Demanding very cheap wireless networking solutions. See Electric Imp and others.
3) Some other funky things are going on like the Espruino and the MicroPython. I'm not saying those particular products will set the embedded or IoT worlds on fire. But it seems running such languages on such small machines is very popular and could take off big time now that 2 dollar MCU's can run them usefully.
4) Meanwhile back in Parallaxia:
a) I still could not name the "standard" Propeller board that people could pick up and run with like the Arduino. That is sure to have the support of a huge user community and so on. I gave up following such things after the nice GadgetGanster board frizzled out.
b) I still cannot buy Propellers off the shelf. My local electronics parts supplier has Arduios and STM32 F4 Discoveries etc etc. They are quite up with current toys. No Parallax products.
c) The P2 is not out......
The only challenge is that Arduino has been built up, and most people think of Ardino when they hear the word microcontrollers. When I first heard of Parallax 6 years ago, I didn't think I would ever stick with Parallax. At that point in time, I had only heard of Arduino, and was planning on learning and using the Arduino platform to accomplish my projects. This is a common problem especially among kids who are interested in technology ( as I am a kid, and had this same view-point a long time ago, I have evidence! ). Because of this, Parallax isn't as well off as Arduino. The solution to this problem is to show kids, at a young age, that Parallax is the better choice for beginner and advanced users. By doing this, when the kids get older and teach others about technology, they will choose Parallax instead of other platforms for learning.