Embedded systems are everywhere today, impacting our lives in ways we often do not even realize. Microcontrollers are integrated circuits that are used to run operations in embedded systems. With growth in embedded systems expected to expand in the coming years, more applications will need to be developed to run these systems.
Linux Foundation Training & Certification have partnered with RISC-V International to develop a new, free, online training course to teach more individuals to develop embedded applications with a RISC-V microcontroller using a user-friendly integrated development environment (IDE). Microcontroller Applications with RISC-V (LFD115x) provides 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.
This 15-30 hour course is geared towards engineering students, professionals looking to create custom embedded applications, and hobbyists who want to implement their ideas on a professional board. Participants will learn how to design an embedded system and take the right steps to implement an embedded system they have in mind. The course explores how to use SiFive Freedom Studio to create embedded systems with a RISC-V microcontroller and its internal operational modules. It also consists of a series of labs that showcase different features of today’s microcontrollers using the RED-V Thing Plus development board. Those completing LFD115x will be familiar with creating embedded systems powered by a RISC-V core and begin their career as Embedded Systems Engineers.
As the course is focused on hardware, it is recommended that participants acquire the hardware components used in the course. If a participant chooses to take this course without following along with the code examples on a physical board, they may still proceed through the course material including skimming through the practical sections, always paying special attention to how and why each step is being taken.
For your convenience, here we have a SparkFun wish list with all the parts described below.
If you would like to acquire some of these items somewhere other than SparkFun (or maybe they run out of stock), you may want to try mouser.com, digikey.com, or even amazon.com.
Those who wish to complete the hardware code examples will need at minimum the following parts to be able to follow along with the hardware and software examples showcased throughout the course:
- 1 Red-V Thing Plus. This is the microcontroller board.
- 1 USB cable (A to C). Used for powering and programming the microcontroller board. You probably already own one of these.
The following parts are optional but still beneficial for the course; you may acquire any of the following parts, some of them, or none:
- 1 Set of headers for the Red-V Thing Plus. If you want to connect external parts to the microcontroller board (aside from the qwiic devices), you will need to use jumper wires, which attach to these headers. You have many options:
- Short-pin female headers (recommended).
- You may prefer stackable long-pin female headers.
- Or you may use male headers.
Either way, you will need to solder these headers to your Red-V Thing Plus. Please read the note about Soldering below.
- 1 Breadboard. This is where you may mount your discrete components, and make interconnections.
- Jumper wires. The most popular are Male-to-Male, but you may also need Male-to-Female if you use male headers in your Red-V Thing Plus. You may also want to have both, just in case.
- 2 Normally open push-buttons. These are used in the GPIO demo application.
- 1 Low-voltage LED. Any color will do, as long as its forward voltage is under 2.5V. This is used in the PWM demo application.
- 1 Resistor between 100Ohms and 220Ohms. One of these is used with the LED.
- 1 Sub micro servo motor. This is used in the PWM demo application.
- A power supply for the servo. Its voltage must match the servo’s voltage, usually 5V. You can be creative with this:
- The 5V output of an Arduino UNO will do (in case you have one).
- The Hydra cable is also an option. You may get the power from a USB port (not recommended), or from a USB wall adapter, which you probably already have (your smartphone charger, for example).
- Notice that using the 3V3 output of the Red-V Thing Plus for this may damage the microcontroller board.
- 1 or 2 Qwiic devices. This is used in the I2C demo application. The Qwiic Connect System is a connector specification for I2C devices, created by SparkFun Electronics. If you’d rather use equivalent devices, make sure they have an I2C interface:
- SparkFun 6 Degrees of Freedom Breakout – LSM6DSO (Qwiic). This is an accelerometer and gyroscope sensor in a single chip, by ST Microelectronics.
- SparkFun 16×2 SerLCD – RGB Text (Qwiic) or SparkFun 16×2 SerLCD – RGB Backlight (Qwiic). This is an LCD text screen with an I2C interface.
- 2 Qwiic cables. These are used with the Qwiic devices in the I2C demo applications.
The course, which can be audited for free for 10 weeks on the edX learning platform, was developed by Eduardo Corpeño, an electrical engineer, computer programmer, teacher, and creator of the world-renowned Brainfuino platform. He has published over 30 online courses on topics like microcontrollers, embedded systems, and solving engineering problems. At Galileo University in Guatemala City, Eduardo teaches various subjects, including electrical circuit theory and embedded systems based on microcontrollers and FPGAs. Those wishing to obtain a verified certificate of completion may do so for an additional fee.
Enroll today to gain the skills you need to build embedded applications with a RISC-V microcontroller.