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

Real-Time Embedded Systems Concepts and Practices (Coursera) Coursera
University of Colorado Boulder

Real-Time Embedded Systems Concepts and Practices (Coursera)

This course can also be taken for academic credit as ECEA 5315, part of CU Boulder’s Master of Science in Electrical Engineering degree. Course Description: In this course, students will design and build a microprocessor-based embedded system application using a real-time operating system or RT POSIX extensions with Embedded Linux. The course focus is on the process as well as fundamentals of integrating microprocessor-based embedded system elements for digital command and control of typical embedded hardware systems.

Oct 12th 2026
4 Weeks
Working with Integrated Development Environments (Coursera) Coursera
University of Leeds

Working with Integrated Development Environments (Coursera)

Integrated Development Environments (IDEs) are vital in increasing developer productivity and learning to work with them will help you create impressive software projects whether you're a beginner or have some programming experience. This course provides the essential skills and knowledge to excel in software development using Integrated Development Environments (IDEs). You'll cover IDE fundamentals, including environment setup, interface navigation, and valuable features like debugging.

Oct 19th 2026
2 Weeks
Real-Time Bluetooth Networks - Shape the World (edX) EdX
University of Texas at Austin,UTAustinX

Real-Time Bluetooth Networks - Shape the World (edX)

Learn the design fundamentals of a real-time operating system (RTOS) and how to build a Bluetooth network in this hands-on project-based course. The increased demand by consumers and businesses for more utility, connectivity and smarter and more efficient electronic technology not only creates a need for more embedded systems but also for engineers in the embedded systems field.

Self Paced
Self-Paced
Modeling and Debugging Embedded Systems (Coursera) Coursera
University of Colorado Boulder

Modeling and Debugging Embedded Systems (Coursera)

This is part 3 of the specialization. In this course students will learn : * About SystemC and how it can be used to create models of cyber-physical systems in order to perform "what-if" scenarios; * About Trimble Engineering's embedded systems for heavy equipment automation; * A deeper understanding of embedded systems in the Automotive and Transportation market segment; * How to debug deeply embedded systems; * About Lauterbach's TRACE32 debugging tools; * How to promote technical ideas within a company; * What can be learned from studying engineering failures.

Oct 5th 2026
4 Weeks
Introduction to the Internet of Things and Embedded Systems (Coursera) Coursera
University of California, Irvine

Introduction to the Internet of Things and Embedded Systems (Coursera)

The explosive growth of the “Internet of Things” is changing our world and the rapid drop in price for typical IoT components is allowing people to innovate new designs and products at home. In this first class in the specialization you will learn the importance of IoT in society, the current components of typical IoT devices and trends for the future. IoT design considerations, constraints and interfacing between the physical world and your device will also be covered. You will also learn how to make design trade-offs between hardware and software. We'll also cover key components of networking to ensure that students understand how to connect their device to the Internet.

Oct 12th 2026
4 Weeks
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.

Oct 19th 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.

Oct 12th 2026
4 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
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.

Oct 19th 2026
4 Weeks
Introducción al Internet de las Cosas (IoT) (edX) EdX
Universitat Politècnica de València,UPValenciaX

Introducción al Internet de las Cosas (IoT) (edX)

Este es un curso en línea preliminar en el que tratamos los conceptos básicos de electronica y programación utilizando placas Arduino y ESP. El internet de las cosas (Internet of things o IoT) es el presente y el futuro de la tecnología. Tanto si tienes algo de experiencia con la electrónica y deseas desarrollar proyectos como si no tienes ninguna, este curso online te dara los conocimientos iniciales necesarios para comenzar a crear dispositivos increibles capaces de medir y controlar señales físicas.

Self Paced
Self-Paced