With so much talk about raspberry pi, which we feel does have its merits, but is not always the most efficient solution, we felt that we had to write an article about arduino and why it’s great to get started with robots, electronics and programming.
The Arduino board is designed for artists and hobbyists – in other words people who are not necessarily Roboticists or ‘geeky’ by nature, but are interested in making things that move, interactive models and projects that react to the environment and have some degree of sophistication and elegance.
Because of this, 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!
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) 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 this but seriously isn’t that a slight overkill?)
Its ease of set up and use, intuitive and 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 without having 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 – that’s how learning should be, its 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 2 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) and is great 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.