What are Embedded Systems?

Training in Embedded Systems is simply briefed as follows:

And finally bringing them all together by developing your own recipe of combination that can finally give birth to a device that will perform with maximum efficiency, compact, multi-tasking, reliable, economical and powerful. Yes, using Embedded system, one can create machines and devices that can perform miracles based on one’s creativity.

Learn Embedded Systems

The world is moving towards the ease of IoT. What used to take a ton of human power can now be accomplished by the power of machine learning and AI. Embedded system software ranges from little to no user interface to complex user experiences that more deeply connect us to the devices in our world. Consumer electronics, cars, agricultural equipment, manufacturing, and medical equipment are all possible locations for embedded software. The development process for this new era can be complex, and it’s worth it to learn the types of hardware and software tools available to you.

Embedded Systems syllabus

Introduction to PIC microcontroller – PIC18F4580

Basics for programming

Port blinking

Interfacing external devices – LED, Push button, LCD, Keypad

Peripherals – ADC, UART, Timer, PWM, External interrupt

Motor speed control

Introduction to AVR – atmega32

Basics for programming

Port blinking

Interfacing external devices – LED, Push button, LCD, Keypad

Peripherals – ADC, UART, Timer, PWM, External interrupt

Motor speed control

Introduction to ARM7TDMI-S architecture and LPC2129

Basics for programming

Port blinking

Interfacing external devices – LED, Push button, LCD, Keypad

Peripherals – ADC, UART, Timer, PWM, External interrupt

Motor speed control

Introduction to Arduino

Setting up IDE

Digital Input/Output

Analog input


Serial communication

Installing libraries

Interfacing external components




  • Introduction to RTOS

    Introduction to FreeRTOS

    Porting FreeRTOS kernel on LPC2129 ARM based microcontroller

    Integrating peripheral drivers with FreeRTOS

    Task Creation


    Binary Semaphore

    Counting Semaphore



    Demo project

  • Linux basics, commands, shell programming, environment variables, text editors, makefiles

    Linux device drivers

    Cross compiling and deploying an application


  • Python programming language – overview, environment setup

    Basic syntax

    Variable types

    Basic operators

    Decision making

    Loops, Strings, List, Tuple

    Numbers, Functions, Dictionary

    Modules, Exceptions, File I/O

    Classes and Objects

    Regular expressions

    Standard libraries – date & time, math, random

    Exercise projects


    Introduction to Raspberry Pi

    Hardware setup

    Installing Raspbian OS

    LED blinking using GPIO

    Push button input using GPIO

    Playing audio

    Viewing image

    Writing on image

    Viewing live camera image

    Saving a picture using camera

    Face detection using live video

    Adding effects to live video

    Simple flask web server

    Web server using HTML

    Reading sensor value through web server

    Controlling device through web server

  • Introduction to IOT

    Introduction to Arduino – Setting up IDE, digital output, digital input, analog input, PWM, serial communication, installing libraries

    Sensing the Things in IOT – Interfacing sensors with Arduino – Gas, Alcohol, Temperature, Humidity, Pressure, PIR, Accelerometer, Ultrasonic

    Introduction to Wireless technologies- GSM, GPS, Zigbee, RFID, Bluetooth, LoRa, Wi-Fi (ESP8266)

    Introduction to IOT Protocols – HTTP, MQTT

    Node Red

    IOT using Cloud platforms – Thingspeak/Adafruit

    Project using Nodemcu

    Project using Raspberry Pi

  • Electronic component familiarization

    Component and circuit testing – Multimeter, Oscilloscope, Signal generator

    Basic outline of Orcad and Eagle

    Schematic design – component selection and placement, names and values, nets, ERC, netlist, BOM generation

    PCB design – footprint selection, component placement, pads, layers, tracks, vias, stop mask, silkscreen, board outline, auto routing, manual routing, ratsnest, DRC, CAM process & Gerber file generation

    Soldering practice

MOS Fundamentals

MOS Switches & Designs

Transmission Gates


Combinational and Sequential Logic

Introduction to Layout Tools

Design flow

Digital circuits

Introductions to languages – VHDL

Combinational Circuit Design

Sequential Circuit Design

Design of controller and Data path units

State Machines

Controller Design using FSMs & ASMs

Design Examples & Case Studies

Language Constructs, Data types

Design Styles

Behavioral Modeling, Dataflow Modeling

Structural Modeling

Generics and Configurations

Subprograms and overloading

Packages and Libraries

Advanced features of VHDL

Test Bench Design and Coding

Synthesis issues

Pre-defined data types

User defined data types


Signed and unsigned data types

Data conversion



Operator overloading


Design flow

EDA Tools

Translation of VHDL code into a circuit.

Fundamental VHDL units

LIBRARY Declarations



Concurrent versus Sequential



Branch and loop




Signal versus Variable

Number of registers




Port Map

Generic Map


Function location


Procedure location

Function versus Procedure


Introduction to Programmable Logic and FPGAs

Popular CPLD & FPGA Families

Architecture of popular Xilinx and SPARTAN FPGA


FPGA Design Flow Xilinx ISE

Implementation using SPARTAN 3,SPARTAN 3 &3AN and PAPILIO PRO board

Advanced FPGA Design tips

Logic Synthesis for FPGA

Placement & Routing

Static Timing Analysis

Design problems using Xilinx Platforms


Data Types


Data Declarations


Operators and Expressions

Procedural Statements


Tasks and Functions


Case study and analysis

Front end design

Simulate the code using Modelsim

Synthesis using Xilinx ISE

FPGA implementation.

Introduction to Embedded systems and Robotics

Arduino Nano hardware basics

Installing Arduino IDE and driver for programming

Digital write for controlling DC load


Using delay functions for precise timing

Digital read for taking input – Push Button

Serial communication – Print message on the serial monitor

Serial communication – Read serial message and control DC load

Digital read serial – Print status of digital input to Serial monitor

Analog read serial – Read voltage from a potentiometer and display on serial monitor

Analog write – Fading an LED using duty cycle adjustment of PWM

Ultrasonic sensors

IR sensors

Gas sensors

Light Sensors


DC Motor

Servo motor



IR sensor

Programming for our highly connected world is more than just general purpose computer programming. It involves a comprehensive selection of computer hardware and software designed to integrate our products and improve our quality of life. Real world problems are on the verge of disappearing thanks to embedded systems and their real-time operating systems. We can build models that help us with a range of issues and understanding how these systems link together could make you an in-demand talent for this new world.

Apply for Free Demo​

    distributed control system online training
    distributed control system online training
    distributed control system online training
    online training course smec360
    smec automation nsdc partnership certificate
    iisc india international skill center network member