Sunday, February 17, 2008

Arduino or PICAXE?

This is a pretty geeky post... You've been warned.

Among the courses I teach is electronics. It is a one semester course, where we cover basic theory in the first half of the semester and students breadboard circuits for the second half of the semester. I inherited the course and its general structure from the previous electronics teacher and it seems to work pretty well.

Anyway, I've been thinking about changing it. I've been wanting to incorporate microprocessors into the course for some time, but I've been daunted with either the price tag or for the cheap stuff with the technical know-how that I just don't have. By bringing in microprocessors I can also get students doing some programming . Additionally, a lot of electronics these days includes embedded microprocessors.

Enter the PICAXE and Arduino micro-controllers. Both can be had relatively cheaply and are fairly easy to program. Unfortunately I discovered these at about the same time. If I only knew about one of them I'd have been content to buy a bunch and get to work redesigning my course. As it stands right now, I have no idea which one to choose. So I'm writing this post to get my ideas down and I'm partly hoping for some insight from potential experts.

PICAXE: The PICAXE micro-controller is a Pic based chip that has a bootloader loaded onto it allowing for a very simply programming cable to be used. It can be programmed using a form of basic or with a flow chart based interface. There are some great guides online for its use, but they'd have to be edited a bit to make them usable for my course. There are multiple versions of this chip with different numbers of inputs/outputs. The programming is slightly different from chip to chip.

Pros: Cost. The chip (8M) itself costs less than $4. Theoretically students could easily make permanent projects with this. Basic programming: I know basic and basic programming is relatively easy.

Cons: The 8M, the chip I'd focus on, is a bit limited. There are other chips we could add in, but their structure is different. Apparently limited availability. I'd really have to plan ahead to ensure I had the supplies I'd need (unless I want to order from the UK). Windows only.

Arduino: This board is really a Basic Stamp replacement. I'd thought it was going to be outside of the price range I'd set for the course, but then I found a supplier who supplies a version that I can get for $11/board in bulk. The programming for this chip is in a C++ like language. There is also a lot online support for this board and at least one project designing a course in basic electronics with the Arduino as the platform.

Pros: Expandability. This chip has some wickedly cool potential. It interfaces circuitry directly with a computer easily, making it possible to create circuits that control or respond to functions on the computer. Support for Mac, WinXP, and Linux.

Cons: I don't know C++ or any other object oriented programming language. More expensive so it would cost more for students to make permanent projects.

I guess the bottom line is the PICAXE is probably simpler to start using but while the Arduino has a steeper learning curve at the start it allows for more advanced functions more easily. At least I think. Right now I'm leaning towards the Arduino. I've already got one independant student working with the PICAXE. I'll get a couple working with the Arduino this semester as well and see what they all think.

10 comments:

Mellis said...

You can also use the chip from an Arduino (the ATmega168) on its own in a permanent project or installation. They only cost a few dollars.

Plus, all the software for the Arduino (bootloader, firmware, development environment) is open-source, so you can buy the chips straight from the manufacturer (Atmel) and set them up yourself. With the PICAXE, you need to buy chips that have been loaded with the (AFAICT) proprietary firmware.

The Arduino software is cross-platform too, so if any of your students use Mac or Linux, they shouldn't have any problems.

Although the Arduino language is built on C/C++, it doesn't use many of the features of C++ (many aren't supported by the underlying compiler), so it shouldn't be too hard to learn.

Apologies for the marketing tone of this comment - I'm one of the Arduino developers, so I always like to put in a good word for our project.

Steve Dickie said...

I've pretty much decided to go Arduino, but I wanted to toss a post out to see if anyone would see it and/or comment on either of the platforms.

I only have so much time to spend in preparing my courses, so I want to make sure I make the right decision the first time.

Sebastian Tomczak said...

With this sort of stuff, i started off exploring the Picaxe. But then i got onto Arduino. I taught it as part of a course i co-developed last year, and in fact it worked great for that (we use a mac lab at uni).

I agree, go with Arduino.

Josh said...

Do you have any plans to release your teaching materials for the Arduino?

Josh
joshua.r.lowry@gmail.com

geneo said...

I've used the Basic Stamp for teaching but added the Arduino this year, duplicating projects from the Stamp on the Arduino. The Arduino language is a funky version of C and I would like to get to a purer version maybe using AVRDude but haven't tried that yet. Results with students were mixed....some loved the Arduino, others got frustrated. Main motive I had was cost, ease of use and open source. I think it has a shot in education but needs some good labs developed.
gene

Anthony Bowker said...

We have just updated the Flowol (flowchart based programming software used for teaching microcontrollers/robotics in schools) to support the Arduino.

See http://www.flowol.com/InterfaceArduino.aspx for more details.

Flowol also supports the PICAXE range.

Best Regards,
Anthony
www.flowol.com

Anonymous said...

There are lots of good beginner arduino books listed on http://arduinobooks.com

Anonymous said...

Picaxe is a great start for students to get into micro-controllers. The programing is very simple place to start. The programing boards can be made instead of having to purchase and the software the designers of picaxe is very good and simple to use and with the simulation software built into the software you can see straight away if the program will work before downloading it to the chip. Arduino would the next step just a little more complex in writing source code but at the end of the day you will be able to do more with it ie the 08 picaxe will only give you 40 lines of programing arduino will give you more. I suggest if your students are going to be inexperienced in programing and electronics in general I would stick with picaxe on practical class experimentation and make them aware of the theoreticals of arduino. But if you are teaching an intermedate to advance class then go with arduino I hope this helps

Steve Dickie said...

Thanks for the comment. I actually wrote this post quite awhile ago. Since then I've ben using Arduino in my classes and it has been going pretty well. You can find my course materials at.

electronics.flosscience.com

Anonymous said...

I have used Picaxe for five years and the range is only just being scratched by my students. I use a Picaxe 18M2 to teach robotics. we have only 34 minute periods so the steep leaning curve is a barrier which prevents success. I allow my advanced students to program straight into the picaxe, the more my staff spending using arduino the better Picaxe becomes.

Max