Develop Embedded Systems using Embedded C on AVR

Sensors, Actuators, LEDs, Switches, PORTS, Timers, PWM, ADC, LCD, Projects, Develop Embedded Systems with Embedded C AVR

  Rahul Shrivastava

   IT & Software, Hardware, Embedded C

  Language - English

   Published on 11/2021



This course Demystifies the internal working of Microcontroller and Peripherals. You will learn register-level Embedded C programming to use inbuilt peripherals on the microcontroller to interface sensors, actuators, and Liquid Crystal Displays (LCD). You will learn to use Timers to generate accurate delays, Use timers to generate Pulse Width Modulation (PWM) Waveforms with variable duty cycle. Learn to use analog to digital converter (ADC) to gather data from analog sensors and display it to LCDs.

Each section ends with a Quiz to examine your learning outcomes from this course. All the codes (C Programs) are available in resources along with the lecture material.

This is NOT Arduino Style Programming!!

I believe that Arduino is for quick prototyping of products but not for Mastering Microcontrollers and peripherals. In Arduino, you use many Third-Party Libraries, In this course, you will be writing your own libraries, Your code will be talking and manipulate microcontroller registers, True Register Level programming is presented in this course.

Major Topics Covered

  1. Masking: Learn to manipulate (Set/Reset) a particular bit in a port or MCU register without altering other bits.

  2. Pull-up Register: Learn the importance of pull-up resistors, enabling and disabling them, also learn to use them in interfacing digital sensors.

  3. Timers: Learn to write C programs to generate accurate delays using MCU Timers.

  4. Pulse Width Modulation: Learn to generate PWM wave with variable duty cycle using MCU timers and PWM registers.

  5. Liquid Crystal Display:  Learn to interface LCDs with MCU using GPIOs, No third-party library is used for LCD, You will learn to write your own library for LCDs.

  6. Analog to Digital Converter: Learn to interface analog sensors such as a potentiometer to read voltage across it.

  7. Temperature Monitoring System: Learn to interface LM35 temperature sensor IC to read ambient temperature and display the same on LCD.

  8. Speed Control of DC Motor: Learn to control the Direction and Speed of DC Motor using half-bridge integrated circuit L293D and PWM Technique. Vary the Speed using a POT connected to ADC and vary the PWM duty cycle accordingly.

What Will I Get ?

  • Learn basics of Embedded C

  • Developing Embedded System around AVR Microcontroller

  • Master Masking Technique in C

  • Interface Sensors and Actuators using GPIOs / Ports

  • Demystify Timers to write delays

  • Learn how to generate PWM, also learn to vary Duty Cycle and Frequency of PWM Wave

  • Interface Liquid Crystal Displays (LCDs) to print Characters, String and Integers, Also Learn to write Library for LCD

  • Interface Analog Sensors using inbuilt analog to digital converters


  • Be familiar to any programming language, Basics only

Course Rating

    Feedbacks (0)

  • No Feedbacks Yet..!

We make use of cookies to improve our user experience. By using this website, you agree with our Cookies Policy.