- Level Foundation
- Duration 14 hours
- Course by Johns Hopkins University
-
Offered by
About
In this course you will use a Raspberry Pi 4 to build a complete network-connected project with sensors and motors and access it from your smartphone. We'll explore all the parts which make this work, so you can use this experience as a foundation for your own projects. We'll use the Raspberry Pi as an "embedded system" (as opposed to a desktop computer) so you're ready to build a Raspberry Pi into your projects as the brains that make it all work. Want to build your own Internet of Things (IoT) device? Home automation? Robotics? This is the class to learn how it all works, to get you building on your own. No experience in embedded systems, programming, or electronics is assumed, and optional bonus sections are provided for those who want a fast start in Python programming, Linux essentials, and basic electronics. The course is divided into four modules to explore each focus area with demontrations and extras along the way: 1) installing and configuring a Raspberry Pi, 2) accessing the Raspberry Pi over the network, 3) programmatically controlling external sensors and motors, and 4) accessing the embedded device through a web interface. After these four modules you'll get started building your own projects right away, and the three follow-on courses in this Coursera specialization dive into each area to really boost your skills and the complexity of your projects. I hope you enjoy all the courses and I hope you take your builds to the next level.Modules
Introduction to Module 1
1
Videos
- Module 1 Introduction
1
Readings
- Follow Along with Your Own Raspberry Pi
What is Raspberry Pi and How is it Different From Arduino?
3
Videos
- Introducing the Raspberry Pi
- How are Raspberry Pi and Arduino Different?
- Physical Connections on the Raspberry Pi
Installing and Configuring the Operating System
3
Videos
- Introducing Raspberry Pi OS
- Installing Raspberry Pi OS
- Configuring with raspi-config
1
Readings
- Summary of Commonly Used Commands
Connecting via Network
3
Videos
- Determining the Raspberry Pi IP Address
- Connecting with SSH
- Running Command-Line Performance Tests
Summary of Module 1
1
Assignment
- Module 1
1
Videos
- Summary of Module 1
Bonus Topic: Basic User Commands for the Linux Command Line
1
Assignment
- Linux Command Line
3
Videos
- Shell, Prompt, and User
- Directory Navigation
- Executables and the Python Interpreter
Introduction to Module 2
1
Videos
- Introduction to Module 2
Remote GUI desktops with VNC
3
Videos
- Connecting to a Remote GUI desktop with VNC
- Introducing the Raspberry Pi OS Graphical Desktop
- VNC vs SSH for Designing IoT, Home Automation, and Robotics
Electronics Theory for Controlling LEDs
3
Videos
- Currents and Voltages in a Circuit
- Analysis of an LED Circuit
- Using Python to Light an LED
Creating an API Endpoint
2
Videos
- Python Web Frameworks
- Writing an API Endpoint
Summary of Module 2
1
Assignment
- Module 2
1
Videos
- Summary of Module 2
Bonus Topic: The Python Programming Language
1
Assignment
- The Python Programming Language
3
Videos
- Introduction to Python
- Basic Python syntax
- Using the Official Python Documentation
Introduction to Module 3
1
Videos
- Introduction to Module 3
Removing Mystery with Documentation
5
Videos
- Learning More About the Raspberry Pi Hardware (Part 1)
- Learning More About the Raspberry Pi Hardware (Part 2)
- Vendor-Agnostic Serial Protocols
- Software Stacks for Serial Protocols (Part 1)
- Software Stacks for Serial Protocols (Part 2)
Troubleshooting Sensors with Serial Protocols
3
Videos
- Troubleshooting I2C Sensor Signals
- What to Look for When Troubleshooting SPI
- Controlling LED Brightness with PWM
Real-time Processing and Controlling Motors
6
Videos
- What is Real-Time Processing and When Do You Need It?
- Offloading Power and Timing Responsibilities to a Driver Board
- Types of Motors and How to Control Them (Part 1)
- Types of Motors and How to Control Them (Part 2)
- Types of Motors and How to Control Them (Part 3)
- Types of Motors and How to Control Them (Part 4)
Summary of Module 3
1
Assignment
- Module 3
1
Videos
- Summary of Module 3
Bonus Topic: Linux Administration Basics
1
Assignment
- Linux Administration Basics
3
Videos
- Linux Administration Basics: Root, Commands, and Directories
- Linux Administration Basics: Background Tasks and Services
- Linux Administration Basics: Creating Users and Home Directories
Introduction to Module 4
1
Videos
- Introduction to Module 4
Introducing Our Project
3
Videos
- Design Patterns for IoT and Automation Projects
- Reviewing Our Project Part 1: Familiar Topics
- Reviewing Our Project Part 2: New Topics
1
Readings
- Link to Github repository referenced in this module
Creating the API
5
Videos
- Easy Authentication with SSH Keys
- Using Flask to Create an API Server
- Loosely Coupled Software Modules (Part 1 of 2)
- Loosely Coupled Software Modules (Part 2 of 2)
- Diving Into Our Flask API Server
Creating the Web Application
6
Videos
- Web Frameworks and How to Learn Them (Part 1 of 2)
- Web Frameworks and How to Learn Them (Part 2 of 2)
- Creating a Minimal Web Application with React and Flask (Part 1 of 2)
- Creating a Minimal Web Application with React and Flask (Part 2 of 2)
- Diving into Our Web Application (Part 1 of 2)
- Diving into Our Web Application (Part 2 of 2)
Creating Custom Hardware
3
Videos
- Let's Make a Custom Sensor
- Creating Our Sensor Hardware
- System Integration in the Real World
Summary of Module 4
1
Assignment
- Module 4
1
Videos
- Summary of Module 4
Summary of Course 1 in this Coursera Specialization
1
Videos
- Summary of Course 1 in this Coursera Specialization
Auto Summary
"Beginning Custom Projects with Raspberry Pi" is a foundational course in Science & Engineering by Coursera, led by expert instructors. It focuses on utilizing the Raspberry Pi 4 to create network-connected projects with sensors and motors, accessible via smartphones. Ideal for those interested in IoT, home automation, or robotics, the course requires no prior experience. It includes four comprehensive modules covering installation, network access, sensor/motor control, and web interface integration. The course spans 840 minutes, with optional starter and professional subscription plans, perfect for beginners aiming to elevate their project-building skills.
Drew Wilson