Embedded systems is combination of hardware and software that perform specific task
1. 8-Bit Embedded Processor
- A processor used in embedded devices to do specific tasks.
- Works on 8 bits of data at a time.
- Example: 8051 microcontroller.
2. 8-Bit Microcontroller Architecture
- A microcontroller is a single chip with:
- CPU: executes instructions.
- ROM/Flash: stores the program.
- RAM: stores temporary data.
- I/O ports: connect to external devices.
- Timers/Counters: measure time or count events.
- Serial Port: communicate with other devices.
- Interrupts: handle urgent tasks.
3. Instruction Set and Programming
- The list of commands the microcontroller can execute.
- Examples:
- MOV: move data.
- ADD: add two numbers.
- CLR: clear a bit.
- SJMP: jump to another part of the program.
- Programs are written using these instructions in Assembly or C.
4. Programming Parallel Ports
- Parallel ports have 8 pins to send or receive 8 bits at once.
- Used to control LEDs, motors, or read switches.
- Example:
- Write data to port → turn ON LEDs.
- Read data from port → check switch status.
- 8051 has ports P0, P1, P2, P3.
5. Timers
- Built-in counters that count clock pulses.
- Used to create delays, generate signals, or measure time.
- 8051 has Timer 0 and Timer 1.
6. Serial Port
- Used for communication between devices one bit at a time.
- Example: send data to a PC or receive from a sensor.
- 8051 has a built-in serial communication unit (UART).
7. Interrupt Handling
- An interrupt pauses the main program to handle a high-priority task.
- After finishing, the program resumes.
- Example:
- Timer overflow interrupt.
- External interrupt when a button is pressed.
- Serial interrupt when data is received.
- The response to an interrupt is written in an Interrupt Service Routine (ISR).
1. Memory and I/O Devices Interfacing
- Memory interfacing: Connecting external RAM/ROM to the microcontroller so it can read/write data.
- I/O interfacing: Connecting input/output devices (like sensors, LEDs, displays, motors) to the microcontroller so it can control them or read their status.
2. Programming Embedded Systems in C
- Embedded systems are programmed using the C language because:
- It is close to hardware (like Assembly).
- It is easy to write and maintain.
- We write C code to:
- Read/write from ports.
- Control timers, interrupts, and serial communication.
3. Need for RTOS (Real-Time Operating System)
- RTOS is needed when many tasks must run at the same time in a time-sensitive way.
- Example: In a washing machine, one task controls water flow, another runs the motor, another checks the door — all need to run together.
- RTOS helps manage and schedule these tasks properly.
4. Multiple Tasks and Processes
- Task: A small program that does one job.
- Embedded systems often run multiple tasks (like reading sensors, updating display, sending data).
- The system switches between tasks very fast, so it looks like they run at the same time.
5. Context Switching
- When the CPU stops running one task and starts another, it saves the current task’s status (called its context).
- This is called context switching.
- When the first task resumes, its context is restored.
6. Priority-Based Scheduling Policies
- When many tasks are waiting, the RTOS decides which task to run first.
- Tasks can have priorities (high or low).
- The scheduler always runs the highest priority task first.
- Example: A fire alarm task has higher priority than updating the display.
1. Introduction to the Concept of IoT Devices
- IoT (Internet of Things) devices are objects that can connect to the internet and share data.
- Examples: Smart bulbs, fitness bands, smart door locks.
2. IoT Devices Versus Computers
- IoT devices are simple, low-power, and designed for one job.
- Computers are powerful, multitasking machines.
- IoT devices are cheaper and smaller than computers.
3. IoT Configurations
- Configuration means setting up IoT devices for communication and function.
- Types:
- Device to device
- Device to cloud
- Device to gateway
- You configure WiFi, Bluetooth, IP address, etc.
4. Basic Components
- Sensors: collect data (temperature, light).
- Actuators: take action (motor, buzzer).
- Microcontroller: processes data (like Arduino).
- Connectivity: sends data (WiFi, Bluetooth).
- Power supply: battery or adapter.
5. Introduction to Arduino
- Arduino is an open-source microcontroller board used for building electronics projects.
- It is beginner-friendly and supports sensors, motors, displays, etc.
6. Types of Arduino
- Arduino Uno (most common)
- Arduino Mega (more pins and memory)
- Arduino Nano (small-sized)
- Each type is used based on project size and requirements.
7. Arduino Toolchain
- Toolchain = all tools needed to program and upload code to Arduino.
- Includes:
- Arduino IDE (coding software)
- Compiler (translates code)
- Uploader (loads code into Arduino)
8. Arduino Programming Structure
- Arduino code has two main parts:
setup()– runs once at the start.loop()– runs again and again forever.
9. Sketches
- A sketch is the name for an Arduino program (code file).
- Written in Arduino IDE using C/C++.
10. Pins Input/Output from Pins Using Sketches
- Arduino has digital and analog pins.
- Input: Read from buttons, sensors.
- Output: Write to LEDs, motors.
- Example in sketch:
digitalWrite(13, HIGH); // turns ON LED at pin 13
11. Introduction to Arduino Shields
- Shields are add-on boards that plug into Arduino.
- Used to add features like WiFi, GPS, LCD.
- Makes hardware expansion easy.
12. Integration of Sensors and Actuators with Arduino
- Sensors give data to Arduino (temperature, motion, etc.).
- Actuators do actions based on that data (run fan, sound buzzer).
- Example: Temperature sensor reads value → Arduino turns on fan.
1. IoT Communication Models and APIs
- Communication models define how devices talk to each other.
- Common models:
- Device-to-Device
- Device-to-Cloud
- Device-to-Gateway
- APIs (Application Programming Interfaces) allow different devices and apps to interact and share data.
2. IoT Communication Protocols
- Protocols are rules for how data is sent/received.
- Examples:
- HTTP – for web-based communication
- MQTT – lightweight protocol used in IoT
- CoAP – designed for low-power devices
3. Bluetooth
- Short-range wireless communication.
- Used for pairing devices like smartwatches or fitness bands.
- Low power consumption.
4. WiFi
- Wireless network used for internet access.
- Used in home automation, smart appliances.
- High speed and range.
5. ZigBee
- Low-power wireless protocol for short-range communication.
- Used in smart homes (like smart bulbs, sensors).
- Better battery life than WiFi.
6. GPS
- Global Positioning System – gives exact location using satellites.
- Used in vehicles, trackers, and maps.
7. GSM Modules
- GSM (Global System for Mobile) – allows devices to send SMS, make calls, or use mobile data.
- GSM modules (like SIM800) can be added to Arduino/Raspberry Pi.
8. Open Platform (like Raspberry Pi) Architecture
- Raspberry Pi is a low-cost, credit-card-sized computer.
- Has:
- CPU
- RAM
- USB, HDMI, WiFi
- GPIO pins
- Can run Linux and support programming in Python/C++.
9. Programming
- Raspberry Pi is usually programmed using Python.
- Code controls sensors, motors, sends data to cloud, etc.
10. Interfacing
- Interfacing means connecting sensors/actuators to Raspberry Pi.
- Example: Connecting temperature sensor to GPIO pin.
11. Accessing GPIO Pins
- GPIO (General Purpose Input Output) pins are used to connect external devices.
- Used to read sensor data or control LEDs, motors.
12. Sending and Receiving Signals Using GPIO Pins
- You can use code to:
- Send signal: turn on LED, motor
- Receive signal: read button press, sensor data
- Example in Python:
GPIO.output(17, GPIO.HIGH) # Turns ON pin 17
13. Connecting to the Cloud
- Cloud is used to store, monitor, and control data from IoT devices remotely.
- Devices send data to cloud platforms (like Firebase, AWS, Thingspeak).
- You can access your data anytime from anywhere.
1. Complete Design of Embedded Systems
- Involves all steps to build a working embedded product.
- Key stages:
- Requirement Analysis – what the system should do
- Hardware Design – selecting microcontroller, sensors, power supply
- Software Design – writing code (in C, Python, etc.)
- Interfacing – connecting hardware parts
- Testing and Debugging – checking if everything works
2. Development of IoT Applications
- Building real-world solutions using IoT devices.
- Steps include:
- Selecting hardware (Arduino, Raspberry Pi)
- Connecting sensors/actuators
- Writing code to collect and send data
- Using protocols (like MQTT, HTTP)
- Storing or displaying data on the cloud or mobile app
3. Home Automation
- Controlling home devices automatically or remotely using IoT.
- Examples:
- Smart lights and fans
- Voice-controlled appliances (Alexa/Google)
- Security cameras and smart locks
4. Smart Agriculture
- Using sensors and IoT to improve farming.
- Examples:
- Soil moisture sensors for watering plants
- Weather monitoring systems
- Crop health monitoring using drones or sensors
5. Smart Cities
- Making urban infrastructure intelligent and efficient.
- Examples:
- Smart traffic control systems
- Automatic street lighting
- Waste management using IoT bins
- Pollution and noise monitoring
6. Smart Healthcare
- Using IoT in medical field for better monitoring and treatment.
- Examples:
- Wearable health trackers (heart rate, BP)
- Remote patient monitoring systems
- Emergency alert systems (fall detection for elderly)