RAKwireless Unified Interface (RUI3)
A unified and simple coding experience
Develop, compile and distribute your own firmware with ease.

A unified and simple coding experience
Develop, compile and distribute your own firmware with ease.

We Listened
Early RAK customers expressed the desire to develop their own firmware. As a response, we developed the RAKwireless Unified Interface (RUI3).
RUI was Born
We believe that customers should have the tools necessary to unlock the full potential of their hardware. RUI3 (pronounced ar-you-ay-three) allows users to develop, compile, and distribute custom firmware across the entire suite of RAK products.
Faster Time to market
This helps accelerate product development efforts and shorten the time to market. Additionally, firmware developed using RUI3 can be distributed to end devices using WisToolBox, a software utility interface created by RAKwireless.
RUI3 Integrates with Popular IDEs:
RUI3 integrates smoothly with Visual Studio Code, Visual Studio IDE, Arduino and PlatformIO IDEs. Within these development environments, you can write customized firmware, compile and upload directly through the IDE.
This interface provides unprecedented freedom to those customizing their IoT solutions. The RAK API, which underpins the RUI3, abstracts away the hardware layer. All functions and features of our hardware modules are accounted for without the programmer working directly with low-level hardware protocols.
Visual Studio Code
Visual Studio IDE
Arduino
PlatformIO
Coming Soon
Portability Inspired by Arduino
Compiled RUI3 firmware can easily be deployed to different RAK hardware modules with little to no changes. The framework was inspired by Arduino, which means that experienced hardware developers can take advantage of powerful vendor-specific features while staying close to what they know.
RUI3 doesn’t implement a real-time operating system (RTOS) but does provide a task scheduler as an optional class.
A
firmware development
platform
that spans across multiple hardware platforms
A
firmware development platform
that spans across multiple hardware platforms
Customizable and Flexible
Traditional firmwares from other IoT product manufacturers usually allow customization via an API or AT commands. RUI3 offers AT mode for setup. The interface also introduces Binary Mode over UART (Universal Asynchronous Receiver-Transmitter protocol). This is faster than using AT commands thanks to more efficient data structures.
The Binary Mode also offers better data integrity by using checksums and payload lengths to verify each Binary frame. Also, the user is empowered to create customizable AT commands each with a configurable permission scheme. The API unlocks functionality not usually seen in low-level hardware interfaces.

