Custom made locomotion system through hardware modification of gamepads and vr controllers using arduino and sensors

So u have no issue with the Xinput Arduino . It works great for any pc game. It would just not work for a console game.Correct?

This links you sent me helps a lot too.

I think though my question was pointless. I meant that some games needs a joystick to move in game. Some others need a thumbpad to move in game. But in the case of a vive controller, there is only a thumbpad that we transform in joystick through the arduino due. So no matter the game, in the case of a use of a vive controller or a vive tracker emulating a vive controller, the movements are only dicated by a joystick replacing a thumbpad

What is the usb microcontroller used for ?

For my vive tracker the usb seems working fine. I am lost on this part :frowning:

2 Likes

Do you guys know how to get into the Input debugger in SteamVR Controller bindings ?

1 Like

@MarcoBalletta - Yes, the Xinput Arduino only works on Windows, I figured with the head tracking you were using your setup was for pc games.

The ‘usb microcontroller’ is just the generic term for Arduino.

Have you tried the VR controller emulation in Driver4VR?

My previous setup based on captosensors was 1st for only console (including psvr)) and pc games and vr games that were using gamepad

The above was for ps4 game in quest, using virtual desktop.

Then, about 1-2 months ago, I have asked driver4vr to make for me a custom made driver4vr driver that allows me to map each single button of a oculus controller and a valve index controller, including thumbpad and joystick, to keyboard strokes. So I can now control any streamvr game with keyboard. That allows me to use the custom made locomotion system I made based on captosensors, in steamvr.

I can do the same with the new locomotion system I made, based on arduino.

I am just experimenting different ways/different custom made devices, to reach the same goal.

The custom made locomotion system I made based on captosensors, has limitations in console games , because I can only distinguish between walkig and running , after I click a button, because I have to use a cronusmax script for that to happen otherwise I would only run or only walk in console games.

The new arduino based method instead , by controling directly the ps or xbox controller, allows me to walk slow or run, without any software limitation created by cronusmax.

The new arduno based locomotion system, would alsoo work with driver4vr driver that I have. I just have to map a controller , to keyboard and then use my version of driver4vr to map a vr controller.

Captogloves/captosensors, seems that they have now a vr driver as driver4vr to do the same. I have got the driver but not tested it yet.

2 Likes

@g-coded Good news.

It is possible to make a custom vive controller using a vive tracker and changing the vive trackr to vive controller.Then it is possible to use the arduino due and some mix of this circuit

https://github.com/matzman666/VR-Rifle-Blueprints/blob/master/Electronics/WiringDiagram_v0.1.png

and the use of pogo pins, to control the joystick and the different buttons usually used with a vive tracker.

image

Pins

  • 2 – Ground
  • 3 – Grip
  • 4 – Trigger
  • 5 – Trackpad
  • 6 – Menu Button

Then, using my method, we can control the joystick of this vive tracker controller and hence use my idea of locomotion system in vr gaming that use the vive controller pad for locomotion .

https://streamable.com/mbqun

3 Likes

So is your tracker hooked to the arduino with only the usb? You mention the pogo pins, but these wouldn’t be needed when using the arduino.

1 Like

The arduino code I have found from the vr riffle have issue with the trigger, so the trigger has to go through the pogo pin. If we get a proper working code for the arduino due and the vive tracker, than we do not need to use the pogo pins. The arduijo due in theory is only neede for the joystick. The other functions of the vive tracker are in the pogo pins too and actually I think that vibration is only on the pogo pins, but I am not 100% sure

2 Likes

This is correct, there is no vibration feedback using the Arduino. The trigger pin on the tracker would be digital(Arduino could be analog), not that you ‘need’ an analog trigger.

3 Likes

Maybe I have the trigger wired wrong on the arduino. It has to be through the poetentiometer, correct ? That is why probably I was having issue. The thing is that in the code of the riffle the pins are all different now

d5 or d1 = press of joystick

a1 and a2 = axes of joystick

grip = d9

menu = d10

system = d11

What can we use to make the vibration on the custom vive controller?

2 Likes

I remember coming across a diagram that had the pinouts labeled wrong, but I don’t know which was right at this point, so this could be the reason.

Depending on the code, I know there is both an analog and button for the trigger.

You could use small vibration motors(cell phone size), I’m not sure what the mA output is, but you could use relays to control something bigger if needed.

3 Likes

video testing hopefully soon

2 Likes

Work in progress

the video is of the data going from the arduino mega that I am using for locomotion using accelerometers and pressure sensors, to the arduino due used for making a vive tracker custom controller by matzman666

4 Likes

The custom locomotion system for the custom vive controller is ready :slight_smile:

If anyone is interested to test, you can make your own vive custom controller using a vive tracker set in controller mode . and then you can control the track-pad of the custom vive controller with an arduino based locomotion system.

I will post video test later

2 Likes

Awesome Marco! Congrats! :beers::sunglasses::+1::sparkles:

2 Likes

Thanks!

Next is hopefully to be able to add crouch and jumping also with legs movements though the accelerometers. Working on it hopefully this week/weekend.

Also i will be adding the joystick pressure to the code that we can switch on and off when running/moving the accelerometers fast, to be used for those games (like “the walking dead”) where to sprint we click the joystick button while we move the joystick in the direction we want to move in game.

2 Likes

Impressive achievements! Keep up the good work. :beers::sunglasses::+1::sparkles:

1 Like

Working also on replacing the joystick of the oculis quest , with the arduino based locomotion system.
Pratically , with oculus quest (without the link connection) we could walk and run and strafing and go backwards , using the custom locomotion system , instead of a joystick

3 Likes

We have done progress for who is curious :smiley:

We can use arduino based custom locomotion on all these devices :slight_smile:

  1. Arduino custom locomotion on Valve knuckles

  1. Arduino custom locomotion on console 's gamepads

  1. Arduino custom locomotion on arduino xinput controller

  1. Arduino custom locomotion on oculus quest controller and rift s controllers

  1. Arduino custom locomotion on custom vive controllers

Pressing of the joystick is also working

2 Likes

That is very impressive Marco!

2 Likes

Thanks!

We were able to remove the servomotors, so now everything works through digipots and we can also arcivate joystick press and double press and release when running, to actuvate in game running or movomg joystick while keeping joystick pressed etc.

1 Like