Arduino, Embedded Systems

AVR Programming in C – Arduino Atmega 32

Arduino is all fun to learn and play with, you can make fancy projects using an Arduino. A simple plug-and-play board like Arduino is a good start if you are beginner at learning embedded programming but if you really want to learn embedded systems in-depth and make optimized and industrial electronics with microcontrolled you must move past the abstract code of Arduino to more bare metal coding.

By bare metal coding I mean manipulating individual bits of a microcontroller register directly. By learning about the inner working of a microcontroller and accessing the register using programming you can get full control of the functionality of the microcontroller and can do things that the Arduino-C cannot do.

As an electronics engineer I too started with Arduino but I was curious to learn about the ATmega 32 microcontroller which is the heart of an Arduino. I wanted to program it directly. Also, I wanted to learn more about the ATmega 32 and how to use all its features that is when I discovered the read embedded C programming. It is C programming that is used to manipulate bits of a microcontroller register.

Are you a curious electronics engineer like me to learn ATmega 32 in-depth? I would recommend you this course by Prof. Bruce land (Cornell Uni.) . It really helped me understand the basics of embedded C and ATmega 32 with practicals and sample code.

AVR course by bruce land.

Course resource link

Lab Activity code

Project made by students

Thank you for reading, Happy Learning, drop your suggestion in the comments.

Feel free to follow us on Youtube, Linked In , Instagram