{"id":23744936,"url":"https://github.com/stm32duino/motionfx","last_synced_at":"2025-10-30T08:08:59.246Z","repository":{"id":37484950,"uuid":"502895309","full_name":"stm32duino/MotionFX","owner":"stm32duino","description":"Sensor Fusion Library for ST sensors and microcontrollers","archived":false,"fork":false,"pushed_at":"2022-08-08T11:20:12.000Z","size":362,"stargazers_count":6,"open_issues_count":1,"forks_count":3,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-12-31T12:52:04.038Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stm32duino.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-06-13T09:45:12.000Z","updated_at":"2024-11-03T11:22:12.000Z","dependencies_parsed_at":"2022-08-08T20:30:36.627Z","dependency_job_id":null,"html_url":"https://github.com/stm32duino/MotionFX","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stm32duino%2FMotionFX","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stm32duino%2FMotionFX/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stm32duino%2FMotionFX/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stm32duino%2FMotionFX/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stm32duino","download_url":"https://codeload.github.com/stm32duino/MotionFX/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239898461,"owners_count":19715212,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-31T12:51:03.351Z","updated_at":"2025-10-05T19:49:28.054Z","avatar_url":"https://github.com/stm32duino.png","language":"C","readme":"# MotionFX Library\nThe MotionFX is a software library that can run only on STM32 boards. It provides real-time motion-sensor data fusion.\nIt also performs gyroscope bias and magnetometer hard iron calibration. This library is intended to work with ST MEMS only.\nThe algorithm is provided in static library format and is designed to be used on STM32 microcontrollers based on the ARM Cortex-M0+, \nARM Cortex-M3, ARM Cortex-M4, ARM Cortex-M7 or ARM Cortex-M33 architectures.\nThe library acquires data from the accelerometer, gyroscope (6-axis fusion) and magnetometer (9-axis fusion)\nand provides real-time motion-sensor data fusion. The MotionFX filtering and predictive software uses advanced algorithms to intelligently integrate outputs from\nmultiple MEMS sensors, regardless of environmental conditions, for an optimum performance.\nThe complexity of the library dedicated to the Cortex-M0+ core is reduced due to the performance limitation of\nCortex-M0+ architecture. This library uses different APIs and has less features in comparison with the version for\nCortex-M3, Cortex-M4, Cortex-M7 and Cortex-M33. The recommended sensor data sampling frequency is 100 Hz. The output orientation of\nthe algorithm can be ENU (East-North-Up) Android format or NED (North-East-Up) format.\n\n## Examples\n\nThere are several examples with the MotionFX library.\n* Fusion6X_IKS01A2: This application provides a simple example of usage of the 6-axis fusion (accelerometer and gyroscope) with the X-NUCLEO-IKS01A2 \nExpansion Board. It shows how to display on a hyperterminal the values of yaw, pitch and roll.\n* Fusion6X_IKS01A3: This application provides a simple example of usage of the 6-axis fusion (accelerometer and gyroscope) with the X-NUCLEO-IKS01A3 \nExpansion Board. It shows how to display on a hyperterminal the values of yaw, pitch and roll.\n* Fusion6X_IKS02A1: This application provides a simple example of usage of the 6-axis fusion (accelerometer and gyroscope) with the X-NUCLEO-IKS02A1 \nExpansion Board. It shows how to display on a hyperterminal the values of yaw, pitch and roll.\n* Fusion9X_IKS01A2: This application provides a simple example of usage of the 9-axis fusion (accelerometer, gyroscope and magnetometer) with the X-NUCLEO-IKS01A2 \nExpansion Board. It shows how to do the magnetometer hard iron calibration and display on a hyperterminal the values of yaw, pitch and roll.\n* Fusion9X_IKS01A3: This application provides a simple example of usage of the 9-axis fusion (accelerometer, gyroscope and magnetometer) with the X-NUCLEO-IKS01A3 \nExpansion Board. It shows how to do the magnetometer hard iron calibration and display on a hyperterminal the values of yaw, pitch and roll.\n* Fusion9X_IKS02A1: This application provides a simple example of usage of the 9-axis fusion (accelerometer, gyroscope and magnetometer) with the X-NUCLEO-IKS02A1 \nExpansion Board. It shows how to do the magnetometer hard iron calibration and display on a hyperterminal the values of yaw, pitch and roll.\n\n## Note\n\n* The MotionFX library requires [STM32 core](https://github.com/stm32duino/Arduino_Core_STM32) version 2.3.0 or higher.\n* The MotionFX library can be used on STM32 boards with ST MEMS sensors only. For more information, please give a look at the license terms.\n* The MotionFX library derives from STM32Cube MotionFX library v2.7.0.\n\n## Dependencies\n\nThe MotionFX library requires the following STM32duino libraries:\n\n* STM32duino LSM6DSO: https://github.com/stm32duino/LSM6DSO\n* STM32duino LIS2MDL: https://github.com/stm32duino/LIS2MDL\n* STM32duino LSM6DSL: https://github.com/stm32duino/LSM6DSL\n* STM32duino LSM303AGR: https://github.com/stm32duino/LSM303AGR\n* STM32duino ISM330DHCX: https://github.com/stm32duino/ISM330DHCX\n* STM32duino IIS2MDC: https://github.com/stm32duino/IIS2MDC\n\n## Documentation\n\nYou can find the library files at\nhttps://github.com/stm32duino/MotionFX\n\nThe MotionFX library user manual is available at\nhttps://www.st.com/content/ccc/resource/technical/document/user_manual/group0/31/0e/66/39/cb/f7/4e/cd/DM00394369/files/DM00394369.pdf/jcr:content/translations/en.DM00394369.pdf\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstm32duino%2Fmotionfx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstm32duino%2Fmotionfx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstm32duino%2Fmotionfx/lists"}