Learn detailed Architecture for the AVR Microcontrollers – Instruction Execution, Pipelining, Stack Pointer & Interrupts.
Learn Bare Metal Microcontroller programming in Embedded C, starting with a Breadboard and a Microcontroller.
Learn to develop the support hardware needed for a functioning Embedded System such as – Power supply, Noise Filtering etc, from scratch.
Learn how to write, compile and dump Embedded C code on an actual microcontroller.
Hands-on experience on GPIO programming, Interfacing various sensors, actuators and modules.
Get confident in creating your own embedded system projects.
You have always been fascinated with Embedded Systems and Electronics, and want to learn how to design them.
You have created many Arduino projects before and think it is time for you to dive deeper into the architecture and programming. You want to create your code Libraries instead of using others.
You are planning for a career in the field of Embedded Systems and want to deepen your fundamental knowledge.
You are an engineering graduate and have daily nightmares regarding this course and you want to face your fears.
All of the above are valid reasons for Enrolling in this course.
Why should you learn AVR Microcontrollers?
Learning to program a microcontroller is, in essence, learning to tell a microcontroller what to do. Microcontrollers are pretty much everywhere these days. From the smartwatch that you wear which counts the calories in your step, to the washing machine that cleans and dries your clothes. The refrigerator and the air conditioner that regulates the temperature of your food and your room respectively to the smartphone in your pocket that lets you stay connected to the word. All electronics nowadays, have some sort of controller in them.
Moving forward our home appliances and gadgets will become much smarter with the advancement of Artificial Intelligence and Machine Learning and their implementation in our day to day life (Alexa, Google Assistant). Thus it becomes ever critical for Engineering Graduates and enthusiasts of this filed to get their fundamental strong before jumping into more complex stuff.
Why AVR Microcontrollers?
Atmel and Microchip are two of the biggest chip-makers in the industry. They produce some of the most popular chips and have some of the biggest community. They both have excellent 8-bit chip lineups which are suitable for beginners. Microchip has the PIC family of Microcontrollers and Atmel has the AVR. There is a lot of debate in the community on which is better. But as per my opinion, both architectures have their merits.
Note: On January 2016, Microchip acquired Atmel for a whopping $ 3.56 Billion.
For this course, I selected AVR due to various reasons. Atmel creates chips in the AVR family that includes ATmega168 and ATmega328. These chips and others of the AVR series are also used to power the widely popular Arduino Boards. Thus, in general, it is far easier and cheaper to get your hands on an AVR series of Microcontroller than a PIC. Wide availability, cost-effectiveness, and a large pool of resources and community on the Internet are a few reasons for my choice.
Why should you enrol in this Course?
At the end of this course, I aim to make you confident enough to start building your projects in Electronics and Embedded Systems using the AVR series of Microcontrollers. At the very least I would like to pique your interest so that you might consider Embedded System as a career path or a hobby. There's so much to learn, experience and share in this ever-growing fast landscape.
Atmel Studio for coding Purposes (Steps to install are detailed in the course itself).
Some prior Programming Experience is recommended. You can check out my free C Programmingcourse for that.
Basic hardware such as a suitable Microcontroller, breadboard, LCD display and basic sensors. The details on these and how to get them are detailed in the course itself. I also show a few hardware-free methods such as Simulators, in the course for those people who cannot afford the hardware or are unable to get them at their location.
Brief Course Content Summary
AVR Architecture Basics.
Instruction Execution, Pipelining, Stack Pointer.
Pinout Basics, Input-Output Pins, PORTS.
Interfacing Liquid Crystal Displays (LCDs).
Timers and Interrupts.
Analog to Digital Conversion (ADC) for sensor interfacing.
Pulse Width Modulation (PWM) for interfacing motors and servos.
Various Communication Protocols such as UART, SPI, I2C for connecting sensors and modules.
Interfacing of Sensors and Actuators such as Ultrasonic sensor, IR sensor, RFID module, Servo Motor, SD card module, etc.