RoadTest: Bluetooth 5 Radio SoC EVM
Author: Attila Tőkés
Creation date:
Evaluation Type: Development Boards & Tools
Did you receive all parts the manufacturer stated would be included in the package?: True
What other parts do you consider comparable to this product?: Nordic nRF52 series
What were the biggest problems encountered?: Finding the product page / documentation on www.onsemi.com
Detailed Review:
Hi Element14 Comunity,
Here is my RoadTest for the RSL10 Bluetooth 5 SoC:
Lets see what we got:
(please see the description from the gallery)
{gallery} Unboxing and First Impressions |
---|
Packaging: The RSL10 Evaluation Board comes in a cardboard box. |
Packaging: Inside the box we get some plastic foam (not so eco friendly) and some instructions (+marketing). The instructions could be a little bit more complete, as the www.onsemi.com site does not really helps us to find the product page (more details later). |
Packaging: Under the plastic foam top we got the main board and an USB cable. |
Packaging: the board comes in a anti-static bag, the USB cable in the plastic bag |
First Impressions: The board seems to be pretty well build. The solder joints, except some of trough hole ping, looks good. The board comes with a nice green solder mask. The The USB cable is about 50 cm in length and seem to be OK in quality. |
Main Board (top): on the of the board we find the RSL10 IC, a PCB antenna, some connections and jumpers |
Main Board (bottom): on the bottom we have the battery holder and Atmel micro-controller for debugging |
The board comes with some kind of demo application. After connecting the USB cable, the on-board LED starts blinking and the board shows up as a Bluetooth device on a scan. Unfortunately, I did found any information on what to do with this application...
After the unboxing I took a look on the Product Page of the RSL10. The page describes the RSL10 as:
RSL10 is a Bluetooth 5 certified, multi-protocol radio System on Chip (SoC) which brings ultra-low-power Bluetooth Low Energy to wireless applications.
Offering the industry’s lowest power consumption, RSL10 helps provide devices like heart rate monitors with advanced wireless features while optimizing system size and battery life.
Unlike most other multi-protocol radio SoCs, RSL10 is specifically designed for applications using 1.2 and 1.5 V batteries, and supports a voltage supply range between 1.1 and 3.3 V without a required DC/DC converter. The highly-integrated radio SoC features a dual-core architecture and a 2.4 GHz transceiver, providing the flexibility to support Bluetooth Low Energy and 2.4 GHz proprietary or custom protocols.
with the following highlighted features:
- Ultra-Low-Power:
- Industry's lowest power consumption in Deep Sleep Mode (62.5 nW) and Rx in Receive Mode (7 mW)
- Industry's best EEMBC® ULPMark™ scores (1090 ULPMark CP @ 3 V; 1260 @ 2.1 V)
- Advanced Multi-Protocol Wireless Functionality:
- Rx Sensitivity: - 94 dBM
- Transmitting Power: -17 to +6 dBm
- Supports Bluetooth Low Energy and 2.4 GHz proprietary/custom protocols
- Supports Firmware Over The Air (FOTA)
- Flexible Voltage Supply Range (1.1 and 3.3 V):
- Supports devices using 1.2 and 1.5 V batteries without a required external DC/DC converter
- Ultra-Miniature:
- RSL10 is offered in a 5.50 mm2 WLCSP and a 6 x 6 mm QFN. For added miniaturization, the radio SoC is also available in a complete System-in-Package (SiP) solution.
- Sophisticated Dual-Core Architecture:
- Features a programmable Arm Cortex-M3 processor for clocking speeds up to 48 MHz and the flexibility to support 2.4 GHz proprietary and custom protocol stacks. An embedded Digital Signal Processor (DSP) enables signal processing intensive applications, such as wireless audio codecs.
- On-Chip and Software Wireless Support:
- Features a 2.4 GHz Radio Frequency Front-End (RFFE) and a Bluetooth 5 certified baseband controller which supports 2 Mbps data rates. A wide range of supported Bluetooth low energy protocols are provided in the RSL10 development tools kit.
- Highly-Integrated System-on-Chip (SoC):
- The powerful dual-core architecture is complemented by high-efficiency power management units, oscillators, flash, and RAM memories, a DMA controller, and peripherals and interfaces.
- Other Key Technical Features:
- 384 kB of flash memory
- IP protection feature to secure flash contents
- Configurable analog and digital sensor interfaces (GPIOs, LSADs, I2C, SPI, PCM)
Next, I wanted find the Evaluation board's product page. I had a little bit of headache with this, as the ON Semiconductors website does not seems to be too well organized. In the end, I found it after some googling. Unfortunately, the page does not contains too much useful information, so I decided to go with the the User Guide linked in the RoadTest's page. This provides some information about the board's features:
The Evaluation and Development Board enables developers to evaluate the performance and capabilities of the RSL10 radio SoC in addition to developing, demonstrating and debugging applications.
Key features of the board include:
• J−Link onboard solution provides a SWJ−DP (serial-wire and/or JTAG) interface that enables you to debug the board via a USB connection with the PC
• Alternate onboard SWJ−DP (serial-wire and/or JTAG) interface for Arm® Cortex®−M3 processor debugging
• Access to all RSL10 peripherals via standard 0.1″ headers
• Onboard 4-bit level translator to translate the LPDSP32 debug interface at low voltage to a 3.3 V JTAG debugger
• Antenna matching and filtering network
• Integrated PCB antenna
In addition, the QFN board provides:
• Compliance with the Arduino form factor
• Support for PMOD (i.e., J4 is a standard connector)
The User Guide also contains circuit diagrams and instructions for the power options, debugging interfaces and other features of the board.
Next, I wanted to take a closer look at the specs. To have some reference for comparison, I also compared the specs with an another Bluetooth 5 SoC-s, the nRF52 series.
In the maker community the most popular SoC for BLE applications is probably is the Nordic nRF51 / nRF52 series. They are cheap, has good software support and the nRF52 series also support Bluetooth 5 features.
Here is comparisons between the RSL10 and nRF52 series, based on a (not necessary representative) set of features extracted from the datasheets:
RSL10 | nRF52832 | nRF52840 | nRF52810/11 | |
---|---|---|---|---|
Price | ||||
10+ pcs price tier, Farnell | € 6,12 | € 4,06 | € 5,96 | € 2,75 |
Core | ||||
Processors | ARM® Cortex®-M3 @48 Mhz (159 EEMBC CoreMark®)
LSDSP32 - audio processing
Baseband controller |
ARM® Cortex®-M4 @ 64Mhz with FPU (215 EEMBC CoreMark®) |
ARM® Cortex®-M4 @ 64Mhz with FPU (215 EEMBC CoreMark®) |
ARM® Cortex®-M4 @ 64Mhz no FPU |
SRAM | 76 kB program + 88 kB data | 64 / 32 kB | 256 kB | 24 kB |
Flash memory | 384 kB | 512 / 256 kB | 1 MB | 192 kB |
Radio | ||||
Protocols | Bluetooth 5 IEEE 802.15.4 (Thread, ZigBee) | Bluetooth 5 | Bluetooth 5 IEEE 802.15.4 (Thread, ZigBee) | Bluetooth 5 |
Bluetooth 5 features | 2 Mbps CSA #2 Advertising Extensions Long Range | 2 Mbps CSA #2 Advertising Extensions | 2 Mbps CSA #2 Advertising Extensions Long Range | 2 Mbps CSA #2 Advertising Extensions (*) Long Range (*) |
RX sensitivity | -94 dBm | -96dBm | -95dBm | -96 dBm |
Data rate | 62.5 to 2 Mbps | 1 Mbps, 2 Mbps | 125 kbs, 500kbs, 1M, 2M | 1 Mbps, 2 Mbps |
TX power | -17 to +6 dBm | -20 to +4 dBm | -20 to 8 dBm | -20 to +4 dBm |
I / O | 16 x GPIO | 32 x GPIO | 48 x GPIO | 32 / 16 x GPIO |
I2C UART 2 x SPI PCM 2 x PWM |
3 x SPI 3 x 4ch PWM 2 x I2C I²S | USB 2.0
4 x SPI master/slave, 2 x TWI master/slave 2 x UART, 4 x PWM QPSI I²S QDEC |
SPI master/slave TWI master/slave UART PWM QDEC PDM | |
2 x digital microphone interface (DMIC) | Digital microphone interface (PDM) | Digital microphone interface (PDM) | Digital microphone interface (PDM) | |
| output driver (OD) - what's this for? | NFC-A tag emulation | NFC-A tag emulation | - |
Power | ||||
Supply voltage | 1.1 – 3.3V | 1.7V – 3.6V | 1.7V – 5.5V | 1.7V – 3.6V |
Current Consumption | ||||
deep sleep (IO Wake) | 25nA @ 3V 50nA @ 1.25V | 300 nA @ 3V | 400nA @ 3V | 300 nA @ 3V |
deep sleep (RAM retention) | 100nA @ 3V + 8kB 300nA @ 1.25V + 8kB | 700 nA @ 3V + 64 kB | 1.86 µA @ 3V + full RAM | |
| ||||
peak RX current | 3mA @ 3V + 1mpbs 5.6mA @1.25 | 5.4mA @ 3V | 4.6 mA @ 3V, 1Mbps 5.2 mA @ 3V, 2 Mbps | |
peak TX current @ 0 dBm | 4.6mA @ 3V 8.9mA @1.25V | 5.3mA @ 3V | 4.8 mA @ 3V | 4.8 mA @ 3V |
RSSI ressolution | 2.4 dB | 1 dB | 1 dB | 1 dB |
Packaging | QFN48, WLCSP51 | QFN48, WLCSP | aQFN73, WLCSP93 | QFN32, QFN48, WLCSP93 |
The RSL10 has a wide supply voltage range that allows running from 1.2 / 1.5 V batteries. On the other hand the nRF52 seems to be designed to work with 3V lithium based batteries.
Compared to nRF52-s, in deep sleep modes the RSL10 datasheet claims to have about 5-10x lower power consumption. But, for both SoC the power consumption is low enough to run for years from coin cell batteries.
In active modes the RSL10's advantage would be about ~50% on RX and ~15% on TX peak loads.
In processing power, the nRF52 in theory is better than the RSL10 (if we not count the DSP). In terms of SRAM the RSL10 with its 76+88 kB, places between the nRF52832 (64kB) and nRF52840 (256kB).
In terms of the GPIO-s the RSL10 with its 16 GPIO pins is a little bit low, considering that uses a 48 (/51) pin package. On the other hand the nRF52810 / nRF52832 has 32 available GPIO pins on the same QFN48 package. Both the RSL10 and the nRF52 have support for the standard digital communication interfaces (I2C, SPI, etc.).
As extra features the nRF52832 comes with NFC-A tag emulation, and the nRF52840 has an USB 2.0 interface along this.
The RSL10 with its € 6,12 is the most expensive. At about the same price, € 5,96 comes the nRF52840 with significantly more features (USB, NFC, most RAM + GPIO-s). The nRF52832 (€ 4,06) and nRF5281x (€ 2,75) are considerably cheaper, but have less features.
This turned out to be the harder then, I though:
To program the board first we need to install the RSL10 SDK. As the SDK download on www.onsemi.com is only Windows, I started with this. The installation process was pretty straight forward:
{gallery} Installing RSL10 Dev Tools on Windows |
---|
The next step would be to import one of the example project, like the blinky example:
{gallery} My Gallery Title |
---|
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
The project was successfully built, so I tried to Debug it with SEGGER J-Link.
Note: the board comes with an example that puts the RSL10 in Sleep Mode. This causes the on-board J-LInk debugger not to work. The overcome this issue connect DIO12 to GND, and reset the board. This will tell the example application not to put the device in sleep mode.
Unfortunately, under Windows I encountered problems with connecting J-Link Debugger to the board. The Windows was running in a VirtualBox VM, but the USB device was successfully detected. I think the culprit may be the SEGGER J-Link driver...
At this point I decided to move to Linux, the OS I normally use. Also, I knew that on Linux I have a working SEGGER J-Link setup.
The IDE is just an Eclipse IDE for C/C++ Developers with some additional plugins:
To move the installation to Linux:
{gallery} My Gallery Title |
---|
As it worked, I decided to move on to some more interesting stuff.
The Bluetooth 5 (LE) adds the following new features over the Bluetooth 4.2 (LE):
To test the Bluetooth 5 features and to do the comparison between the nRF52 and the RSL10, I wanted to use a badge I made a couple of moths ago:
Scan Me! - Wire / Contactless Badge
{gallery} Scan Me! badge |
---|
Scan Me! badge in action |
Front |
Back |
Schematics |
The badge is based on the nRF52832 SoC, and uses the NFC tag emulation and DC/DC converter features of the SoC.
For the sake of the test, the OLED screen was temporary removed. This way it will not affect the current consumption measurements.
On the software side I used Arduino with the arduino-nRF5 core and the arduino-BLEPeripheral library.
More information about the badge can be found on its Hackster.io project page.
The RSL10 SDK comes with a list of examples. Looking at the readme files, there are 2 examples which claims to use Bluetooth 5 features:
According to the readme both will try to use 2 Mb/s data rate, if the connected device supports it.
The peripheral_server_uart application is running on the RSL10 and implements the Battery GATT Service. The application also implements a custom UART GATT service.
(BLE Scanner app screenshot showing the GATT services)
The central_client_uart app is could be run on a second RSL10 and would interact with peripheral_server_uart application.
As, I don't have a second RSL10, I thought to implement a simplified version of the central_client_uart app on the nRF52.
(Unfortunately, I did not had the time to do this yet...)
For battery powered applications the current / power consumption is critical, as it directly affects the battery life.
To compare the RSL10 with the nRF52, I though to measure their current consumption in different scenarios.
I also tried out multiple supply voltages to see how it affects the current / power consumption.
The user guide recommends measuring current using the dedicated Current Measurement Header from the board.
The process would be something like:
But there is problem with this approach:
In the end, I went with the 1st approach as it was easier to implement from the cabling point of view.
The current measurement of the nRF52832 is much simpler. With the OLED screen removed from the badge. there are no other devices that could consume additional current.
The current consumption of the device was measured by connecting the multi-meter in the supply chain.
Here are the current measurement for some uses I managed to test:
Use Case | RSL 10 | nRF52832 |
---|---|---|
Deep Sleep with RAM retention | 0.4 - 0.5μA @ 3.3V 0.4 - 0.5μA @ 2.0V 0.3 - 0.5μA @ 1.3V
(sleep_RAM_retention) |
0.6μA @ 3.3V 0.5 - 0.6μA @ 2.2V |
while (true); | 0.64 mA @ 3.3V 0.62 mA @ 2.0V 0.61 mA @ 1.3V (sleep_RAM_retention with DIO2 connected to GND) | 4.7 mA @ 3.3V 5.52 mA @ 2.0V |
BLE, waiting for connection, 0 dBm | without DC-DC converter: 1.15 mA @ 2.0V 0.92 mA @ 1.3V
(peripheral_server_uart)
with DC-DC converter: 0.29 mA @ 3.3V 0.44 mA @ 2.0V 0.65 mA @ 1.3V
(peripheral_server_sleep) | with DC-DC converter:
5.53 @ 3.3V 4.75 @ 2.0V 5.54 @1.7V |
BLE, connected, 0 dBm | 10.33 mA @ 3.3V 0.89 mA @ 2.0V 0.65 mA @ 1.3V
(peripheral_server_uart app)
with DC-DC converter: 0.23 mA @ 3.3V 0.34 mA @ 2.0V 0.52 mA @ 1.3V | with DC-DC converter:
5.47 @ 3.3V 4.86 @ 2.0V 5.62 @ 1.7V |
BLE, continuous TX, 0 dBm | (TODO: need to find a app to simulate this) | (TODO) |
BLE, continuous RX | (TODO: need to find a app to simulate this) | (TODO) |
Note: The multimeter used (a Vici VC99) has a resolution of 0.1 μA (100 nA) in the μA measurement mode. I'm not sure about the precision...
The main selling point of the RSL10 seems to be the low current consumption and wide supply voltage range that it allows running from 1.2 / 1.5 V batteries. The power consumption in real-word applications (sleep + active modes) it really depends from the use case, but if want to get the best possible run-time with a given battery the RSL may have an advantage over the nRF52-s.
On the features side, the nRF52 stays better with more GPIO pins, peripheral interfaces, NFC tag emulation and USB. Also, depending on the model the nRF52 is usually cheaper than the RSL10.