Bluetooth Low Energy, or Bluetooth Smart, is a widespread low power wireless technology already in use in billions of devices. The corresponding market for Bluetooth solutions is equally large.
All solutions must meet specifications defined by the Bluetooth Special Interest Group (SIG) and devices can look similar, but one great differentiator between manufacturers is development tools. Here we will present a number of tools from developers that can make your environment unique.
Nordic Semiconductor is a pioneer in low power wireless technology. They market the NRF51 and NRF52 families that have two distinct types of software: the Softdevice, which is a stack of given protocols, and the application firmware.
The Softdevice is programmed thanks to the nRFgo Studio. It can be programmed as peripheral/broadcast only, as central/observer only, or both.
The Softdevice can be programmed as a sniffer, too. Below is an easy way to debug applications if you encounter any mismatch in packets between masters and slaves. Not only can each bit of the packets be checked, but also the channel that was used during the communication. The sniffer works in conjunction with Wireshark, which is a free and open source packet analyzer.
Cypress has its own user friendly IDE called PSOC Creator. Inside the PSOC creator, a BLE module is imported where all the settings, GAP, GATT, services, and characteristics are entered in a GUI. A simple click on the “build” button creates all the C libraries and generates many methods for you. A few lines of C code explained in a simple video on the Cypress web site are now enough to create a BLE application.
Applications can be tested thanks to CySmart. CySmart software works in conjunction with a USB dongle that can connect to a Cypress evalboard and discover all the services that are presented clearly in the GUI for testing.
STMicroelectronics offers a current consumption estimator. There’s no need to program anything to measure current consumption on an evalboard. All the configurations can be tested as advertising, scanning, master connection or slave connection.
If a hardware engineer wants to test an ST device but does not feel comfortable writing an embedded program to do so, the BlueNRG GUI allows for running python script. ST provides several examples of python scripts that are very easy to modify and can be run on their Bluetooth Smart USB dongle. This GUI gives details of each command and the packet structure that needs to be programmed in C, saving a lot of time for future embedded programming development.
Silicon Labs has a scripting language called BGScript which also allows for writing an application in a few lines of code and testing on an evalboard like the Python script from STMicroelectronics, but it can also compile the script in a .bin file that is then flashed in the device. Ideally, BGScript can act as your final program; no C or embedded programming is required.
Finally, Texas Instruments offers many Bluetooth solutions. The TI sniffer is another great solution to discover if any mismatches between sending and receiving packets are on the master side or slave side. The TI sniffer comes with a GUI that highlights the various parts of the packets and allows filtering. A developer can then quickly pinpoint any mismatch.
If your goal isn’t to build a device right away, but to understand the architecture of BLE, Texas Instruments offers SensorTag. Many documents are available on the internet that explain the services programmed in the SensorTag and how to discover them with an Android application. SensorTag is one of the best tools for BLE beginners.
The SIG also has developed its own tool. The Bluetooth Developer Studio allows configuring services and characteristics with a user interface.
Once done, suppliers upload their plug-in on the SIG web site and code is written automatically with a simple click. These solutions are available today, so don’t hesitate to get the tools you need to move forward.