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 username+company1@email.com or username+company2@email.com).

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.
YouTube video player

 

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:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

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

ROCK Pi 4C Plus

14 Replies to “Getting started with Bluetrum AB32VG1 RISC-V Bluetooth audio board using RT-Thread”

  1. In the end, did you find any single aspect of it that was well thought or well designed ? It looks like a huge collection of all the worst practices of the software industry at the moment…

    1. If I was a Windows user and could read Chinese, I would probably have had a much better experience. The good thing is that the samples work.

      RT-Thread initially focused only on the Chinese market, but since earlier 2020, they’ve decided to expand to the rest of the world. I was actually told documentation was very good, but after I point out it’s pretty awful if you can’t read Chinese, they told me they thought I could read Chinese (maybe because of CNX Software China website).

      So the ecosystem inherits some of the Chinese attributes like the login to the IDE, as in China it seems it’s common to log in before doing anything. Just try to make a search on Taobao, and in China, I understand anonymous comments are not allowed with a phone-verified login required for commenting.

      The Bluetrum board is also a new platform, so it will take time to have all features working. It’s like when ESP32 launched, Bluetooth still needed some work.

      1. OK but quite frankly, requiring a login to use an application on your computer, the laughable error messages, the monstrous size of the stuff to download and install, the extreme startup time, the fact that the “IDE” does not even include the upload part, etc. Nothing at all in all of this sounds either serious nor usable. I mean, anyone using such solutions definitely wants to pay their developers to play games while waiting for the PC to do basic tasks such as starting an editor! You were brave, really, I would have given up much faster!

  2. For anyone stuck with foreign language documents, if the documents are in PDF format, then there are websites that will machine translate the PDF to another language for you.
    A service some at the moment provide free.

    Update

    Just checked and the translation service has gone past just PDF

    “Instantly translate and preserve the layout of any document format into any language Free. “

    Maybe CNXsoft could do a article on how well such services cope with technical language, of embedded hardware, software and diagrams ? Just a idea ?

  3. Wow, thanks Jean-Luc for taking one for the team. This article should serve as a warning to people to avoid this company like the plague it is!

  4. Does the same company (rt-thread) make the chip? If I don’t like the rt-thread OS is there any bare metal alternative?

    1. RT-Thread is just an open-source community. The company that makes the chip is Bluetrum and they may have their own SDK for baremetal development, but I have not seen any public documentation about it.

  5. Hey guys, RT-Thread dev here. Let me try to clarify a bit. RT-Thread is a community-driven open-source project from the beginning and will remain that way in the foreseeable future. The RTOS kernel and almost everything running on it are licensed on Apache V2. The Studio IDE on the other hand is a side project with the intention of helping people get started using RT-Thread OS. We have zero interest in collecting user privacy or anything like that. Currently, it requires registration is because it’s still in the testing phase and the user’s feedback is really valuable for us. That’s said, it will always be a free choice for the users and will never get in the way and making the RT-Thread less open.

    For the documents, well I gotta say most of the RT-Thread devs are native Chinese speakers, so sometimes it is quite difficult to force everyone to write documents in a language that they’re not very familiar with. We’re working hard to fix it though. The translation is also mostly from communities help. It will take some time but I think it will eventually be good enough for English users.

    Thanks for all the feedback, we’ll fix it and give the updates. Also, welcome all you guys to experience RT-Thread OS, and you do have many alternative ways to develop with, such as vscode, clion + scons, env+keil, iar, cmake and makefile, which may works better on your side. 
     

    1. Thanks for clarifying all this! It’s nice to know their are reasons for some of the aspects some of us do not like and that it’s not just because it was dumped like this without giving it a thought.

  6. IDE only runs on Windows and requires login – No Thanks. I guess I don’t understand why they couldn’t just use the Arduino IDE?

Leave a Reply

Your email address will not be published. Required fields are marked *

Khadas VIM4 SBC
Khadas VIM4 SBC