Go Beyond the Arduino
The Arduino is a great prototyping platform, and can get you building projects probably faster than any other platform out there. I cut my teeth on an Arduino UNO, and was like a kid on a sugar-rush when I got my first robot buzzing around my workshop. I built and built, and learned, and read, and experimented, and played. Then came the day that I wanted to build project that needed to be a little more permanent and with less jumper wires that could work themselves loose. I gritted my teeth, held my breath, and plunged into working with the microcontroller in its raw state. No more Arduino UNO to hold my hand, just a bare-metal ATmega328P sitting on a breadboard staring back at me.
The journey away from the safety of the Arduino UNO was a tough one. There was an almost endless supply of information I found on the internet, but the it was fragmented and didn’t form a cohesive guide to take me from the Arduino ecosystem to a standalone project. After months of research and learning (and a fair bit of head-banging) I started getting comfortable with the AVR microcontroller by itself.
I started coming across people who felt very similarly to me, and had faced similar challenges. So I sat down at my PC, and together with the team at Nuts and Volts, I put together a series of articles (still work in progress) to help guide people wanting to move beyond the Arduino. Here’s summary of the topics that this series covers.
Build Your Own Arduino
So you’ve got an ATmega328 microcontroller, and you’re ready to take on the challenge of working with it “raw”. Now what? This article takes you through the steps needed to build a simplified breadboard-based Arduino, and forms the foundation for the rest of the series. We take things step-by-step, so still work in the Arduino IDE.
Beyond the Arduino IDE
The next step we take is to leave the Arduino IDE behind, and start working with more fully-featured development environment – one that is geared up specifically for working with standalone microcontroller projects. Bring your breadboard Arduino along with you as we learn how to blink an LED without using the built-in functions from the Arduino IDE.
Handling Inputs on an AVR
We’ve made an LED blink – now we start working with inputs. As we move further from the Arduino IDE, we learn about some of benefits of working directly with the microcontroller. This month we work with digital and analog inputs: we dig into using registers in more detail, and get to know the Analog-Digital Converter a little better. To wrap up, we create a simple game on our breadboard Arduino.
Let your Microcontroller do the Talking: The UART
In June we discover how to communicate with our PC. Serial communication is a simple and reliable way to communicate with peripherals, and is achieved using the microcontroller’s USART. We look at exactly what a UART is, and then how to use it to communicate externally. This month, we bring the last 4 months together with a project that the readers design themselves – a serial-controlled thermostat.
Interrupts on your AVR
Sometimes interruptions can be a good thing. This month we look at how to handle interrupts in your Atmel AVR embedded projects, and how they can make your projects more efficient and easier to develop. Our project for the month tests your reaction time – fingers on the buzzers please!
Learn to speak I2C
The components we’ve included in our projects so far have been relatively simple. This month we raise the bar and connect our AVR microcontroller to modules with a little more intelligence, using the I2C protocol. Our project is the most complex of the series so far, integrating an EEPROM module and a Real Time Clock to build a temperature logger
I’ve just completed my brand new guide Arduino to AVR: Get Started in 3 Steps.
Get it now on Payhip for only $1.65.
Challenge yourself and learn how to gain the flexibility and additional control that the AVR microcontroller offers.