UCLA - STMicroelectronics
The SensorTile is a new Internet of Things (IoT) system provided by STMicroelectronics integrating state-of-the-art processor, wireless interfaces, and sensor systems. The SensorTile can form the foundation for wearable consumer devices, wearable medical devices, residential IoT systems and vehicle IoT systems. The SensorTile system provides an exceptionally powerful and well-supported platform for introduction to IoT technology. The SensorTile is remarkably compact as shown in Figure 1.
The SensorTile system includes these components:
- The SensorTile Processor System is an STM32L4 microprocessor based on the ARM Cortex M4 system. This provides introduction to the ARM processor architecture that is deployed on nearly every smartphone on earth.
- The SensorTile Sensors includes:
- The LSM6DSM combining microaccelerometer and microgyroscope.
- The LSM303AGR combining microaccelerometer and magnetometer for compass heading
- The LPS22HB barometric pressure sensor for determination of altitude and atmospheric pressure.
- The MP34DT04 microphone
- The SensorTile also includes a Bluetooth Low Energy (Bluetooth Smart) wireless interface the BlueNRG-MS system.
- The SensorTile also includes non-volatile flash storage that stores the executable code that enables IoT system operation.
- The SensorTile also includes a cradle accessory with additional features including:
- SD Card Flash Storage System
- STC3115 Battery Monitor providing detailed energy monitoring for the SensorTile
- HTS221 Humidity and Temperature environmental sensors
This Wiki includes Tutorial and Reference Designs intended to introduce the development environment for the SensorTile system and provide experience in novel application development.
Development environments are essential to development of software for IoT systems and other products. These provide support to developers for both creation of systems, testing, debugging, and installation of software systems on platforms. This development environment is referred to as an Integrated Development Environment (IDE). This includes all of the software tools required to create a software distribution for the SensorTile, compile this software system into the processor instruction set using a Build capability, execute this system using a Debug capability, and also create an “image” file that can be installed in the SensorTile non-volatile storage.
- Tutorial 1: Introduction to STMicroelectronics Development Environment and DataLog Project Example.
- There are two versions of this tutorial. One for Apple Mac Platforms, and one for Microsoft Windows Platforms.
- This Tutorial provides an introduction to the SensorTile platform and its development tools.
- The Tutorial steps include:
- Installing an Integrated Development Environment (IDE) on a personal computer.
- Obtaining reference design example project software. This will specifically include a sensor Data Logging system.
- Usage of the IDE to Import, Build, Run, Debug and Flash the SensorTile board to run the example Data Logging project.
- Tutorial 2: Sensor System Signal Acquisition, Event Detection and Configuration
- This Tutorial provides experience in the development of applications that acquire IoT system sensor signals, detect events in the sensor system data stream, and also configure sensor systems.
- The Tutorial steps provide:
- An introduction to control of sensor signal acquisition and sensor system configuration. These topics are fundamental to IoT system development.
- An introduction to sensor signal detection and notifications.
- An experience in software system development for the SensorTile IoT system demonstrating important capabilities of the System WorkBench Integrated Development Environment in accelerating system development.
- Tutorial 3: Accelerometer Sensor Systems and Orientation and Event Detection
- This Tutorial provides additional experience in sensor system data processing including recognition of gesture motion. Experience from this Tutorial provides guidance for the development of capable IoT systems that recognize and may even guide specific motion.
- The Tutorial steps provide:
- An introduction to accelerometer sensor systems and methods for detection of sensor orientation by exploiting gravitational acceleration signals.
- Measurement of orientation by the polar coordinate system.
- An introduction to gesture recognition through the use of sensor information and state machine systems for characterizing specific behavior.
- Tutorial 4: Introduction to Audio Sampling and Signal Processing
- This Tutorial provides experience in sensing and generation of audio signals using the state-of-the-art microphone on the SensorTile system. This tutorial also introduces Digital Signal Processing with methods to both hear and visualize the capabilities of DSP systems.
- The Tutorial steps provide:
- An introduction to audio sensor signal acquisition systems.
- An introduction to audio signal generation with the opportunity to hear and see audio signal waveforms.
- An introduction to DSP systems with several demonstrations that provide immediate and direct experience valuable for next steps in system development.
- Tutorial 5: SensorTile Firmware Programming
- This Tutorial provides valuable experience in the creation of firmware applications using the state-of-the-art SensorTile system and tools.
- The Tutorial steps provide:
- An introduction to integration of source code and header files into new SensorTile projects.
- Experience in configuring the firmware build system.
- Complete development experience valuable for next Tutorials that integrate multiple system resources and associated capabilities.
- Tutorial 6: Introduction to Bluetooth Low Energy Wireless Interfaces
- This Tutorial provides an introduction to the important principles of Bluetooth Wireless Interfaces. This includes also valuable experience in data transport between the SensorTile system and an embedded Linux platform - the BeagleBone.
- This Tutorial will prepare students for many next steps in wireless IoT system development that will be appearing in the following Tutorials and Reference Designs.
- This will include development of new firmware providing access to multiple sensors on the SensorTile platform.
- Tutorial 7: Introduction to Bluetooth Low Energy Communication and the GATT Profile
- This Tutorial introduced Bluetooth Wireless Communication principles and methods. This includes hands-on experience with communication of SensorTile sensor data to the BeagleBone platform.
- This Tutorial provides experience in the communication protocol central to global IoT applications: The most important GATT profile and associated communication protocols. The BlueZ Bluetooth system interface, hosted on Linux platforms, is also included.
- This Tutorial also included a demonstration of bidirectional communication with control of events on the SensorTile by an application on the BeagleBone.
- Tutorial 8: Introduction to Motion Data Acquisition via Bluetooth Low Energy Communication
- This Tutorial introduces new capabilities that are provided by new firmware enabling direct access to multiaxis motion sensor data.
- This includes the installation of the FP-SNS-ALLMEMS1 firmware application provided by STMicroelectronics.
- Through use of gatttool, this Tutorial provides the BeagleBone system with a high performance, wireless SensorTile motion sensor.
- This addresses an important need for compact and wearable motion sensing systems for IoT systems.
The SensorTile Reference Designs provide complete, end-to-end experience in development of a system. This experience prepares developers for innovation and implementation of new systems.
- Reference Design 1: STMicroelectronics SensorTile Reference Design: Motion-Controlled Audio Signal Processing System
- This Reference Design includes a SensorTile system that integrates development experience from the previous Tutorials. These Tutorials should all be completed prior to starting on this Reference Design. This system combines capability for motion detection with audio signal processing. It produces a Sensor Tile system that detects the users motion and orientation of the SensorTile to control audio signal processing.
Student Project Reference Designs
Many UCLA students have collaborated in the development of Internet of Things (IoT) SensorTile systems in course projects. The senior capstone design course has included teams who have developed novel systems for motion classification with SensorTile data sources and machine learning methods.
This has included systems with single and dual SensorTile devices along with signal processing, signal feature extraction, neural network design, neural network training, and finally in-field performance analysis.
The Student Project Reference Designs are here: UCLA-STMicroelectronics/Reference Designs
Frequently Asked Question List
A Frequently Asked Questions List for the SensorTile System is constantly being expanded. As questions arrive from the SensorTile Forum, these will be added here.