About this courseSkip About this course
Learn the basics of embedded device programming by implementing various projects on Raspberry Pi and MXChip AZ3166 devices (the AZ3166 is Arduino-software compatible). Learn how to write the software that controls the hardware (temperature sensors, photo cells, and more), and get started making a difference with procedural programming.
Begin with an intro to embedded programming, exploring embedded device types and the inputs and outputs for devices and sensors. Then work your way through a series of hands-on lab projects that teach you how to develop the hardware/software interface, help you to understand C programming for embedded devices, and explore basic data management for a resource-constrained device. From there, dive into embedded solutions that use your own circuit designs to solve real-world problems.
After completing this course, students will be able to develop embedded device systems that capture and process data from analog and digital sensors commonly found in IoT solutions.
NOTE: The lab project work in this course is based on the hardware found in the Microsoft IoT Pack for Raspberry Pi and the MXChip IoT DevKit.You may want to purchase in advance of starting the course.
What you'll learnSkip What you'll learn
- Describe the characteristics of an embedded device
- Configure the development environment for an embedded device
- Create a simple program that accesses GPIO pins
- Implement features of the C programming language in a constrained resource environment
- Configure I/O libraries and take pinout readings
- Develop a simple embedded device application
- Explain how to construct simple circuits using common electrical components
- Describe the sensor and device resources available in the marketplace
- Implement sensors within an application using SPI and I2C
- Explain how to develop a solution that uses multiple sensors
- Build the circuit for a solution
- Develop a software/hardware solution for a common scenario
Some assessment questions will be presented during the labs. These questions will help you to prepare for the final assessment.
The course includes four modules, each of which contains two or more lab activities. The lab outline is provided below.
Module 1: Introduction to Embedded Device Programming
- Lab 1: Preparing Your Development Environment
- Lab 2 Developing Your First Embedded Device Application
- Lab 1: Building a Binary Counter
- Lab 2: Getting Started with the MXChip Device
- Lab 1: Building Simple Circuits
- Lab 2: Using Sensors
- Lab 3: Building a Temperature Gauge
- Lab 1: Building a Photo Cell Device
- Lab 2: Comparing Digital and Analog Inputs
Meet your instructors
Pursue a Verified Certificate to highlight the knowledge and skills you gain$99.00
Official and Verified
Receive an instructor-signed certificate with the institution's logo to verify your achievement and increase your job prospects
Add the certificate to your CV or resume, or post it directly on LinkedIn
Give yourself an additional incentive to complete the course
Support our Mission
EdX, a non-profit, relies on verified certificates to help fund free education for everyone globally
Who can take this course?
Unfortunately, learners from one or more of the following countries or regions will not be able to register for this course: Iran, Cuba and the Crimea region of Ukraine. While edX has sought licenses from the U.S. Office of Foreign Assets Control (OFAC) to offer our courses to learners in these countries and regions, the licenses we have received are not broad enough to allow us to offer this course in all locations. EdX truly regrets that U.S. sanctions prevent us from offering all of our courses to everyone, no matter where they live.