We may earn an affiliate commission when you visit our partners.
Course image
Loony Corn
  • Taught by a team of electrical engineers from Stanford and IIT Madras.

An Internet-Of-Things course for everyone - accessible yet serious, to take you from absolute beginner to a solid intermediate level - built around Home Automation using Raspberry Pi.

This is a course is for everyone. You need not be an electrical engineer, or an engineer at all. We explain all engineering or automation concepts from absolute scratch.

Read more
  • Taught by a team of electrical engineers from Stanford and IIT Madras.

An Internet-Of-Things course for everyone - accessible yet serious, to take you from absolute beginner to a solid intermediate level - built around Home Automation using Raspberry Pi.

This is a course is for everyone. You need not be an electrical engineer, or an engineer at all. We explain all engineering or automation concepts from absolute scratch.

This is an Internet-of-Things course, not merely a Raspberry Pi course. This is important because we think too many courses end up becoming like manuals for the Raspberry Pi, or the Arduino, or some specific hardware device. This course is careful to generalize

The course takes you to a solid intermediate level. The objective is to get you to a point where if you imagine a really cool IoT application, you will be able to independently figure out how to implement it.

We focus on Home Automation using Raspberry Pi for our use-cases. This is so that you can immediately put it to use around the home (turn that music down without getting off the couch. )

As with all our courses, this one too is quirky. The examples are irreverent. Lots of little touches: repetition, zooming out so we remember the big picture, active learning with plenty of quizzes. There’s also a peppy soundtrack, and art - all shown by studies to improve cognition and recall.

What's Covered:

Internet of Things : Sensors, Actuators, Microcontrollers, Arduino, Raspberry Pi, Physical Computing, Smart homes

Raspberry Pi 2 Model B Components, System on a Chip (SOC) , Input Output Interfaces, SD Card / Secondary Storage, Choice of Operating Systems, RISC/CISC Architectures, x86 vs ARM, Raspbian OS installation, Raspbian tour, Linux Shell commands overview, Installing softwares, Connecting to the Internet

Physical Computing: Sensors (Photoresistors, Ultrasonic sensors, motion sensors, temperature and humidity sensors), Relays, LEDs, Push buttons, Basics of circuit design, Ohm's law, RC circuit, GPIO pins, Serial and Parallel interfaces, UART, SPI, I2C, Pulse Width Modulation (PWM), Python (RPi DOT GPIO), WiringPi, Node js (RPi-GPIO)

Home Automation projects: Measuring Distance, Measuring Light Intensity, Controlling switches with sensors, Controlling switches over local and external networks

Enroll now

What's inside

Learning objectives

  • Understand what the internet of things and physical computing are
  • Know their way around a raspberry pi
  • Use the raspberry pi in home automation projects
  • Think of different iot applications and visualize the components needed to build them
  • Do cool things like control switches in their home with their smartphone

Syllabus

What this course is about

We - the course instructors - start with introductions. We are a team that has studied at Stanford, IIT Madras, IIM Ahmedabad and spent several years working in top tech companies, including Google and Flipkart.

Next, we talk about the target audience for this course: There is no bar. Even absolute beginners can take this course. It starts with the basics and builds up to solid intermediate level home automation projects with the Raspberry Pi.

At the end of this course, you should be able to confidently build an IoT project on your own.

Read more

Tech companies are buzzing with anticipation about the Internet of Things. What is it and why should you care? This class takes you through the possibilities that the Internet of Things can open up. It also explains in brief how it can be achieved.

We'll start with understanding the basic setup of a 'smart' home. The thing that makes it smart is a special type of computer. Microcontrollers are examples of special purpose computers that can be used for automating things.

We'll talk about Arduino boards which are microcontroller based DIY kits and very popular for IoT experimentation. The Raspberry Pi is a tiny credit card sized computer that packs quite a punch.

The Raspberry Pi is tiny but still packs quite a punch. The Broadcom System on A Chip (SOC) is the secret sauce that makes this possible.

You can connect many things to a Raspberry Pi - Camera. HDMI, audio, GPIO - this class takes you on a tour of

the Raspberry Pi Board

The Raspberry Pi's SOC only has a small RAM. Where do you store your data, OS etc then? Use a Micro-SD card to store all your files and data.

The Raspberry Pi only runs specific kinds of operating systems - but there is still a lot of choice. Beef up on your OS fundamentals - RISC, CISC architectures, Open source vs closed source and make an informed choice of OS.

It's time to get started. We'll walk you through the steps involved in installing an Operating system.

Raspbian is the OS we've chosen to install. It's pretty similar to Debian - a linux distribution. Go on a tour of the OS.

Walk through a few useful linux shell commands including grep.

Adding a user and giving them permissions is not as straightforward as Windows. Redirection symbols come in real handy when you want to capture or parse the output at a command line.

Installing a software requires a few specific commands. These will be a lifesaver, whenever you use any Linux based OS in the future.

Connecting your Raspberry Pi to the internet can be a little tricky if you have never worked on a Linux based OS. We'll walk you through it step by step and there is a guide attached as well.

If you are absolutely new to coding, don't be intimidated in the least - its just like cooking.

A list is a list, as the name implies. Everything in life is a list, including strings

Let's do some stuff with lists.

Dictionaries, the name itself best describes what they are: collections of key-value pairs that you can look up blazingly fast. If-Else Statements come in real handy when you need to check for a condition.

Ever wondered what's the biggest difference between Excel, and a serious programming language? Loops. Loops are big productivity boosters.

Lists and Dictionaries are inextricably linked with loops. Use loops to do something with each element of a list or each key-value pair of a dictionary.

If coding is like cooking, functions are like food processors. They automate repetitive tasks by mechanically taking stuff in and churning stuff out.

Modules are awesome, you can do amazingly complex things by importing a module, without having to code stuff from scratch.

Walk through the various steps involved in a physical computing project. These are general enough that you can use this same process with any project , regardless of whether it is a Raspberry Pi that you're using as the main unit.

Devices communicate through interfaces, these are boundaries that connect them to other devices and define how the communication will be. Digital communication starts with binary and includes many possible interfaces -Serial, parallel, UART, Serial Peripheral Interface (SPI) and I2C. Pulse Width Modulation is a way to convert digital to analog.

This is the most critical step in physical computing - designing a circuit that connects your Raspberry Pi to other devices. We'll start from basics - what is the Ohm's law? What is resistance? Understand the specific roles that the different GPIO pins on the Raspberry Pi play.

To tie it all up, you'll need to write a program that controls the devices in your circuit. RPi.GPIO in Python or WiringPi in C are options but the basic steps are the same.

Here are few things you might want to add to your shopping list.

Our first physical computing project! Have some fun turning an LED on or off with your Raspberry Pi.

Read input from a Push Button, which is a tiny switch.

Take a reading from a photoresistor which is a light sensor. Use an RC circuit to measure the resistance of the photoresistor.

Use the Ultrasonic sensor to figure out if there is something is near the Raspberry Pi - and how far away it is.

We'll build upon the previous 2 projects. If a person walks into a room and the room is too dark - turn on the light switch. The project uses 3 circuits - Light sensor, Ultrasonic sensor, Relay to control a switch

WiringPi is a library that was written for Arduino like programming on the Raspberry Pi. Pulse Width Modulation is a way to convert digital to analog - we'll explore both of these in this class .

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Covers basics to advanced concepts for varied skill levels
Taught by electrical engineers who work in top tech companies
Provides hands-on experience with home automation projects

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Hands-on introduction to raspberry pi iot

According to learners, this course offers a highly accessible introduction to the world of Raspberry Pi and the Internet of Things, particularly focusing on home automation projects. Students appreciate that it starts from scratch, making it suitable for those with little to no prior experience in electronics or programming. The hands-on activities and practical projects are frequently highlighted as the course's strongest aspect, providing tangible results and building confidence. While the course provides a good overview, some mention that it is more of a basic introduction than a deep dive into advanced topics. Some learners also report struggling with hardware setup and needing external resources for troubleshooting, indicating this might be a warning point for absolute beginners. Overall, students find the course engaging and effective for getting started in the field.
Specific Raspberry Pi and components needed.
"Needed to buy quite a bit of hardware, which added to the cost of taking the course."
Covers many topics but lacks depth for experts.
"Good overview, but doesn't go very deep into any single topic."
"If you want to specialize, you'll need more study."
"More of a basic introduction than truly intermediate."
Unique style, quizzes keep learning interesting.
"The course style is unique and keeps you interested."
"Loved the quirky examples and little touches that aid recall."
Starts from scratch, concepts explained clearly.
"This course is fantastic for beginners! It starts from scratch and explains everything clearly."
"The explanations were engaging and the quizzes helped solidify understanding."
"For someone completely new to this, the course was accessible."
Hands-on activities build real-world skills.
"The home automation projects were the best part and really helped me apply what I learned."
"Loved the hands-on nature and building actual circuits."
"Projects are practical and well-explained step-by-step."
Hardware setup and troubleshooting can be difficult.
"Struggled with the hardware setup and troubleshooting."
"Needed a lot of external searching for help to get things working."
"Some setup steps felt a bit out of date."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in From 0 to 1: Raspberry Pi and the Internet of Things with these activities:
Review Practical Computing Skills
Review your general skills in working with the Raspberry Pi and its various interfaces. Review how to establish a circuit.
Browse courses on DIY Electronics
Show steps
  • Setup your Raspberry Pi and make sure it boots to a command line
  • Connect each of the interfaces (SPI, I2C, UART) to a known good device
  • Install any known good drivers for each of these devices
  • Write and run a test script to ensure that each device is connected and communicating properly
Type commands into the Linux terminal
Refresh your memory on how to use important Linux commands such as ls, cd, mv, and more.
Browse courses on Linux Command Line
Show steps
  • Start up your Linux terminal
  • Navigate the file system using 'cd'
  • List all files and folders using 'ls'
  • Move files or folders to another directory using 'mv'
  • Copy files or folders to another directory using 'cp'
Practice Installing Software on Raspberry Pi
Install a few software packages on the Raspberry Pi using the apt commands to get more comfortable with the syntax.
Browse courses on Raspberry Pi
Show steps
  • Open a terminal
  • Make a list of 5 packages you want to install
  • Use the 'apt' command to install each package
  • Identify and fix any errors, if necessary
One other activity
Expand to see all activities and additional details
Show all four activities
Arduino Tutorials
Review some of the basics of Arduino coding with these tutorials.
Browse courses on Arduino
Show steps
  • Locate the Arduino tutorials
  • Pick an Arduino code tutorial to work through
  • Type the Arduino code into your IDE
  • Compile and run the Arduino code

Career center

Learners who complete From 0 to 1: Raspberry Pi and the Internet of Things will develop knowledge and skills that may be useful to these careers:
Quality Assurance Engineer
A Quality Assurance Engineer tests and evaluates software and hardware products to ensure they meet quality standards. This course may be useful for those interested in this field as it provides a foundation in quality assurance concepts, including testing methodologies, defect tracking, and quality control.
Systems Administrator
A Systems Administrator manages and maintains computer systems and networks. This course may be useful for those interested in this field as it provides a foundation in systems administration concepts, including operating systems, security, and backups.
Hardware Engineer
A Hardware Engineer designs and develops computer hardware. This course may be helpful for those interested in this field as it provides a foundation in hardware engineering concepts, including electronics, microprocessors, and embedded systems.
Robotics Engineer
A Robotics Engineer designs, builds, and maintains robots. This course may be useful for those interested in this field as it provides a foundation in robotics concepts, including kinematics, dynamics, and control.
Mechatronics Engineer
A Mechatronics Engineer designs and builds systems that integrate mechanical, electrical, and computer engineering. This course may be useful for those interested in this field as it provides a foundation in mechatronics concepts, including sensors, actuators, and control systems.
Product Manager
A Product Manager is responsible for the development and launch of new products. This course may be useful for those interested in this field as it provides a foundation in product management concepts, including market research, product design, and launch strategy.
User Experience Designer
A User Experience Designer designs and evaluates user interfaces for websites, apps, and other products. This course may be useful for those interested in this field as it provides a foundation in user experience design concepts, including user research, prototyping, and usability testing.
Software Engineer
A Software Engineer designs, develops, and maintains software systems. This course may be useful for those interested in this field as it provides a foundation in software engineering concepts, including programming, software design, and testing.
Network Engineer
A Network Engineer designs, implements, and maintains computer networks. This course may be helpful for those interested in this field as it provides a foundation in networking concepts, including protocols, routing, and switching.
Computer Scientist
A Computer Scientist researches, designs, and develops computer systems and applications. This course may be helpful for those interested in this field as it provides an introduction to computer science concepts, including programming, data structures, and algorithms.
Electrical Engineer
An Electrical Engineer designs, develops, tests, and maintains electrical systems and components in various industries, such as power generation, telecommunications, and manufacturing. This course may be useful for those interested in this field as it provides a foundation in electrical engineering concepts, including circuit design and physical computing.
Web Developer
A Web Developer designs and develops websites. This course may be helpful for those interested in this field as it provides an introduction to web development concepts, including HTML, CSS, and JavaScript.
Data Analyst
A Data Analyst collects, analyzes, and interprets data to extract meaningful insights. This course may be useful for those interested in this field as it provides an introduction to data analysis concepts, including statistics and machine learning.
IT Support Specialist
An IT Support Specialist provides technical support and assistance to computer users. This course may be useful for those interested in this field as it provides a foundation in computer hardware, software, and networking.
Technical Writer
A Technical Writer creates and maintains technical documentation. This course may be useful for those interested in this field as it provides a foundation in technical writing concepts, including documentation standards, style guides, and user experience.

Reading list

We've selected ten books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in From 0 to 1: Raspberry Pi and the Internet of Things.
Comprehensive guide to the Raspberry Pi, covering everything from setting up the board to programming it in Python. It valuable resource for anyone who wants to learn more about the Raspberry Pi and how to use it.
Beginner-friendly guide to the Raspberry Pi, covering everything from setting up the board to programming it in Python. It great resource for anyone who is new to the Raspberry Pi and wants to get started with it.
Comprehensive guide to using the Raspberry Pi to build IoT devices. It covers everything from setting up the board to programming it in Python and connecting it to the cloud.
Collection of recipes for using the Raspberry Pi to do a variety of things, from setting up a web server to controlling a robot. It great resource for anyone who wants to learn more about the Raspberry Pi and how to use it for practical projects.
Collection of projects for using the Raspberry Pi to do a variety of things, from building a weather station to controlling a robot. It great resource for anyone who wants to learn more about the Raspberry Pi and how to use it for fun and educational projects.
Comprehensive guide to electronics, covering everything from the basics of electricity to more advanced topics such as digital logic and microcontrollers. It great resource for anyone who wants to learn more about electronics and how to use it for practical projects.
Beginner-friendly guide to the Arduino microcontroller. It covers everything from setting up the board to programming it in C++. It great resource for anyone who wants to learn more about the Arduino and how to use it for practical projects.
Beginner-friendly guide to the Raspberry Pi. It covers everything from setting up the board to programming it in Python. It great resource for anyone who is new to the Raspberry Pi and wants to get started with it.
Collection of projects for using the Raspberry Pi to do a variety of things, from building a weather station to controlling a robot. It great resource for anyone who wants to learn more about the Raspberry Pi and how to use it for fun and educational projects.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser