Sensing the World

Last Updated July 22, 2011


  1. 1. The Idea

  2. 2. Main Components

  3. 3. The Demo

  4. i. Introduction

  5. ii. Running the demo

  6. 4. More Details...

  7. i. The tasks organization

  8. ii. About the DFU

  9. iii. About the AHRS algorithm

  10. 5. Download

  11. 6. Latest news


The Idea

The embedded platforms like smart-phone, e-book and net-book use many digital sensors to provide a modern and amazing user experience. STMicroelectronics STEVAL-MKI062V2 is a good platform to explore this class of embedded application.

Why don't use the multitasking approach to discover the sensors world?


Projects  >  Sensing the Worlds

Main Components

  1. STMEVAL-MKI062V2 evaluation board.

  2. real time scheduler.

  3. OpenOCD  On-Chip debug solution for embedded target systems.

  4. Eclipse open development platform.

  5. Sourcery G++ C/C++ tool chain.

  6. Versaloon hardware IF.


The Demo


These bits of code are based on the firmware package provided by STMicroelectronics. It provides the same functionality and can be used with the PC software application (iNEMO GUI and firmware) that can be downloaded starting from the Design support section of the ST's evaluation board web page.

Running the demo

To test the demo you can use the software application provided by STMicroelectronics.

  1. download the software application visit the ST's evaluation board web page, or use this direct link.

  2. Install the software.

  3. Launch the iNEMO Software Tool application from the Start > All Programs > STMicroelectronics > iNemo Application menù.

  4. Connect the board to PC.

  5. After choosing the board press the Connect button (the first on the right of the toolbar. See Fig. 1) or choose the Connect command from the Tools > Communication menù. Look the log on the bottom to be sure that the board is connected to the software.

  6. You can now start to acquiring data from the board, plot the data and save the data into a file for further analysis.

Fig.1 - INEMO application

NOTE: the software come with an SDK to build custom PC application communicating with the board. For more information, please refer to the software documentation.


More details...

The tasks organization

The application runs three tasks as displayed in Fig.2

Fig.2 - Tasks

  1. The Test task is implemented in the file test.c. It has the highest priority. When the system start it waits about 5 second for the key pressed event. If the user button is pressed the Test task perform an hardware test on the board. Note that a pre-formatted microSD card must be in the slot during the test execution. If the test ends with success the user led on the board is kept on for two second, else the user led blink for a while. In each case the Test task ends and the Command task take the control.

  2. The Command task is implemented in the file iNemo.c inside the iNemo folder. It wait for a frame from the PC application. When the USB driver receive a full frame, it wake-up the Command task that parse the frame and send the ACK back to the PC.

  3. The Data task is also implemented in the file iNemo.c inside the iNemo folder. It is synchronized with the timer 2 interrupt. When the Command task receives a START_ACQUISITION command, it enables the timer. Now the Data task reads all sensors data and sends the data to the Pc at the user specified frequency

About the DFU

The iNEMO V2 platform support a custom DFU protocol to enable the user to upgrade the firmare through the USB connector (See the ST UM0993 for more information). This possible because the evaluation board uses a secondary boot loader application resident at the address 0x08000000 in the internal FLASH. This application is in charge to upgrade the main firmware or to jump at the address 0x08003000.

This demo uses the JTAG connector to program the board and put the application at the beginning of the internal FLASH (address 0x08000000) by overriding the original secondary boot loader.

NOTE: if you flash this firmware the secondary boot loader will be lost and you will not able to use again the DFU feature.

About the AHRS algorithm

ST provide the HARS library in a binary format compatible with the IAR toolchain. This demo does not support the HARS related features.



The latest version of the the demo is located in the Download page of the site.

The demo is available for the following host:

  1. Windows:    wiNEMOv2.psf

To use the demo you need also the FreeRTOS, STM32_USB-FS-Device_Lib and STM32F10x_StdPeriph_Lib components. They are automatically downloaded by the demo .psf file.


Latest news