Longan Nano GD32VF103

Longan Nano GD32VF103

The Longan Nano is a board sold by seeedstudio,it costs about 10€ per unit and is equipped with:
  • GD32VF103 RV32IMAC+ECLIC Gigadevice Bumblebee Risc-V core running at 108 MHz
  • 80x160 0.96'' OLED screen interfaced via SPI and tested up to 6.7MHz
  • USB-C Programmer
  • 64b 27MHz SysTick timer
  • RTC timer independent from the CPU
  • 1 advanced timer
  • 4 timers with PWM generation, event counting and even quadrature decoding
  • 3 UART
  • 3 SPI/I2C/I2S
  • 2 ADC
  • 2 DAC
  • RGB LED
  • Plastic case and button
  • Pinstrips
  The feature set and power is amazing for the price

Why the Longan Nano

I hit the upper limit of the AT4809 20MHz 8bit MCU running the Motor Controller for OrangeBot
Given the additional development time, I gave myself the following objectives:
  • Build a more precise motor controller
  • Have a screen on the motor controller to debug and profile performance
  • Learn Risc-V
  • Practice with C++ features
The Longan Nano fits all the requirements while being cheap

Pin Configuration



>>>Tool Chain<<<

Illustration: Ten Longan Nano boards and One Longan WIO board as they arrived from seeedstudio

Illustration 1: Longan Nano test bench


>>>Longan Nano Chrono Class and Scheduler<<<


Chrono C++ Class uses the 64bit 27MHz systick timer to provide high resolution elapsed time and eaccumulate time HAL methods.

The Demo shows how to implement a fixed function scheduler with overrun and profiling using the Chrono C++ Class.


>>>Longan Nano Screen and Display Classes<<<


Display Class: Interfaces with the ST7735 80x160 display using SPI0 and DMA0.
Screen Class: Provides asynchronous methods to print on the display

>>>Longan Nano Demo<<<


Display Class: Interfaces with the ST7735 80x160 display using SPI0 and DMA0.
Screen Class: Provides asynchronous methods to print on the display