If you’ve never heard of the Arduino before, you probably want me to explain what exactly it is. The Arduino is a computer board. When you look at it, that’s plain to see. More specifically, it’s a programmable controller board. That gives us two very important clues as to what the device is meant to do. Basically, it can send and receive signals along various channels based on what you have programmed it to do.
For Mindstorms fans this might sound quite a lot like the functionality you get with the Mindstorms Intelligent bricks, and you’d be right. When you boil it down to the basics, the intelligent brick is a LEGO branded programmable logic controller that does the same thing as an Arduino.
How Does the Arduino Differ from an Intelligent Brick?
Well, first and foremost, the Arduino itself is open source. What this means is that the details of it precise inner workings are completely open for anyone to look at, copy, and otherwise mess with. Secondly, the Arduino is only limited by your own ability to use what it has to offer. With the LEGO branded controller you need to stay within the lines that LEGO has set. If they say you can only control three motors, then that’s what you get. With an open source system such as the Arduino, you make the rules as long as the physical hardware can handle what you’re asking of it.
Arduinos have been used to make all sorts of incredible machines, but in recent years fans of LEGO Mindstorms have caught on to the fact they they can extend the abilities of their creations if they switch to using an Arduino to control the motors and handle the sensors.
There’s a whole book on the subject by John Baichtal, specifically for the NXT generation.
As I mentioned in my Mindstorms Buyer’s Guide (LINK), the NXT generation has become popular with hackers because it has also been made open source, but that does nothing to lift the hardware abilities of the NXT intelligent brick. By using an Arduino linked to the NXT brick, you can give even the EV3 a run for its money!
What Do I Need?
Apart from having to buy at least one Arduino, you also have to be ready to whip out the soldering iron and get comfortable working with a breadboard or getting a specific Arduino shield board.
On top of this, you’ll also have to get comfortable with programming in a language such as C or Python. There are plenty of alternatives that aim to be simple (in the same way that the LEGO brick language is), but as you progress you’ll slowly start to need the power of a full programming language.
It’s not that different from the situation with NXT and other Mindstorms. There are a variety of programming language choices – some are simple but relatively limited; others are harder to learn but can do so much more.
You’ll Never Know if You Don’t Try
By using an Arduino and all the various shield boards that are out there, you’d be amazed at the sorts of things you can do. You can turn a Technic car into a working RC vehicle or create agile and complex robots that standard Mindstorms hardware simply couldn’t handle by itself.
The learning curve here might seem quite steep, but it’s a great way to learn real-world programming and electronics skills, while not being that much more difficult than fully engaging with Mindstorms. LEGO Technic provides a great structural and mechanical base to safely let you try out all the concepts and abilities of the Arduino; for the advanced LEGO fan who wants to go further it really is a match made in heaven.