(You have options in perusing this page: see my Power Browsing advice.)
"Playing" with electronics can be huge fun, need not be expensive, isn't "dangerous", if you impose minimal, obvious restrictions on what areas you play with.
But, most of all, parents and educators, I commend it to you for your kids because it opens wonderful opportunities for kids to exercise their "muscles of creativity"... and craftsmanship, and design, and all sorts of other Good Stuff.
And if you are going to "play" with electronics, before very long, or maybe as a starting point, I can't recommend microprocessor systems too highly.
Using them, you can concentrate on programming alone. Or you can concentrate on the electronics side... messing with "hooking things up" (to the microprocessor). Or both!
There are, of course, other candidates. But I would suggest that you look at these two very carefully. I doubt you need to look further...
... unless maybe the BBC Micro:bit, "new kid on the block", is "the one for you". At £11 (about $15, and available in the USA, too) for ALL you need to get a SERIOUS taste of "playing" with microprocessors, what have you got to lose? The Micro:bit would be a good start for Arduino or Pi work, if you are reluctant to go directly to one of them for some reason. Guess what? I've written a guide for the curious, to introduce the BBC Micro:bit, help you decide if you want to try one.
And PLEASE: understand that these two platforms are only superficially similar. They are both "good for things"... but very DIFFERENT things.
This page began life to consolidate many posts I had made to places like Facebook (though usually more technical forums) prior to the end of 2013.
At that time, the Arduino was an excellent, mature, well supported project. And the Pi was a new thing, a celebrity, and I didn't think it was as good a device... then.
Today, it is certainly "as good", in general... but this page is still necessary because the Pi and the Arduino address very different design objectives, and you should think carefully before buying either, and get the one that addresses your wants!
Why are you considering a microprocessor? To learn programming? Good! To do stuff with electronics, cool stuff, controlled by a computer? Good!
If your primary interest is learning programming, why not just do it on your existing computer? For real programming, with a very shallow learning curve, there is the somewhat eccentric, but still LOTS of fun, Logo.
You won't write the next killer app with it... but it is a free, fun and interesting programming learning environment which works well in schools. I like the free "MSLogo", link below. ay 11/13, it has been around for many years. While you can do simple things almost immediately, don't think that turtle graphics are the limit of the language's capabilities! You can, for instance, create a "3D" wire frame representation of a building, and then re-draw it from different points of view by changing just a few numbers in one line of the program. Cool! MSLogo
If you want something a little more "mainstream", something that serious Windows, Mac and Linux applications can be created in, consider Lazarus. Again: Free. With versions for each of the OS's listed. AND: Once you have written something in Lazarus for, say, Windows you can re-compile it to run on the other OS's.
It is a little harder to get started with than Logo... but you will not exhaust the possibilities of Lazarus in a lifetime. And it is reasonably mature, and well supported. I have a I have series of tutorials showing how to program with Lazarus.
Very much a "fringe" option, but if you just want to learn about programming, you might consider the modern Windows simulator of the venerable and excellent BBC Micro. It comes complete with the noises the disc drive used to make! (But only requires a simple Windows machine.) The BBC was designed to be learner- friendly, remember.
Either of those options, in my (somewhat informed... I started using computers in schools in 1968) view: Vastly better than Arduino or Pi, if you just want to learn about programming.
However, if you want to go beyond what can be done with a keyboard, a screen, a hard disk, and a printer, you may want to consider a Pi or an Arduino, or even a BasicStamp.
When I say "go beyond", I mean get into the world of switches, LEDs, temperature sensors, motors, etc, etc, etc, monitored by/ controlled by "computers". But the "computer" may be much smaller than what is commonly meant by "computer".
And if you are tempted by these possibilities, then I say, emphatically: Go for it. You can have a lot of fun. And you don't have to spend a lot of money.
Personally, I would "go with" and Arduino. I'll argue the case in a moment. But before I do, I'd like to say that I admire the Pi. If it can re-kindle hobbyist programming, that that's great. But it just isn't necessary. Nor is it, I think, the best device for the job.
With either an Arduino or a Pi, you can hook up switches and LEDs... and a lot more. And you can program the device to "do things". Scan the web for the things people do with either. (The Arduino Playground's Exhibition page lists many. Most of what you see there could also be done with a Pi.) For the sake of illustrating what it is all about, I will restrict myself to an Arduino or Pi with 4 push button ("momentary"... like a doorbell) switches, two red LEDs, two green LEDs.
With either, you could program the device to do different things when you press the switches. Let's call the switches "A", "B", "C" and "D".
Press "A", and the red LEDs flash, twice per second.
Press "B" and the green LEDs flash alternately
Etc... but you can have more than just four "programmes". For instance, you could set things up so that pressing "D" on it's own did nothing, but if you held "D" down, and then pressed "A", the red LEDs would flash, as before, but ten times faster.
As I said- my device with switches and LEDs is just by way of illustration.
To make an Arduino do what I've described, you would use an ordinary PC (Windows, Mac, or Linux) to write the program. You would plug the Arduino into the ordinary PC, almost like plugging in a USB memory stick, "send" the program to the Arduino, and then it would Just Work.
With the Pi, you could work as above, OR (more likely), you would write the program in the Pi.
Again, once the program was done, even if you did use the ordinary PC to create the program, your need for the ordinary PC would be finished.
The Arduino is vastly more mature than the Pi. It has a huge following of experienced users. The Arduino forum already has the answers to, literally, hundreds (if not thousands) of newbie questions and concerns... and a host of people standing by ready to give (knowledgeable) help, even if you are asking for help with an issue that has already been discussed many times. (Do use the search- old- discussions feature before asking a question?)
The Arduino is available from multiple distributors, as is the Pi, but also from multiple fabricators, and in several variants. It is a mature design, with many early mistakes ironed out.
Arduinos come "ready to go". You give them power, and the LED flashes, to reassure you that the hardware is okay. (You will over-write that "flash the LED" program as soon as you send your first program to the Arduino... but it only needs your program. The rest of what it needs is already "in" it, and in a "safe" place.) You don't have to build (or rely on) an OS image to go in a discrete memory card. You don't need a keyboard, etc.
Another difference: The Arduino is programmed with a version of C++. This, folks, is not rocket science. Some people make C++ look like rocket science. But whether you are learning the Arduino language or one of the Pi languages, you are going to have to do a little work... and the language the Arduino uses is not going to be a barrier to anyone who is capable of surmounting the other obstacles. (Programming and electronics are not, after all, hobbies you often see pursued by the "developmentally delayed"... was there ever a more patronizing, poor, PC term?)
Price: A Pi costs... what?... I'm not a Pi expert... £25? Then you have to dedicate a keyboard to it (or keep switching your keyboard back and forth between the Pi and the keyboard's day job). And a monitor. And a memory card (or two). And an HDMI cable.
Now... that was written a while ago, as of 4/16, when I am overhauling this page.
I'm still not a Pi expert, but I believe you can now "operate" it "remotely" across a LAN. If you have the expertise. Frankly, myself? I'd dedicate a keyboard and monitor... but I am NOT a Pi expert, as I've said.
A simple Arduino, assembled?...
A basic device, comparable to "the Pi", in the above, from http://www.coolcomponents.co.uk/: £8.50 (Arduino Pro Mini 328 5V/16Mhz Product Code : 000351). You'd have to add some headers to that (£2?). And for either Pi or Arduino, you'd want a breadboard, for easy prototyping.
In addition, you'd need an ordinary PC, and a "FTDI cable", £15 to do it the easy way ( USB to Serial TTL Cable (OEM FTDI Cable), Product Code : 000356), or £8.60 (FTDI Basic Breakout, Product Code : 001005) to save money, if you use a USB cable of the sort of which you probably have three already.
And that's just to START. What happens if, as I do, you have your front door controlled by an Arduino? I have an £8.50 device (plus the RFID reader and electromechanical strikeplate) tied up doing that, and for my next Arduino project, I spend a further £8.50. With a Pi, if I wanted two Pi driven projects running at the same time, I'd be looking at 2 x £25, minimum.
If you don't mind some simple soldering, you can buy Arduino kits. If you want built in ethernet, more i/o lines, etc, etc, you buy a whole range of fancier Arduinos.
As I said... I'm not a Pi expert. But I think I know enough. Re-read what I wrote about the Arduino, and infer the complement: Arduino- mature/ Pi- less mature; Arduino- big community/ Pi- smaller community. Etc. Note in particular the cost of playing with a Pi, vs an Arduino. I've cited a very basic Arduino in my costings, but that "little" Arduino can do amazing things. And if you spend £25, you'll get an Arduino that will do even more.
I still believe the Arduino is more mature, better supported, etc, etc... but I will concede that, today, the Pi is more than adequately mature, supported, etc.
In fact I have tremendous admiration for all that they have achieved. There was an excellent over-view in the UK magazine Computer Shopper in their issue 340, "June" 2016 (the one that came out in early April. But they all do that. Sigh.)
I also greatly admire Ebden Upton, one of the visionaries... and hard workers... behind the Pi for several decisions he made and has stuck to, to serve some of the goals he has for the Pi.
He wants it to be "a way in" to electronics, computing, etc. for today's beginners. There are aspects of the Pi that pay homage to the tremendous contribution of "the BBC Micro" in the 1980s. (It was a pity that the BBC Micro initiative failed to expand significantly beyond Great Britain. It was brilliant, and started many rewarding journeys.) I really don't know how we "lost our way" in the 90's and onward.
Computing is more than just "fun". It can be a very worthwhile pursuit.
So, go on, get stuck in! I don't care which route you go down, Pi or Arduino... as long as you get yourself past "newbie" on one or the other.
If in hindsight, you feel you ought to switch camps, it won't cost you much, anyway.
As I said before: Thinking of trying programming, and/ or getting to grips with processor controlled electronics? Do it! You could have a lot of fun. You don't need to spend a lot of money. If you were my child, I'd give you an Arduino... in addition to showing you things you could do with "just" a laptop. But the Pi has things to commend it, too.
Ready to get going? With an Arduino, I hope, if you are going directly the programming- with- hardware? You may not be surprised to learn that I have Arduino tutorial pages for you! If you're not quite convinced, yet, I've also done a really short (!) page, listing What You Need to get started with Arduino.
Have you heard of Flattr? Great new idea to make it easy for you to send small thank you$ to people who provide Good Stuff on the web. If you want to send $$erious thank yous, there are better ways, but for a small "tip" here and there, Flattr ticks a lot of boxes which no one else has found a way to do yet. Please at least check out my introduction to Flattr, if you haven't heard of it? "No obligation", as they say!Suggestions for "good practice" with a new Windows computer
Search across all my sites with the Google search button at the top of the page the link will take you to.
To search THIS site....
(Click this to search the site without using forms, or just use...)
The search engine merely looks for the words you type, so....
Please also note that I have other sites; this search will not include things from them. Each site has its own search button.My SheepdogGuides site.
You can email this page's editor, Tom Boyd. Click here for details.
Page tested for compliance with INDUSTRY (not MS-only) standards, using the free, publicly accessible validator at validator.w3.org. Mostly passes. There were two "unknown attributes" in Google+ button code, and four in the Flattr. Sigh.