Skip navigation
> RoadTest Reviews

Silicon Labs Bluetooth Design Kit - Review

Scoring

Product Performed to Expectations: 8
Specifications were sufficient to design with: 8
Demo Software was of good quality: 8
Product was easy to use: 9
Support materials were available: 7
The price to performance ratio was good: 5
TotalScore: 45 / 60
  • RoadTest: Silicon Labs Bluetooth Design Kit
  • Buy Now
  • Evaluation Type: Development Boards & Tools
  • Was everything in the box required?: Yes - All parts were received in good condition but no debuggers were included which is a bit disappointing
  • Comparable Products/Other parts you considered: 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:

    • I will not be delving deep into anything that is already present somewhere on the internet, I will just paste the link to save you time, explain the things that I feel you might find confusing and move on. If you have anything else to ask about the matter in any link, please use the comments section. This will help me save relevant time and space, keeping the review short, interesting and concise.
    • I will also be comparing this device to a RSL10 board that I possess, to show you guys the benefits of both over each other.
    • I will also be including a brief walkthrough on how to use the EFM8 and simplicity studio but for most of the part, we will be sticking to reviewing and comparing the BGX13P.

     

    Index:

    1. BGX13P detailed datasheet scrutiny and resource finding
    2. Brief description of the EFM8 and Simplicity studio
    3. BGX13P standalone use with the BGX commander app and Simplicity studio
    4. BGX13P comparison with the RSL10 board: RSL10-SENSE-DB-GEVK
    5. Final or closing arguments

     

    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 -

    • The power pins (VSS and VDD) can take 200mA at a time.
    • This means that the maximum total allowable cumulative current onboard is 200mA for all the rest of the GPIOs to source/sink together.
    • Every GPIO can individually source/sink a maximum of 50mA of current.
    • The BT works at a recommended baud of 9600 bps. However, you can set other bauds as well as per requirement at the cost of higher energy consumption (in order of a few mA).
    • The Bluetooth transmitter transmits anywhere from -27 to 8 dBm(0.5 dBm step) depending on the requirement and current available.
    • The receiver can receive 2.4 to 2.4835 GHz freq and has a pretty low spurious emission. It is also very sensitive (-94.8 dBm).
    • The models BGX13P22GA meet the given SAR/RF Exposure requirements when the minimum separation distance to the human body is 20 mm.

     

    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 -

    1. It is BT 5.1 version
    2. It has a variety of features like anon advertising, long-range, periodic advertising, extended advert packet size, etc.
    3. It has 2M PHY, meaning the Physical layer of the stack can transmit 2Mbps (1 bit per symbol assumed) which is double the usual 1M PHY. It was a bit of smart work applied in BT 5.x that doubles the speed. Read more here.
    4. You can connect 8 devices together, irrespective of their roles.
    5. Throughput: 1300 Kbps over 2M PHY, 700 Kbps over 1M PHY. RSL10 can handle up to 2000 Kbps.
    6. AES 128 Encryption.
    7. It has a higher power consumption, detailed comparison can be viewed in the last section of the review.

    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 EFM8 is based on the good old 8051, just 100 times faster and much better than its predecessor. This is amazing and can be really useful to students and teachers who want to experiment with the basics, but not as outdated as the 8051
    • The LCD that comes with the board is amazing - the look, feel, thinness - everything
    • The multiple power options and the possibility to power the entire board with a single coin cell. Which also means that the board is pretty much low power.
    • Compatibility with the BGX13P - simple header to header attachment
    • Onboard buttons, joystick, ample GPIOs and a couple of I2C, SPI and UART interfaces.
    • The look and feel, presence of expansion headers, etc are also a plus.
    • Easy to learn and use once you start getting a hang of things.
    • An inbuilt power profiling module is present onboard to check the power consumption of the board itself or any of its peripherals using the Simplicity Studio without the requirement of any special tool or profiler. This is the most useful and unique feature of the board - an onboard AEM.

     

    The things I didn't like -

    • Outdated CPU - Frankly speaking, besides being a good learning tool this board is outdated especially given its price.
    • Hard to find documentation - This board does not have enough support since the EFM32 series has succeeded it so it is almost abandoned.
    • Large size, lack of standalone applicability - Every board is good at a few things and compromises on some other things. So each board has a special application or domain. this board has none where I cannot think of a more suitable alternative.
    • Too pricey - At around 30$ without taxes and shipping, it is not a cheap board, considering it requires additional tools to make it more useful, like the BGX13P board which costs another 40-45$
    • Lack of community use and support - Frankly speaking, no one uses this board much. So don't expect much answers on stack overflow or something in case you post a library or some other non-generic error because it is unlikely anyone else must've come across the same error.
    • Lack of takers: People who will easy understand this board, will know there are better alternatives. The people who are just starting might find this board a bit too much due to lack of community support. Hence there is no section of the embedded community except a select few where this board can find takers. The only useability for this board is its onboard AEM. However, this feature is also present in the more recent EFM32 version.

     

    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.

    The above images show the OTA application of the BGX software stack.

    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 -

    • The power consumed while transmitting at 20 ms intervals is 15.51mW (4.7mA, 3.3V) while for the RSL10 the power consumed for 5.5 ms interval while transmitting audio at 7 kHz is just 2.25mW (1.8mA, 1.25V).

    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 -

    • In 110 ms, the RSL10 transmits - (110/5.5)*7k = 140k samples and consumes 2.25*20 = 45 mW power.

    On the other hand,

    • In 110 ms, the BGX13P transmits - (110/20)*9.6k = 52.8k samples and consumes 15.51*5.5 = 85.305 mW power.
    • Considering the power consumed per sample transmitted will be 0.321uW (45m/140k) for RSL10 and 1.61uW (85.305m/52.8k) for the BGX13P.
    • Meaning, The BGX13P consumes more than 5 times the power consumed by RSL10 to transmit 1 symbol.
    • Clearly, the RSL10 wins here and proves its unchallenged authority and dominance in the BLE sector, as well its phenomenal ULP rating of 1260 (2.1V) which is the highest for any industrial BT 5 chip.

    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 -

    • The BGX13P is assumed to be transmitting at 0dBm here. It can go up to 8dBm max, but this is dependant on its part number.
    • The RSL10 power consumptions are for audio sample transmissions, and the BX13P transmits serial data. Since the audio codec is proprietary, I am yet to confirm if the rsl10 transmits 7000 samples per second or lesser. I will be updating this once I confirm this data with an authorized person from ON Semiconductor.
    • All these calculations are based on the values provided in the datasheet. They have not been tested with a scope for verification due to the restrictions imposed during the COVID-19 pandemic.

         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!!


Comments

Also Enrolling

Enrollment Closes: Oct 5 
Enroll
Enrollment Closes: Oct 30 
Enroll
Enrollment Closes: Oct 29 
Enroll
Enrollment Closes: Oct 29 
Enroll
Enrollment Closes: Oct 26 
Enroll
Enrollment Closes: Oct 5 
Enroll
Enrollment Closes: Oct 9 
Enroll