For most beginners, Arduino boards with Atmel microcontrollers are the first steps taken into embedded hardware development. It's a great starting point, as the Arduino IDE is accessible, abstracting away many of the more complicated parts of AVR development. However, step beyond this, and you quickly find that AVR is just one of many different system-on-chip (SoC) architectures. ARM and x86 are the most popular architectures in the industry, but another is gaining traction: RISC-V.
Today we are looking at the SeeedStudio GD32 RISC-V, a development board designed around RISC-V open-sourced architecture. It's one of many low-cost development boards designed to make RISC-V development more accessible, but it has a few extra features that make it an excellent choice for getting started.
The board features the GD32VF103 microcontroller unit (MCU), hereafter GD32, running at 108MHz. The chip is similar in name to the popular STM32F103 series, and some effort has gone into giving it the same pinout, but the GD32 features USB host/OTG.
The development board has two sets of 48 pins (80 GPIOs in total) for I/O and peripherals and includes two 12-bit ADCs, two 12-bit DACs, several timers, up to three SPIs, two I2Cs, three USARTs, two UARTs, two I2Ss, two CANs, and a USBFS. It features an LCD interface, a microSD card slot, and while it has no onboard debugger, is has a JTAG connector.
Alongside the 128KB on-clip flash memory, it has a 256Byte EEPROM and an 8MB onboard Flash memory chip, which sets it aside from many other cheap RISC-V development boards. So far, that's a lot of potential for a board costing only $6.90 USD
Designed for LCD GUIs
Alongside the bare development board, there is a kit version of the SeeedStudio GD32 RISC-V that comes with an LCD screen. The board is compatible with the Seeed Arduino LCD library, making it easy to get up and running with graphical user interfaces (GUIs).
To bridge the gap between beginner embedded development and complex low-level MCU programming, the GD32 supports PlatformIO for VSCode and the Arduino framework.
Should You Buy a SeeedStudio GD32 RISC-V?
We'll look at a few of the SeeedStudio GD32 RISC-V features in a moment, but for now: Should you buy one?
Yes. Those looking to get into RISC-V development will find this a budget-friendly and highly extensible choice. The features this board provides are enough to learn everything you'll need to about RISC-V development. If you get the LCD variant of the kit, you'll be able to work with code examples, and the Platform IO integration gives an easy and familiar IDE space for learning.
SeeedStudio GD32 RISC-V Specifications
- SoC: GD32VF103VBT6 RISC-V MCU @108MHz
- Memory: 128KB on-chip Flash + 8MB onboard Flash
- EEPROM: 24C02 with 256Bytes
- LCD Interface: 16-bit 8080 interface and SPI touch screen control interface
- USB: Type C
- GPIO: 96 pins, 80 of which are GPIO
- Debugging: JTAG connector
- Feedback: Reset button, two user-assignable buttons, one user-assignable LED
What is RISC-V and Why is RISC-V Important?
With ARM and Intel dominating the SoC architecture market, you might wonder why RISC-V is worth learning. The main argument for RISC-V is its open nature. The ARM instruction set is proprietary. You must pay royalties to use it, and it's a fixed set of pre-defined instructions. As well as avoiding having to license an instruction set, RISC-V leaves you free to modify the instruction set any way you wish. There is somewhat of a caveat, though. Completely open architecture is great in principle, but in practice, the high level of verification required for large scale SoC manufacturing is something ARM and Intel have had a long time to perfect.
In truth, for almost all users, none of this matters. RISC-V equipped development boards are a good way of learning the intricacies of embedded programming. In the case of the SeeedStudio GD32 RISC-V, it's an accessible entry point into working with 32-bit MCUs.
Arduino and Platform IO support
Platform IO was a revelation to many who'd ben restricted to the Arduino IDE previously. Being able to use VSCode features, including code completion and debugging, is a significant step up for beginners. The above video is for a different development board, but getting set up is the same. Those already working in the industry frequently forget how taxing it is to get a development environment set up as a total beginner. There is a dedicated text guide for getting started with the GD32 in Platform IO, and also an Arduino library for the board.
Rust On the GD32VF103
Rust is the darling programming language of many developers. Still nowhere near as widespread as C/C++, many take extraordinary steps to use Rust in embedded hardware. The official Rust embedded guide shows off the language using an SMT32F4 Discovery board.
Is it Worth the RISC-V?
All in all, this development kit is another example of a well thought out and budget-conscious entry point into embedded programming, this time with an open-source twist. The example code and Platform IO integration will help you get started, but you'll have to go a long way before running out of things you can do with the SeeedStudio GD32 RISC-V.