EdX

Microcontroller Applications with RISC-V (edX)

Microcontroller Applications with RISC-V (edX)

Create simple embedded applications with a RISC-V microcontroller using a user-friendly integrated development environment (IDE). This course provides some basic experience in designing and developing deeply embedded bare metal applications using a microcontroller with a RISC-V core. The course is the first step to creating embedded systems using a host of new microcontrollers that use an open instruction set architecture (ISA) as an alternative to a proprietary option.

Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.

LFD115x is geared towards hobbyists who want to implement their ideas on a professional board, engineering students who want to create professional applications with a RISC-V microcontroller, and makers who have created custom applications in a development board like the Arduino Uno, and want to take this expertise to the next level.
This course will enable you to get started with microcontroller-based embedded systems and acquainted with embedded RISC-V compiler toolchains. Upon completing this course, you will be familiar with creating embedded systems powered by a RISC-V core and begin your career as an Embedded Systems Engineer.

What you'll learn
By the end of this course, you should be able to:

  • Design an embedded system of your own.
  • Take the right steps to implement an embedded system you have in mind.
  • Use SiFive Freedom Studio to create embedded systems with a RISC-V CPU.
  • Use a RISC-V microcontroller, including its internal operational modules.

Syllabus

Welcome!
Chapter 1. The Development Platform
Chapter 2. The Microcontroller and Its Library
Chapter 3. General Purpose Input Output
Chapter 4. Pulse Width Modulation
Chapter 5. Interrupt-Driven Applications
Chapter 6. Serial Communication
Final Exam (Verified Certificate track only)

Prerequisites:
We presume the student will have some experience with the C programming language and basic experience with schematic diagrams. It would be beneficial to have some prior knowledge of electronics concepts like logic levels, voltages, gates, periodic signals, etc. Experience with any assembly language would be beneficial as well.
The technology needed is a personal computer with Linux, macOS, or Windows, compliant with the requirements of SiFive Freedom Studio. Optional: If you’d like to follow along with the hands-on examples shown in the course, you’ll need a RED-V Thing Plus microcontroller board by SparkFun and a free USB port.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Embedded Hardware and Operating Systems (Coursera) Coursera
EIT Digital

Embedded Hardware and Operating Systems (Coursera)

This course is intended for the Bachelor and Master's students, who like practical programming and making IoTs applications! In this course we will talk about two components of a cyber physical system, namely hardware and operating systems. After completing this course, you will have the knowledge of both hardware components and operating systems. You are able to plan and use embedded operating systems in resource-constraint devices for Internet-of-Things (cyber physical system) applications.

Jun 1st 2026
4 Weeks
Linux System Programming and Introduction to Buildroot (Coursera) Coursera
University of Colorado Boulder

Linux System Programming and Introduction to Buildroot (Coursera)

This course provides an overview of System Programming for the Linux operating system, or software which is interfacing directly with the Linux Kernel and C library. The basic components of a Linux Embedded System, including kernel and root filesystem details are discussed. The Buildroot build system is introduced, which students use to build their own custom Embedded Linux system through programming assignments.

Jun 15th 2026
4 Weeks
Deploying TinyML (edX) EdX
HarvardX,Harvard University

Deploying TinyML (edX)

Learn to program in TensorFlow Lite for microcontrollers so that you can write the code, and deploy your model to your very own tiny microcontroller. Before you know it, you’ll be implementing an entire TinyML application. Have you wanted to build a TinyML device? In Deploying TinyML, you will learn the software, write the code, and deploy the model to your own tiny microcontroller-based device. Before you know it, you’ll be implementing an entire TinyML application.

Self Paced
Self-Paced
CPS Design with ARM Core using MicroPython for Industries (Coursera) Coursera
L&T EduTech

CPS Design with ARM Core using MicroPython for Industries (Coursera)

This course equips participants with the knowledge and hands-on skills needed to design and implement ARM Processor with Micro python in Cyber-Physical Systems (CPS) for industrial and use. Covering foundational concepts and practical development with Micro python programming on ARM processors, participants will explore the Consumer Industry, Smart City Perspective of CPS, and gain expertise to design and control the evolving smart systems.

Jun 15th 2026
5-12 Weeks
Design of CPS with ARM processor using Embedded C (Coursera) Coursera
L&T EduTech

Design of CPS with ARM processor using Embedded C (Coursera)

This comprehensive course is designed to equip participants with the knowledge and practical skills required to design and implement Cyber-Physical Systems (CPS) tailored for industrial applications. From foundational concepts to hands-on development using Embedded C programming on ARM processors, participants will explore the interdisciplinary nature of CPS, demystify its complexities, and gain the expertise needed to navigate the evolving landscape of smart systems.

Jun 15th 2026
4 Weeks
Build Your First Android App (Project-Centered Course) (Coursera) Coursera
CentraleSupélec

Build Your First Android App (Project-Centered Course) (Coursera)

In this project-centered course, you’ll design, build, and distribute your own unique application for the Android mobile platform. We’ll provide you with a set of customizable building blocks that you can assemble to create many different types of apps, and that will help you become familiar with many important specificities of Android development. When you complete the project, in addition to having a personalized app that you can use and share, you’ll have the skills and background you need to move on to more advanced coursework in Android development.

Jun 8th 2026
4 Weeks
Machine Learning at the Edge on Arm: A Practical Introduction (edX) EdX
Arm Education,ArmEducationX

Machine Learning at the Edge on Arm: A Practical Introduction (edX)

This course will provide you with the hands-on experience you’ll need to create innovative ML applications using ubiquitous Arm-based microcontrollers. The age of machine learning has arrived! Arm technology is powering a new generation of connected devices with sophisticated sensors that can collect a vast range of environmental, spatial and audio/visual data. Typically this data is processed in the cloud using advanced machine learning tools that are enabling new applications reshaping the way we work, travel, live and play.

Self Paced
Self-Paced
RISC-V Toolchain and Compiler Optimization Techniques (edX) EdX
Linux Foundation,LinuxFoundationX

RISC-V Toolchain and Compiler Optimization Techniques (edX)

Develop a working knowledge of the internals of compiler toolchains and compiler optimization techniques with a focus on RISC-V applications. As RISC-V has made it easier to bring up processor chipsets, the need for compiler engineers in the RISC-V ecosystem has increased. There is an implicit need for toolchain experts who can help RISC-V vendors gain an edge over competitors with their expertise in compilation technologies. Learning about internals of the toolchain, building and debugging RISC-V applications will allow you to work with thousands of companies that are building the latest hardware technologies.

Self Paced
Self-Paced
System Validation: Automata and behavioural equivalences (Coursera) Coursera
EIT Digital

System Validation: Automata and behavioural equivalences (Coursera)

Have you ever experienced software systems failing? Websites crash, calendar not synchronising, or even a power blackout. Of course you have! But did you know that many of these errors are the result of communication errors either within a system or between systems? Depending on the system, the impact of software failures can be huge, even resulting in massive economic damage or loss of lives. Software, and in particular the communication between software-intensive systems, is very complex and very difficult to get right. However, we _need_ dependability in the systems we use, directly or indirectly, to support us in our everyday lives.

Jun 1st 2026
3 Weeks
Introduction to Architecting Smart IoT Devices (Coursera) Coursera
EIT Digital

Introduction to Architecting Smart IoT Devices (Coursera)

Embedded Systems are so ubiquitous that some of us take them for granted: we find them in smartphones, GPS systems, airplanes and so on. But have you ever wondered how these devices actually work? If so, you're in the right place! In this course, you'll learn about the characteristics of embedded systems: the possibilities, dangers, complications and recipes for success.

Jun 15th 2026
3 Weeks