ST has recently updated three STM32 ODE Function Packs to provide more features to their development platforms and simplify the application creation process for developers. The STM32 Open Development Environment (ODE) uses Function Packs, which contain drivers, documentation, application examples, and source code, to make the most out of the various development boards ST provides. Some programs are already compiled for certain platforms and can be installed with a simple drag and drop, as shown in our 6LoWPAN network tutorial. However, the main purpose of the Function Packs is to port the code to the developer’s favorite toolchain. For those who would like to start developing with minimal investments, ST even provides a free IDE for Windows, Linux, and macOS: SW4STM32 (System Workbench for STM32).
The three Function Packs in this post have three things in common: an STM32 base, a sensor board, and a Bluetooth module. Hence, they facilitate IoT development, or smart projects revolving around transmitting environmental information wirelessly. All of them can display data about their surroundings in real time thanks to an iOS or Android test app known as BlueMS. More importantly, this experience can be a great stepping stone as the code in the test application is freely available under an open source license. Furthermore, this post will be a great way to start preparing for ST’s Developers Conference 2017 that will take place on September 6 in Santa Clara, California.
STM32 ODE Function Pack: FP-SNS-MOTENV1
The FP-SNS-MOTENV1 ODE Function Pack is a quick way to build software around components like accelerometers, thermometers, gyroscopes, or pressure sensors. The easiest way to start experimenting with it is to use the binaries compiled for the following boards (listed in the way they would be stacked, the first one being on top):
- Sensor Board: X-NUCLEO-IKS01A2 or X-NUCLEO-IKS01A1
- Bluetooth module: X-NUCLEO-IDB05A1 or X-NUCLEO-IDB04A1 BT
- STM32 Base Boards: NUCLEO-F401RE, NUCLEO-L476RG, or NUCLEO-L053R8. It is also possible to use an NUCLEO-L476RG with the STEVAL-STLKT01V1 SensorTile.
The newest version of the FP-SNS-MOTENV1 pack includes a technology called MotionFX, which uses the output of multiple sensors, and processes them using new and advanced algorithms, to greatly increase the precision and performance of the entire system. Thanks to this new feature, the data’s accuracy is less dependent on the environmental conditions, and thus more forgiving when a particular situation isn’t optimal. As a result, the device will prove to be useful in a wider variety of use cases, opening the door for new consumer industrial and medical applications.
FP-SNS-MOTENV1 also includes the ability to update the firmware of the Bluetooth module over the air using BlueMS. The software provides the graphical interface to quickly select the new firmware and load it onto the board. This will prove incredibly valuable as engineers look for ways to improve or patch their system throughout the life of their device.
STM32 ODE Function Pack: FP-SNS-ALLMEMS1
The FP-SNS-ALLMEMS1 is a great Function Pack to take advantage of the STEVAL-STLKT01V1 development board, also known as SensorTile. It distinguishes itself from the other software packages by offering audio features, such as the ability to transmit a voice recording to a smartphone app using Bluetooth. The precompiled application found in FP-SNS-ALLMEMS can be used with the boards listed below (from top to bottom as they’d appear in the stack):
- Digital MEMS Microphone: X-NUCLEO-CCA02M1
- Sensor Board: X-NUCLEO-IKS01A2 or X-NUCLEO-IKS01A1
- Bluetooth module: X-NUCLEO-IDB04A1 or X-NUCLEO-IDB05A1
- STM32 Base Boards: NUCLEO-F401RE, NUCLEO-F446RE, or NUCLEO-L476RG. However, please note that a hardware conflict between the NUCLEO-F4 boards and the sensors on the X-NUCLEO-IKS01A2 mean certain features are not available.
The recent update allows developers to gather data from the sensor boards just as easily as with the other two Function Packs. It also adds the ability to use the BlueMS app to quickly try out MotionFX, the real-time accelerometer demo, and even enhance the environmental recognition by using the SensorTile’s microphones. There are also new audio functionalities, such as Automatic Speech Recognition in multiple languages, and the ability to use Google’s Speech API to greatly enhance the capabilities of an application.
STM32 ODE Function Pack: FP-SNS-FLIGHT1
The FP-SNS-FLIGHT1 received a massive update, just a few months ago, to enable support for the X-NUCLEO–53L0A1, a range sensing board using the VL53L0X time-of-flight sensor we previously covered. It is also now possible to use the same sensor boards as the previous Function Pack to monitor the environment. However, the X-NUCLEO–53L0A1 offers tracking and detections that aren’t possible with the other solutions. To start building devices using the FP-SNS-FLIGHT1, you can use the following boards:
- Range sensor: X-NUCLEO–53L0A1
- Sensor board: X-NUCLEO-IKS01A2 or X-NUCLEO-IKS01A1
- NFC expansion board: X-NUCLEO-NFC01A1
- Bluetooth module: X-NUCLEO-IDB05A1 or X-NUCLEO-IDB04A1
- STM32 Base Boards: NUCLEO-F401RE or NUCLEO-L476RG
FP-SNS-FLIGHT1 is the only Function Pack out of the three to use the NFC module to store the secure information needed to pair the stack with another Bluetooth device. Instead of using a traditional pairing method, simply bringing two NFC readers close to each other is enough to share securely the keys and tokens necessary to establish a Bluetooth connection. This method is increasingly popular in consumer devices, and FP-SNS-FLIGHT1 provides a very straightforward process to develop this sort of application.
To know more about all the other Function Packs, APIs and software ST provides with its platforms, please visit the STM32 Open Development Environment initiative.