Warning: this page is a nearly-completely incomplete skeleton. For the class (and supporting materials) that actually came to be, see [AVR Microcontroller Class](AVR_Microcontroller_Class "wikilink"). This section needs a lot of development, so if you're in the mood please feel free. There's a lot of good information out there about programming micro-controllers, but I couldn't find a good, stepwise, lesson-based tutorial. Since a bunch of the HacDC folks are just learning their way around, I thought it'd be fun to put together a mini-course based on the Atmel AVR platform and GNU-GCC. The idea is to have each lesson doable in an hour or so What follows is a mix of how-to and code snippets and peoples' experience walking through it all. If you're following along and want to contribute, feel free. [Useful AVR Links](Useful_AVR_Links "wikilink") ## The Basics (take these in order): [AVR Lesson: Setup](AVR_Lesson:_Setup "wikilink"): Get a programmer, a chip, the software, and some parts [AVR Lesson: Output Pins I](AVR_Lesson:_Output_Pins_I "wikilink"): Basic output and LED Blinky example [AVR Lesson: Output Pins II](AVR_Lesson:_Output_Pins_II "wikilink"): Binary math and Cylon Eyes [AVR Lesson: Input Pins](AVR_Lesson:_Input_Pins "wikilink"): Debouncing and Button-triggered Cylon Eyes [AVR Lesson: Timers](AVR_Lesson:_Timers "wikilink"): Clocks and how to use them. [AVR Lesson: Interrupts](AVR_Lesson:_Interrupts "wikilink"): [AVR Lesson: Pulse-width Modulation](AVR_Lesson:_Pulse-width_Modulation "wikilink"): An easy way to get analog outputs. Dimming LEDs or Crossfading Cylon Eyes [AVR Lesson: Analog-digital Conversion](AVR_Lesson:_Analog-digital_Conversion "wikilink"): Automatical Dimming Night Light ## Advanced Material (mix-n-match): [AVR Lesson: Watchdog Timers](AVR_Lesson:_Watchdog_Timers "wikilink"): [AVR Lesson: I2C](AVR_Lesson:_I2C "wikilink") [AVR Lesson: Using Program Memory](AVR_Lesson:_Using_Program_Memory "wikilink"): [AVR Lesson: Motor Driving](AVR_Lesson:_Motor_Driving "wikilink"): [AVR Lesson: Servo Control](AVR_Lesson:_Servo_Control "wikilink"): [AVR Lesson: State Machines](AVR_Lesson:_State_Machines "wikilink"): [AVR Lesson: Sound](AVR_Lesson:_Sound "wikilink"): [AVR Lesson: Serial I/O](AVR_Lesson:_Serial_I/O "wikilink"): [AVR Lesson: USB](AVR_Lesson:_USB "wikilink"): [AVR Lesson: Interfacing with External Memory](AVR_Lesson:_Interfacing_with_External_Memory "wikilink") [Category: AVR Tutorial](Category:_AVR_Tutorial "wikilink")