The Final goal of this program is to give in-depth knowledge of 32bit Microcontroller by using ARM Architecture with their programming so that professional can work on Real Time Projects like Smart Automation, Smart Building, Smart Agriculture, Smart Logistic s & Transport .


Working Professional/Graduated



Knowledge of Electronic component and C language programming.



Knowledge of Electronics hardware design

Knowledge of C language programming

Knowledge of ARM

Knowledge of Personal experience of working with live project


Section 1: Introduction to Embedded System and Digital World

1. Brief History

  • First Embedded Application
  • Different Microcontroller Architectures
  • Different kinds of Microcontrollers

 2. Scope of embedded system and further advancements

  • Applications
  • Market research
  • Growth Rate

3. Digital number system

  • Introduction of Various Number Systems in Digital World

4. PIC 8-bit microcontroller’s architecture

  • Introduction of 8 Bit Microcontroller

Section 2 : Introduction to Microcontroller

5. Classification of microcontrollers

  • 4-bit, 8-bit, 16-bit, 32-bit
  • Package Structure
  • Market Scenario on the basis of types of Controllers

 6. Introduction to 32-bit ARM microcontrollers

  • Importance of 32-bit Microcontrollers
  • Introduction to ARM
  • Difference between ARM & MIPS
  • Brief description of ARM Family Microcontrollers
  • Introduction to ARM Cortex M Series (M0 & M3)
  • Description of STM32Fxxx Microcontrollers (STM32F0xxx & STM32F1xxx)

7. Basic architecture description of STM32Fxxx

  • Pin Diagram
  • Memory Organization
  • SFRs description

8. Introduction to general Microcontroller terms

  • Program Counter
  • Accumulator (or Working Register)
  • Reset
  • Clock Cycle, Machine Cycle, Instruction Cycle
  • Interrupts
  • SFRs & GPRs
  • Stack, Stack Pointer, Stack Operation

9. Brief introduction to internal features

  • General Purpose Input-Output PORTs
  • Interrupt
  • Timers
  • Analog to Digital Convertors
  • Device Protection features – Watchdog Timer, BOR, Power up Timer

Section 3 : Detailed Description to Development Tools

10. Keil V4 or Keil V5

  • Introduction to Keil IDE
  • Making Project on Keil IDE
  • Compiling a Sample Program to Understand Process

 Section 4 : Working with STM32xxx Microcontroller


11. Description of GPIO of STM32Fxxx microcontroller

12. Port techniques and general mapping techniques

13. Description to general Port SFRs

14. Detailed description to STM32Fxxx discovery kit

15. Introduction to programming environment of STM32Fxxx on Keil V4

16. Demonstration of LED program on STM32Fxxx kit

Section 5 : Embedded C Programming of GPIO and basic Internal Peripherals of Controller

17. LEDs

  • LED Introduction
  • LED Interfacing with Microcontroller
  • LED Patterns programming


18. Linear Switches

  • Introduction to Switches
  • Interfacing of Switches with Microcontroller
  • Switches Programming

19. Seven Segment Display(SSD)

  • Introduction to SSD
  • Types of SSD(CC & CA)
  • Internal Arrangement of Segment LEDs in SSD
  • Introduction to logics to display Numeric values on SSD
  • Interfacing of SSD with Microcontroller
  • Programming concept of SSD
  • Different SSD Programs

20. Keypad Matrix

  • Concept of Keypad Matrix
  • Interfacing of Keypad with Microcontroller
  • Programming Concept of Keypad Matrix
  • Programming Practice

21. Multi Seven Segment Display (MSSD)

  • Concept of MSSD
  • Interfacing of MSSD with Microcontroller
  • Programming Concept of MSSD
  • Programming Practice

22. Liquid Crystal Display (LCD)

  • Introduction to LCD
  • Types of LCD (Character & Graphical)
  • Introduction to Character LCD & its Types
  • Introduction to LCD Driver IC(HD44780) & Character LCD Module
  • Introduction to Pin Diagram of Character LCD
  • Interfacing of Character LCD with Microcontroller
  • Description of Character LCD Commands
  • Programming Concept of Character LCD
  • Practice of Character LCD Programs

23. Timers/Counters

  • Understanding the Timer/Counter Concepts
  • Introduction to Timer0 & Timer1 Concepts
  • Introductions to Timer SFRs and their access
  • Programming concept of Timers to Generate delays
  • Practice of various delay programs

Section 6 : Programming of Advanced Internal Peripherals of  STM32Fxxx Controller

24. Analog to Digital converter

  • Introduction to ADC Process
  • Need of ADC
  • Types of ADC
  • ADC Resolutions & Relation between Vin & Digital Output
  • Introduction to PIC internal ADC and its SFRs
  • Programming Concept of ADC
  • Practice of Different ADC Programs

25. Universal Asynchronous Receiver Transmitter(UART)

  • Introduction to Serial & Parallel Communication
  • Introduction to Synchronous & Asynchronous Communication
  • Introduction to UART and its SFRs
  • Programming concept of Serial Transmitter & Receiver using UART
  • Practice of UART Programs


26. EEPROM Features

  • Introduction to Internal EEPROM of PIC16Fxxx
  • Description of EEPROM SFRs
  • Introduction to Writing/Reading concept to/from the EEPROM
  • Programming concept of EEPROM Writing & Reading
  • Practice of EEPROM Programs

27. Interrupts

  • Introduction to Interrupt
  • Polling Vs. Interrupt
  • Types of Interrupts(Mask able & Non-Mask able, Internal & External)
  • Description to Interrupt Logic Diagram of PIC16Fxxx
  • Introduction to SFRs related to Interrupts
  • Programming Concept of Interrupts
  • Practice of Interrupt Programs

Section 7 : Programming of advanced communication protocols (12C,SPI,RS485 etc.) of STM32xxx controller


28. Introduction of communication protocols

  • Data Transmitting and Receiving Sequence with Block Diagram
  • Data Read/Write Sequence with External device
  • Introduction to related SFR’S
  • Programming Concept with peripheral library


Lab Work