You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/en
co-op-translator[bot] ae4ebb558b
🌐 Update translations via Co-op Translator (#558)
3 weeks ago
..
1-getting-started 🌐 Update translations via Co-op Translator (#557) 3 weeks ago
2-farm 🌐 Update translations via Co-op Translator (#557) 3 weeks ago
3-transport 🌐 Update translations via Co-op Translator (#557) 3 weeks ago
4-manufacturing 🌐 Update translations via Co-op Translator (#557) 3 weeks ago
5-retail 🌐 Update translations via Co-op Translator (#557) 3 weeks ago
6-consumer 🌐 Update translations via Co-op Translator (#557) 3 weeks ago
docs 🌐 Update translations via Co-op Translator (#557) 3 weeks ago
images 🌐 Update translations via Co-op Translator (#557) 3 weeks ago
lesson-template 🌐 Update translations via Co-op Translator (#557) 3 weeks ago
quiz-app 🌐 Update translations via Co-op Translator (#557) 3 weeks ago
CODE_OF_CONDUCT.md 🌐 Update translations via Co-op Translator (#557) 3 weeks ago
CONTRIBUTING.md 🌐 Update translations via Co-op Translator (#557) 3 weeks ago
README.md 🌐 Update translations via Co-op Translator (#558) 3 weeks ago
SECURITY.md 🌐 Update translations via Co-op Translator (#557) 3 weeks ago
SUPPORT.md 🌐 Update translations via Co-op Translator (#557) 3 weeks ago
attributions.md 🌐 Update translations via Co-op Translator (#557) 3 weeks ago
clean-up.md 🌐 Update translations via Co-op Translator (#557) 3 weeks ago
for-teachers.md 🌐 Update translations via Co-op Translator (#557) 3 weeks ago
hardware.md 🌐 Update translations via Co-op Translator (#557) 3 weeks ago
recommended-learning-model.md 🌐 Update translations via Co-op Translator (#557) 3 weeks ago

README.md

GitHub license
GitHub contributors
GitHub issues
GitHub pull-requests
PRs Welcome

GitHub watchers
GitHub forks
GitHub stars

Join the Azure AI Foundry Community

Microsoft Azure AI Foundry Discord

Follow these steps to get started using these resources:

  1. Fork the Repository: Click GitHub forks
  2. Clone the Repository: git clone https://github.com/microsoft/IoT-For-Beginners.git
  3. Join The Azure AI Foundry Discord and meet experts and fellow developers

🌐 Multi-Language Support

Supported via GitHub Action (Automated & Always Up-to-Date)

Arabic | Bengali | Bulgarian | Burmese (Myanmar) | Chinese (Simplified) | Chinese (Traditional, Hong Kong) | Chinese (Traditional, Macau) | Chinese (Traditional, Taiwan) | Croatian | Czech | Danish | Dutch | Finnish | French | German | Greek | Hebrew | Hindi | Hungarian | Indonesian | Italian | Japanese | Korean | Malay | Marathi | Nepali | Norwegian | Persian (Farsi) | Polish | Portuguese (Brazil) | Portuguese (Portugal) | Punjabi (Gurmukhi) | Romanian | Russian | Serbian (Cyrillic) | Slovak | Slovenian | Spanish | Swahili | Swedish | Tagalog (Filipino) | Thai | Turkish | Ukrainian | Urdu | Vietnamese

IoT for Beginners - A Curriculum

Azure Cloud Advocates at Microsoft are excited to present a 12-week, 24-lesson curriculum focused on the fundamentals of IoT. Each lesson includes pre- and post-lesson quizzes, step-by-step instructions, solutions, assignments, and more. This project-based approach helps you learn by doing, which is a proven method for retaining new skills.

The projects follow the journey of food from farm to table, covering farming, logistics, manufacturing, retail, and consumer use—key industries for IoT applications.

A road map for the course showing 24 lessons covering intro, farming, transport, processing, retail and cooking

Sketchnote by Nitya Narasimhan. Click the image for a larger version.

Special thanks to our authors Jen Fox, Jen Looper, Jim Bennett, and our sketchnote artist Nitya Narasimhan.

We also appreciate the contributions of our Microsoft Learn Student Ambassadors who reviewed and translated this curriculum: Aditya Garg, Anurag Sharma, Arpita Das, Aryan Jain, Bhavesh Suneja, Faith Hunja, Lateefah Bello, Manvi Jha, Mireille Tan, Mohammad Iftekher (Iftu) Ebne Jalal, Mohammad Zulfikar, Priyanshu Srivastav, Thanmai Gowducheruvu, and Zina Kamel.

Meet the team!

Promo video

Gif by Mohit Jaisal

🎥 Click the image above for a video about the project!

Teachers, we have included some suggestions on how to use this curriculum. If you would like to create your own lessons, we have also included a lesson template.

Students, to use this curriculum on your own, fork the entire repo and complete the exercises on your own, starting with a pre-lecture quiz, then reading the lecture and completing the rest of the activities. Try to create the projects by comprehending the lessons rather than copying the solution code; however, that code is available in the /solutions folders in each project-oriented lesson. Another idea would be to form a study group with friends and go through the content together. For further study, we recommend Microsoft Learn.

For a video overview of this course, check out this video:

Promo video

🎥 Click the image above for a video about the project!

Pedagogy

We designed this curriculum with two key principles: it is project-based and includes frequent quizzes. By the end of the series, students will have built a plant monitoring and watering system, a vehicle tracker, a smart factory setup to track and check food, and a voice-controlled cooking timer. Along the way, they will learn IoT fundamentals, including writing device code, connecting to the cloud, analyzing telemetry, and running AI on the edge.

By aligning the content with projects, the learning process becomes more engaging, and students are more likely to retain the concepts.

Additionally, low-stakes quizzes before and after lessons help set learning intentions and reinforce knowledge. This curriculum is designed to be flexible and enjoyable, allowing students to take it in full or in part. The projects start simple and grow in complexity over the 12-week cycle.

Each project uses real-world hardware accessible to students and hobbyists. The lessons also provide relevant background knowledge about the project domain, helping students understand the context of the problems they are solving. This approach ensures students learn not just the 'how' but also the 'why' behind their solutions, fostering a deeper appreciation for the end user.

Hardware

We offer two hardware options for the projects, depending on your preferences, programming knowledge, learning goals, and availability. For those without access to hardware or who want to explore before purchasing, we also provide a 'virtual hardware' option. Check out the hardware page for a shopping list, including links to complete kits from our partners at Seeed Studio.

💁 Find our Code of Conduct, Contributing, and Translation guidelines. We welcome your constructive feedback!

Each lesson includes:

  • Sketchnote
  • Optional supplemental video
  • Pre-lesson warmup quiz
  • Written lesson
  • For project-based lessons, step-by-step guides on how to build the project
  • Knowledge checks
  • A challenge
  • Supplemental reading
  • Assignment
  • Post-lesson quiz

A note about quizzes: All quizzes are located in the quiz-app folder, with a total of 48 quizzes, each consisting of three questions. They are linked within the lessons, but the quiz app can be run locally or deployed to Azure; follow the instructions in the quiz-app folder. Localization is being done progressively.

Lessons

Project Name Concepts Taught Learning Objectives Linked Lesson
01 Getting started Introduction to IoT Learn the basic principles of IoT and the fundamental components of IoT solutions, such as sensors and cloud services, while setting up your first IoT device Introduction to IoT
02 Getting started A deeper dive into IoT Explore the components of an IoT system in more detail, including microcontrollers and single-board computers A deeper dive into IoT
03 Getting started Interact with the physical world with sensors and actuators Learn how sensors collect data from the physical world and actuators provide feedback, while building a nightlight Interact with the physical world with sensors and actuators
04 Getting started Connect your device to the Internet Understand how to connect an IoT device to the Internet to send and receive messages by linking your nightlight to an MQTT broker Connect your device to the Internet
05 Farm Predict plant growth Learn how to use temperature data collected by an IoT device to predict plant growth Predict plant growth
06 Farm Detect soil moisture Learn how to measure soil moisture and calibrate a soil moisture sensor Detect soil moisture
07 Farm Automated plant watering Discover how to automate and schedule watering using a relay and MQTT Automated plant watering
08 Farm Migrate your plant to the cloud Learn about cloud-hosted IoT services and how to connect your plant to one of these instead of a public MQTT broker Migrate your plant to the cloud
09 Farm Migrate your application logic to the cloud Understand how to write application logic in the cloud that reacts to IoT messages Migrate your application logic to the cloud
10 Farm Keep your plant secure Learn about IoT security and how to protect your plant using keys and certificates Keep your plant secure
11 Transport Location tracking Learn how GPS location tracking works for IoT devices Location tracking
12 Transport Store location data Learn how to store IoT data for later visualization or analysis Store location data
13 Transport Visualize location data Learn how to display location data on a map and understand how maps represent the 3D world in 2D Visualize location data
14 Transport Geofences Learn about geofences and how they can be used to notify when vehicles in the supply chain are near their destination Geofences
15 Manufacturing Train a fruit quality detector Learn how to train an image classifier in the cloud to assess fruit quality Train a fruit quality detector
16 Manufacturing Check fruit quality from an IoT device Learn how to use your fruit quality detector with an IoT device Check fruit quality from an IoT device
17 Manufacturing Run your fruit detector on the edge Learn how to deploy your fruit detector on an IoT device at the edge Run your fruit detector on the edge
18 Manufacturing Trigger fruit quality detection from a sensor Learn how to initiate fruit quality detection using a sensor Trigger fruit quality detection from a sensor
19 Retail Train a stock detector Learn how to use object detection to train a model that counts stock in a store Train a stock detector
20 Retail Check stock from an IoT device Learn how to use an object detection model to check stock from an IoT device Check stock from an IoT device
21 Consumer Recognize speech with an IoT device Learn how to use an IoT device to recognize speech and create a smart timer Recognize speech with an IoT device
22 Consumer Understand language Learn how to interpret sentences spoken to an IoT device Understand language
23 Consumer Set a timer and provide spoken feedback Learn how to set a timer on an IoT device and provide spoken feedback about when the timer is set and when it ends Set a timer and provide spoken feedback
24 Consumer Support multiple languages Learn how to enable support for multiple languages, both for input and responses from your smart timer Support multiple languages

Offline access

You can view this documentation offline using Docsify. Fork this repository, install Docsify on your local machine, and then in the root folder of this repository, type docsify serve. The website will be available on port 3000 at localhost:3000.

Quiz

Thanks to the community for hosting an interactive quiz to test your knowledge of each chapter. You can test your knowledge here.

PDF

You can create a PDF of this content for offline use if needed. To do this, ensure you have npm installed and run the following commands in the root folder of this repository:

npm i
npm run convert

Slides

Slide decks for some lessons are available in the slides folder.

Other Curricula

Our team has developed other curricula! Check out:

Image attributions

Attributions for all images used in this curriculum, where required, can be found in the Attributions.


Disclaimer:
This document has been translated using the AI translation service Co-op Translator. While we strive for accuracy, please note that automated translations may contain errors or inaccuracies. The original document in its native language should be regarded as the authoritative source. For critical information, professional human translation is recommended. We are not responsible for any misunderstandings or misinterpretations resulting from the use of this translation.