Before you go, check out these stories!

0
Hackernoon logoHow to Make Arduino Work with a $4.90 RISC-V Board by@abby

How to Make Arduino Work with a $4.90 RISC-V Board

Author profile picture

@abbyabby

Longan Nano with GD32V series MCU costs only $4.9. You then got an Arduino board with 128KB Flash, 32KB RAM, LCD, and even an acrylic case.

Story

-Longan Nano

Sipeed Longan Nano could be the most inexpensive RISC-V development board currently available. With only $4.9, you will get 128KB Flash, 32KB RAM, 160x80 LCD, TF card slot and even an acrylic transparent case.

-GD32V Series Microcontroller

The main chip on the board is a GigaDevice GD32V Series microcontroller, GD32VF103CBT6. From the information provided by RISC-V website, it is a 32-bit SOC with RV32IMAC instruction set and its core named "Bumblebee".

-Arduino Support

Sipeed provides the basic board support for Longan Nano and the board manager URL for Arduino IDE is

http://bigbits.oss-cn-qingdao.aliyuncs.com/Arduino_for_GD32V/package_longduino_index.json

Currently, the URL supports only the Windows platform. For macOS or Linux, the alternative IDE is PlatformIO.

The Problem

As I mentioned above, the board support package provides only the basic functions. There is no Serial library, no SPI library,...

The Solution

Arduino RT-Thread library comes to the rescue, which supports the Longan Nano board from v0.8.1.

RT-Thread is an open-source RTOS, however, it also provides various drivers and utilities.

For Longan Nano, the library currently provides UART, SPI, TF card, and LCD drivers. Its utilities are mostly hardware-independent, e.g. FatFS, tiny shell and etc. So with the single library, you may have a lot of fun.

But there is one more thing (library), RTT-GUI. It is a GUI library based on RT-Thread, which provides some UI widgets, BMP / JPEG decoder, fonts, and more. (The new problem now will be lack of memory space.)

Enable RT-Thread

For Arduino IDE, the RT-Thread library supports the Longan Nano board without any configuration, as the macro, BOARD_SIPEED_LONGAN_NANO, is defined in the board support package.

For PlatformIO, the following is an example of the configuration file, "platformio.ini".

[env:sipeed-longan-nano]
platform = gd32v
framework = arduino
board = sipeed-longan-nano
debug_tool = sipeed-rv-debugger
lib_deps = RT-Thread, RTT-GUI
build_flags = -D BOARD_SIPEED_LONGAN_NANO
monitor_port = /dev/ttyUSB1
monitor_speed = 115200


Enable RTT-GUI

Enablethefollowinglinesin "guiconfig.h". (Some features may be disabled in this file to save memory.)

#define CONFIG_GUI_DEVICE_NAME              "ST7735"   // RGB565
#define CONFIG_USING_RGB565                 (1)

RT-Thread Contact Info:

Website | Github | Twitter | Facebook | Youtube



Tags

The Noonification banner

Subscribe to get your daily round-up of top tech stories!