A couple years ago I heard people start talking about something called an Arduino. This was before I started writing for GeekDad and my life was pretty busy with work and family so I relegated the term to a part of my mental “Read It Later” file. As I started reading more GeekDad and then became a contributor, the lure of the Arduino increased. I imagine this is what it feels like to be a fish and see that bit of bait. It was in the corner of my eye and the desire to investigate further was becoming irresistible. Then I started reading more and more about the Maker movement and the DIY movement. I kept reading about these cool projects people were building and I wanted in on the movement. My wife and geeklings spoon fed me the bait when they gave me an Arduino starter kit for Father’s Day last year. Now the hook is firmly set, I always have a half-dozen projects in mind, and I have no intention of looking back.
You may be asking yourself the same question I had at first. What is an Arduino and how can it help launch me into the world of cool projects? GeekDad Roy Wood pointed to a great IEEE Spectrum article about the history of the Arduino. Roy answers the question of, “What is an Arduino?” with a fantastic single sentence.
The Arduino is a fantastic single-board microcontroller, supported by an enthusiastic community of users and developers.
Now, depending on your level of knowledge of engineering, electronics, and other technical topics, you may be a little unclear on the definition of a microcontroller. At its most basic, a microcontroller is a computer on a chip. It has a CPU capable of executing embedded code, RAM for storage of run-time data, and long-term storage for storing the code to be executed. What makes microcontrollers fun is the surrounding hardware that is also on the chip. This surrounding hardware makes it very simple to read signals from the physical world, translate them into something the code can take action on, and then react back out to the physical world. The Arduino is a small circuit board wrapped around one of these microcontrollers that makes it very easy for you to upload new code that you write, in a variation on C++, and access the set of inputs/outputs and interact with your world. This answers this second part of my question above, “How can it help launch me into the world of cool projects?”
So, do I have you interested? If I do, let’s go forward together and pursue some projects! You need to start by purchasing an Arduino. This is actually optional. You could just purchase the ATMega328 that is the microcontroller used in the current generation Arduino Uno boards. If you have the electronics skills you can get the schematics for the board — it is open source hardware — and build it up yourself. This open architecture and flexibility is why you will find a number of clones and specialty variants on the Arduino. More on those in a later session. In fact, in a later session we are going to build our own Arduino on a breadboard and even a custom Printed Circuit Board! I started with the Arduino Uno board since it was a gift. Also I hadn’t touched hardware at that level since college and needed a refresher. Here are a couple of my favorite places to shop online for parts that sell the Arduino board.
The Arduino board is also now carried by Radio Shack and is available in some of their stores. We also need a project goal to start. Right now I have the ability to remote control my home HVAC system through my power provider but I have no way of knowing what the current temperature is in the house. It is a one way interface and doesn’t report anything back through the website. Sounds like a good goal project: a wireless sensor unit that allows me to read the temperature near the thermostat remotely. We won’t get there in one big leap. We will work up to that point. Along the way you will learn some of the skills you will need and come up with an amazing number of project ideas of your own. I will use the Adafruit Industries Skill Badges in the articles to help track some of the skills we develop. So let’s get going down rabbit hole! In the next session, we will cover Blink, the “Hello, World!” of the Arduino.
IMPORTANT DISCLAIMER: I realize that if you are already fairly familiar with some of the topics you will notice that I may not always take the most simple route to an answer or implementation. This is simply to help with the education process for those who are not as familiar. This series is all about learning!