ST X-CUBE-MEMS1 Sensor en Bewegingsalgoritme Software Útwreiding
GEBRUIKERSHANDLEIDING
MODEL: UM2350
The MotionPW library expands the functionality of the X-CUBE-MEMS1 software by acquiring data from the accelerometer to provide information about the number of steps and cadence performed with the wearable device.
Ynlieding
The MotionPW middleware library is part of the X-CUBE-MEMS1 software and runs on STM32 Nucleo. It provides real-time information about the number of steps and cadence which the user just performed with the wearable device (e.g. a smart watch).
Dizze bibleteek is bedoeld om allinich te wurkjen mei ST MEMS.
The algorithm is provided in static library format and is designed to be used on STM32 microcontrollers based on the ARM® Cortex®-M3, ARM Cortex®-M33, ARM® Cortex®-M4, ARM® Cortex®-M7 architecture.
It is boud boppe op STM32Cube-softwaretechnology om portabiliteit oer ferskate STM32-mikrocontrollers makliker te meitsjen.
De software komt mei sample ymplemintaasje rint op X-NUCLEO-IKS4A1 of X-NUCLEO-IKS01A3 útwreiding board op in NUCLEO-F401RE, NUCLEO-U575ZI-Q of NUCLEO-L152RE ûntwikkeling board.
1. Acronyms en ôfkoartings
Tabel 1. List fan akronyms
Acronym | Beskriuwing |
API | Applikaasje programmearring ynterface |
BSP | Board stipe pakket |
GUI | Grafyske brûkersynterface |
HAL | Hardware abstraksje laach |
IDE | Yntegreare ûntwikkelingsomjouwing |
2. MotionPW middleware library in X-CUBE-MEMS1 software expansion for STM32Cube
2.1 MotionPW overview
De MotionPW-bibleteek wreidet de funksjonaliteit fan 'e X-CUBE-MEMS1-software út.
De bibleteek sammelet gegevens fan 'e fersnellingsmeter en jout ynformaasje oer it oantal stappen en de kadens dy't de brûker krekt mei it draachbere apparaat útfierd hat.
De bibleteek is allinich ûntwurpen foar ST MEMS. Funksjonaliteit en prestaasjes by it brûken fan oare MEMS-sensors wurde net analysearre en kinne signifikant ferskille fan wat beskreaun yn it dokumint.
A sampDe ymplemintaasje is beskikber foar X-NUCLEO-IKS4A1 en X-NUCLEO-IKS01A3 útwreidingsboerden, monteard op in NUCLEO-F401RE, NUCLEO-U575ZI-Q of NUCLEO-L152RE ûntwikkelingsboerd.
2.2 MotionPW library
Technical information fully describing the functions and parameters of the MotionPW APIs can be found in the
MotionPW_Package.chm compiled HTML file leit yn de dokumintaasje map.
2.2.1 MotionPW library description
De stappentellerbibleteek MotionPW beheart de gegevens dy't fan 'e fersnellingsmeter binne krigen; it hat:
- mooglikheid om it oantal stappen, kadens en fertrouwen te detektearjen
- erkenning basearre op accelerometer gegevens allinnich
- fereaske accelerometer gegevens sampling frekwinsje fan 50 Hz
- boarne easken:
- Cortex-M3: 3.7 kB koade en 1.8 kB gegevensûnthâld
- Cortex-M33: 3.5 kB koade en 1.8 kB gegevensûnthâld
- Cortex-M4: 3.5 kB koade en 1.8 kB gegevensûnthâld
- Cortex-M7: 3.6 kB koade en 1.8 kB gegevensûnthâld - beskikber foar ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 en ARM® Cortex®-M7 arsjitektueren
2.2.2 MotionPW APIs
De MotionPW-bibleteek-API's binne:
- uint8_t MotionPW_GetLibVersion(char *ferzje)
- helje de biblioteekferzje op
- *ferzje is in oanwizer nei in array fan 35 tekens
- jout it oantal karakters werom yn 'e ferzjestring - void MotionPW_Initialize(void)
– performs MotionPW library initialization and setup of the internal mechanism including the dynamic memory allocation
Noat: Dizze funksje moat oproppen wurde foardat de fitnessaktiviteitsbibleteek brûkt wurdt en de CRC-module yn 'e STM32-mikrokontroller (yn it RCC-perifeare klokynskeakeljeregister) moat ynskeakele wurde.
- void MotionPW_Update(MPW_input_t *data_in, MPW_output_t *data_out)
– executes pedometer for wrist algorithm
- * data_in parameter is in oanwizer nei in struktuer mei ynfier gegevens
– the parameters for the structure type MPW_input_t are:
◦ AccX is de wearde fan de accelerometersensor yn X-as yn g
◦ AccY is de wearde fan de accelerometersensor yn Y-as yn g
◦ AccZ is de wearde fan de accelerometersensor yn Z-as yn g
– CurrentActivity is the enumerated input type MPW_activity_t with the following values:
◦ MPW_UNKNOWN_ACTIVITY = 0x00
◦ MPW_WALKING = 0x01
◦ MPW_FASTWALKING = 0x02
◦ MPW_JOGGING = 0x03
- * data_out parameter is in oanwizer nei in struktuer mei útfier gegevens
– the parameters for the structure type MPW_output_t are:
◦ Nsteps is number of steps performed by user
◦ Cadence is the cadence of user steps
◦ Confidence is the confidence of calculated output parameter - void MotionPW_ResetPedometerLibrary(void)
– resets the library internal variables and mechanism into default values (including current step count) - void MotionPW_ResetStepCount(void)
– resets the current step count - void MotionPW_UpdateEnergyThreshold(float *enerzjy_drompel)
– updated energy threshold to fine tune step detection algorithm
– *energy_threshold parameter is a pointer to energy threshold value
2.2.3 API flow chart
2.2.4 Demo koade
The following demonstration code example lêst gegevens fan 'e fersnellingsmetersensor, krijt de aktuele aktiviteit fan 'e MotionAW-bibleteek en krijt it oantal stappen, kadens en fertrouwen fan 'e MotionPW-bibleteek.
2.2.5 Algoritme prestaasjes
The pedometer for wrist algorithm uses data from the accelerometer only and runs at a low frequency (50 Hz) to reduce power consumption.
When replicating fitness activity with the STM32 Nucleo board, ensure the board is oriented perpendicularly to the forearm, to simulate the wristband position.
2.3 Sample applikaasje
De MotionPW middleware kin maklik manipulearre wurde om brûkersapplikaasjes te bouwen.
A sample application is provided in the Application folder. It is designed to run on a NUCLEO-F401RE, NUCLEOU575ZI- Q or NUCLEO-L152RE development board connected to an X-NUCLEO-IKS4A1 or X-NUCLEO-IKS01A3 expansion board.
De applikaasje herkent de stappen, kadens en fertrouwen yn realtime. De gegevens kinne werjûn wurde fia in GUI.
De boppesteande figuer toant de brûker knop B1 en de trije LED's fan it NUCLEO-F401RE board. Sadree't it bestjoer wurdt powered, LED LD3 (PWR) ON.
In USB-kabelferbining is nedich om real-time gegevens te kontrolearjen. It boerd wurdt oandreaun troch de PC fia in USB-ferbining. Dizze wurkmodus lit de brûker detektearre stappen, kadens en fertrouwen, fersnellingsmetergegevens, tiidsst werjaanamp en úteinlik oare sensorgegevens, yn real-time, mei it MEMS-Studio.
2.4 MEMS Studio applikaasje
De sample applikaasje brûkt MEMS-Studio applikaasje, dat kin wurde ynladen fan www.st.com.
Stap 1. Soargje derfoar dat de nedige bestjoerders binne ynstalleare en it STM32 Nucleo-boerd mei passende útwreidingsboerd is ferbûn mei de PC.
Stap 2. Starte de MEMS-Studio-applikaasje om it haadapplikaasjefinster te iepenjen.
As in STM32 Nucleo-boerd mei stipe firmware is ferbûn mei de PC, wurdt it automatysk ûntdutsen.
Press the [Connect] button to establish connection to the evaluation board
Stap 3. As ferbûn mei in STM32 Nucleo board mei stipe firmware [Bibliotheek Evaluaasje] ljepper wurdt iepene.
Om gegevensstreaming te begjinnen en te stopjen, skeakelje de passende [Start] of [Stopje]
knop op 'e bûtenste fertikale arkbalke.
De gegevens dy't komme fan 'e ferbûne sensor kinne wêze viewed selektearje de ljepper [Data Table] op 'e binnenste fertikale arkbalke.
Stap 4. Click on the [Pedometer] to open the dedicated application window.
Stap 5. Klikje op de [Bewarje nei File] om it konfiguraasjefinster foar datalogging te iepenjen. Selektearje de sensor- en stappentellergegevens dy't opslein wurde moatte yn 'e file. Jo kinne opslaan begjinne of stopje troch te klikken op de byhearrende knop.
Stap 6. Gegevensynjeksjemodus kin brûkt wurde om de earder krigen gegevens nei de bibleteek te stjoeren en it resultaat te ûntfangen. Selektearje de ljepper [Data-ynjeksje] op 'e fertikale arkbalke om de tawijde te iepenjen view foar dizze funksjonaliteit
Stap 7. Klikje op de knop [Blêdzje] om de file mei de earder opnommen gegevens yn CSV-formaat.
De gegevens wurde laden yn 'e tabel yn' e aktuele view.
Oare knoppen wurde aktyf. Jo kinne klikke op:
– [Offline Mode] button to switch the firmware offline mode on/off (mode utilizing the previously captured data).
- Knoppen [Start]/[Stopje]/[Stap]/[Werhelje] om de gegevensfeed fan MEMS-Studio nei de bibleteek te kontrolearjen.
3. Referinsjes
Alle folgjende boarnen binne frij beskikber op www.st.com.
1. UM1859: Getting started with the X-CUBE-MEMS1 motion MEMS and environmental sensor software expansion for STM32Cube
2. UM1724: STM32 Nucleo-64 boards (MB1136)
3. UM3233: Getting started with MEMS-Studio
Revision skiednis
Tabel 4. Document revyzje skiednis
Datum | Ferzje | Feroarings |
24-Jan-18 | 1 | Inisjele release. |
21-Mar-18 | 2 | Updated Introduction and Section 2.1 MotionPW overview. |
20 febrewaris 19 | 3 | Updated Section 2.2.5: Algorithm performance and Figure 3. STM32 Nucleo: LEDs, button, jumper. Added X-NUCLEO-IKS01A3 útwreiding board komptabiliteit ynformaasje. |
20-mei-25 | 4 | Bywurke seksjeynlieding, seksje 2.1: MotionPW oerview, Section 2.2.1: MotionPW library description, Section 2.2.2: MotionPW APIs, Section 2.2.4: Demo code, Section 2.2.5: Algorithm performance, Section 2.3: Sample application, Section 2.4: MEMS Studio applica |
WICHTICH NOTICE - LÊS FERGESE
STMicroelectronics NV en har dochterûndernimmingen ("ST") behâlde it rjocht foar om feroarings, korreksjes, ferbetterings, oanpassings en ferbetterings oan ST-produkten en / of oan dit dokumint op elk momint sûnder notice te meitsjen. Keapers moatte de lêste relevante ynformaasje krije oer ST-produkten foardat se oarders pleatse. ST-produkten wurde ferkocht yn oerienstimming mei ST's ferkeapbetingsten en -betingsten yn plak op it momint fan bestellingserkenning.
Keapers binne allinich ferantwurdlik foar de kar, seleksje en gebrûk fan ST-produkten en ST nimt gjin oanspraaklikens oan foar help by oanfraach of it ûntwerp fan produkten fan keapers.
Gjin lisinsje, útdruklik of ymplisearre, foar in yntellektueel eigendomsrjocht wurdt hjiryn ferliend troch ST.
Wederferkeap fan ST-produkten mei bepalingen dy't ferskille fan 'e ynformaasje dy't hjiryn oanjûn binne, sil gjin garânsje ferliend troch ST foar sa'n produkt ûnjildich meitsje.
ST en it ST-logo binne hannelsmerken fan ST. Foar oanfoljende ynformaasje oer ST hannelsmerken, ferwize nei www.st.com/trademarks. Alle oare nammen fan produkten of tsjinsten binne it eigendom fan har respektive eigners.
Ynformaasje yn dit dokumint ferfangt en ferfangt ynformaasje earder levere yn alle eardere ferzjes fan dit dokumint.
© 2025 STMicroelectronics - Alle rjochten foarbehâlden
Útfiering
A sample implementation is available for X-NUCLEO-IKS4A1 and X-NUCLEO-IKS01A3 expansion boards mounted on specified development boards.
Technyske ynformaasje
For detailed functions and parameters of the MotionPW APIs, refer to the MotionPW_Package.chm compiled HTML file leit yn de dokumintaasje map.
APIs
- MotionPW_GetLibVersion(char *ferzje)
- MotionPW_Initialize(void)
- MotionPW_Update(MPW_input_t *data_in, MPW_output_t *data_out)
- MotionPW_ResetPedometerLibrary(void)
- MotionPW_ResetStepCount(void)
- MotionPW_UpdateEnergyThreshold(float *enerzjy_threshold)
Spesifikaasjes
- Produktnamme: MotionPW Echttiid stappenteller
- Kompatibiliteit: X-CUBE-MEMS1 útwreiding foar STM32Cube
- Makker: STMicroelectronics
- Biblioteek: MotionPW Middleware Biblioteek
- Data-akwisysje: Versnellingsmeter
- Sampling Frekwinsje: 50 Hz
Faak stelde fragen (FAQ)
F: Kin ik de MotionPW-bibleteek brûke mei net-ST MEMS-sensoren?
A: De bibleteek is allinich ûntworpen foar ST MEMS-sensoren.
Kompatibiliteit mei oare MEMS-sensoren is net garandearre.
Q: Wat is de fereaske accelerometer gegevens samplingfrekwinsje?
A: De fereaske sampling frequency is 50 Hz for accurate detection of steps and cadence.
F: Hoe kin ik de MotionPW-bibleteek ynisjalisearje?
A: Call the MotionPW_Initialize() function before using the fitness activity library. Ensure the CRC module in the STM32 microcontroller is enabled.
Dokuminten / Resources
![]() |
ST X-CUBE-MEMS1 Sensor en Bewegingsalgoritme Software Útwreiding [pdf] Brûkershânlieding STM32 Nucleo, X-NUCLEO-IKS4A1, X-NUCLEO-IKS01A3, X-CUBE-MEMS1 Sensor- en bewegingsalgoritmesoftware-útwreiding, X-CUBE-MEMS1, Sensor- en bewegingsalgoritmesoftware-útwreiding, Bewegingsalgoritmesoftware-útwreiding, Algoritmesoftware-útwreiding, Software-útwreiding |