Teaching AVR Programming

In this post, I will go over some of the work I’ve done within the Wireless Club at school, specifically with a project group I led a few years ago. I took over as project leader for the LED strip group about three years ago, and was the lead for about six months. As the project members were primarily freshmen and new to hardware and software development, I decided to guide them into embedded development and AVR programming in C by building our own boards together.

I designed the following board using the free ECAD tool KICAD and milled the boards myself.

Screen Shot 2016-05-20 at 8.51.52 PM.png

As I went through the board bring-up process, I went along with the team members, and taught them how each component worked and how to test hardware validity. I also gave them each their own board,  and encouraged them to try out a few simple programs (such as blinking an LED, using PWM, and registering button presses).

These can all be found at my github here: https://github.com/tedmyers/learning-AVR


Overall, I worked with them to instill some valuable skills, that have been a great start to embedded development, including:

  • PCB design with KiCAD
  • basic circuit design
  • Hardware prototyping and soldering,
  • small scale PCB manufacturing and bringup
  • Programming in AVR-C
  • Example programs hosted on GitHub, open source
  • Shared resources for learning, low cost and flexible platform



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s