Here is a Longan Nano USB HID device vender example project

board sipeed longan nano or GD32vf103 dev board. chip (risc-v32) GD32vf103CBT6 or GD32vf103VBT6 firmware for a USB HID device (vender type) to send data to USB post (Android or PC)

/*!This project is created by mzhu thru cloning from HID_mouse (project name:usbd_mouse) of GD32vf103 examples. */

The Full Speed (FS) USB module uses a 48MHz clock, which is generated from an integrated PLL.

The GD32 device is enumerated as an USB HID device, that can talks with the native PC/Andriod Host HID driver. No custom USB driver needed on host side. But you need a software on USB host to caputer the HID report data and dispaly it. You can use the on-chip ADC to caputure a temperature or voltage and wrap it into a HID report and send it to the host. In this project, it just generates saw teeth waves.

I use the NucleiStudio (a customed version of Eclipse), since they already include all the packages like CDT tools for embed programming. I uploaded all the screenshots for all the settings.

For the debuger, I use rv-link debuger. it is a hardware rv-link debuger I converted from a longan nano board. Search the github how to do it. Of course, you can use any standared JTAG debuger for this project.