I’m associated with high school science centers in remote locations. In order to extend the curriculum to include an introductory course on microcontrollers, we are deciding between the BasicStamp Board of Education and the Arduino Uno.
Either choice has advantages/disadvantages. The Arduino is great in a hobbyist setting, but much less useful in a classroom setting. The Arduino configuration is either a messy wired situation or a unassembled tieboard shield, whereas the BasicStamp has a built-in tieboard for easy prototyping. We’re talking a quantity of 100, far more Arduino shields than I can solder/assemble. Also, I worry that the shield connections won’t stand up to the wear&tear of middle- and high-school students.
Though the BasicStamp runs very slowly, its native Basic interpreter provides a simple language, ease of operation, and transparent debugging.
I would think that an Arduino would offer an experience more compatible with “modern software principles.”
Is it really true that no one offers an assembled protoshield, or board similar to the BoE? That’s sort of sad
And no one has copied the “all in one” idea from BoE, either. (how about http://www.cutedigi.com/product_info.ph … ts_id=4262 - still requires that you add the protoboard, but the soldering is all done. “old style”, though.) (or you could just stick an Arduino Nano or BoArduino in a larger protoboard…)
I worry that the shield connections won’t stand up to the wear&tear of middle- and high-school students.
A valid concern, but the shield would basically stay connected all the time, leaving you with essentially the same connectors that are on BoE.
It looks like Arduino would come out relatively significantly cheaper. ($30 + 15 + 5 vs $99 ?)
The Arduino would provide a MUCH cheaper path that led to “permanent” projects, and more flexibility toward semi-permanent projects (via existing shields.)
I’ve used both a Stamp (v1, though) and Arduino. I don’t recall the ease of operation or debugging being significantly better (or even different) than the Arduino environment. It might have changed since then.
Arduino is multi-platform on the host side (may not matter.)
To make a good class into an excellent class, you should get some of both, and compare them. Or at least a couple of the non-chosen system for the enthusiasts to look at. (IMO, of course.)
I’ve not used the stamp before but I really wish they had started us on something simpler like the arduino rather than throwing straight C and an ATmega16 at us. I’ve nothing wrong with those but dipping your toes into a system that is a little easier to understand is much better than learning to swim in the ocean. I don’t know what the online references look like for stamp but usually the arduino stuff is pretty easy to figure out.
I had to make a similar decision a few years ago. I was also looking at PICAXE as well as Arduino and Basic Stamp at the time. I settled on Arduino and have been using it since 2008.
You can find my one semester high school level course at http://electronics.flosscience.com/ (formerly arduinoeducation.com). The students really love the Arduino. The hobby diy nature is one of the major strengths of the platform.
I literally knew nothing about microcontrollers and very little programming when I started teaching with the Arduino. Even today, I still act as if I don’t know much. If a student wants to do something I haven’t created a lesson for I send them to the internet to figure it out. Then they have to teach me and/or interested classmates.
As to the messiness of wires everywhere… Again, I think this is a strength. How often will someone prototyping something in the real world have a nice compact cleanly packaged item to work with (actually, I have no idea, this might be common). It also gives students more chances to troubleshoot problems.
Anyway, if you have any questions, just let me know. For the record I use the Bare-Bones Board from moderndevice.com they seat nicely in a breadboard.
One last Shameless plug - I have a Kickstarter project going right now to fund the creation of a high school text to support teaching Arduino. Just look in the sidebar of my site http://electronics.flosscience.com/ for more information.
SciCenter:
Though the BasicStamp runs very slowly, its native Basic interpreter provides a simple language, ease of operation, and transparent debugging.
Your thoughts appreciated.
I think it's terrible to introduce young students to, and imprint upon them, using Spaghetti BASIC. Teaches hard to undo habits and style.
At least Arduino is 1st cousin to C++, the industry standard (read: Jobs).
Another good learning platform is mbed and it uses the microprocessor for the future: ARM Cortex, though the underlying microprocessor is abstracted away, in the main, in all three examples here. Except for a little I/O.
Be aware too of ZBasic.net; properly structured BASIC can be a good teaching tool. Don’t let them just hack. Must design first.
motopic:
mikroBasic (and the mikroC) are pretty nice products, but not without bugs.
His biggest problem is going to be the $$$ hardware needed, $20-30 board + pic chip (and everything pic is $$)
Just pointing out that not all BASICs will result in spaghetti code.
If cost is the ONLY issue, then nothing comes close to the ST VLDiscovery. For less than $12 you get a complete hardware/software tool suite that includes:
a. unlimited C compiler.
b. IDE (Eclipse based) with integrated source level breakpoint debugger (something not available with Arduino, mBED and most all BASICs)
c. Development board with 32-bit ARM Cortex-M3 processor, 128K FLASH, 16K RAM, 64-pin TQFP, every pin available on 0.1in. headers.
d. USB programmer/debugger integrated into the development board.
I’m looking for the same information … to introduce nice system to students in afterschool class.
Due to wide popularity of Arduino and student interests, probably I’ll stick to it.
I’m also considering other options as well for the future. Few months back a Taiwan based company introduced me to Innovati and their products. They use modifiedVB. Looks like another Pbasic kind of…
However, I liked the peripheral modules which seems to be something that Parallax do not have it. Not sure, if I’m right. The whole system was quite fast as the modules had MCU’s on them. One of the project that they showed me was a face recognition humanoid which was amazing! High end though…
If anyone has some opinion or used their products please provide me your feedback.
His biggest problem is going to be the $$$ hardware needed, $20-30 board + pic chip (and everything pic is $$)
huh? The Parallax "Board of Education" he was talking about using is about $100, and "budget" wasn't one of the things he claimed to be worried about. (The main problems seems to be getting something that is "ready to use" rather than something that needs additional assembly.) (Of course, since it hasn't shown up again yet, perhaps he was just a troll ...)
Open source hardware with many good book, starter kits and Internet resources for students wanting to take it further
C for programming - a more useful language to know
Screw shield - could be left in place to minimise the need for soldering
A nit: Arduino uses C++ and C, though the libraries are an abstraction atop C++. But it does make a good tool for newbies. Shows concepts of functions, data hiding, and so on. Yes, some structured basics can do some of this, but when the student lists a structured basic on their resume’ it won’t look so hot to a prospective employer.
Personally, I wouldn’t want to teach newbies the misuse of function and operator overloading in C++. Bad news for code legibility, so its use should avoided and stick to fundamental C/C++.
I agree with westfw’s suggestion of the Arduino Nano or Boarduino (notably the USB Boarduino). If you’re worried about students mangling the pins on those arduinos then I suppose you could permanently glue them to the breadboard with minimal fuss.
Its programmable in BASIC or C. The BASIC is a structured language, and supports interrupts, pre-processing and other features. The BASIC is compiled, while the user interface maintains the “interpreter” feel of other BASICs. The C is based on GCC and provides a simple interface such that the learning curve is quite easy.
As it maintains the Arduino footprint, all the various shields are available for use.
Back in my high school days (approx. 6-7 years ago) I used the BASIC stamp 2 along with the BoE for a robot competition my class was involved with.
The stamp was simple, had easy hardware integration, and had a nice IDE (I don’t remember the name of it) with syntax highlighting, word completion, and error finding.
The PBASIC language that is used with that platform seemed easy at the time, but now I realize that I picked up some bad habits. Honestly, I think the creators over-simplified it and in the process made some of the more advanced stuff harder.
All in all, it was a fun project but I don’t think I learned much “real world” electronics/programming. The stamp platform seems more about “plug & play” and less about “hacking/learning.”
The Arduino, I feel is a better choice in a learning environment mainly because it’s open source, programmed in c, and has a great community behind it. Plus I think the students would walk away with more “real world” experience i.e. programming c/c++ rather than QBASIC.