Machine learning (ML) allows us to teach computers to make predictions and decisions based on data and learn from experiences. In recent years, incredible optimizations have been made to machine learning algorithms, software frameworks, and embedded hardware. Thanks to this, running deep neural networks and other complex machine learning algorithms is possible on low-power devices like microcontrollers.
Offered By


Introduction to Embedded Machine Learning
Edge ImpulseAbout this Course
Some math (reading plots, arithmetic, and algebra) is required in the course. Recommended to have experience with embedded systems (e.g. Arduino).
What you will learn
The basics of a machine learning system
How to deploy a machine learning model to a microcontroller
How to use machine learning to make decisions and predictions in an embedded system
Skills you will gain
- Arduino
- Machine Learning
- Embedded System Design
- Microcontroller
- Computer Programming
Some math (reading plots, arithmetic, and algebra) is required in the course. Recommended to have experience with embedded systems (e.g. Arduino).
Offered by

Edge Impulse
Edge Impulse is the leading development platform for machine learning on edge devices, free for developers and trusted by enterprises. Founded in 2019 by Zach Shelby and Jan Jongboom, we are on a mission to enable developers to create the next generation of intelligent devices. We believe that machine learning can enable positive change in society, and we are dedicated to support applications for good.
Syllabus - What you will learn from this course
Introduction to Machine Learning
In this module, we will introduce the concept of machine learning, how it can be used to solve problems, and its limitations. We will also cover how machine learning on embedded systems, such as single board computers and microcontrollers, can be effectively used to solve problems and create new types of computer interfaces. Then, we will introduce the Edge Impulse tool and collect motion data for a "magic wand" demo. Finally, we will examine the various features that can be calculated from this raw motion data, including root mean square (RMS), Fourier transform, and power spectral density (PSD).
Introduction to Neural Networks
In this module, we will look at how neural networks work, how to train them, and how to use them to perform inference in an embedded system. We will continue the previous demo of creating a motion classification system using motion data collected from a smartphone or Arduino board. Finally, we will challenge you with a new motion classification project where you will have the opportunity to implement the concepts learning in this module and the previous module.
Audio classification and Keyword Spotting
In this module, we cover audio classification on embedded systems. Specifically, we will go over the basics of extracting mel-frequency cepstral coefficients (MFCCs) as features from recorded audio, training a convolutional neural network (CNN) and deploying that neural network to a microcontroller. Additionally, we dive into some of the implementation strategies on embedded systems and talk about how machine learning compares to sensor fusion.
Reviews
- 5 stars82.85%
- 4 stars14.85%
- 3 stars2%
- 1 star0.28%
TOP REVIEWS FROM INTRODUCTION TO EMBEDDED MACHINE LEARNING
Great Course to get into machine learning, Shawn is a great teacher and reading recommendations are great!
Short and sweet course. A very lucid introduction to the beautiful world of TinyML. Thanks.
It was a good start for those who do not have prior knowledge on Machine Learning. It was a motivating course.
A great introduction to tinyML and embedded machine learning using Edge Impulse to get started working on projects immediately.
Frequently Asked Questions
When will I have access to the lectures and assignments?
What will I get if I purchase the Certificate?
Is financial aid available?
Do I need to buy hardware to take this course?
What prior knowledge do I need?
More questions? Visit the Learner Help Center.