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 Systems Essentials with Arm: Get Practical with Hardware (edX) EdX
Arm Education,ArmEducationX

Embedded Systems Essentials with Arm: Get Practical with Hardware (edX)

Spark your creativity with Arm. Level up your Embedded Systems skills by developing working embedded prototypes using the Mbed API and an Arm-based development board, and unlock the boundless opportunities of the Internet of Things. Embedded systems are the fundamental building blocks of our connected world, and Arm-based devices are the industry standard. This course will provide you with the practical skills and confidence to build your own embedded system using the popular and affordable ST Nucleo F401RE development board.

Self Paced
Self-Paced
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
Introduction to FPGA Design for Embedded Systems (Coursera) Coursera
University of Colorado Boulder

Introduction to FPGA Design for Embedded Systems (Coursera)

Programmable Logic has become more and more common as a core technology used to build electronic systems. By integrating soft-core or hardcore processors, these devices have become complete systems on a chip, steadily displacing general purpose processors and ASICs. In particular, high performance systems are now almost always implemented with FPGAs. This course will give you the foundation for FPGA design in Embedded Systems along with practical design skills.

Aug 24th 2026
4 Weeks
Capstone: Autonomous Runway Detection for IoT (Coursera) Coursera
EIT Digital

Capstone: Autonomous Runway Detection for IoT (Coursera)

The students will develop a larger system using the learning outcomes from these courses, and the students will evaluate the developed system in a real-world programming environment. This course is a true engineering task in which the student must, not only implement the algorithm code, but also handle the interfaces between many different actors and hardware platforms.

Sep 7th 2026
3 Weeks
Fundamentals of TinyML (edX) EdX
HarvardX,Harvard University

Fundamentals of TinyML (edX)

Focusing on the basics of machine learning and embedded systems, such as smartphones, this course will introduce you to the “language” of TinyML. What do you know about TinyML? Tiny Machine Learning (TinyML) is one of the fastest-growing areas of Deep Learning and is rapidly becoming more accessible. This course provides a foundation for you to understand this emerging field.

Self Paced
Self-Paced
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
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.

Aug 31st 2026
4 Weeks
Embedded Software and Hardware Architecture (Coursera) Coursera
University of Colorado Boulder

Embedded Software and Hardware Architecture (Coursera)

Embedded Software and Hardware Architecture is a first dive into understanding embedded architectures and writing software to manipulate this hardware. You will gain experience writing low-level firmware to directly interface hardware with highly efficient, readable and portable design practices. We will now transition from the Host Linux Machine where we built and ran code in a simulated environment to an Integrated Development Environment where you will build and install code directly on your ARM Cortex-M4 Microcontroller.

Aug 24th 2026
3 Weeks
Introduction to Embedded Systems Software and Development Environments (Coursera) Coursera
University of Colorado Boulder

Introduction to Embedded Systems Software and Development Environments (Coursera)

Welcome to the Introduction to Embedded Systems Software and Development Environments. This course is focused on giving you real world coding experience and hands on project work with ARM based Microcontrollers. You will learn how to implement software configuration management and develop embedded software applications. Course assignments include creating a build system using the GNU Toolchain GCC, using Git version control, and developing software in Linux on a Virtual Machine.

Sep 14th 2026
4 Weeks
Introduction to RISC-V (edX) EdX
Linux Foundation,LinuxFoundationX

Introduction to RISC-V (edX)

Discover various aspects of RISC-V, including technical aspects, specifications and the community ecosystem. RISC-V is a free and open instruction set architecture (ISA) enabling a new era of processor innovation through open standard collaboration. This course will guide you through the various aspects of understanding the RISC-V community ecosystem, the RISC-V specifications, and some technical aspects of working with RISC-V.

Self Paced
Self-Paced