I've been building something for the past year or so and it's time to show it, (years if you count the time I spent working on my IDE). 

I'm calling it Rovari. 

 

My mission I'm thinking of for the platform is "Learn, build and ship with RISC-V from Anywhere".

 

Rovari

Rovari is a complete embedded systems platform built on RISC-V silicon with the chips I decided on being from WCH. Why WCH? well they're the most ubiquitous chip company for RISC-V and no matter where you live you can proablly get one of their chips. So Rovai my idea is to make Rovari not just a board or an IDE or docs and books but a whole platform. The idea is to have hardware, software, tooling and documentation if you want to break into the RISC-V space; so you can go from idea to working product, without stitching together five different ecosystems.

So what is Rovari actually? Well: 

1. Rovari Studio: a purpose-built IDE for WCH RISC-V development. Bundled toolchain, one-click build, one-click flash, integrated serial monitor, Python script runner, GDB debugger, and a snippet library full of production-grade patterns. Download it, open it, write code. People who are now coming into the space can get started with no toolchain setup, no PATH variables, no "works on my machine." Its a cleanroom ide, sure I could have used VS Code or seomthing else, I but I wanted it to be very lightweight and simple to use so that anyone would be able to use it, kinda like Arduino level simplicity, but a bit more for who needs it, like something you can grow with, idea is you learn and build with Rovari Studio and then you can even ship your project or product with it if you need to an yeah it's free and open source. 

2. The Rovari SDK: so this is a clean C++ hardware abstraction layer, yes I know embedded C is standard but C++ support in embeeded is kinda difficult for beginners to get started with, thats why I have a C API and C++ API, so you can use either one,  for the smaller chips you can use C and the larger ones use C++, I do have GPIO, UART, SPI, I2C, ADC, DAC, DMA, timers, PWM, input capture, RTC, OLED displays, SD cards with FatFS, MP3 decoding, video playback, ethernet and more. All tested on real hardware, my idea isn't to support every single thing initially, but the chips I do support when you click run, its gonna work. All checkbox-selectable in the IDE with automatic dependency resolution. It's built on top the Apache version of the WCH HAL, OpenOCD and GCC, so its ofc its also open source, though tighly integrated into the IDE. Why the HAL? Why not something like CH32FUN? Well you can bring in whatever you like, but so many tutorials are avaiable on the HAL, that users can access it directly if they need too, thats the idea of growing, you use Rovari SDK to start off, and know everything works and peel back the layers as you grow, and yes I did place "maybe we'll need to integrate an ASM file" it you're learning or need to. 

3. Rovari Connect: a dual-language workflow, that no other RISC-V platform offers for persons to break in. It's lilke this, you see in Rovari, every project has two files, an app.rova (C/C++ firmware on the board) and rovari.py (Python on the host PC). The board is the sensor and actuator and Python is the brain and presentation layer. So you build, flash on the RISC-V mcu and run your dashboard for visualization IoT, data acquistion etc etc in one IDE. The Rovari Python library interfces with any board running Rovari SDK so if you're a beginner you click run and from your broswer webpage opens up and also works with your phone, oh and NiceGUI is at the heart so you gain access to everything they provide. 

4. A learning ecosystem: So me being an author, I kinda wanted to make sure people have good books and docs they can learn from. When I do realse Rovari after I clean up a bit over the next few weeks, I'm also relasing an SDK guide for pros, but for the beginners looking to break in to the ecosystem, I'm almost done with a book that teaches you the ecosystem and how to leverage it to learn RISC-V and also working on a comprehensive educational curriculum spanning electronics fundamentals through AI and machine learning on microcontrollers, and no not AI washing, but we gotta teach it rgiht? 

Of course I have a bootloader in the works for the platform as well, but that is the platform, everything connects, the SDK builds in the Studio, Studio runs the python companion and you have reference docs and books that you can use to learn all of it. You learn everything in one place so if you do need to move on afterward you have a good base to move on to more advanced stuff, the idea isn't to lock you in, but just to make it easy. 

 

Why WCH RISC-V?

WCH makes RISC-V microcontrollers that are cheap, capable, and increasingly everywhere. The CH32V003 costs $0.10 in volume. The CH32V307 runs at 144 MHz with USB, Ethernet, and CAN. These chips are real and shipping in products today and it was like yea I really couldn't think of a more obvious choice, the chips are avialable but the tooling (no offence) sucks for beginners and Arduino support is slow and to be honest since the Qualcomm acquistion I've been skeptical of them so yea. 

I like WCH chips, but the problem has always been the ecosystem around them. Documentation is sparse and mostly in Chinese, tooling is fragmented. There's no equivalent of the Arduino ecosystem no unified IDE, no consistent HAL, no beginner-friendly on-ramp that doesn't dead-end when you need professional capabilities, so I thought I'd build my own. The chips also have thier quirks (callback to when I did my Nuttx port Porting Apache NuttX RTOS to the WCH CH32V307: A Deep Dive into the PFIC and Everything That Went Wrong) so I took everything I lerant working with thse chips over the time I spent with then and I'm hoping Rovari fills the gap to break-in to RISC-V. Not by dumbing things down, but by making the professional path accessible from day one. It's like simple from day one but complex when you need to be. 

 

Who This Is For

 

Everyone. 

But. 

There are some people who come to mind like students who want to learn embedded systems on open silicon, not locked-down ARM cores they can't inspect. The curriculum goes from blinking LEDs to machine learning on microcontrollers. Every step documented and as we move forward and port to other cores hopefully we'll get full open RTL level silicon we can work with. That would be amazing. 

Makers and hobbyists who have been curious about RISC-V but the tooling gap kept them on Arduino or ESP32. Rovari eliminates that gap. what comes to mind for me is when I go to the Adafruit wesite and look at the QT Py CHV203 and see this in the description:

 

So yeah I got your back guys, Rovari will make it work.  Also I think professional engineers who need a rapid prototyping platform with real peripheral support  DMA, input capture, RTC, SD card, SPI displays not just GPIO and UART demos. The SDK is thin enough to see the hardware through it, and I'm like even if no one wants to use Rovari, I will I've been having a blast like Arduino has always been to hidden for me I wanna hack around with linkers and see my map files stuff, but I also wanna call "serial.print" and get stuff going, you know? So 'm hoping other professional engineers will like what I came up with. 

I also want educators who need a platform they can actually teach with, as someone who's taught kids before and taught courses, I kinda want a simple thing, the book, the curriculum, and the IDE are designed to work together. Same environment for every student on day one, that's why I'm working on a low cost board too, cause like I'm from Trinidad and Tobago and even US $30 is like over TT $200 which is kinda expensive here, and then you gotta pay as much to ship the thing, and I can imagine other developing countries as well, even developed ones I wanna keep barrier to entry under US $20. Whether you brign your own board, or get the one I'm working on, whereever you're from, just get a low cost booad from anywhere and ship it and Rovari gives you everything you need to learn, so yea no matter where you're from you should be able to have access to cutting edge technology like RISC-V at low cost. 

 

So What's Next

Well I just wnna have fun with RISC-V, lol, but in all seriousness I want to clean up the IDE, do some more testing of the SDK and wrap up the docs and book (other books in the works too!) to have a good ecosystem with the things and post soruces to github. Follow me on youtube or twitter or just check here for updates. 

 

See a walkthough on youtube here: 

A First Look at Rovari: A Complete RISC-V Embedded Platform

 


Armstrong Subero is an Embedded R & D Engineer, published author (four books with Springer/Apress). He loves RISC-V and ported NuttX to the CH32V307 and builds the Rovari platform from Trinidad and Tobago.

Learn, build and ship with RISC-V from Anywhere.

Follow the project: rvembedded.com · @rvembedded