
Explore embedded applications on the RISC-V platform with the Seat Studio 32V development board and Sager Embedded Studio, covering GPIO, ADCs, serial communications, timers, and onboard schematics and block diagrams.
Get hands-on MCU practice with a RISC-V microcontroller, tweak hardware, and write embedded applications, including a Q and D volt meter project that you compare with a RadioShack multi meter.
Dig into a firmware library by examining real source code, as vendors provide microcontroller libraries, and explore the Google Device firmware library for the GB 32 V MCU.
Get over the Arduino to understand what is going on inside a microcontroller and in the libraries, and explore the plumbing behind our RISC-V microcontroller.
Explore the RISC-V GD32 board as a low-cost development platform, detailing its MCU, boot modes, connectors, and optional peripherals for embedded applications.
Unbox the development board and grove module, and show how a slider produces a voltage via a voltage divider for the gb 32 board through an Arduino shield.
Install Seger Embedded Studio for risk five, latest version 6.20, and GB 32 v libraries via the package manager; open the provided project and run floating point and integer calculations.
Examine the amc microcontroller documentation including data sheet and user manual to understand the cpu, system layout, and reset and clock unit; review the board schematic to locate available pins.
Explore the Seeed Studio product page to access board and microcontroller documentation, review the pinout with default operations, and consult the schematic and data sheet in the resources.
Review the GD32V datasheet to understand variant VB specifics, package options, electrical characteristics, and key peripherals like 80 GPIO pins, ADC and DAC channels, and serial interfaces.
Describe the rv32 iMac-based microcontroller family manual, detailing memory architecture, flash memory controller, pmu, dma, adc and dac, timers, serial ports, usb, and a two-stage pipeline with dynamic branch prediction.
Compare GigaDevice gb 32 f1 or three with SD Micro f1 or three, highlighting GigaDevice’s 108 megahertz max vs SD Micro’s 72 megahertz and the pin compatibility across their families.
Outline a modified hardwired microcontroller architecture with on-chip flash memory, a flash memory controller, and a system bus bridging the processor to peripherals via the hp bus and apb bus.
Describe the reset sources and a flexible clock control unit that multiplexes external crystals (3–25 MHz), internal RCA oscillators, and divided signals to clock the bus, real-time clock, and watchdog.
Highlight the library file gap in embedded projects, showing header files exist without implementations, causing undefined references, and note you may need to obtain vendor libraries or create them yourself.
Download the G.E.D. 32 VF 103 firmware library from Google device semiconductor GitHub, copy the peripheral library headers and sources, and ensure up-to-date, consistent dot h and dot c files.
Download libraries to create a precompiled library in Saggar Embedded Studio, then include it in your Digi device microcontroller project by selecting Giga Device GB 32 VF1x library and building.
Explore basics of general purpose input/output (gpio) and bi directional parallel ports, see gpio implemented on the Guidi 32 v microcontroller unit, and preview demo on the 32 dev board.
Explore how bidirectional GPIO pins switch between input and output using the data register and data direction register, and learn practical precautions for ports and short-circuit prevention.
Explain how a microcontroller uses a data register, a D flip flop, and tri-state buffer, controlled by a data direction bit, to set a GPIO pin as input or output.
Explore GPIO circuitry, including slew rate control and pull up resistors, and how a pull up enable bit connects the pull up when the pin is an input.
Recognize that gpio pins default to input for safety, use series resistors for protection, and freely switch data direction between input and output with proper documentation.
Examine the giddy 32 v microcontroller's gpio block: esd protection, optional pull-up/pull-down, an analog line to adc, and a pin multiplexor between gpio control and alternate functions such as pwm.
Explore the GPIO characteristics of this microcontroller, including pin configuration, input/output modes, interrupt events, remapping for flexible pin assignment, and alternate functions across five 16-bit ports.
Explore the gpio remapping function to select bins for modules and configure swg cfd bits for data interface options. Move features to alternate pins, such as timer0 channel1 to p11.
Explore how a 32-bit address space creates memory and peripheral segments with base addresses for GPIO ports, RAM, and flash, plus the memory map and APB regions.
Explore how GPIO ports map to base addresses and offsets, with 32-bit registers, 16 pins per port, and read/write input, output, and alternate function configuration.
Explore using the GPIO module from the user manual, examine the Blinky project, and learn how to enable the GPIO clock and blink an LED via registers.
Configure gpio c ctl zero to set pin zero as an output with push‑pull and max speed 15 mhz using and/or mask operations; then blink the board's led.
Explore gpio programming by toggling pins via bit operate and bc registers, write and clear bits with output registers, and use library functions to initialize and manipulate gpio bits.
Use the built-in button and LED on the seed studio board. Demonstrate debounced input with a capacitor and inverted output from port a bin zero to port be pin zero.
Create a new gpio demo two project on the receipt studio board, using a C/C++ executable for gb32v with vb d6 variant and hex output, leaving defaults and no printf.
Learn to add library files for embedded RISC-V projects by copying updated GPIO and RCU headers and sources, including them in the project, enabling clocks, and building successfully.
Explore how the RCU peripheral clock enable macro configures registers and enumeration, and examine GPIO initialization for ports a and b with bit-level read/write in embedded code.
Identify and download the dfu tool and its drivers from the GigaDevice site, select the latest version, and install drivers before using the dfu tool to flash the board.
select the hex release file and download your application to the board by booting in zero mode with the left jumper set to one, then connect, reset, and run.
Explore the hex file format, showing addresses and data lines in an ASCII hex file, and explain how download tools transfer the embedded application into the microcontroller's non-volatile flash.
Learn by inspecting a library's source and comments, then turn to official vendor libraries on the Giga Device website for clearer guidance.
Navigate the GigaDevice resources on the product page, reviewing the data sheet, firmware library, demo suites, GitHub repository, and the firmware library user guide, plus examples and GPIO module details.
Explore two useful github repositories for the longan board, study the firmware library examples and documentation, and learn how gpio and dma code illustrate embedded development with riscv.
Learn about the RISC-V Instruction Set Architecture by creating applications in an actual RISC-V microcontroller! See many applications developed on a RISC-V embedded microcontroller board. We've chosen an inexpensive board so you may follow along if you want.
This course is part of a hands-on curriculum where you'll get some basic experience on the design and development of embedded applications using a RISC-V core. So far, this curriculum contains the following courses:
Part 1: The RISCV ISA. Where you'll learn about the RISC-V Instruction Set Architecture.
Part 2: Embedded Applications. Where you'll learn how to create basic applications using the on-chip peripherals.
After learning about the RISC-V ISA, it's time to talk about Embedded Applications using the awesome GD32V Dev Board by Seeed Studio. At $6.90 a piece, this is the cheapest microcontroller board I know. However, you're certainly not required to purchase anything. If you don't intend to acquire a board, you may successfully take the course by only watching the videos and written material.
Since the purpose of this second course is to get you acquainted with a RISC-V microcontroller, we'll cover the following topics, and more:
The Development Platform
The GD32 Board, by Seeed Studio
Segger Embedded Studio
The development process
GPIO
Analog I/O
Reading analog input with an ADC
Creating analog signals with a DAC
Timers
Input Capture
Output Compare
Generating periodic signals
Pulse Width Modulation
Serial Communication
Serial Peripheral Interface
The I2C interface
Asynchronous serial communication (UART)
Universal Serial Bus (USB)
Interrupts
The RISC-V interrupt model
Interrupt-driven development process