This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

how to get a controlled motion from mpu9250 to work as a mouse

Hi Nordic,

I am trying to implement a 3D mouse application using mpu9250,nRF52832 and ble_app_hid_mouse application from 14.2 SDK on custom_board.I am able to connect to host and When I wave my custom_board which consists of 9250 sensor in the air for free space navigation the mouse movement on the Host side (Windows 10 PC) screen is not controlled.That is I had a movement horizontally and vertically on the Host side when I wave my custom_board in the air.But the movement in the air whether in horizontal or in vertical direction is not smoother. As soon as we connect to the Host automatically the cursor on the Host is moving on it's own without our intervention and simultaneously at that instant when we wave the custom_board we have the movement in both horizontal and vertical directions i.e., not a smoother one.So some fine tuning is required to make the cursor stable such that even if we connected to the Host , the cursor movement is to be seen on the Host side only after the custom_board is being waved by us in the air else the cursor should be idle on the Host side.

Could you please help me on this issue ASAP???

IDE : Segger Embedded Studio

OS : Windows10

SoftDevice: S132 , Version - 5.0.0

Board: Custom_Board with nRF52832 Controller on the board.

Sensor: MPU9250 used on the Custom_Board for Free space navigation (3D Motion) and gesture recognition.

Thanks and Regards,

Susmith

  • Hi Saisusmith,

    Our app_hid example used buttons to move the mouse pointer in different directions. It was simple to calculate that. In your use case, you need to convert to raw data coming from MPU 9250 into appropriate pixel movements. The problem could be in one of the below two layers.

    1. The sensors are not correctly tuned/initialized with the sensitivity/thresholds of movement detections
    2. the raw data is not correctly converted into pixel movement.

    I do not have much experience with this sensors so I cannot be of much help with the initialization part.

Related