RoadTest: RSL10 Sensor Development Kit - Industrial Sensing
Author: BigG
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?: TI's CC2650STK SimpleLink Bluetooth Smart SensorTag loT Kit would be considered closest as also uses an ARM Cortex M3 processor and would contain a similar mix of sensors. Another compact, multi-sensor BLE development kit would be the Nordic Semiconductor Thingy:52. This has a 32-bit ARM Cortex-M4F CPU.
What were the biggest problems encountered?: I had requested the debug option and then my TC2050 (10-pin needle adaptor) failed to arrive when ordered separately. In terms of running the demo, I had trouble setting up MQTT cloud options using the demo app. Limited documentation available and the cloud receive option did not work.
Detailed Review:
Let's find out...
Firstly, I would like to thank Element14 and ON Semiconductor for providing me with the RSL10 Sensor Development kit (RSL10-SENSE-GEVK).
I am someone who has never used any of ON Semiconductor's development kits before, so this was an opportunity for me to get to know this kit together with the IDE provided by ON Semiconductor.
I'm a firm believer of the view that having great hardware without a decent firmware development environment is not much use to anyone and so a key aim of mine for my road test review was to evaluate the degree of effort it takes to get familiar with the RSL10 SIP application development environment using the demo's provided and then see what you can develop based on the hardware specification and the available firmware libraries.
Unfortunately, things haven't quite gone to plan for this road test. I received the non debug version , even though I had requested the debug version (RSL10-SENSE-DB-GEVK). To remedy, I then ordered the TC2050 (10-pin needle adaptor) connector, but for some reason the delivery package never arrived (investigation ongoing at time of writing).
So, unfortunately, I am not able to test the different BLE examples that come with the RSL10 BLE CMSIS pack at this stage and can only look at the demo example provided together with the Android (RSL10 Sense and Control) app.
I am exploring alternatives, mind you.
For example, I noticed that the GNU open source SWD debugger tool I received with the Particle.io Mesh kit has the same pinout and is compatible with the debugger footprint on the SENSE board. It also just so happens that I had some compatible 1.27mm pitch header pins lying around, which I've now soldered onto the board and it all powers up. However, I never had enough time to test if this little hack of mine works (for fear of wrecking the demo).
{gallery:autoplay=false} RSL10-SiP |
---|
The RSL10 SIP is Bluetooth 5.0 certified and fully-certified to worldwide regulatory wireless standards. The radio Rx Sensitivity is -93 dBM and transmitting power is between -17 to 0 dBm.
The RSL10 SIP is a complete off-the-sheld single miniature package which includes an integrated antenna, a RSL10 Radio SoC tother with all the passive components required.
There's no doubt, the RSL10 footprint is small. Here is a comparison against a Cypress EZ-BLE 4.1 module.
The big marketing push for this chip is its low power consumption. According to the data sheet, it achieved an EEMBC® ULPMark™ score of 1090 ULPMark CP @ 3 V and 1260 @ 2.1 V.
Here are the specs for Deep Sleep Mode, which is given by different battery voltage:
And similarly, here is current consumption for wireless communication depending on battery voltage:
During my road test, I did not test to verify any of these claims.
So, by way of comparison, here are some stats I extracted from the TI CC2650MODA spec sheet. It achieved an EEMBC CoreMark® Score of 142 (but I've no idea how this compares, to be honest). Then the current consumption figures are as follows:
Other key technical features include:
The memory space of the RSL10 SoC is subdivided into four main segments:
The RSL10 Sensor Development Kit consists of:
The tiny board includes the following 4 sensors:
There is also the N24RF64 RFID/NFC tag which has 64kbit EEPROM. It is worth noting that this uses the ISO/IEC 15693 RFID protocol rather than ISO/IEC 14443.
The board's schematic is available here for reference.
The hardware, when running the demo firmware, is then also supported by the RSL10 Sense and Control app, which is available for download on either Android or IoS Bluetooth LE compatible phones.
If you like the RSL10 SiP but feel that the Sensor Development Kit is not for you then there are other options available.
Unboxing can perhaps best be described as a little uneventful, I'm afraid.
The product arrives in a little brown box with a large label describing the contents within - interestingly the only place I spotted the product serial number was on this label.
{gallery:autoplay=false} Unboxing |
---|
Inside the box, the dev kit is accompanied by a “Kit Disclaimer” leaflet. This reads as follows:
And that is it... of course, having read the legal disclaimer you may be thinking, well the RSL10-SiP is fully certified so why is this still a case of wear-beware if being used “as is” as a wearable... especially within the EU. Who knows.
Anyhow, putting that aside, let's see how we can get started with this kit.
As there is no printed guidance included with this kit, it is a matter of taking a freestyle approach using freely available resources online.
Here is what I've learnt.
As we well know, most users would've purchased the product online and if purchased through a distributor, such as AVNET or Farnell, for example, they would've either been presented with the RSL10-SENSE-GEVK User Guide (document EVBUM2614) as a PDF or they would've had a link to the Onsemi.com product page for the kit. As the User Guide was presented to us as a reference guide for this road test, let me start here.
Overall, I found this User Guide document (EVBUM2614) to be quite comprehensive and it is essential reading to getting started.
The style of the documentation matches the style of the Onsemi website, namely pack as much information as you can per page and keep to the point. So, for example if you are looking for a document version number, you'll need to check the page footer for the reference.
The EVBUM2614 document essentially focuses on the software, leading you all the way from how to download the IDE through to selecting the firmware from the CMSIS pack and then flashing this on to your device.
Near the rear of document is a brief description on how to use the app and then it jumps into detail about all the different low power Firmware Modes for each sensor. This is rather confusing as it is badly formatted with indenting of number points and then bullet sub-points.
Then the document finishes off with a section on Compiling and Flashing of other firmware examples, which come with the BDK CMSIS pack and also includes details on how to debug using the J-Link debugger tool.
So, overall the main issue I had with the document is the lack of a contents section in this document, as there is no clear document structure with clear identifiable or nicely formatted sections and subsections. The document is 23 pages long after all and it is something you reference quite a bit as you work through the getting up to speed process, so having this would be rather useful.
Then a minor issue I had, which caused me a little confusion when reading the document for the first time, was that the actual file name of demo firmware is not explicitly stated at the beginning of the SOFTWARE section when it states “The RSL10−SENSE−GEVK boards are, by default, configured with the ultra−low power firmware". It is only when you get to item number 4, under sub-section “Compiling and Flashing of Ultra Low Power Firmware” that you can infer that the example given here is in fact the installed demo software “Choose the example Custom Service Firmware with Deep Sleep (RSL10-SENSE-GEVK)”.
Other than that, I had no problems following the steps and really found the mix of images and instruction to be very helpful in getting me up and running quickly.
With product and document names kept nice and short, it was easy for me to understand the linkages between say RSL10 and say RSL10-SENSE-GEVK products This helped me when it came to downloading all the required software from IDE through to CMSIS packs as you had to know what you are doing on the Onsemi.com website.
Yep, the Onsemi website is a weighty slow database driven juggernaut in need of a revamp.
There were a number of times when the website simply timed out when trying to access or log in. But besides the slowness and the legacy design, it works. I had no issues getting to the information I needed, although it does take a good deal of squinting to read all the small font text.
So, if I typed "RSL10-SENSE" in the onsemi.com search tool, we get:
You will notice that we are provided with a number of tabs, each of which contains links to drill down into. The "Documents Tab (10)" is a useful one for reference.
I simple started my journey by clicking on the link for the Sensor Development Kit (RSL10-SENSE-GEVK).
Here we are presented with a detailed description of the kit, including Features and Applications. At the bottom of this page is the document reference. Here, I noticed that we are missing the application notes (which are provided in the previous documents tab) for how to link to AWS, IBM or Azure cloud platforms etc.
The Technical Documents section does give you a link to the relevant software and the User Guide is also included here. However, there is no clear section on what to do to get started. For the novice they may get stuck here and not think to look on the RSL10 (System in Package) SIP web page itself. This page is the more comprehensive with a better page structure and it clearly shows what options are available for download. For example, an important download link would be the "RSL10 Documentation Package", which is not found elsewhere.
Only the Android app was used during my road test.
I downloaded the app onto my Samsung phone (Android OS 5.1) and onto my Lenovo Tab3 7" tablet (Android OS 8 GO version) without any issues. The layout of the app is better suited, in my opinion, to devices like tablets, which have larger screen sizes than a phone, as this provides a better view of the time series charts provided.
To be honest, the app should be treated as a nice to have and is NOT essential to get going with the Sensor Development kit but it IS essential if you want to test the demo firmware.
The reason for this is primarily down to the lack of easily accessible documentation about the BLE service used within the demo firmware. I had to use a BLE utility app (nRFconnect) to learn that the demo firmware uses a single custom Bluetooth LE GATT Service and two custom characteristics - one for RX and one for TX.
Unfortunately, the way the demo firmware is designed, the RSL10-SENSE needs to receive an instruction from the central device (as in the phone or tablet) to tell it which sensor data you want to receive. Without delving into the demo code itself, there is no documentation that I could find that gives me this detail.
Anyhow, I tried out the app, which works reasonably well. It certainly has a number short comings mind you.
By way of summary, here are my observations:
{"profiles":[{"name":"LightSensorOnly","boards":[{"name":"HB_BLE_Terminal","fr_name":"HB_BLE_Terminal","address":"60:C0:BF:0D:83:EE","components":[{"name":"ALS-NOA1305","type":"sensor","subtype":"als","cmd_id":"9","id":"4","iconId":2131558412}]}]}]}
I have captured my app user experience via this video footage.
Following the instructions given in the User Guide, I had no problems getting the Eclipse based IDE installed on my 64-bit laptop, which uses Windows 7 OS. I also was able to install all the necessary CMSIS packs without issue.
I also had no problem selecting the firmware example noted in the User Guide and was able to copy this across to my workspace. I was then able to build the firmware as described without issue.
That is as far as I could take it, application wise.
Following further searching, I found that the RSL10 Documentation Package contains a number of PDF documents about how to develop your firmware and then flash this onto your RSL10 device. I think you will have to spend a fair bit of time reading all this low level documentation, such as the 407 page "RSL10 Firmware Reference" document, for example.
Other than this documentation, I did come across a "getting started" video on the website: https://www.onsemi.com/support/design-resources/video/1171564
So what next. Well, usually I find that when getting familiar with a new package you will want to explore the different examples. If you have an application project in mind then you will try and find examples that are relevant to your project. Well, this is where the ONSemiconductor IDE fails to deliver, when compared to some other IDE's.
If you look at the above list of examples. There is no description given about the example. You have to download it first. Unfortunately, this appears to be a weakness of all Eclipse based IDE's. However, others at least give you a one or two line text description to give some guidance. Here you get nothing.
So, if you open up an example, as say the one shown above, you will get a readme file.
These are certainly well worth reading to find the nuggets... for example:
NOTES
Sometimes the firmware in RSL10 cannot be successfully re-flashed, due to the application going into Sleep Mode or resetting continuously (either by design or due to programming error). To circumvent this scenario, a software recovery mode using DIO12 can be implemented with the following steps:
- Connect DIO12 to ground by pressing the PB2 push button.
- Press the RESET button (this restarts the application, which will pause at the start of its initialization routine).
- Re-flash RSL10. After successful re-flashing, disconnect DIO12 from ground, and press the RESET button so that the application will work properly.
Then it is simply a case of learn by doing.
On this front, at the time of writing this road test report, I unfortunately was not able to do much due to the inability to flash the device. As mentioned in the introduction, I had the idea of using the OpenOCD SWD Particle.io debugger, without much thought as to how. Unfortunately, Zadeg and me are not best of friends at the moment, having had endless hassles getting the USB drivers sorted out on my Windows 7 OS laptop. And that was just the start. So I have left it at that.
The Sensor Development kit is certainly small and nicely designed. I really like the fact that the board opened up the I2C bus to allow the developer to interface with other I2C based sensors. I think this board will be very useful for field testing in industrial and wearable applications to quickly get a wide range of sensor data. The incorporation of the ISO15693 NFC antenna also opens up a range of unique applications. It is a pity that I could not test the N24RF64 device on the board, other than confirm that a NXP PN7150 controller could read this tag.
The demo firmware works pretty well with the RSL10 Sense and Control app, although I did find that the app could certainly do with a few more updates (last updated on 28 October 2018) to address its many shortcomings.
The Eclipse-base IDE makes good use of the CMSIS pack implementation. Something that I had not see before. It works well enough. When it comes to learning functionality, all I could see was a couple of PDF documents that give you a reference guide. I did not come across any online tutorials on the ONsemiconductor website other than a gettings started video.
So, at face value, I think the RSL10 is ON the money, but I'm not sure about the development effort detail to make a final judgement.
Top Comments
Thanks to the candid review. I only hope the techs and documentation folks read and take this to heart. I surmise the great potential if one can figure out the details without good doc.
You're welcome. I like to be upfront and to the point.
Hello all,
I have uploaded example "custome service firmware with deep sleep" but getting sensor data ( acceleration and gyro etc.) slow in mobile app that may be due to slow aquisition or bluetooth transfer…