1. 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!
  2. 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
  3. 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

Showroom Portable budget G-Seat plus office chair spin. Perfect for beginners. No power tools needed!

Discussion in 'DIY Motion Simulator Projects' started by Jumping Coin, Sep 28, 2020.

  1. Jumping Coin

    Jumping Coin New Member Gold Contributor

    Joined:
    Aug 7, 2020
    Messages:
    22
    Balance:
    77Coins
    Ratings:
    +11 / 0 / -0
    Just finished up my first build ever. I constructed a g-seat that can easily be removed from my office chair and stored in a closet. I also added a feature to spin the office chair about 10 degrees in each direction to help accentuate the g-seat. My craftmanship is pretty lacking, especially compared to the many masterpieces featured on this forum, but amazingly enough the seat does its job and has offered a whole new dimension to the sim-racing experience!

    I know that there are several excellent pneumatic g-seat write-ups already, notably
    @volker metzger 's g-seat build (https://www.xsimulator.net/community/threads/diy-full-pneumatic-g-seat-ideal-for-beginners.13089/) , and @Banfy ’s build (https://www.xsimulator.net/community/threads/a-foldable-diy-sim-rig-with-g-seat.14948/). Finding @volker metzger's build was a eureka moment, and @Banfy's build offered truly excellent inspiration. I hope to contribute to these builds by adding a new spin (pun intended) by enhancing the g-seat with a small amount of spin from the office chair. In addition, I wanted to create a g-seat that was extremely portable and easily removable, especially for those who race by night on their office chairs. In addition, I hope to add enough detail that a beginner with the simplest of tools could take advantage of. Being a DIY-phobe myself, I chose to use simple parts, and I had no real power tools beyond a simple drill. (I used the drill only to make a few holes in a small cutting board for spinning the office chair, but even that could have been done by hand if necessary.) Because of a lack of DIY skills, I didn’t weld, solder, or even saw. I did, however, overly rely on zip-ties, which I still need to clean up.

    I’m new to the sim-racing scene, and I don’t have much room to devote to a full-sized rig. Thus, I wanted a portable rig that can be easily stored away when not in use. I also really love my office chair, and I didn’t want a separate chair for racing. In addition, I wanted to capitalize on the spinning nature of it to slightly simulate sway and add some nuance for corning in the g-seat. I was surprised that I couldn’t find any examples of people spinning their office chairs. Of course I didn’t want to spin too far away from the pedals, but I thought a good 10 degree spin in either direction would be just enough.

    I began sim-racing with a T300 wheel, cheap off-brand wheel stand, and a Realteus Force Feel haptic feedback pad. The games were fun, but I missed not having all of the g-force cues from sliding into a turn IRL. Poking around the internet, I came across Bergison’s Motion Integrated G-Seat, and thought wow, I can’t wait for that to come to market! Then I found the GS-5 and Geko seats, but they were $2000 to $3000, much beyond anything my wife would let me spend on a “video game”. That’s when I came across this site, and the awesome projects on display here, and I knew I had to jump in!

    My budget was about $500, and I stayed under it, although I could have trimmed it a bit more by buying products from overseas instead of Amazon. However, with Covid going around, I didn’t want to take any chances that deliveries would be delayed.

    The first step was to find a container for the g-seat air wedge bladders, hinges, Arduino, etc. to which I could easily attach components. I figured a 13x13x11 plastic milk crate would do the job nicely.

    upload_2020-9-28_1-8-2.png

    I searched high and low for the types of hinges that have been used by some of the other g-seats (I literally checked every hinge on hinge outlet website), but apparently they aren’t sold in the U.S. and I couldn’t get them shipped here. In the end, I decided to use 10x10 inch triangular hinges.

    upload_2020-9-28_1-41-51.png

    I used four 60 kg servos and attached them to the hinges with zip-ties.

    upload_2020-9-28_1-42-17.png

    At first I tried using 100 lbs rated steel wire between the servo arm and the hinge, but it was a bit unwieldy for me to set it to the right length. Eventually I gave zip ties a try, and even though they might be a bit underrated in KGF, they seem to be holding up well enough without any signs of wear. However, should they ever snap, I used 3 inch zinc-plated corner braces as a protective stopping point to prevent any of the internals from getting smashed.

    upload_2020-9-27_23-16-4.png



    upload_2020-9-27_21-47-41.png

    For power supply, I connect each servo to its own AC-DC adapter, which are adjustable from 5 to 15 volts. I chose to play it safe and use 6 volts for each servo even though the servos are rated to work best at 7.4 volts. They seem to work just fine with 6 volts. I should also mention that I picked adapters that were small enough that I could easily fit all five into a single power strip. I used a small bread board to connect the negative wire from each AC-DC adapter to the negative servo wire and the Arduino GND. In case it helps, in the below picture, the white wires are the Arduino GND, the brown wires are the negative from the servo, and the black wire is the negative from the power supply. An easy mistake is to forget that the negative charge needs to run back to the GND on the Arduino, so this is a reminder to not forget that step. There may be better ways to do this, but this worked for me.

    upload_2020-9-27_21-52-4.png

    upload_2020-9-28_1-0-20.png

    The Arduino board and wires sit in the middle. I decided it was best to elevate the board and wires, just in case there was ever a spill on the floor, so I used a to-go food container that I found laying around.

    upload_2020-9-28_0-52-23.png

    As for the bladders, I used four on the seat ala GS-5 style; two bladders on the bottom of the seat to represent acceleration and sway, and two bladders on the back of the seat to represent deceleration and sway. I wanted the bladders to be attached via velcro so that I could continuously fiddle with finding the best location for them, and I didn't want to attach them directly to the Realteus pad in case I ever wanted to switch it out. I could have used a seat cushion pad, but since it would be placed under the Realteus pad, I didn't want a cushion under a cushion. Instead, I decided to use a reusable plastic bag as a base, and attached two pool noodles for side support via duct table. Cheap, yes, but it does the job.

    upload_2020-9-27_22-49-48.png

    upload_2020-9-27_21-57-38.png



    I added velcro strips to the seat and attached four 11x4 inch air wedge bladders.

    upload_2020-9-28_0-30-27.png

    The whole thing fits nicely under the Realteus pad, and while it isn't pretty, it isn’t quite the eyesore that I expected it to be.

    upload_2020-9-28_1-46-52.png

    Inside the milk crate, I used four 6x6 inch air wedge bladders, which connected to 5mm (3/16 Inch) inner diameter high performance silicone vacuum hose line. All total I used 15 feet of hose, but if I were to do it again, I'd use 20 feet since it's a little tight when removing from the office chair. These hoses are then connected to 5mm (3/16 inch) tees, and then connected to the other air bladder and pump. As @volker metzger recommended, I used the squeeze pumps with push button release valves rather than the turn value release.

    upload_2020-9-28_1-10-28.png

    I added three 3x7 inch galvanized plates and attached them to the milk crate via two 4 inch zinc-plated corner braces. Then I added rubber caster stoppers where the office chair would rest upon. The milk crate is fine without the caster wheel stoppers, but having them means that the office chair doesn’t roll away from the crate. The caster wheel stoppers also holds the office chair to connect it to the servo for spinning.

    With the g-seat complete, I could focus on spinning the chair. While this part might be simple for many here, I racked my brain for a couple of weeks trying to figure how to best accomplish it and allow it to be removable. I finally settled on a hacky version of a slider crank. I’m certain that this can be greatly improved, but it seems to do the job for now. Basically, I took an old cutting board, screwed it to an 8- inch zinc-plated corner brace, and zip-tied it to bottom of the seat. Then, I zip-tied a servo to the middle 3x7 inch plate and held it in place using two 2-inch zinc plated corner braces. I zip-tied a camber joint for an RC car to the servo arm and wrapped a velcro strip around it. Later, I may also switch out the camber joint for perhaps a pvc pipe or some other material if I decide to increase the spin by a few more degrees.

    upload_2020-9-28_0-46-39.png

    upload_2020-9-28_1-2-34.png

    Here's a video of the chair spin (keep in mind that the chair moves a bit less with someone sitting on it.):

    Here's my completed rig. (Apologies for the mess in the background. I put this together in the pantry, which is blocked off so that my toddlers can’t get to it.)


    upload_2020-9-28_1-24-3.png

    And here's my rig when it's time to call it a night (I added an extra milk crate for storage):
    upload_2020-9-28_1-25-19.png

    All told, it’s not the most glamorous device, and I still need to clean it up a bit, but I pretty much achieved what I set out for. In case it helps, I’m 160 lbs and 5’8’’. The air wedge bladders for the g-seat push me around without any strain on the servos and the feedback seems immediate. As for the office chair spin, if I try really hard I might be able to slightly stall the servo, but under normal brake/accelerator pressure, it works fine. Also, I lowered my chair all the way down and leaned/locked it all the way back. The seating position is definitely not F1 style, but it does come pretty close to feeling like my VW GTI daily driver.


    Here's the code that I used:
    (code updated 2020-11-17)
    Code:
    /************************************************/
    // Title:    Pneumatic G-Seat using 4 servos (L, R, T, B); Office Chair Spin using 1 servo (S)
    // Function: For use with Simtools software, apply sway, surge, heave, traction loss
    // Code adapted from: https://www.xsimulator.net/community/threads/low-cost-2dof-3dof-6dof-motion-simulator-dof-reality.8570/page-43#post-166682,
    // which had been adapted from https://www.xsimulator.net/community/threads/rc-model-for-motion-simulation.4600/
    //
    /************************************************/
    /*
    Values for interface:
      Interface Type : Serial
      Comport : is at every individual
      BitsPerSec : 9600
      Data Bits : 8
      Parity : None
      Stop Bits : 1
      Bit Range : 8
      Output Type : Decimal
      Interface Output : L<Axis1a>~R<Axis2a>~T<Axis3a>~B<Axis4a>~S<Axis5a>~
      Output Rate : 10ms
    Pins:
      4 = Left   (L)
      5 = Right  (R)
      6 = Top    (T)
      7 = Bottom (B)
      8 = Spin   (S)
    */
    #include <Servo.h>
    /*******************************************************************************************
    Users may need to modify the below section. See variables:
        kActuatorCount
        kPins
        kActuatorName
        kPosAndNeg[kActuatorCount]
        kActuatorScale
    Please ensure that kActuatorCount matches the number of elements in the other variables in this section.
    *******************************************************************************************/
    // number of servos
    const int kActuatorCount = 5;
    // Initials for servos, must match Interface Output specified in GUI
    const char kActuatorName[kActuatorCount] = { 'L', //Left
                                                 'R', //Right
                                                 'T', //Top
                                                 'B', //Bottom
                                                 'S'  //Spin
                                               };
    //Pin locations on Arduino board
    const int kPins[kActuatorCount] = {4, 5, 6, 7, 8};
    /*kPosAndNeg allows you to specify whether a given servo will respond to only one side of a DOF, i.e. -100 to 0 or 0 to 100 (kPosAndNeg[i] = 0); or full range of a DOF, i.e -100 to 100 (kPosAndNeg[i] = 1).
     For example, if you only want the actuator to operate only on acceleration and not the braking for surge, then set kPosAndNeg[i] = 0
     If you want the actuator to activate across the whole range of acceleration and braking for surge, set kPosAndNeg[i] = 1
    */
    const int kPosAndNeg[kActuatorCount] = {0, 0, 0, 1, 1};
    //safe position aka starting position.  For G-seat, I want servos as open as possible for safety reasons.
    int actuatorPosition[kActuatorCount]={0, 0, 0, 0, 55}; 
    //Set range of position (i.e. servo range from 0 to 180)
    const int kActuatorScale[kActuatorCount][2] = { 
                                                      {0, 180}, 
                                                      {0, 180}, 
                                                      {0, 180}, 
                                                      {0, 180}, 
                                                      {0, 110} //limit spin scale to ensure uniformity for left and right based on position relative to seat
                                                  };     
    /********************************************************************************************
    End of modification section.  No need to modify anything below for g-seat or servo-based simulators
    ********************************************************************************************/
    Servo actuatorSet[kActuatorCount];                  // our array of Actuators
    const char kEOL = '~';                              // End of Line - the delimiter for our acutator values 
    const int kMaxCharCount = 3;                        // some insurance...
    // set up some states for our state machine
    // psReadActuator = next character from serial port tells us the Actuator
    // psReadValue = next 3 characters from serial port tells us the value
    enum TPortState 
    { 
      psReadActuator, 
      psReadValue 
    };   
    int currentActuator;                                // keep track of the current Actuator being read in from serial port
    int valueCharCount = 0;                             // how many value characters have we read (must be less than kMaxCharCount!!
    TPortState currentState = psReadActuator;
    void setup()
    {
        // attach the Actuators to the pins
        for (int i = 0; i < kActuatorCount; i++) 
            actuatorSet[i].attach(kPins[i]);
        // initialise actuator position
        for (int i = 0; i < kActuatorCount; i++) 
            updateActuator(i);
         
        Serial.begin(9600); // opens serial port at a baud rate of 9600
    }
    /*************************************************/
    void loop()
    {
    }
    /**************************************************/
    // write the current Actuator position to the passed in Actuator 
    void updateActuator(int thisActuator) {
        int safePos;
        safePos=actuatorPosition[thisActuator];
        actuatorSet[thisActuator].write(safePos);
    }
    // this code only runs when we have serial data available. ie (Serial.available() > 0).
    void serialEvent() {
        char tmpChar;
        int tmpValue;
     
        while (Serial.available()) {
            // if we're waiting for a Actuator name, grab it here
            if (currentState == psReadActuator) {
                tmpChar = Serial.read();
                // look for our actuator in the array of actuator names we set up 
                #ifdef DEBUG           
                  Serial.print("read in ");           
                  Serial.println(tmpChar);           
                #endif
                for (int i = 0; i < kActuatorCount; i++) {
                    if (tmpChar == kActuatorName[i]) {
                        #ifdef DEBUG           
                            Serial.print("which is actuator ");           
                            Serial.println(i);           
                        #endif
                        currentActuator = i;                        // remember which actuator we found
                        currentState = psReadValue;                 // start looking for the Actuator position 
                        actuatorPosition[currentActuator] = 0;      // initialise the new position
                        valueCharCount = 0;                         // initialise number of value chars read in 
                        break;
                    }
                }
            }
           
            // if we're ready to read in the current Actuator's position data
            if (currentState == psReadValue) {
                while ((valueCharCount < kMaxCharCount) && Serial.available()) {
                    tmpValue = Serial.read();
                    if (tmpValue != kEOL) {
                        tmpValue = tmpValue - 48;
                        if ((tmpValue < 0) || (tmpValue > 9)) tmpValue = 0;
                        actuatorPosition[currentActuator] = actuatorPosition[currentActuator] * 10 + tmpValue;
                        valueCharCount++;
                    }
                    else break;
                }
               
                // if we've read the value delimiter, update the Actuator and start looking for the next Actuator name
                if (tmpValue == kEOL || valueCharCount == kMaxCharCount) {
     
                    #ifdef DEBUG           
                        Serial.print("read in ");           
                        Serial.println(actuatorPosition[currentActuator]);           
                    #endif
     
                    //if kPosAndNeg[i] == 0, then apply servo to only one side of a DOF (i.e -100 to 0 or 0 to 100)
                    if (kPosAndNeg[currentActuator] == 0)
                    {
                        //No -ve on G-seat : 90 = middle
                        if (actuatorPosition[currentActuator]<127)
                        {
                            actuatorPosition[currentActuator]=127;
                        }
                        // scale the new position
                        // Range is now 0 - 255
                        // Maps between min and max
                        actuatorPosition[currentActuator] = map(actuatorPosition[currentActuator], 127, 255, kActuatorScale[currentActuator][0], kActuatorScale[currentActuator][1]);
                    }
                    //else kPosAndNeg[i] == 1, so apply servo to full range of DOF (i.e. -100 to 100).
                    else 
                    {
                        actuatorPosition[currentActuator] = map(actuatorPosition[currentActuator], 0, 255, kActuatorScale[currentActuator][0], kActuatorScale[currentActuator][1]);
                    }
                   
                    #ifdef DEBUG           
                        Serial.print("scaled to ");           
                        Serial.println(actuatorPosition[currentActuator]);           
                    #endif
     
                    updateActuator(currentActuator);
                    currentState = psReadActuator;
                }
            }
        }
    }
    
    Just wanted to say thanks again to the community and to @volker metzger and @Banfy in particular for giving me the confidence that I could pull off something like this. Volker’s build caught my eye especially because it was labeled “ideal for beginners”, so I hope my thread similarly helps any office chair sim-racers looking to add some fun.

    Here is my complete parts list:

    Attached Files:

    • Like Like x 4
    • Friendly Friendly x 1
    • Creative Creative x 1
    Last edited: Nov 18, 2020
  2. Ads Master

    Ads Master

    Balance:
    Coins
    Ratings:
    +0 / 0 / -0
  3. Banfy

    Banfy FR/AU

    Joined:
    Jun 11, 2020
    Messages:
    79
    Location:
    Australia
    Balance:
    - 15Coins
    Ratings:
    +28 / 0 / -0
    My Motion Simulator:
    DC motor, Arduino
    Fantastic !
    Congrats on your build and totally in the spirit of mine, cheap, efficient, versatile
    cheers
  4. RacingMat

    RacingMat Well-Known Member Gold Contributor

    Joined:
    Feb 22, 2013
    Messages:
    2,094
    Location:
    Marseille - FRANCE
    Balance:
    19,092Coins
    Ratings:
    +1,974 / 20 / -2
    My Motion Simulator:
    2DOF, DC motor, Arduino
  5. Banfy

    Banfy FR/AU

    Joined:
    Jun 11, 2020
    Messages:
    79
    Location:
    Australia
    Balance:
    - 15Coins
    Ratings:
    +28 / 0 / -0
    My Motion Simulator:
    DC motor, Arduino
    So after a bit of use, how does the chair spin feel?
  6. Jumping Coin

    Jumping Coin New Member Gold Contributor

    Joined:
    Aug 7, 2020
    Messages:
    22
    Balance:
    77Coins
    Ratings:
    +11 / 0 / -0
    Hi Banfy!

    I'm really liking it so far. I actually changed it around a bit after watching how real sims employ traction control. Now I have the servo off-centered, and I moved the R/C cam-rod to the end of the servo arm, and then bolted it into the corner brace that is attached to the chair, rather than velcroing it around the brace. Then I just attach a nut to the bolt and it's ready to go. Previously there was a little too much slack in it causing a lack of precision. The current version is a bit more precise and spins the chair about 15 degrees in each direction. It's not perfect of course. Since the rotation of the chair is so tight, it feels more like a narrow go-kart than a full-sized car, but it scratches my itch for sliding sideways. To be honest, it probably hurts my lap times a bit because of the extra twisting, but my driving is pretty weak anyway. More importantly, it adds to the immersion, and it's fun to spin-out and do donuts. Recently, after a spirited ride, I noticed a little bit of metal dust accumulating where the bolt meets the corner brace, most likely from the friction between the grooves of the bolt and the corner brace. I've since covered the bolt with some electric tape, so hopefully that should fix it. I'm hoping to do a proper write-up for version 1.2 very soon.

    I also purchased some parts for version 1.3, lol. (I think I'm having even more fun trying to figure out how to add more immersion on the cheap than actually driving!)

    Gonna see if I can make a cheap surge device by adding a servo to the wheelstand to pull my chair about 2 inches forward. Without locking the caster wheels, the chair naturally slides backwards when you hit the pedals, so between the chair sliding back and then being pulled forward by the servo, I'm hoping to get a few inches of back and forth movement. Not sure how it'll turn out, but I'll keep you posted.
    • Like Like x 1
  7. Jumping Coin

    Jumping Coin New Member Gold Contributor

    Joined:
    Aug 7, 2020
    Messages:
    22
    Balance:
    77Coins
    Ratings:
    +11 / 0 / -0
  8. Banfy

    Banfy FR/AU

    Joined:
    Jun 11, 2020
    Messages:
    79
    Location:
    Australia
    Balance:
    - 15Coins
    Ratings:
    +28 / 0 / -0
    My Motion Simulator:
    DC motor, Arduino
    great , i will follow the improvements
    Have you thought about a gas exhaust and burnt tyre rubber smell simulator ? ;-)
  9. Jumping Coin

    Jumping Coin New Member Gold Contributor

    Joined:
    Aug 7, 2020
    Messages:
    22
    Balance:
    77Coins
    Ratings:
    +11 / 0 / -0
    :grin LOL! Now that would be true immersion! Can't say I've seen anyone pull that off yet...
  10. Jumping Coin

    Jumping Coin New Member Gold Contributor

    Joined:
    Aug 7, 2020
    Messages:
    22
    Balance:
    77Coins
    Ratings:
    +11 / 0 / -0
    Since I started, I might as well post the rest of version 1.2 build before I forget. So far the g-seat has been a blast, but after using it for a bit, I decided to add some upgrades.

    Originally I put the bladders under the Realteus pad, but that meant that the Realteus transducers would dig into my back, so I decided to attach the bladders directly to the top of Realteus pad with velcro. I also added a second air wedge bladder to each hinge, so now each servo activates two air wedges. Of course both air wedges share the same DOF, but this means that I can expand the placement of them.

    With eight air wedges at my disposal, I decided to dedicate each actuator to either sway or surge, rather than splitting it 50%-50% as I had done previously. I've also moved them around a bit. Here's the new placement:
    • One 11x5 inch bladder on the left side of the seat by the ribs (under a shortened pool noodle) and one 7x5 inch on the bottom of the side under my left thigh, which inflate for left turns
    • One 11x5 inch bladder on the right side of the seat by the ribs (under a shortened pool noodle) and one 7x5 inch on the bottom of the side under my right thigh, which inflate for right turns
    • Two 7x5 inch bladders on the back of the seat at the shoulders, which inflate on acceleration
    • One 11x5 inch bladder on the bottom of the seat and one 11x5 inch bladder on the pedal base under my heels to deflate for acceleration and inflate for braking
    upload_2020-11-18_0-25-2.png

    upload_2020-11-18_0-27-7.png

    upload_2020-11-18_0-42-59.png

    While the servos are all set to 100% sway or surge, I also have each servo set to an additional heave at 20% to 30%. Since that brings each actuator above 100%, there might be some clipping, but since heave is a small minority and just there to add a little randomness to simulate road surface, any clipping is barely noticed. I didn't realize how having heave adds to the realism; without it, the road just felt way too smooth. Placing a bladder near the pedals seemed like it would be a bad idea at first since I thought it might interfere with pedal use, but surprisingly it works really well as long as it was under my heels and not the arches of the feet. In fact, sometimes when I finish racing for the night, I get the same sensation as when I step off of a boat after a long ride; it takes a minute to get my land legs back.

    upload_2020-11-18_0-30-41.png

    upload_2020-11-18_0-30-59.png

    I also updated the code in my previous post above to make it easier for newcomers and also so that you can easily configure whether an actuator will only respond to one direction of force (i.e. 0 to 100 or 0 to -100) or else span the entire -100 to +100. The 2 servos devoted to sway and the 1 servo devoted to acceleration for the shoulders all operate on just one side of the DOF, i.e. they stay deflated until activated. Otherwise having constant pressure is a bit uncomfortable. However, for surge, the seat bottom and pedal bladder start at halfway, and inflate more for braking and deflate for acceleration. In this way you feel both the acceleration and braking in the feet, which really helps with the immersion.

    As for the office chair spin, I decided to devote it strictly to traction control. As mentioned above, my original approach caused the office chair spin that include some unwanted slack in it, but after looking at other traction control systems, I moved the servo off center and screwed a bolt into the seat connector. I recently noticed that the friction of the bolt and the seat connector was causing a little bit of metal dust particles to collect. To prevent this, I decided to wrap the bolt in electric tape so that the grooves wouldn't rub as much, and I think that did the trick.

    upload_2020-11-18_0-17-17.png



    I also added a cheap $20 four-point seat belt to the chair, which helps increase the realism by holding me back against the feel of the air bladders. However, it gets in the way of the Realteus pad, so I may have to fab something up.

    Next steps for version 1.3 (waiting on parts from Ebay and Amazon):
    1) Add servo to the wheel stand to pull the chair forward for surge
    2) Add servo seat belt tensioner
    3) Move to bucket-seat office gaming chair
    4) Wrap the air wedges with black spandex fabric to make them look like pillows and blend them into the chair

    Even though it only take about 3 minutes to set up the chair on the pad and hook everything up, it still is a bit tedious to hook up every day, especially if I only have a few minutes for a quick ride and then return to daddy duty, so I plan to set up a dedicated desk with a bucket gaming chair style. Kinda defeats the portability aspect a bit, but still I like that office chairs provide an easy and cheap hack for motion.

    To be continued in version 1.3...

    Attached Files:

    • Useful Useful x 1
  11. Banfy

    Banfy FR/AU

    Joined:
    Jun 11, 2020
    Messages:
    79
    Location:
    Australia
    Balance:
    - 15Coins
    Ratings:
    +28 / 0 / -0
    My Motion Simulator:
    DC motor, Arduino
    interesting idea, the wedge under the feet ;-)
    i might try this
    • Agree Agree x 1
  12. RacingMat

    RacingMat Well-Known Member Gold Contributor

    Joined:
    Feb 22, 2013
    Messages:
    2,094
    Location:
    Marseille - FRANCE
    Balance:
    19,092Coins
    Ratings:
    +1,974 / 20 / -2
    My Motion Simulator:
    2DOF, DC motor, Arduino
    great detailed post above!

    I watched the video: unfortunately there is still a lot of slack. This reduces the range of the actuator and induces a loss of precision in the movement.
    I'd advice you to look at this system "Turnbuckle Jaw" or "Rigging Screw"
    upload_2020-11-18_11-0-16.png
    here is a link: https://www.aliexpress.com/item/4000549880116.html
    Last edited: Nov 18, 2020
  13. Jumping Coin

    Jumping Coin New Member Gold Contributor

    Joined:
    Aug 7, 2020
    Messages:
    22
    Balance:
    77Coins
    Ratings:
    +11 / 0 / -0
    Thanks for the advice and the link, @RacingMat ! Yep, there's still plenty of room (dare I say slack? lol) for improvement, and this will surely help. Thanks again!
    • Like Like x 1