Skip to content

Easy-to-grasp, step-by-step tutorials for creating firmware for the AVR microprocessors.

License

Notifications You must be signed in to change notification settings

xenloops/AVR-tutorial

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AVR-tutorial

Easy-to-grasp, step-by-step tutorials for creating firmware for the AVR family of microprocessors.

Rationale

Many seasoned software engineers have the impression that writing and flashing firmware is "black magic" and tough to understand. This series of tutorials aims to deprogram that myth. Each "season" of the series will focus on one major topic. Each "episode" will cover one piece of each topic, building on previous episodes. This process will show anyone how simple it is to make a microprocessor do what you want.

Lessons

0. Set up lab: breadboard, AVR chip, BusPirate, AVR programmer, text editor

Season 1: lighting and counting

  1. Light an LED: simple program to light LED programmatically.
  2. Push a button to light an LED... pushbutton, then toggle.
  3. Push a button to light an LED... by interrupt.
  4. Flasher: intro to timer and interrupts to flash an LED.
  5. Fun with the timer and LEDs: traffic lights!
  6. Dimming light: intro to PWM to pulsate an LED. -- Application Extra! LED candle
  7. Fun with a numeric LED: countdown, cycle around.
  8. Combine button with LED counter and randomizer. LED shows numbers flashing by, when button pressed it stops on NEXT number generated.

About the author

I've been fascinated by and have experimented in electronics since I was a kid. My parents gave me the famous "150-in-One Electronic Project Kit" from Radio Shack when I turned 10, and I couldn't stop inserting wires into spring clips in the cardboard base. Early in my software engineering career I had the good fortune to work at a consulting company with a number of bright and helpful electrical engineers, who designed and built the prototypes I would flash with firmware it was my job to craft. Atmel AVR chips were the first microprocessors I programmed, and I was hooked. Since then, programming a web site or application just hasn't held the same fascination. In the years since, I would reopen my "projects" boxes and fiddle with a breadboard and some components. Recently I did it again, and decided that it was time to infect others with my interest and fascination with this "dark art."

You can reach me at xenloops at protonmail dot com if you have ideas to try out here or questions.

Enjoy!

About

Easy-to-grasp, step-by-step tutorials for creating firmware for the AVR microprocessors.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages