SlideShare a Scribd company logo
Prepared by: Mohamed AbdAllah
Raspberry pi interfacing
Lecture 1: Introduction
1
Course content
 Introduction
• Introduction to Embedded Systems.
• Introduction to Linux operating system.
• Introduction to Embedded Linux.
 Linux operating system
• Linux file system hierarchy.
• Linux commands.
• Files permissions.
• Input-Output redirection.
• Environment variables.
• Process management.
• Linux shell scripting. 2
Course content
 Embedded Systems Communication Protocols
• UART protocol.
• I2C protocol.
• SPI protocol.
 Hardware interfacing special cases
• Analog to Digital Converter (ADC).
• Pulse Width Modulation (PWM).
• Polling V.S Interrupt based interfacing.
3
Course content
 Raspberry Pi – Hardware interfacing
• Hardware interfacing using Python language.
• Installing Linux on the Pi.
• Setting a static IP address and local host name for the Pi.
• Configuring the Wi-Fi dongle.
• Working with Pi GPIO.
• Working with Pi UART.
• Working with Pi PWM.
4
Introduction Agenda
 Introduction to Embedded Systems.
• What is an embedded system ?
• Embedded systems in our life.
• Embedded systems characteristics.
• Hardware, Software Co-Design.
• Micro-Controller concepts.
• Embedded systems market in Egypt.
 Introduction to Linux operating system.
• What is an operating system ?
• Why to use an operating system ?
• What is Linux operating system ?
• Linux OS main components.
• Linux features.
 Introduction to Embedded Linux.
• What is an embedded Linux ?
• Why to use embedded Linux ?
• Embedded Linux main components. 5
Introduction Agenda
Introduction
to
Embedded
Systems
Introduction to
Linux operating
system
Introduction
to
Embedded
Linux
6
Introduction to Embedded Systems
Introduction
to
Embedded
Systems
Introduction to
Linux operating
system
Introduction
to
Embedded
Linux
7
Introduction to Embedded Systems
 What is an embedded system ?
An embedded system is a computer system with a dedicated function within
a larger mechanical or electrical system, sometimes with real-time
computing constraints. It is embedded as part of a complete device often
including hardware and mechanical parts.
8
Introduction to Embedded Systems
 Embedded systems in our life
9
Introduction to Embedded Systems
 Embedded systems characteristics
• Cost of hardware and software.
• Memory.
• Power consumption.
• Operator interface.
• Reliability.
• Maintainability.
• Security.
• Safety.
• Real time critical.
• Interface to environment through sensors and actuators.
10
Introduction to Embedded Systems
 Hardware, Software Co-Design
• Break system into subsystems.
• Identify concurrency and dependencies in over all system.
• Allocate system components between hardware and software.
• Trade off between hardware and software.
• Break software into layers.
• Design user interface system.
11
Introduction to Embedded Systems
 Micro-Controller concepts
12
Introduction to Embedded Systems
 Micro-Controller concepts
0010011000
ADD R16,R10
SUB R7,R3
Z = x + y ;
If (y==3)
return 0 ;
file1.c Compiler
file1.asm
Assembler
file1.oLinker
file2.o
file3.o
prog.hex
13
Introduction to Embedded Systems
 Embedded systems market in Egypt
14
Introduction to Linux operating system
Introduction
to
Embedded
Systems
Introduction to
Linux operating
system
Introduction
to
Embedded
Linux
15
Introduction to Linux operating system
 What is an operating system ?
• An operating system acts as an intermediary
between the user of a computer and the
computer hardware. The purpose of an operating
system is to provide an environment in which a
user can execute programs in a convenient and
efficient manner.
• An operating system is software that manages the
computer hardware. The hardware must provide
appropriate mechanisms to ensure the correct
operation of the computer system and to prevent
user programs from interfering with the proper
operation of the system.
16
Introduction to Linux operating system
 Why to use an operating system ?
• Memory management.
• Storage management.
• Process management.
• Protection and security.
• Abstraction layer for every resource.
17
 What is Linux operating system ?
• In 1983, Richard Stallman, founder of the Free Software Foundation, set
forth plans of a complete Unix-like operating system, called GNU,
composed entirely of free software.
• By 1991 the lower level (kernel, device drivers, system-level utilities and
daemons) was still mostly lacking.
• In 1991, Linus Torvalds released the first version of the Linux kernel. Early
Linux developers ported GNU code, including the GNU C Compiler, to the
kernel. The free software community adopted the use of the Linux kernel
as the missing kernel for the GNU operating system.
Introduction to Linux operating system
18
 Linux OS main components
Introduction to Linux operating system
19
 Linux features
• Open Source: Linux source code is freely available and it is community
based development project. Multiple teams works in collaboration to
enhance the capability of Linux operating system and it is continuously
evolving.
• Multi-User: Linux is a multiuser system means multiple users can access
system resources like memory, ram, application programs at same time.
• Multiprogramming: Linux is a multiprogramming system means multiple
applications can run at same time.
• Hierarchical File System: Linux provides a standard file structure in which
system files, user files are arranged.
Introduction to Linux operating system
20
 Linux features
• Shell: Linux provides a special interpreter program which can be used to
execute commands of the operating system. It can be used to do various
types of operations, call application programs etc.
• Security: Linux provides user security using authentication features like
password protection, controlled access to specific files, encryption of
data.
Introduction to Linux operating system
21
Introduction to Linux operating system
22
Introduction to Embedded Linux
Introduction
to
Embedded
Systems
Introduction to
Linux operating
system
Introduction
to
Embedded
Linux
23
 What is an embedded Linux ?
• Operating systems based on the Linux kernel are used
in embedded systems such as consumer electronics
(i.e. set-top boxes, smart TVs, in-vehicle infotainment
(IVI), networking equipment (such as wireless routers),
machine control, industrial automation, navigation
equipment, spacecraft flight software, and medical
instruments in general).
• Thanks to their versatility, operating systems based on
the Linux kernel can be also found in mobile devices
that are actually touchscreen-based embedded
devices, such as smartphones and tablets, together
with personal digital assistants (PDAs) and portable
media players that also include a touchscreen.
Introduction to Embedded Linux
24
 Why to use embedded Linux ?
• Linux kernel supports wide range of architectures like:
 X86 and x64 in PC and multimedia.
 ARM.
 PowerPC mainly in real time applications.
 And much more architectures.
• A very basic Linux system can work on 8 MB of RAM and 4 MB of storage.
• Linux kernel has support for many communication busses like:
 USB.
 SPI.
 CAN.
Introduction to Embedded Linux
25
 Why to use embedded Linux ?
• Linux kernel has support for many networking stacks like:
 Ethernet.
 Wi-Fi.
 Bluetooth.
 IPv4, IPv6, TCP, UDB.
 Firewall and advanced routing.
Introduction to Embedded Linux
26
 Embedded Linux main components
• Cross-compilation Tool Chain: used to compile source code for the
required target hardware.
• Boot loader: used to initialize hardware and load the Linux kernel.
• Linux Kernel: the main software component of the operating system.
• System libraries: System libraries are special functions or programs used
by application programs or system utilities to access Kernel's features.
• File system with other libraries & apps.
Introduction to Embedded Linux
27
Mohamed AbdAllah
Embedded Systems Engineer
mohabdallah8@gmail.com
28

More Related Content

PDF
Embedded Systems: Lecture 2: Introduction to Embedded Systems
PPTX
Raspberry pi
PDF
Raspberry Pi - Lecture 6 Working on Raspberry Pi
PPTX
Raspberry-PI introduction
PPTX
Raspberry Pi (Introduction)
PPTX
Getting Started with Raspberry Pi
PDF
Raspberry JAM 1 - Setup Raspberry Pi with Raspbian -Vick Nesh
PPTX
Raspberry pi
Embedded Systems: Lecture 2: Introduction to Embedded Systems
Raspberry pi
Raspberry Pi - Lecture 6 Working on Raspberry Pi
Raspberry-PI introduction
Raspberry Pi (Introduction)
Getting Started with Raspberry Pi
Raspberry JAM 1 - Setup Raspberry Pi with Raspbian -Vick Nesh
Raspberry pi

What's hot (20)

PPTX
RaspberryPi + IoT - Lab to switch on and off a light bulb
PPTX
Raspberry Pi
DOCX
A seminar report on Raspberry Pi
PDF
Single Board Computers & Raspberry Pi Basics
PDF
Raspberry Pi
PPTX
Presentation on Raspberry Pi by Sazzad H. IIUC
PPSX
Introduction to embedded linux device driver and firmware
PDF
Raspberry Pi
PPTX
Introduction to raspberry pi
PPT
Raspberrypi best ppt
PDF
Getting Started with Raspberry Pi v1.2
PPTX
Difference between soc and single board computer ppt1
PDF
Raspberrypi
PPSX
Low Cost HD Surveillance Camera using Raspberry PI
PPTX
Raspberry Pi presentation for Computer Architecture class
PPTX
Raspberry pi
PPTX
Raspberry pi complete setup
DOCX
SEMINAR REPORT OF RASPBERRY PI
PPTX
Raspberry pi technology
PPTX
Introduction To The Beagleboard
RaspberryPi + IoT - Lab to switch on and off a light bulb
Raspberry Pi
A seminar report on Raspberry Pi
Single Board Computers & Raspberry Pi Basics
Raspberry Pi
Presentation on Raspberry Pi by Sazzad H. IIUC
Introduction to embedded linux device driver and firmware
Raspberry Pi
Introduction to raspberry pi
Raspberrypi best ppt
Getting Started with Raspberry Pi v1.2
Difference between soc and single board computer ppt1
Raspberrypi
Low Cost HD Surveillance Camera using Raspberry PI
Raspberry Pi presentation for Computer Architecture class
Raspberry pi
Raspberry pi complete setup
SEMINAR REPORT OF RASPBERRY PI
Raspberry pi technology
Introduction To The Beagleboard
Ad

Viewers also liked (20)

PDF
Raspberry Pi - Lecture 3 Embedded Communication Protocols
PDF
Raspberry Pi - Lecture 2 Linux OS
PDF
Raspberry Pi - Lecture 4 Hardware Interfacing Special Cases
PDF
Raspberry Pi - Lecture 5 Python for Raspberry Pi
PDF
Hardware interfacing basics using AVR
PDF
Embedded C - Lecture 4
PDF
Embedded C - Lecture 3
PDF
Embedded C - Lecture 2
PDF
Embedded C - Lecture 1
PPT
Raspberry pi : an introduction
PPT
Raspberry pi
PDF
Embedded C programming based on 8051 microcontroller
DOCX
Plc dasar
ODP
Raspberry Pi and Amateur Radio
PPT
Embedded c & working with avr studio
PDF
Emertxe : Linux training portfolio
PDF
Emertxe : Training portfolio
PPT
Interfacing rs232
PDF
Resume Preparation - Workshop
PPTX
Advance Microcontroller AVR
Raspberry Pi - Lecture 3 Embedded Communication Protocols
Raspberry Pi - Lecture 2 Linux OS
Raspberry Pi - Lecture 4 Hardware Interfacing Special Cases
Raspberry Pi - Lecture 5 Python for Raspberry Pi
Hardware interfacing basics using AVR
Embedded C - Lecture 4
Embedded C - Lecture 3
Embedded C - Lecture 2
Embedded C - Lecture 1
Raspberry pi : an introduction
Raspberry pi
Embedded C programming based on 8051 microcontroller
Plc dasar
Raspberry Pi and Amateur Radio
Embedded c & working with avr studio
Emertxe : Linux training portfolio
Emertxe : Training portfolio
Interfacing rs232
Resume Preparation - Workshop
Advance Microcontroller AVR
Ad

Similar to Raspberry Pi - Lecture 1 Introduction (20)

PDF
embedded-linux-120203.pdf
PDF
Linux-Internals-and-Networking
PPTX
Lecture01_IntroToLinuxAndEmbeddedSystems.pptx
PPTX
Lecture01_IntroToLinuxAndEmbeddedSystems.pptx
PPTX
Lecture01_IntroToLinuxAndEmbeddedSystems.pptx
PDF
Linux for embedded_systems
PPT
PDF
Building Embedded Systems With Embedded Linux Roronoa Hatake
PPTX
Lect 1_Embedded Linux Embedded RTOS ppt
PDF
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B Kute
PDF
Embedded Linux Evolution | Turing Techtalk
PPT
Embedded Linux Talk Uni Forum
PPTX
Embedded linux
PDF
Module 4 Embedded Linux
PDF
Embedded Systems: Lecture 4: Selecting the Proper RTOS
PPTX
Linux – an introduction
PDF
Intro to linux
PDF
Building Embedded Linux Systems Introduction
PDF
Embedded Linux Primer A Practical Real World Approach 1st Edition Christopher...
embedded-linux-120203.pdf
Linux-Internals-and-Networking
Lecture01_IntroToLinuxAndEmbeddedSystems.pptx
Lecture01_IntroToLinuxAndEmbeddedSystems.pptx
Lecture01_IntroToLinuxAndEmbeddedSystems.pptx
Linux for embedded_systems
Building Embedded Systems With Embedded Linux Roronoa Hatake
Lect 1_Embedded Linux Embedded RTOS ppt
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B Kute
Embedded Linux Evolution | Turing Techtalk
Embedded Linux Talk Uni Forum
Embedded linux
Module 4 Embedded Linux
Embedded Systems: Lecture 4: Selecting the Proper RTOS
Linux – an introduction
Intro to linux
Building Embedded Linux Systems Introduction
Embedded Linux Primer A Practical Real World Approach 1st Edition Christopher...

Recently uploaded (20)

PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PDF
오픈소스 LLM, vLLM으로 Production까지 (Instruct.KR Summer Meetup, 2025)
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PPT
Chapter 6 Design in software Engineeing.ppt
PPTX
MET 305 MODULE 1 KTU 2019 SCHEME 25.pptx
PPTX
“Next-Gen AI: Trends Reshaping Our World”
PPTX
Fluid Mechanics, Module 3: Basics of Fluid Mechanics
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPTX
web development for engineering and engineering
PPTX
The-Looming-Shadow-How-AI-Poses-Dangers-to-Humanity.pptx
PPTX
Internet of Things (IOT) - A guide to understanding
PPTX
Simulation of electric circuit laws using tinkercad.pptx
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PPTX
Sustainable Sites - Green Building Construction
PPTX
Lesson 3_Tessellation.pptx finite Mathematics
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
오픈소스 LLM, vLLM으로 Production까지 (Instruct.KR Summer Meetup, 2025)
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
Chapter 6 Design in software Engineeing.ppt
MET 305 MODULE 1 KTU 2019 SCHEME 25.pptx
“Next-Gen AI: Trends Reshaping Our World”
Fluid Mechanics, Module 3: Basics of Fluid Mechanics
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
web development for engineering and engineering
The-Looming-Shadow-How-AI-Poses-Dangers-to-Humanity.pptx
Internet of Things (IOT) - A guide to understanding
Simulation of electric circuit laws using tinkercad.pptx
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
Model Code of Practice - Construction Work - 21102022 .pdf
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
Sustainable Sites - Green Building Construction
Lesson 3_Tessellation.pptx finite Mathematics

Raspberry Pi - Lecture 1 Introduction

  • 1. Prepared by: Mohamed AbdAllah Raspberry pi interfacing Lecture 1: Introduction 1
  • 2. Course content  Introduction • Introduction to Embedded Systems. • Introduction to Linux operating system. • Introduction to Embedded Linux.  Linux operating system • Linux file system hierarchy. • Linux commands. • Files permissions. • Input-Output redirection. • Environment variables. • Process management. • Linux shell scripting. 2
  • 3. Course content  Embedded Systems Communication Protocols • UART protocol. • I2C protocol. • SPI protocol.  Hardware interfacing special cases • Analog to Digital Converter (ADC). • Pulse Width Modulation (PWM). • Polling V.S Interrupt based interfacing. 3
  • 4. Course content  Raspberry Pi – Hardware interfacing • Hardware interfacing using Python language. • Installing Linux on the Pi. • Setting a static IP address and local host name for the Pi. • Configuring the Wi-Fi dongle. • Working with Pi GPIO. • Working with Pi UART. • Working with Pi PWM. 4
  • 5. Introduction Agenda  Introduction to Embedded Systems. • What is an embedded system ? • Embedded systems in our life. • Embedded systems characteristics. • Hardware, Software Co-Design. • Micro-Controller concepts. • Embedded systems market in Egypt.  Introduction to Linux operating system. • What is an operating system ? • Why to use an operating system ? • What is Linux operating system ? • Linux OS main components. • Linux features.  Introduction to Embedded Linux. • What is an embedded Linux ? • Why to use embedded Linux ? • Embedded Linux main components. 5
  • 6. Introduction Agenda Introduction to Embedded Systems Introduction to Linux operating system Introduction to Embedded Linux 6
  • 7. Introduction to Embedded Systems Introduction to Embedded Systems Introduction to Linux operating system Introduction to Embedded Linux 7
  • 8. Introduction to Embedded Systems  What is an embedded system ? An embedded system is a computer system with a dedicated function within a larger mechanical or electrical system, sometimes with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts. 8
  • 9. Introduction to Embedded Systems  Embedded systems in our life 9
  • 10. Introduction to Embedded Systems  Embedded systems characteristics • Cost of hardware and software. • Memory. • Power consumption. • Operator interface. • Reliability. • Maintainability. • Security. • Safety. • Real time critical. • Interface to environment through sensors and actuators. 10
  • 11. Introduction to Embedded Systems  Hardware, Software Co-Design • Break system into subsystems. • Identify concurrency and dependencies in over all system. • Allocate system components between hardware and software. • Trade off between hardware and software. • Break software into layers. • Design user interface system. 11
  • 12. Introduction to Embedded Systems  Micro-Controller concepts 12
  • 13. Introduction to Embedded Systems  Micro-Controller concepts 0010011000 ADD R16,R10 SUB R7,R3 Z = x + y ; If (y==3) return 0 ; file1.c Compiler file1.asm Assembler file1.oLinker file2.o file3.o prog.hex 13
  • 14. Introduction to Embedded Systems  Embedded systems market in Egypt 14
  • 15. Introduction to Linux operating system Introduction to Embedded Systems Introduction to Linux operating system Introduction to Embedded Linux 15
  • 16. Introduction to Linux operating system  What is an operating system ? • An operating system acts as an intermediary between the user of a computer and the computer hardware. The purpose of an operating system is to provide an environment in which a user can execute programs in a convenient and efficient manner. • An operating system is software that manages the computer hardware. The hardware must provide appropriate mechanisms to ensure the correct operation of the computer system and to prevent user programs from interfering with the proper operation of the system. 16
  • 17. Introduction to Linux operating system  Why to use an operating system ? • Memory management. • Storage management. • Process management. • Protection and security. • Abstraction layer for every resource. 17
  • 18.  What is Linux operating system ? • In 1983, Richard Stallman, founder of the Free Software Foundation, set forth plans of a complete Unix-like operating system, called GNU, composed entirely of free software. • By 1991 the lower level (kernel, device drivers, system-level utilities and daemons) was still mostly lacking. • In 1991, Linus Torvalds released the first version of the Linux kernel. Early Linux developers ported GNU code, including the GNU C Compiler, to the kernel. The free software community adopted the use of the Linux kernel as the missing kernel for the GNU operating system. Introduction to Linux operating system 18
  • 19.  Linux OS main components Introduction to Linux operating system 19
  • 20.  Linux features • Open Source: Linux source code is freely available and it is community based development project. Multiple teams works in collaboration to enhance the capability of Linux operating system and it is continuously evolving. • Multi-User: Linux is a multiuser system means multiple users can access system resources like memory, ram, application programs at same time. • Multiprogramming: Linux is a multiprogramming system means multiple applications can run at same time. • Hierarchical File System: Linux provides a standard file structure in which system files, user files are arranged. Introduction to Linux operating system 20
  • 21.  Linux features • Shell: Linux provides a special interpreter program which can be used to execute commands of the operating system. It can be used to do various types of operations, call application programs etc. • Security: Linux provides user security using authentication features like password protection, controlled access to specific files, encryption of data. Introduction to Linux operating system 21
  • 22. Introduction to Linux operating system 22
  • 23. Introduction to Embedded Linux Introduction to Embedded Systems Introduction to Linux operating system Introduction to Embedded Linux 23
  • 24.  What is an embedded Linux ? • Operating systems based on the Linux kernel are used in embedded systems such as consumer electronics (i.e. set-top boxes, smart TVs, in-vehicle infotainment (IVI), networking equipment (such as wireless routers), machine control, industrial automation, navigation equipment, spacecraft flight software, and medical instruments in general). • Thanks to their versatility, operating systems based on the Linux kernel can be also found in mobile devices that are actually touchscreen-based embedded devices, such as smartphones and tablets, together with personal digital assistants (PDAs) and portable media players that also include a touchscreen. Introduction to Embedded Linux 24
  • 25.  Why to use embedded Linux ? • Linux kernel supports wide range of architectures like:  X86 and x64 in PC and multimedia.  ARM.  PowerPC mainly in real time applications.  And much more architectures. • A very basic Linux system can work on 8 MB of RAM and 4 MB of storage. • Linux kernel has support for many communication busses like:  USB.  SPI.  CAN. Introduction to Embedded Linux 25
  • 26.  Why to use embedded Linux ? • Linux kernel has support for many networking stacks like:  Ethernet.  Wi-Fi.  Bluetooth.  IPv4, IPv6, TCP, UDB.  Firewall and advanced routing. Introduction to Embedded Linux 26
  • 27.  Embedded Linux main components • Cross-compilation Tool Chain: used to compile source code for the required target hardware. • Boot loader: used to initialize hardware and load the Linux kernel. • Linux Kernel: the main software component of the operating system. • System libraries: System libraries are special functions or programs used by application programs or system utilities to access Kernel's features. • File system with other libraries & apps. Introduction to Embedded Linux 27