The journey to working efficiently with the Atmel AVR
range of microcontrollers is an exciting one. That is, if you
enjoy learning new ways of doing things, gaining greater
control over the microcontroller, working smarter and
more efficiently, and doing things you weren’t able to
Last month, we looked at a few good reasons to start
working with the raw AVR microcontroller, and then built
our own breadboard-based Arduino Uno. We’ll be using
that breadboard project this month as we get stuck into
working in a new IDE.
What’s in an IDE?
An IDE — or Integrated Development Environment —
is where you spend most of your time working on
embedded projects. An IDE would normally include the
code editor, a compiler, a linker, and an uploader to Flash
the code onto the microcontroller (Figure 1). More
advanced IDEs also contain debuggers. The compiler,
In my software developer past, the IDE was a critical
tool in getting me working efficiently — I’d make sure I
configured the IDE so that it suited the way I liked to
work. If you’ve worked in other environments, you’ll know
exactly what I mean.
The Arduino IDE is a great tool to get you started with
embedded systems, but it is very basic as IDEs go. The
strength of the Arduino environment lies in the way in
which some fairly complex functionality is abstracted away
from the designer in a number of libraries — you’ll see as
we work through this series how functionality like reading
an analog value is made much simpler through the
I can sense that some readers are questioning why
we’re trying to make things less simple. The answer is that
we’re trading simplicity for increased functionality and
flexibility. Stick with me and you’ll see the benefits. I had a
number of false starts before I put my head down and
tackled it head on. I haven’t looked back!
Beyond the Beyond the
38 April 2015
FIGURE 1: Components of a typical IDE.
We’re exploring the world of
working directly with AVR
microcontrollers. In the first
installment in this series, we built
our own simplified Arduino Uno on
a breadboard. Now that we’ve
established a hardware platform to
work on, we’re going to dive into
working in a new environment.
Mask and snorkel on!