The Raspberry pi platform and


About this course: The Raspberry Pi is a small, affordable single-board computer that you will use to design and develop fun and practical IoT devices while learning programming and computer hardware. In addition, you will learn how to set up up the Raspberry Pi environment, get a Linux operating system running, and write and execute some basic Python code on the Raspberry Pi. You will also learn how to use Python-based IDE (integrated development environments) for the Raspberry Pi and how to trace and debug Python code on the device. Please note that this course does not include discussion forums.

Course duration:  2 weeks

Created by:  BrilliantArms, India

Module 1
This module describes the basic functionality the Raspberry Pi B+ board. I’ll describe how to set up the board, configure it, and use it. An important point differentiating Raspberry Pi from the Arduino platform which we have talked about previously is that Raspberry Pi uses an operating system. I’ll describe some of the implications of an operating system on the behavior of the Raspberry Pi as an IoT device.
  1. Lecture 1.1 – Raspberry Pi Board
  2. Lecture 1.2 – Raspberry Pi Processor
  3. Lecture 1.3 – Raspberry Pi vs. Arduino
  4. Lecture 2.1 – Operating System Benefits
  5. Lecture 2.2 – Processes
  6. Lecture 2.3 – Raspberry Pi IoT
  7. Lecture 3.1 – Raspberry Pi Setup
  8. Lecture 3.2 – Raspberry Pi Configuration
  9. Lecture 3.3 – Overclocking


Module 2
The Raspberry Pi is typically installed with a Linux-based operating system, so we present the basics of Linux and its use. We describe some of the main features including navigating the file system and managing processes. We describe the text-based user interface through the shell and we overview the graphic user interface which is the default with the Raspian Linux distribution.
  1. Lecture 1.1 – Linux Basics
  2. Lecture 1.2 – Login
  3. Lecture 1.3 – Linux Filesystem
  4. Lecture 2.1 – Navigating the Filesystem
  5. Lecture 2.2 – Text Editors
  6. Lecture 2.3 – Accessing Files
  7. Lecture 3.1 – Permissions
  8. Lecture 3.2 – Processes
  9. Lecture 3.3 – Linux Graphic User Interface


Module 3
We present the basics of the Python programming language to prepare you for programming on the Raspberry Pi. Many languages can be used but Python is the most convenient for the Raspberry Pi because convenient APIs are provided for basic operations such as controlling the pins. Python is a powerful language with useful features that we will present so that you can use these features to control the Raspberry Pi.
  1. Lecture 1.1 – Python on Raspberry Pi
  2. Lecture 1.2 – Python Programming Environment
  3. Lecture 1.3 – Python Expressions
  4. Lecture 2.1 – Strings
  5. Lecture 2.2 – Functions
  6. Lecture 2.3 – Function Arguments
  7. Lecture 3.1 – Lists
  8. Lecture 3.2 – List Methods
  9. Lecture 3.3 – Control Flow


Module 4
In this module we describe how to communicate with devices through the pins of the Raspberry Pi. We examine the RPi.GPIO library which provides Python functions used to access the pins. We discuss how to set up the pins, apply digital voltages, and generate Pulse Width Modulated signals. We also describe the Tkinter Python library and show how it can be used to access pins through a graphic user interface.
  1. Lecture 1.1 – General Purpose IO Pins
  2. Lecture 1.2 – Protocol Pins
  3. Lecture 1.3 – GPIO Access
  4. Lecture 2.1 – General Purpose IO Pins
  5. Lecture 2.2 – Pulse Width Modulation
  6. Lecture 2.3 – Demo of a Blink
  7. Lecture 3.1 – Graphic User Interface
  8. Lecture 3.2 Tkinter Library
  9. Lecture 3.3 – Interaction
  10. End-of-Course Survey