Elliot Williams

Beyond the Arduino: Programming AVR Microcontrollers in C

Date: This event took place live on March 18 2014

Presented by: Elliot Williams

Duration: Approximately 60 minutes.

Cost: Free

Questions? Please send email to


While the Arduino platform has taken the Maker/hardware-hacker scene by storm, the chip that powers the Arduino — the AVR ATMega series microcontrollers — has a lot more to offer. If you've felt limited by the size, expense, or processing speed of the Arduino, it's time for you to stop abstracting away the hardware peripherals inside the microcontroller and learn a bit about how the hardware can help you get your projects done.

But starting out with a bare microcontroller chip can be daunting. You'll need a reasonably complicated software and hardware toolchain just to get to "hello world". Programming idioms are different between the microcontroller and macro-computer worlds. And the built-in hardware resources are limited in some respects (memory, raw processing speed) but phenomenally powerful in others (real-time hardware control, interrupt-driven programming). Failing to get one's head around how microcontrollers are different is what often confines the budding hardware hacker to the shallow end of the pool.

In this webcast, we'll dive straight into the deep end. I'll show you what you need to get started programming the AVR ATMega (and ATTiny) series microcontrollers, give you an overview of their built-in peripherals, and demonstrate most of the important functionality. And while the focus of this webcast is on Atmel's AVR series, nearly everything you'll learn here is transferable to other microcontrollers.

I can't teach you C in a webcast, but if you've every programmed in any language before, you'll be able to follow along with the code examples. If you are an experienced coder, I'll give you some insight into what makes writing directly for hardware a bit different. If you've worked with an Arduino before, I'll show you how to do everything you're now doing faster, better, and cheaper.

Again, I can't cover everything in one webcast, but my goal is to cover enough of the hard and interesting stuff so that you can learn the rest on your own.

About Elliot Williams

Elliot Williams is a Ph.D. in Economics, a former government statistician, and a lifelong electronics hacker. He taught himself to program microcontrollers long before there was any such thing as an Arduino, and loves to spread the knowledge. Most recently, he is author of the Maker Media book "Make: AVR Programming, Learning to Write Software for Hardware", which is chock full of microcontroller-programming tidbits and thick enough to stun a rhino.