[MOD][Xposed] GyroscopeNoiseFilter

Search This thread

AKSU78

New member
Dec 28, 2015
3
0
42
Kiev
Wow, I was about to post the same because I was impressed someone managed to change gyroscope values. Yes, I have the same problem, my spanish smartphone comes with the X axis inverted, so the sensor fusion makes strange things (gyroscope and magnetometer/accelerometer read oppossite values), although I think this could be another app instead of adding it to your noise filter one (because in my phone there's no jittery, only a changed axis. It could be solved by the developers, but at this time there's no patch).

Thanks a lot!
Not exactly cause for joy, but still pleased that it is necessary not only to me. :) There is a good chance to get a solution to your problem ... :)
I have a problem with ZOPO ZP998. This "flagship" ZOPO of 2014, which cost, by the way more than my monthly income. :(
Just for reference, what is your device, buddy? :)
 

AlvaroBeiro

Member
May 21, 2014
9
0
guitab.tk
Not exactly cause for joy, but still pleased that it is necessary not only to me. :) There is a good chance to get a solution to your problem ... :)
I have a problem with ZOPO ZP998. This "flagship" ZOPO of 2014, which cost, by the way more than my monthly income. :(
Just for reference, what is your device, buddy? :)

My phone is a Spanish phone, Weimei We. They have a great support, they released some updates and things go really well. But this error was noticed firstly by me (when I told them that they were surprised they didn't find it before) about 2 weeks ago, and now it's time for holiday, so I think I won't have it until I have to work again unless I repair it "on my own"
 

AKSU78

New member
Dec 28, 2015
3
0
42
Kiev
My phone is a Spanish phone, Weimei We. They have a great support, they released some updates and things go really well. But this error was noticed firstly by me (when I told them that they were surprised they didn't find it before) about 2 weeks ago, and now it's time for holiday, so I think I won't have it until I have to work again unless I repair it "on my own"
You may be surprised, but also in Ukraine can buy Weimei We, so I understand what it was about. :)
But this phone is not very good for the Cardboard, because it has a screen resolution of 1280x720 only. For the Cardboard perfect 1920x1080 and higher. My ZOPO ZP998 has a 1920x1080 screen 5.5", but the problem with the gyro just killing me! :( Worse, manufacturer this model is no longer supported. I'm desperate. :( Replacing the phone now for me is a luxury I can not afford.
 

AlvaroBeiro

Member
May 21, 2014
9
0
guitab.tk
You may be surprised, but also in Ukraine can buy Weimei We, so I understand what it was about. :)
But this phone is not very good for the Cardboard, because it has a screen resolution of 1280x720 only. For the Cardboard perfect 1920x1080 and higher. My ZOPO ZP998 has a 1920x1080 screen 5.5", but the problem with the gyro just killing me! :( Worse, manufacturer this model is no longer supported. I'm desperate. :( Replacing the phone now for me is a luxury I can not afford.

Yeah, I know that the screen should be 1080p, but my last phone was an Elephone P3000s, 720p and gyro announced but not in their hardware (deceptive advertising, illegal in most countries). But I tried to see some films in SBS and it was quite good, the screen door effect was not as bad as I thought, and in the Weimei it is better, I think every pixel is bigger. After buying the Elephone phone, that stopped working with 8 months, they were asking me to pay the shipping (around 50€) to replace it and I didn't want so this time I bought the Weimei We with 3 years of (local) Warranty + tempered glass 179€.
 

Le fritz

New member
Jan 8, 2016
2
0
Alcatel idol 3

Hi. My phone havent any problem With inverted axis offre gyro. It's the alcatel idol 3, most of the apps are shaky with or without module. The phone is under Android 5.0.1, module gyronoisefilter 1.5. It runs under Tuscany, falcon x Google cardboard apps only with cardboard v1.5max. The gyroscope model is the bad bosch bmg160. Is it open tout re calibrage it ? The two apps which don't run anytime are: aaa vrcinema, 360battle. Does anyone know if there any solutions ? Excuse me for my poor english
 

tibzer

New member
Jan 8, 2016
1
0
Hi , i'm a noob, i just rooted my system and got the newest version of xposed , how do i get the noise filter to work? any help is appreciated
EDIT: i installed it etc, what are the best settings for the filter because i still have a lot of jittery stuff
 
Last edited:

Le fritz

New member
Jan 8, 2016
2
0
fine tuning

at last, somebody talk about setting of this module! ;)
for me: alcatel idol 3 under lollipop 5.0.2 -010 06 (gyroscope bosch bmg 160), xposed 3.0 alpha4, gyroscope noise filter 1.6 ... youtube works!
my settings for correct renderer (because if the filter is too high level, the phone will be laggy with gyro apps):
filter type: median or mean (low pass filter dont work for me, have no effect on gyro, and additive smoothing crash apps or blank screen)
filter size: 7 or 8 . Lower than 7, the jittering is not enough corrected, upper than 8, my phone is little more laggy then it is less responsive in gyro apps.
filter optional value: -1 (due to the filter type choice)
minimum value change threshold: 0.0 cause my gyro is smooth from moving
stationnary minimum value threshold: 0.1 or 0.2 (higher value decrease the sensitivity of the "little" head moving, it result in apps that the center position of head tracking is moving of its initial position during the vr experience, games, etc and the scrolling starts brutally when the head is starting to move)
rounding precision: ??? 0, 1 or 1000... i dont see the difference. Somebody can explain this setting.
excuse me for my poor english but, like you, i want to know the correct tune at each settings. which are your settings?
 
Last edited:

_SpAiK_

Senior Member
Aug 5, 2010
115
6
Does this work with emulated gyro sensors or sensor fusion? I own a Huawei g620s and AFAIK it does not have gyro sensor, but the actual rom I have does simulate it. With the phone standing still I can see that there is a little jitter movement that could produce nausea, but although I've tested this app it doesn't make any change.
 

Burs

Senior Member
Oct 24, 2012
494
223
Does this work with emulated gyro sensors or sensor fusion? I own a Huawei g620s and AFAIK it does not have gyro sensor, but the actual rom I have does simulate it. With the phone standing still I can see that there is a little jitter movement that could produce nausea, but although I've tested this app it doesn't make any change.

I would also like to know if and when this module will start emulating or faking gyro sensor data by using sensor fusion? I'm not quite sure whether my LeTv X500 have a real hardware sensor, but I get "Gyroscope uncalibrated" on AnTuTu device info screen. The phone manufacturer doesn't put much attention into it, so I started looking for some workarounds. I know I'll never get the true gyro experience if it's not officially supported, but I could be happy even with the same results I get from Google's Streetview, which I suppose use the compass and accelerometer for gyro emulation. It's not a perfect experience since it has some jitter, but it's better than nothing. Anyways, thanks for the effort you put into developing this module.
 

YuriRM

Senior Member
Dec 17, 2015
877
221
X-axis Inversion Fix to Gyroscope

Wow, I was about to post the same because I was impressed someone managed to change gyroscope values. Yes, I have the same problem, my spanish smartphone comes with the X axis inverted, so the sensor fusion makes strange things (gyroscope and magnetometer/accelerometer read oppossite values), although I think this could be another app instead of adding it to your noise filter one (because in my phone there's no jittery, only a changed axis. It could be solved by the developers, but at this time there's no patch).

Thanks a lot!

Dear developers.
Is it possible to put an inversion of some of the axes in this module?
Some Chinese smartphones (for example ZOPO ZP998, iOcean x8), the gyroscope's axis is inverted, and the manufacturer ignores requests to fix it. :(

I have the same request of @AKSU78 and @AlvaroBeiro . An X-axis Inversion Fix to the gyroscope.
My chinese smartphone (TAKEE 1) has a Naked-Eye 3D holographic 5.5" FHD display, with MediateK MT6592T SoC. It works fine with native TAKEE apps (3D video, 3D film, etc.). However, it is misbehaving with the headset-free 360º Discovery VR and RYOT VR apps. For example, when I turn my head to the right, the landscape moves in the opposite direction to the left. It is quite a nuissance! The problem is an inverted X-axis and also a bit of slow drift (there is no jittery). Unsuccessful attempts to correct this were made with Rotation Control app (by CrapeMyrtle) and Set Orientation app (by Eyes-Free Project). The inverted X-axis is not solved by the Gyroscope Explorer app neither (by Kircher Electronics).
Can you provide a module to solve this gyroscope problem, please?

Viewable with or without Google Cardboard and Samsung Gear.
http://www.discoveryvr.com/
http://www.ryot.org/virtualreality

Gyroscope Explorer: Gyroscope Basics
http://www.kircherelectronics.com/blog/index.php/11-android/sensors/15-android-gyroscope-basics
Gyroscope Explorer: Gyroscope Fusion
http://www.kircherelectronics.com/blog/index.php/11-android/sensors/16-android-gyroscope-fusion
 
Last edited:
  • Like
Reactions: Romloutik

atsakir

Member
Mar 17, 2007
14
6
Hi, can someone share their settings for Moto G 2014? I have tried almost all Filters and a bunch of different numbers in the settings but my app built in Unity3D and using the Cardboard SDK for Unity v0.6 still has that awful jitter.
 

yossi2010

Senior Member
Feb 6, 2012
544
133
netanya
Hi @grosbedo ,

This looks like a promissing module however could you add the option to add an offset to the gyroscope?
In my case noise is not the problem but a damn 10 degrees/sec drift is(nexus 6p) and it breaks almost all orientation based apps(including google maps compass)

my previous phone had an auto calibration that caused drift when i moved slowly(it zeroes the sensor out when an average which is not 0 is present for over 2-3 secs)
now this one has the opposite problem no calibration option at all... just a constant drift(the sensor works great but is not 0 when stationary)

os upgrades didn't help(neither did android N) now im trying a factory reset.(edit: factory reset didn't change a thing still 0.13 0 0.06 rads/sec offsets in the x y z)
if nothing works i'll send it for service.
it feels stupid to RMA an otherwise perfect device just for a damn offset/calibration issue.

Thanks' Yossi Cohen.
 
Last edited:

sharp810

Member
May 14, 2015
5
1
it's work with Lenovo K3 note ?

Hi Friends, :)
I would like to know that is this working with Lenovo K3 note. because by default Google Card Board app is shacking even without Magnet VR headsets. Please if anyone have idea please inform.
Thanks and regards,
Amit
 

nonobio

Senior Member
Jun 27, 2013
101
4
Hi, can someone share their settings for Moto G 2014? I have tried almost all Filters and a bunch of different numbers in the settings but my app built in Unity3D and using the Cardboard SDK for Unity v0.6 still has that awful jitter.

Hi, did you found settings for yout Moto G 2014 ? I have a lot of jitter too..
 

nonobio

Senior Member
Jun 27, 2013
101
4
Ok. I readen this too, and it seems that CM13 resolve this issue too. I'm actually on LP 5.0.2 and i had reported my flash to stock MM or CM13 but i think i will reconsiderate it..

Thanks for your reply.
 

Ratul_isfaque

New member
May 31, 2016
3
0
Dhaka
Redmi 3 jittery

I am also having the jittery feelings when using cardboard in my Xiaomi Redmi 3. But i dont know actually if this 'gyroscope noise filter' works or not because i have tried this app with entering many values. Can anyone help? Can a Miui update be a solution? My present version is miui 7.1.1.0
 

Ma790

Member
Feb 16, 2016
15
1
Lenovo Vibe P1 also is very jittery, tried many values for this modulebut it seems not getting better even in the gyro explorer readings they are pretty the same with or without the module.

any advice?
 

Top Liked Posts

  • There are no posts matching your filters.
  • 7
    Hi there,

    GyroscopeNoiseFilter (previously: JitteryGyroFixForCardboard) is a module to reduce/eliminate the noise in unstable gyroscope that are found in some phones like the Moto G 2nd gen or Huawei Ascend G7. Basically, the app does the noise smoothing that app devs do, but here this module uses a system hook to apply the noise smoothing preprocessing for all apps, but the main goal here is specifically to remove jitter, not drift (although the filters may help, but there's no sensor fusion, yet).

    This is particularly interesting for virtual reality (VR) or head-tracking apps because a noisy gyroscope will produce a feeling of dizzyness and nausea, but this can also be interesting for any app using the gyroscope because the output will be a lot smoother and accurate (particularly when the phone is held still).

    The module was originally wrote by Kjos and the repo lives here:
    https://github.com/Kjos/XposedJitteryGyroFix

    The thread that started the module is on Reddit:
    https://www.reddit.com/r/GoogleCardboard/comments/335ins/fix_for_jittery_gyroscopes_such_as_moto_g

    Here is the latest version of the module, v1.4 (also attached to this thread):
    https://github.com/lrq3000/XposedJitteryGyroFix/releases/download/v1.4/GyroscopeNoiseFilter_v1.4.apk

    The module is also available directly from the Xposed repo:
    http://repo.xposed.info/module/net.kajos.gyronoisefilter

    === DESCRIPTION ===

    The gyroscope is the main sensor for head tracking / virtual reality apps.

    However, it's common for phones' gyroscopes to be noisy, which in practice shows as jitter, and this can create a dizzyness feeling and nausea, particularly when standing still (the "camera" still moves around just like if you were at sea).

    Android now offers "virtual" sensors, which use a method known as sensor fusion to avoid those noisy outputs by combining several sensors (usually: gyroscope, accelerometer, magnetometer).

    However, it's up to each app dev to use these virtual sensors, and to implement further post-processing to smooth the sensor and reduce the noise.

    This module adopts another approach: it hooks directly to the hardware gyroscope and it preprocess every outputs with smoothing filters before relaying the data to the apps.

    Therefore, the noise is reduced or even eliminated of the gyroscope's output for every apps.

    === OPTIONS ===

    This module currently implements a few different strategies to filter and reduce noise, which can be used complementary or alone (each option can be disabled):

    1. Filter type: type of the filter that will be applied to reduce noise in the gyroscope output.
    2. Filter size: the number of samples to use to compute the filtering. Usually, the bigger the filter is, the less jitter there will be but at the expense of some lag.
    3. Filter optional value: value of the constant that configures some types of filters such as lowpass or additive smoothing.
    4. Minimum value change threshold: prevents the phone from registering the new sensor's values if the difference to the median is smaller than the given threshold.
    5. Stationary minimum value threshold: when stationary, prevents the sensor from moving if the change is below the given threshold (this is similar to min value change but here it only affects the stationary state, when you are not moving).
    6. Rounding precision: round all sensor's values to the given decimal.

    Options can be changed on-the-fly without having to restart the phone, and are instantly applied to the sensor, so that you can switch between this option screen and a VR app to test for the parameters that reduce the jitter the most for you.

    I'm looking for feedback before we submit to the Xposed repo, so if you have any idea of a feature or if you spot a bug, feel free.

    We are also looking for better filters, currently the best performing two types are the median filter and the one order low-pass filter, so if there's someone with some experience with noise reduction on the gyroscope (not the accelerometer), I'd be very interested to get some advices about that!

    /EDIT: update v1.4.

    Also, we found a great opensource app called GyroscopeExplorer (kudos to the dev) which implements all kinds of sensor fusion and with a very good documentation, so that's a great source of info to implement advanced filters, but, although they smooth the movement's noise and drifting issues, they do not fix jitter at all, so for the moment we won't implement these advanced filters. We are now focusing on supporting more apps, particularly the ones using the new Cardboard NDK API to access virtual sensors (this bypasses the usual SensorManager).
    1
    Very interesting module.

    I wonder if this would give better results when doing Photospheres with the Google Camera app.

    Also, does this have any meaningful impact on cpu usage and battery draining ?

    thanks!

    I never made Photospheres with the Google Camera app, but if it uses the Gyroscope and you experience some jitter, then the module should help yes.

    About CPU, the module is quite light on resources. The exact usage mostly depends on the filter type and filter size, with the low-pass filter being the lightest on CPU (only a few additions and multiplications, so it's negligible). All the other options such as the "minimum value change" only do a single calculation so their CPU usage is also negligible. However, if you use the mean or median filters and with a big filter size (like 1000), you may notice a very very small CPU usage, but it will still be very low (the time of a summation over an array of the size you specified, so it's not that big).
    1
    We just updated the module, Arindammanidas. Please try the latest version (v1.5) and see if this fixes your issue:

    http://repo.xposed.info/module/net.kajos.gyronoisefilter
    https://github.com/lrq3000/XposedJitteryGyroFix/releases/tag/v1.5

    If it doesn't fix your issue, please tell us what app and what version doesn't work with our module. We are aware that there are still a few apps that may not work, in particular Cmoar Cinema Pro v4.3 (but version Free is OK). We don't yet know why (the source is closed).

    /EDIT: we narrowed down the issue, and it seems that only apps using Unity3d along with the Durovis Dive SDK for head tracking are not supported. It seems it's because they use their own native library to manipulate the sensors, so I'm not sure we can do anything about these apps...
    1
    You're correct, I totally forgot about those demo apps and I didn't try them. We will see what we can do. Thank you for the feedback.
    1
    So, this app cannot reduce drift problem??
    Hmm..hope there's some way to eliminate or at least reduce the drift on my Note 4..
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone