If we think about young students, the majority of them will fall into that category. Most kids are usually interested in model making and it's okay to admit to liking it amongst their peers. Imagine making a board game with an electronic score keeper, or an interactive house model - gender and self-image safe projects that can be done with an arduino.
Because of this target audience, getting little models or prototypes working with arduino is really quick, easy and efficient – you plug the board into your usb port, write your code – which is simplified, yet has massive capabilities at the same time – hit download and, wahey, it works!
We all know how frustrating it is when, in any lesson involving technology, you can’t get past the first hurdle of getting something started up - arduino doesn’t have that issue.
Usually there’s no problem with the hardware (we have had the very occasional issue where it loses the usb port, but this is easy and quick to resolve) and no nasty bugs or strange error messages that stop it working for apparently no reason – if anyone has used the MPLAB IDE from yesteryear you’ll know what we’re talking about – there’s no need for an external debugger and all in all it is brilliant value for money.
It’s great for robotics because, essentially, a lot of hobbyist robotics projects are concerned with hardware control and reacting to sensors, which the arduino is designed to do and does well (yes you can use a raspberry pi to do this but, seriously, isn’t that a slight overkill?)
It's ease of set up and use, intuitive, simple software and low cost, makes it ideal for kids who want to start programming and a fantastic resource for classrooms.
It allows your students to focus on debugging their own hardware and code. They don’t have to worry about first learning how to use a complicated piece of software, or set up lots of hardware, just to write their first program - it's also one of the reasons that Lego Mindstorms is popular in classrooms.
The new computing curriculum states that students should be programming in at least two different languages. The arduino uses a simplified version of C, which is a hugely popular language, very different to Python - which is just as important to learn and the raspberry pi is good for this.
The arduino is a great resource to learn about variables, arrays, control, loops, etc., so there’s no reason why arduino can’t be an additional resource in schools, alongside the raspberry pi, to teach a different method of programming, with a platform that is also designed to make electronics more accessible and easier to learn.
Photo credit: Dan Ruscoe