Product Image

Introduction to Device Programming for IoT: C Edition

In this course, you will get to know about the fundamental concepts of embedded device programming by incorporating various projects in Raspberry Pi and MXChip AZ3166 devices (the AZ3166 is Arduino-software compatible).


Learning Style





12 Hours

Course Duration

Course Info

Download PDF


See Sample

About Individual Course:
  • Individual course plan gives you access to this course
/ Each
6 Learners Have Enrolled For This Course
When you subscribe, you get:
Learn Subscription plan gives you access to this course and over 831 other popular courses
On Sale!
Now Only $39.99 Regular Price $44.99
Now Only $39.99 Regular Price $44.99
/ Month
  • Buy 1-5 Enrollments And Save 0% ($39.99 monthly.)
  • Buy 6-9 Enrollments And Save 10% ($35.99 monthly.)
  • Buy 10-19 Enrollments And Save 20% ($31.99 monthly.)
  • Buy 20-above Enrollments And Save 30% ($27.99 monthly.)
6 Learners Have Enrolled For This Course

You have already taken demo for this course.

If you want to get access to demo again, feel free to contact our support at (855) 800-8240

In this course, you will get to know about the fundamental concepts of embedded device programming by incorporating various projects in Raspberry Pi and MXChip AZ3166 devices (the AZ3166 is Arduino-software compatible).

Course Information

About this course:

This course is part of the Microsoft Professional Program Certificate in IoT.

It is the most general of knowledge that the function of smart devices in our life is crucial. Not only this, constant advancement is being made in this field which has led to the coming up of a new device almost every other day. But is this question pondered over that a developer is required in the background in order to build all those devices? If this is the kind of aim you have, in which you want to turn all the imagined smart devices designs into a reality, this is just the right kind of course you would need. Taking this course will be your first step in programming for the Internet of Things.

In this course, you will get to know about the fundamental concepts of embedded device programming by incorporating various projects in Raspberry Pi and MXChip AZ3166 devices (the AZ3166 is Arduino-software compatible). You will also get to learn about coding a software that regulates the hardware (temperature sensors, photo cells, and more), as well as get an introduction on making a difference with the usage of procedural programming.

The course will start with an introduction on embedded programming, going over embedded device types and the inputs and outputs for devices and sensors. After this, you will traverse through a series of practical exercises comprising of lab projects. These lab projects will be about creating the hardware/software interface, and enabling you to understand C programming for embedded devices. The projects will also be about going over fundamental data regulation for a resource-constrained device. From this step, you will then go through embedded solutions that use your own circuit designs to resolve real life scenarios.

At the end of the course, when it will be completed, the students will gain the skill to create embedded device systems that have the feature of grabbing and process the data from the analog and digital form of sensors, that are generally found in the IoT solutions.

The course has been designed in such a way that it has the duration of 12 hours only. Furthermore, it has beginner difficulty level. This means that it will be a quick task to complete this course, both in terms of its difficulty level and time duration. It has self-paced learning style which means that you can complete it at your own ease and speed. Hence, this course is highly time-saving and productive as it provides refined skills in a short amount of time and with an easy syllabus. 

NOTE: The lab project practical activities in this course is based on the hardware found in the Microsoft IoT Pack for Raspberry Pi and the MXChip IoT DevKit. It is, therefore, recommended that you purchase that before starting, in order to avail the lab projects in this course fully.

Learning objectives:

This course has the following learning objectives:

  • Explaining the different features of an embedded device
  • Setting up development environment for an embedded device type
  • Developing a simple program that gains entrance to GPIO pins
  • Incorporating the components of the C programming language in a constrained resource environment
  • Setting up I/O libraries and obtain pinout readings
  • Creating a simple embedded device application
  • Describing the method of constructing simple circuits thorough the usage of common electrical items
  • Explaining the sensor and device resources available in the market
  • Installing the sensors within an application through the usage of SPI and I2C
  • Describing the procedure of manufacturing a solution that uses more than one sensor
  • Manufacturing the circuits for a solution
  • Designing a software/hardware solution for a general situation


This course is designed for and will be helpful for professionals like IoT engineers and IoT developers, in their workforce environment. The course will give these professionals an edge over other engineers and developers because of the polished and productive skills obtained from it.


The course has requirement that needs to be fulfilled prior to starting it. It is required because it will be very helpful for you during your learning. You must have some previous experience in programming. This is essential because you will be learning about developing and designing in this course. It is recommended, and not strongly required, that you have experience in C programming specifically, as this will be fruitful for you in your learning.


More Information

More Information
SubjectsApp Development
Lab AccessNo
Learning StyleSelf-Paced Learning
Learning TypeCourse
Course Duration12 Hours


Write Your Own Review
Only registered users can write reviews. Please Sign in or create an account

Course Expert:


Brian Hernandez
Web development Instructor


Brian Hernandez has been in the development field for over a decade. Brain works extensively with Full Stack Web Development, MEAN Stack, MEMR (Mango, Express, MySQL, React) Stack and other Modern Web Frameworks.

Brian is a consultant, and his company is currently catering to clients to want to improve their online presence or build one from scratch. He has worked with high profile companies, helping them move them to digital, both for in-housework, and for having a digital presence for their external stakeholders.

Brian also works as a web-development instructor and teaches everything starting from HTML/CSS basics to layout techniques, programming concepts (objects, arrays, loops etc.), JavaScript, jQuery, and responsive concepts and techniques.

Learn Subscription Includes:


Online Self-Paced Courses

Take self-paced online courses at your convenience and own pace, with unlimited access to courses in various emerging technologies.

900+ Self-Paced Courses

E-Books, Case Studies, And White Papers

As part of informal learning, our platform will recommend E-books, white papers, case studies, articles, and videos. This is AI curated content closely aligned with your learning objectives.

E-Books, Case Studies, And White Papers

Assessment Tests

Gauge your knowledge before you start your learning path to see exactly where your skill sets align.

Assessment Tests

Learning Dashboard & Analytics

Access all your enrolled, completed, course statistics, and community discussions from one centralized and intuitive learning dashboard with built in analytics, course tracking, time spent, and more.


QuickStart Discussions

Engage with other learners where you can directly chat, ask questions, and socialize with other learners experts and instructors on a course subject.

Community Access Community Access

Career Paths

Start a learning pathway towards understanding and mastering your career. With QuickStart career paths, you can fully understanding and being the best in your field.

Learning Paths Learning Paths

Informal Learning

Access to AI curated content from various content publishers which can help in self-directed learning.

Informal Learning Informal Learning

Sign up for your FREE TRIAL, And Explore Hundreds Of Courses.

For Individuals
Start 7-Day Free Trial For Businesses
Explore Plans
click here