Microsoft leverages PlatformIO for its course "IoT for Beginners"
Learn the Internet of things in a 24-lesson curriculum designed for teachers, students and learners of all types who want to explore IoT with VS Code and PlatformIO
IoT — the Internet of Things — is one of the biggest growth areas in technology, and one that, to me, is very exciting. You start with a device like a microcontroller, sprinkle some sensors, dust with code, mix in some cloud services and poof! You have smart cities, self-driving cars, automated farming, robotic supermarkets, or devices that can clean your toilet after you shout at Alexa for the third time.
In my day job at Microsoft, I often get asked how to get started with IoT. Not just “how do I connect my device to the cloud”, but really get started with understanding devices, sensors, actuators, and writing those all-important first lines of code.
This is why a few of us spent a number of months putting together IoT for beginners, a 24-lesson curriculum designed for teachers, students and learners of all types who want to learn IoT. This curriculum uses project-guided learning, built around the journey of food from farm to table, covering digital agriculture, logistics, manufacturing, retail, and consumer products.
We wanted to make sure we covered a range of hardware choices – Arduino for those interested in microcontrollers, and Raspberry Pis for those interested in single-board computers. When using this hardware, we also wanted to lower the barriers to entry as much as possible. We needed to pick an ecosystem for components to reduce the need to solder and understand electronics, and we needed to ensure the software we recommended worked to support the learner, not be another hurdle to overcome.
It was an easy decision to pick PlatformIO as our development tool of choice for microcontroller development. Although other tools are available, such as Arduino’s own IDE, PlatformIO is our preferred tool for this curriculum for several reasons:
Integration with the Microsoft C/C++ language tooling – The language tooling for C/C++ in VS Code is incredibly powerful, providing the intellisense, code completion, navigation, and other features that modern developers expect from their tools. All this comes for free when developing Arduino applications in C/C++.
Library management – Arduino library management can be confusing, especially for beginners. Knowing which libraries to add to your project, setting up additional library paths, and managing library versions are all complexities that beginners don’t want to handle, they just want the code to work. Being able to manage these from a single project configuration file removes these complexities, and allows developers to just grab some code, compile it and go, rather than have to know what libraries are needed and manually work to install them.
All in one tooling – Developing for embedded devices can mean a headache of installing different tools, sometimes breaking your existing tooling for other platforms. PlatformIO takes this headache away by installing everything you need in an isolated way. We knew we could instruct learners to install PlatformIO and pick their board, and it wouldn’t break anything they already have installed, and wouldn’t limit what they could do in the future with different hardware.
Multi-platform support – PlatformIO and VS Code can run on Windows, macOS, Linux and even on Raspberry Pi OS, meaning most developers can get started using it.
Preparing learners for the future – Although our IoT for beginners course only focuses on Arduino for microcontroller development with the Wio Terminal, we wanted to ensure the skills they learned transfer to other boards and frameworks. By using PlatformIO they would be able to continue their IoT journey using the same tools, and not have to start their learning again outside of their comfort zone.
Grab your microcontroller and some sensors from our friends at Seeed Studio, fire up VS Code, install PlatformIO and get learning.
Without further ado, please meet IoT For Beginners: A Curriculum!
Microsoft Corporation was founded in 1975 and is a leading global vendor of computer software and hardware that develops, licenses and supports a wide range of products, services, devices, and solutions, with a mission to empower every person and every organization on the planet to achieve more.
About PlatformIO Labs
PlatformIO Labs is the corporate sponsor behind the PlatformIO open-source project. PlatformIO is a next-generation, professional collaborative platform for embedded development that enables customers to save resources and time by vastly reducing the expenses and labor associated with creating and maintaining product software. Its modern architecture is unmatched in the embedded tools market, and the result benefits developers everywhere by simplifying complexity and increasing productivity. PlatformIO Labs is a privately-held company headquartered in Tallinn, Estonia and with an R&D branch in Ukraine. To learn more, follow them on LinkedIn, Twitter @PlatformIO_Org, or visit piolabs.com.