Heading Towards the Light
A number of years ago, I discovered the excitement of
using software to physically interact with my environment.
As a software developer, it was an eye opener when I
found that I could write code that would make a robot
drive around a room avoiding obstacles. It was so much
more “real” than writing code to manage warehouse stock
levels or generate invoices.
Like many others, an Arduino Uno was my
introduction to this crazy world of physical computing. I
spent hours building robots, temperature sensors, the
obligatory flash-lots-of-LEDs projects, and alarm clocks.
You name a tutorial, I had read it. However, in my hunger
to build more and more complex and interesting
embedded projects, I found I was hitting up against the
limits of the simplified Arduino environment. The
processing language sitting on an all-in-one development
board got me up and running very quickly and taught me
a great deal, but now I needed to spread my wings and
start working directly with the microcontroller.
The tipping point was an irrigation controller I was
working on. My garden was drying out in the summer
heat, so I turned my mind to building an irrigation
controller, then turned my hand to the (occasionally
disastrous and very damp) task of plumbing in my
solenoid valves. I learned a great deal that summer, and
finally had a green garden that was being watered to
schedule — thanks to a microcontroller-based project.
The journey away from the safety of the Uno was a
tough one. There was an almost endless supply of
information I found on the Internet, but the snippets were
fragmented and didn’t form a cohesive guide to take me
from the Arduino ecosystem to a stand-alone “bare metal”
microcontroller project. I stubbed my toe, banged my
head, and slowly waded through a barrage of online
tutorials, blogs, forums, Wiki articles, and Instructables to
arrive out the other side with a degree of competency.
Through my journey, it became apparent that there
were many others in a similar situation to me. As the
Arduino platform matures as a product and as hobbyists
become more serious enthusiasts, more people are
looking to take the next step and move beyond the
Arduino. I do hope that I can help you head towards the
light in this series of articles.
Beyond the Beyond the
Arduino Arduino
36 March 2015
Getting Started with
AVR Microcontrollers
FIGURE 1. The Arduino ecosystem.
I bet that you've built some amazing
projects with your Arduino — it is an
incredible platform. At some stage,
though, you're likely to want to cut
the apron strings and discover what
it's like to work directly with the
microcontroller. This series of
articles is designed to make your
journey a little less bumpy.