Getting started with Bluetrum AB32VG1 RISC-V Bluetooth audio board using RT-Thread

Bluetrum AB32VG1 is a development board based on AB5301A RISC-V microcontroller designed for Bluetooth audio applications as well as general-purpose projects that works with RT-Thread real-time operating system.

RT-Thread sent me a board for review, and I’ll write about my experience in a getting started guide for Bluetutm AB32VG1 trying out the RT-Thread Studio IDE with the LED blink and audio samples, as there’s no Bluetooth sample at this time…

Bluetrum AV32VG1 Unboxing

The board ships with a USB-C cable for power and programming.

Bluetrum AB32VG1 RISC-V audio board

It offers Arduino UNO headers for expansion, a MicroSD card slot, a USB host port, a 3.5mm audio jack, an IR receiver, and a few buttons.

Bluetrum board Wechat QR code

There’s nothing to do on the bottom of the board apart from a QR Core for the WeChat app.

Tall jumpers

There are also several configuration jumpers, but I could not find any documentation about these and did not mess with the jumpers’ position in this guide.

Development tools installation and configuration

We’ll start with the documentation that sadly is only available in Chinese right now. It will also link to tools in the Chinese website (rt-thread.org), but you can switch to the English website (rt-thread.io) to find the tools we’ll need namely RT-Thread Studio IDE and Downloader v2.2.0 for flashing the binary to the board and get access to the console.

Here’s the download link for the IDE that sadly, considering I’m a Ubuntu user, is only available for Windows, although the company told me they are working on a Linux version.

RT-Thread Studio Download Size (804MB)

That’s a fairly large 804MB download. It will take some time, so you may want to get Downloader 2.2.0 as well. There’s also a USB driver for CP210x, but it’s not needed for Version 2.0 of the board used in this review as it is based on CH340G USB to TLL chip. Note the Downloader is hosted on Gitee which requires an account for download. I already have an account, but IMHO this is a very poor way to share files for those that don’t.

I have to fire up a Windows 7 virtual machine to install RT-Thread Studio. The first time I waited for what feels like forever until I got the following message.

rt-thread studio install failure

I closed every other program I had running at the time, I tried again, and could finally complete the installation which took me about one hour and a half to complete. Then upon starting the RT-Thread Studio IDE I was greeted by an Account Login screen.

RT-Thread Studio Login

It does not make sense for an IDE unless there’s user-specific data that needs to be stored in the Cloud. I never had to login to use the Arduino IDE for example. I felt lazy creating an account, so I attempt a Github login but then I was asked to create a new account or associate it with an existing account with plenty of personal details. The phone number and email above look optional above, but they are not and at least one must be used. I never received the confirmation email, even in my Spam folder.

Cancel-login RT-Thread

So I tried to cancel the login process, but they won’t let you and simply close the application if you don’t register. So eventually I ended up creating a new RT-Thread Club account with just an email and password. Note that the form will not allow emails with the “+” sign which I use to track email leaks and spammers. (for example [email protected] or [email protected]).

Nevertheless, I finally managed to use the RT-Thread Studio, and now we need to configure the system for the board. We’ll need to launch the RT-Thread SDK Manager and install the latest RT-Thread source code from the master branch, as stable releases do not support the Bluetrum boards yet.

RT-Thread SDK Manager Latest Source Code

After that, we can scroll down, select the latest package for Bluetrum AV32VG1-AB-PROUGEN, in my case version 1.0.8, and click Install.

RT-Thread Studio AB32VG1

If you wonder why we did not select the latest RT-Thread code AND Bluetrum package at the same time, and install them both together, that’s because the SDK Manager can only install one package at once.

RISC-V GCC toolchainWe are not quite done with the last step being the installation of the RISC-V GCC toolchain. All good.

For reference, the application takes about 5 minutes to start in my virtual machine and takes 500MB of RAM.

Bluetrum AB32VG1 Hello World Project

We can now create our first project by going to File->New->RT-Thread Project, give a project name like ab32vg1, select “Base on Board”, and it will automatically select “PROUGEN G1” board for which we installed the packages. There’s no need to change other settings, so we can click on Finish.

RT-Thread Project PROUGEN G1 board

The new project is not actually empty, but it has a small sample program that prints “Hello World” in the console and blinks the red LED close to the USB host port on the board:


We can click on the “Build” or “Rebuild” icon to compile the project.
Build RISC-V RT-Thread Sample

Success! We can now connect the board to our computer via USB and a CH340 COM port should soon show up in the Device Manager.

USB-SERIAL CH340 (COM2)

We can’t flash the program to the board from RT-Thread Studio IDE, and instead, we’ll do this with Downloader 2.2.0 program. You can change the language to English, although the program is not entirely translated into English.

Downloader v2.2.0

We’ll need to make sure COM is not greyed out and COM2 is selected, load rtthread.dcf files from your projects, and click on Start to flash the program to the board. Note that I had to click on “Info” to reset and board and start the program. We should now see the LED blink every second.

RT-Thread Downloader Develop

It’s also possible to switch to the serial console by clicking on the Develop icon. It will show some information about the system with a mixture of English and Chinese language. Somehow “Hello, world” does not show entirely. It will just show “Hell” in my case, which is an over-dramatic way of expressing my experience so far 🙂

RT-Thread RISC-V Audio Project

Since we’ve got our hello world working let’s try another more complicated project with the audio play sample from the WiFi. I connected some speakers to the 3.5mm audio jack and the USB port for power.

Bluetrum AB32VG1 RISC-V Bluetooth audio board

I first tried to build upon our new project by adding packages and configuring the IDE as per the Wiki. We need to clickRT-Thread Setting in the Project Explorer panel, and then the “More…” button to access additional settings.

RT-Thread SettingsI could find some of the settings like “Enable Audio Device”…

But then some part of the documentation only has screenshots in Chinese like…

RT-Thread chinese screenshot

I was unable to easily locate these settings in the English version. In theory, I could use Google Lens to translate the text and find my way around, but I’ve already spent enough time on this review, so instead, I just downloaded the wav-player_rom project, extracted the ZIP file into the workspace folder, and imported it through the RT-Thread Studio IDE.

RISC-V wav audio player code sample

I could build the project without issues. Note it took about 50 seconds to complete or five times faster than launching RT-Thread Studio;). Let’s try to flash it with the Downloader, but I got the following error messages:


which translates into:


Since most of the information is in Chinese in the program and Wiki, I ended up clicking randomly in the program (a well-known, time-tested debugging technique by experienced developers) to find a solution, and selecting “Tools->Mass Mode” appears to have fixed the issue.

Download v2.2.0 Mass ModeBluetrum AV32VG1 play audio

Here’s a short video demo to show what it looks and sounds like.

 

Final words

At this point in time, Bluetrum AB32VG1 board and RT-Thread are quite a pain to use, at least for people not able to read Chinese. I was also not impressed by the Windows-only IDE and the need to login to download files and use the IDE. A Linux version of the IDE is being worked on, but I’ve not been told when it should be released. Not having a Bluetooth sample to play with on a Bluetooth board is also a problem, but I assume it is something that will become available in the near future.

If you’d like to try it out yourself, the board is available for $17 and up on Aliexpress. People interested in RT-Thread RTOS in general, and/or Bluetrum AB32VG1 in particular, can also attend the RT-Thread IoT OS Global Tech Conference 2021 which will take place online on September 16-17.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

Radxa Orion O6 Armv9 mini-ITX motherboard
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
15 Comments
oldest
newest
Boardcon CM3588 Rockchip RK3588 System-on-Module designed for AI and IoT applications