1. Do not share user accounts! Any account that is shared by another person will be blocked and closed. This means: we will close not only the account that is shared, but also the main account of the user who uses another person's account. We have the ability to detect account sharing, so please do not try to cheat the system. This action will take place on 04/18/2023. Read all forum rules.
    Dismiss Notice
  2. For downloading SimTools plugins you need a Download Package. Get it with virtual coins that you receive for forum activity or Buy Download Package - We have a zero Spam tolerance so read our forum rules first.

    Buy Now a Download Plan!
  3. Do not try to cheat our system and do not post an unnecessary amount of useless posts only to earn credits here. We have a zero spam tolerance policy and this will cause a ban of your user account. Otherwise we wish you a pleasant stay here! Read the forum rules
  4. We have a few rules which you need to read and accept before posting anything here! Following these rules will keep the forum clean and your stay pleasant. Do not follow these rules can lead to permanent exclusion from this website: Read the forum rules.
    Are you a company? Read our company rules

Solid state motion simulator (GVS)

Discussion in 'DIY Motion Simulator Projects' started by Steve B, Jun 1, 2021.

  1. Steve B

    Steve B Member

    Joined:
    May 8, 2020
    Messages:
    40
    Balance:
    248Coins
    Ratings:
    +32 / 0 / -0
    My Motion Simulator:
    Arduino
    I started down this rabbit hole after watching "Mean Gene Hacks" YouTube video on Galvanic Vestibular Stimulation (GVS for short) applied to BeamNG



    This is what I posted in another thread about my initial tests.

    "I watched the YouTube video last week, like many others the idea and low barrier to entry seemed too good to be true.
    So I did what any curious idiot would do and got ordering parts.

    Copied the current limiting circuit and used a push button to activate the electrodes(by electrodes think M8 washers with wires soldered to them). Checked with a multimeter and the limiting circuit worked, 2.5 to 3ma with the electrodes shorted.

    Confident from that I wedged the washers under the rear of my headphones pressed the button and nothing, I couldn't feel a thing!
    Checked the current with the electrodes shorted and 3ma.

    Next I found some tens electrodes on Amazon and ordered them, my thinking being there was not enough surface area in the washers to conduct 3ma to my skin.

    Tens electrodes arrived today so I quickly attached them and sat down for testing.
    Slightly concerned I pressed the button and ooh this thing feels weird, the first thing I can feel is a tingling prickly feeling where the electrodes contact my skin. Funnily enough it's like getting a small electric shock, tolerable but not exactly pleasant.
    Then it feels like your head is being pulled to the side(left in this case), a bit like a magnet pulling my head. This effect starts gently and ramps up over a second or so as my head actually moved slightly to the left.
    There is also a slight disorienting or dizzy like feeling which would make it very difficult to drive like this.
    I did a few laps in iRacing manually pressing the button every right turn, it's so difficult to drive like this. As my head drifts left my eyes struggle to compensate and focusing on the track is hard.

    Now I know the effect is real and easy to achieve I will add a h-bridge an Arduino and interface it with iRacing.
    I need to figure out the minimum current required to feel the effect which will reduce/eliminate the tingles and then PWM fire the h-bridge with telemetry.
    Depending on how this feels I will either add the front electrodes to try and simulate acceleration/braking or abandon it and keep dreaming of motion sim's."


    After that initial success I investigated the quickest way of integrating with iRacing to test and found that SimHub can output motion data to custom serial devices (Arduino), a bit of messing around and I had sway data to an Arduino nano at 60hz.

    I tried to cheat with the h-bridge and use a L298n h-bridge I had spare, this failed miserably. The h-bridge seemed to use up all the 3ma I had available and only output around 1V.

    Back to the soldering iron to copy the rest of Mean Gene Hacks circuit and connect it to my nano.

    After many hours (6+) of subjecting myself to electric shocks behind the ears, under the ears and near the ears. I just couldn't get the same feeling of my head being pulled as I did without the h-bridge.
    I tried upping the voltage to 24v, increasing the current to 4ma, cutting the electrodes round instead of square and trying different PWM frequencies. Don't try 30Hz it hurts!

    During most of these tests I had a multimeter measuring the current which maxed out at 4ma, which from everything I've read is plenty and more than my initial successful test.

    During all my tests the system was never completely pain free, with a prickly/tingling feeling being the most common along with many other feelings of electric shocks, a warming or burning sensation under the electrodes, pulsing under the skin, white flashes around the periphery of my vision, a feeling of being slapped on the ear every time the car and therefore the current changed direction. In all it's impossible co concentrate on driving whilst using this.

    As a last ditch attempt to get it working I altered the code to switch on the current in 1 direction or the other fully instead of using PWM as I read somewhere that fat blocks square wave currents. This made no noticeable difference.
    Ready to give up I tried it standing up and it works! My head was once again being pulled to one side, something I'd been trying to replicate for 3 days.

    I plan on investigating more but my current conclusion is that while sitting in a sim rig the body has so many points of reference it's not easily fooled, notice how all the YouTube videos show someone standing or sitting on a stool?
    Photos and code to follow for anyone who wants to subject themselves to this, it's painfull, doesn't work for sim racing and could be dangerous so please don't try this at home.

    Steve
    • Like Like x 1
  2. Sielu

    Sielu Member Gold Contributor

    Joined:
    Feb 7, 2021
    Messages:
    21
    Location:
    Georgia, USA
    Balance:
    113Coins
    Ratings:
    +32 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, JRK, Motion platform
    Steve... you’re a hero.

    Seriously, thanks for this write-up. I’ve been interested in integrating GVS into my rig “eventually”. When I was taking flying lessons more than decade ago I distinctly remember the disorienting/dizzy/spinning feeling G-forces induce when in steep turns in a plane. I thought maybe GVS would be a way to re-create that feeling in-sim, but clearly I need to give up on that dream.
  3. Steve B

    Steve B Member

    Joined:
    May 8, 2020
    Messages:
    40
    Balance:
    248Coins
    Ratings:
    +32 / 0 / -0
    My Motion Simulator:
    Arduino
    Here's the hacked together setup i used for testing.
    Arduino nano with screw shield, the pots were intended for scaling and dead zone adjustment on the fly.
    For power i used 2 x 9V batteries and 3 x AA's , combinations of these enabled testing ad various voltages.
    The circuit was soldered to stripboard and is mostly identical to mean gene hacks circuit with a few resistor substitutions because of what i had available. The electrodes ate replacement tens pads, 4 sets were used during testing as they quickly loose their stickiness.
    IMG_20210531_220955.jpg

    IMG_20210531_221026.jpg
    Current limiting circuit on the left of the stripboard, H-Bridge on the right.
    IMG_20210531_221240.jpg

    IMG_20210531_221105.jpg

    Extracting motion data from SimHub
    Sway, and presumably surge, heave and so on are available in simhub as floating point numbers, i multiplied these by 10 before converting them to integers to maintain resolution with 1500 representing 1.5G.
    IMG_20210531_221405.jpg
    IMG_20210531_221421.jpg
    Will post the arduino sketch tomorrow for anyone that's interested.

    Apart from the pain aspect which may or may not be solvable with different electrodes, frequencies or something i have yet to find the biggest issue is that this only works when standing.
    My theory is that when standing the vestibular system (inner ear) is our primary point of reference for balance, it's our internal gyro and messing with this is the effect we are after.
    However when sitting in a sim rig we have our heels on the pedal plate, bum on seat, back and shoulders against the back of the seat and hands on the wheel, our brain has so many points or reference to figure out where we are that a single input being out of wack is not enough to trick it into thinking we are off balance.

    The best analogy i can think of to this is when you lie in bed after having several beers too many and the room starts spinning, just put one foot flat on the ground. The room stops spinning because your brain has another point of reference to orient itself.

    Whilst i'm not done with GVS, it's usefulness for sim racing and flight sims is unclear.
    Steve

    Attached Files:

    • Informative Informative x 2
    • Creative Creative x 1