RoadTest: Silicon Labs Bluetooth Design Kit
Author: thebluephoenix
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?: RSL10 is the nearest comparable chip to the bgx13p module, HC05, 8051 (since EFM8 is an advanced version of 8051)
What were the biggest problems encountered?: I encountered a bug or something that said that code size cannot exceed 2KB on simplicity studio, due to which I could not run a few examples.
Detailed Review:
Introduction:
Hey Guys, This is my first review, and I hope you guys enjoy it.
This review is mainly aimed at the BGX13P Blue Gekko Xpress Bluetooth 5.0 devkit that was released by silicon Labs on the 16th of August, 2018. It is a nice board in black and looks really cool with the silver BGX13P module pre-soldered to it. Unfortunately, I really feel that silicon labs really wasted a lot of space in routing the PCB (especially in accommodating their logo) and could have fit the board in a form factor of around 30x30 mm2 instead of 38x45mm2 since the module itself without the board is just 12.9x15 mm2 in size which is quite small. A single BXG13P board costs around 21-22$ on Digikey, which means it will cost you around 35$-40$ with taxes and shipping. This makes it quite costly to its competitors (eg. RSL10) that are smaller in size and even provide more than just a Bluetooth capability.
Some things to keep in mind about this review:
Index:
Detailed Scrutiny:
The datasheet for the BGX13P module can be found here, and for the SLEXP8027A devkit can be found here.
According to the datasheets, some important things to remember -
USE CASES: There are multiple ways to use the Bluetooth capabilities of the chip -
1. Patch it up with a host embedded MCU as shown below.
The above diagram shows a typical application of the BGX13P. In our case we have been given the EFM8UB1 based SLSTK2000A for exactly this reason.
As shown in this figure, using the expansion slot the boards can be directly interfaced to connect via the serial link, as mentioned in this video. As the video explains, using the Bluetooth Xpress protocol this module can communicate with other Xpress modules and form a mesh network or something. If you have watched The Last Ship series, you might have seen how this kind of network can even send the US Navy into a frenzy. It can make the MCU it is connected to Bluetooth capable, acting as a peripheral in turn. It can also act as a central device and relay any sensor data connected to its GPIO pins to the EFM8 via the serial port. In simple words, this means that you can communicate with MCUs using a simple serial interface, with other Xpress modules using the BT Xpress wireless protocol - all without writing a single line of code, but you CANNOT communicate with anyone else, including your phone. Wait, that phone part was only partially true. We move on to the next way of using that BT -
2. Phone to BGX13P connection
It is possible to connect your phone to the BGX13P using the official mobile application meant for Xpress modules called the BGXCommander, available on iOS and Android both, which is good news for Apple users. But as is the case with other BT 5 proprietary devices, you CANNOT communicate without the official app or some other generic apps. So it's not like an HC05 that'll directly get patched to your mobile. But yes, it is fairly simpler to handle than the RSL10 which becomes more and more of a nightmare as you delve deeper into the highly abstracted BLE protocol of theirs. The app is fairly simple and you can see how it works here. As explained, there are two modes in which the BGX can operate - STREAM mode and REMOTE COMMAND mode. In-stream mode, you can send/receive the data to/from the BGX13P device that is connected with your mobile. In the remote command mode, you can push commands for setting baud rates, power values, advertise, connect to a peripheral, etc. The entire command list can be found here. Apart from this, you can also update firmware wirelessly using the OTA or 'over the air' functionality of the app and module. This is a pretty good feature that is common with most BT 5 devices, including the RSL10. Some firmwares though will create a problem, especially if they are outdated and will make your device unrecognizable on the phone. Don't worry, you can directly connect the board using the BGX13P as a standalone device connected to the PC directly using USB, and push the original factory loaded firmware that the devices came with, serially. This will make it recognizable again and brings us to the next use case -
3. BGX13P to PC connection
This is a simple USB connection with the PC, and can be used to input commands using the Simplicity Studio (SS). The SS is an eclipse based IDE developed by Silicon Labs for easy development with their own hardware. We will get to the basics of that later when we discuss a bit about using Simplicity Studio and the EFM8.
4. BGX13P to BGX13P wireless connection
The BGX13P board also has a special use case that allows it to connect with other Xpress devices like itself. That happens wirelessly and as mentioned before can be configured using the official BGXCoommander app. It is a convenient and effective way of developing an intranet of such Xpress modules and configuring them from a single master device, i.e. the phone running the BGXCommander App.
5. BGX13P to other BT devices????
<--- RSL10 SIP on the RSL10-SENSE-GEVK
It so happens that like with other devices like RSL10 that run a proprietary Bluetooth stack, this device cannot connect with other devices running some other proprietary stack of BT5 due to possible inconsistencies. A lot of in-depth knowledge of BT 5 stack and differences between the different proprietary protocols will be required to patch them up, which might still give inconsistent results. This is where your HC-05 is more convenient than the BGX or RSL10. Acting like an Arduino in today's world of much better and Hi-Fi MCUs, the HC-05 might be pretty outdated (running a BT 2.0 stack) but is still the most widely used of RSL10, BGX13P and itself due to its simplicity in getting the work done. That being said, convenience does not necessarily mean better; especially not in this case.
Please note that the HC-12 module is not a BT device like HC-05/HC-06 even though it might appear to be of the same family.
BGX13P Proprietary Bluetooth Stack (This is for information. ONLY for those who want to go deeper into the BGX Proprietary BT 5 stack)
Before we proceed, I would like to specify that this is a really vast, in-depth and nerdy concept that will make sense only to those who are quite well versed with BT stack. In fact, I myself have to learn a lot in this domain. Still, I will like to make this as interesting and lucid as possible.
Differences between BT 2.0, BLE and BT 5.0:
BT 1.x: It was a prototype version, not implemented much due to a basic data rate of 1Mbps.
BT 2.x: The most widely used version implemented in bricks (slang for the phones that came before the smartphone era...). Popular due to an enhanced data rate up to 3Mbps.
BT 3.x: Faster, having a High-Speed mode that allowed transmissions over an adjacent radio (802.11). Still not popular due to very high power consumption compared to BT 2.0.
BT 4.x: Bluetooth Low Energy or BT 4.0 is widely used in sensors, data collections, wearables, etc due to its high portability, small size and very low power consumption. It also has the high-speed capabilities of BT3.x if needed. Also, this BT version worked a bit differently than the previous ones, to save power without compromising on performance much.
BT 5.x: Latest, comes with SAM or Slot availability masking, 2x bandwidth and 4x range when compared to BT 4.2. It is still under testing though.
Blue Gekko Bluetooth Stack: The official document from SiLabs for its proprietary BT stack can be found here - QSG139. As this document clearly mentions in its 3rd page itself, you will need to read more than 10 documents even after going through that guide to fully understand the complete working of their stack. You can see the following diagrams on page 4 -
The diagram on the left is the stack for standalone operation, and the one on right is for remote or peripheral operation. The Dark blue layer labeled as Blue or Mighty Gekko is called the Physical Layer. It comprises of the Bluetooth BGX13P chip itself.
The following are some important features about the BGX BT stack -
You can delve much deeper into the stack using the QSG139 documentation. The document clearly mentions all the functions and libraries used in the stack. However, for this review, this much touch upon this aspect of the BGX BT Stack is sufficient.
Brief Description of the EFM8 and Simplicity studio:
We all are now aware of the fact that the BGX13P can be developed using another MCU (EFM8 in this case) or with Simplicity Studio (using the BT SDK). But before that, let's learn and review these things a bit.
EFM8 board: This board is a good board, and has multiple ways to power it. This board could also have been a bit smaller but still its pretty compact on the left side. What you can see in the above diagram is the USB debugging mode, which can be used to flash code, binaries, etc in the chip. In case you choose to insert the USB cable (micro-USB) from below, it will run the current code in the flash memory, which by default is a Space Invaders demo game that can be played using the onboard joystick. To know how much work it does during this small demo, check out this page. When this board came to me, I was absolutely amazed at how classy the game looked on the onboard 128x128 pixel LCD. I absolutely loved the feel and responsiveness and tbh, I ended up wasting 2 days in nostalgia playing the old arcade game on this board. The datasheet of the board can be downloaded from here.
What I loved about this board is -
The things I didn't like -
That being said, it is sufficient to play with the BGX13P and since the main motive of the review is to test out the BGX13P and Not the EFM8, I ain't complaining. But if you are thinking of buying an EFM, go with an EFM32 since that might serve you better. Hence, I have not considered this board in my review marks. However, if an EFM32 would have been shipped, I would have surely used it much more even after the review, while this EFM8 will probably just sit there most of the time on my table once I am done with my review.
Simplicity Studio: This is an eclipse based IDE, developed for Silicon Lab devices, much like the ON Semi IDE built for ON Semiconductor devices. It is a simple to use IDE, containing multiple tools including the BGX Configurator, Energy profiling tool, the Hardware configurator tool and much more. The IDE is almost completely free except for a few utilities that won't get downloaded automatically until you purchase the license required. So here is how it works - You install the Simplicity Studio 4 IDE from here. Once it gets installed, you can directly plug in your Silicon Lab devices and the necessary free files will automatically be downloaded for you by a wizard that steps you through a login and device registration process. Hence, Simplicity Studio is highly intuitive and very easy to use as it basically does all the work, you don't even have to select the device number like SLSTK2000A, etc. The Entire guide on how to use the SS IDE can be found here - AN0822. The BGX Configurator is a wonderful tool to configure and use the BGX Stack, as explained from page 13 in the QSG139 documentation. Documentation for the Energy profiler tool can also be found here - UG343. Mesh Network performance and comparison for BGX devices can be studied in this document - AN1142. Finally, the Hardware Configurator for 8-bit devices like the EFM8 can be utilized by referring to guide AN0823. This guide will teach you how to make use of the onboard AEM in the EFM8, which can measure current use up to 50mA in realtime. As you can see, despite being very simple and intuitive, the feature-rich SS IDE can only be fully utilised by going through a lot of documentation. Also, this IDE is very much skewed to the use of Silicon Labs devices. This means using a more generic IDE like Eclipse will also be required along with this IDE in case you wish to work with other embedded devices that are not from Silicon Labs.
BGX13P Use with Simplicity Studio and BGXCommander App
As you can see, the BGX configurator tool is directly downloaded once your device is registered and your ID is created on the Simplicity Studio.
Clearly, the configurator works great, in proper sync with the BGX commander app.
<html><head><title>Jive SBS</title></head>
<body><font face="arial,helvetica,sans-serif">
<b>Error</b><br><font size="-1">
An general error occurred while processing your request.
</font></font></body></html>
<html><head><title>Jive SBS</title></head>
<body><font face="arial,helvetica,sans-serif">
<b>Error</b><br><font size="-1">
An general error occurred while processing your request.
</font></font></body></html>
<html><head><title>Jive SBS</title></head>
<body><font face="arial,helvetica,sans-serif">
<b>Error</b><br><font size="-1">
An general error occurred while processing your request.
</font></font></body></html>
The above images show the OTA application of the BGX software stack.
<html><head><title>Jive SBS</title></head>
<body><font face="arial,helvetica,sans-serif">
<b>Error</b><br><font size="-1">
An general error occurred while processing your request.
</font></font></body></html>
Here's how the BGX Commander looks in the Stream and command modes on various mobiles running android. The command mode can be selected using the toggle tab. The entire list of commands can be seen here. The app works nicely in most of the devices in the market.
Comparison between the RSL10 and BGX13P - The Real Face-off!!!
The power consumption during these modes is mentioned on page no. 6 of the BGX13P datasheet. One thing that you might notice and find peculiar is that the current consumption mentioned in the datasheet is the same for Transmission and reception in most cases, which is not generally the case. In fact, the transmission always needs more power than reception. This is probably because the values for tx are calculated at 0dB transmission power.
1. Power Consumption comparison:
As clearly visible, TX/RX (meaning TX or RX) is noticeable everywhere. These consumptions are higher than those in the RSL10 datasheet, mentioned on the right.
Obviously, the fact that they are measured at 1.25V makes a lot of difference, but if we compare the power consumed to make things fairer -
While the data rate is lower in the RSL10, its transmission interval is much higher. To normalize things, let's consider a 110 ms interval -
On the other hand,
However, there are a few assumptions that I had to take while calculating due to lack of explicit information, so you can take the result with a pinch of salt -
2. Size comparison:
As mentioned earlier, The blue Gekko chip itself is 12.9x15x2 mm3, while the RSL10 SIP is 8.1x6.1x1.27 mm3. The official boards on which the RSL10 is used, like the RSL10-SENSE-DB-GEVK are much smaller too, thanks to their efficient and unique design. Again, the RSL10 dominates the BGX, and this is clearly visible in the wearable market. The RSL10 based devices have a lot more potential there than the BGX13P based devices.
3. IDE comparison:
The On Semi IDE is eclipse based, neat and useful for RSL10 devices. However, it is also quite suitable and flexible towards Non-On Semi devices. This IDE is really great, it has really nice hierarchy and source finding options, which means if you are confused about what a variable or function is for, you can just search it down the abstraction hierarchy. You can also check the call hierarchy, in case there are nested functions and all. This is really helpful in abstraction and can save you hours in tracing things. Unfortunately, other than this there are no special plugins or something that are offered by this IDE. It relies heavily on the segger tools, which are great by the way. This IDE also a bit buggy though.
The Simplicity IDE on the other hand is amazingly intuitive, user friendly and has a variety of tools available like the energy profiler, hardware configurator, etc. to play with the hardware further. This keeps the user hooked and more aware about his device. The IDE is quite inflexible for Non-Silicon Lab devices, which is okay, except you have to keep a copy of the good old eclipse with you along with this. I love the IDE and its a really great software tool. I would give the Simplicity Studio IDE a thumbs up here.
4. App comparison:
On Semiconductor has a large array of Apps for their BT stack development, including a separate one for OTA.
As you can see, there are 3 separate apps available - one for using the sensors on the RSL10-SENSE-DB-GEVK, one for OTA and one for BLE sensor beacons. These apps are quite different from the BGXCommander, and while the RSL10 Sense and control app allows MQTT cloud transfer and other things, it is quite weird that it has no direct command or stream mode windowlike in the BGXCommander. Having 3 different apps, each for a single application is weird as well, they should integrate everything into one single app. Even the OTA app requires to find and download your own firmware first, instead of suggesting them directly. While ON semiconductor apps have more to offer, these drawbacks force me to say that BGX commander is more convenient to use as a single, wholesome app.
5. Software stack, BLE SDK:
Both the devices have their own Bluetooth 5 software support. Unfortunately, it seems that the RSL10 has a highly abstracted and difficult to use/understand software stack that does not have sufficient and clear documentation. On the other hand, while the BGX protocol is easier to use, it is a bit less flexible and customizable than the RSL10 stack. It is quite difficult to create your own app that is integrated with either of the two devices, only their own custom Softwares make the things easier for you to use. But if you actually want to use these things in your solutions, you need them integrated in your own app, which turns out to be quite a hassle for both of them. This means I would give this a tie, with both not sufficiently fulfilling my need to have an easily integrable BT 5 solution for my custom App.
6. Documentation, Community support:
The documentation is quite amazing for both, especially the RSL10 which has a variety of detailed schematics, design files, documents, simulation files, design files and is also directly integrable in the Segger software tools, like Jlink, RTT viewer, etc. It is very nicely documented (even the BLE part to some extent) but has a really steep learning curve if you actually wanna make something cool with this device. You can get everything you want, you just have to ask for it. Since this is not a review for RSL10, I am not attaching a zip file of all these tools and documents, you can ask for them in the comments if you want. Silicon Labs have provided ample of documentation for their products as well, but even they have a very steep learning curve for a few things. The EFM8 on the other hand is not used much, quite outdated and replaced by its successor EFM32. Even this board isn't that common if you ask me. On the other hand, RSL10 has been picking up pace thanks to its attractive power-saving capabilities and is quite prominent. The BGX13P is 2 years old, but still not as much used imho. Meaning that the community support is more for the RSL10, than the BGX. But BGX is not that difficult to figure out, and not many people have used RSL10 enough to integrate their own apps fully with it. I cannot really comment on this, but I would suggest that Silicon Labs should promote their products more, and use more efficient designs. I would rate both of them good for their documentation, and okay for their Community.
Concluding Remarks
I thoroughly enjoyed using the BGX13P, its an amazing board to play with. It has a lot of documentation and you might have to read a lot the deeper you wanna go, but its fairly easy, intuitive and convenient to use. Unfortunately, I would not really use this in my designs or actual products, since I feel the RSL10 is a better alternative. I have made sure this review is interesting, saves you a lot of time to find or google search documents and that I highlighted some important points. I thank Silicon Labs and Element14 for this, though I must say had an EFM32 been supplied with this, I would have used it more after this review. Unfortunately I couldn't do more with the EFM8 mainly because all my components got stuck and whatever codes and things that I tried, were nothing out of the blue - pretty straightforward stuff that you can figure out yourself by just following the instructions in the correct documents. Hence I have linked everything I felt important for your development, I hope it saves a lot of your time. I will surely keep in mind to add more code and project stuff in my next review, I hope it isn't spoiled by some stupid pandemic, Cheers!
Psst. If you liked this review (or didn't), please let me know by rating and commenting. Thank you for your time!!
Top Comments
This review is still being updated and will be complete by the 26nd of April, 2020. I was trying to save it and ended up pressing Ctrl+S which published it instead of saving it as a draft. The COVID situation…
Hi Dishant,
Regarding the current consumption, I think it's likely not a like-for-like comparison: