Arduino BSP or RAK’s RUI3, Which one fits your needs?

Remember your first "Hello World" on your Arduino board or the first time you installed a library, that was relatively new for you at that moment, every day the IoT world continues to advance by leaps and bounds.

Even the development of solutions requires more speed and better performance, that's why RAKwireless designed RUI3 (RAK Unified Interface 3) an API that can help you create the firmware of your solution in a short period of time with many improvements compared to traditional code.

Before continuing with this article let's clarify some concepts to understand what are the advantages of RUI3

What is an Arduino BSP?
BSP or also known as Board Support Package is a layer that contains a forward which provides a standardized way of communication between the physical components (Hardware) and an operating system, in this case, it contains the routines, libraries, and drivers for communication with the memory, internal and external busses that allow the software to operate normally while a microcontroller is turned on.

This image may be helpful to understand where the BSP is placed within the architecture:

What is an API?
API (Application Programming Interfaces), is a set of parameters and protocols used to develop and integrate application software, allowing communication between two software applications through a set of rules. In this case, it would be RUI3 our API that allows communicating with the Bootloader of our kernel.
An API is a formal specification that establishes how a module of software communicates or interacts with another to fulfill its functions.

An example of an API that many people are familiar with is Google Maps with the standards applied by Google, most websites can use Google Maps APIs to integrate maps.

What is RUI3?

RUI3 also known as RAKwireless Unified Interface is an API created to help IoT developers to deploy their products much faster, RUI3 is compatible with all RAK LoRaWAN modules, opening the possibilities to use it in multiple scenarios and solutions.

RUI3 - RAKwireless Unified Interface - LoRaWAN Firmware
RUI3 A unified and simple coding experience Develop, compile and distribute your own LoRaWAN firmware with ease. RUI3 integrates smoothly with Visual Studio Code, Visual Studio IDE, Arduino and PlatformIO IDEs.

Advantages of RUI

  • RUI3 APIs are focused on IoT - LoRaWAN, Bluetooth, and Cellular.
  • LoRaWAN network configuration parameters are much shorter and easier to understand compared to other methods.
  • Portable codes to different cores - STM32, NRF52, and Apollo3 Blue. Learn once, code once.
  • Optimized for low-power and battery applications.
  • Supports WisToolBox, a visual and easy-to-use tool to quickly program LoRaWAN parameters and
  • Quick and easier firmware management (via WisToolBox).

Disadvantages of Arduino BSP

  • Currently available libraries create longer code than RUI3.
  • No LoRaWAN support for the latest LoRa transceivers like STM32WL.
  • No enterprise support. Limited and very dependent on community-driven development.
  • More difficult to secure LoRaWAN Device Certification from LoRa Alliance.

Use RUI3 for easy and fast development of your IoT solution using LoRaWAN®. To learn more about RUI3 we invite you to review our documentation
Visit our tutorial to start developing your solution with RUI3

RAKwireless Unified Interface V3 (RUI3)
The RAKwireless Unified Interface V3 (RUI3) is designed to help IoT developers make their IoT products faster. It is compatible to RAK LPWAN modules. It supports the standard AT Commands which is known to many people, as well as the Binary Mode.