Feasibility of pair of Arduino Uno Wifi Rev 2 as VR controllers

I have a pair of Uno Wifi rev 2's and I was wondering if it's feasible to make a basic VR controller with them, and what would be required.
I'm not looking to replace "real" VR controllers, just do this as an experiment.
What I'm thinking of is to use the built in IMU for rotation, but I don't know about the best way for position data (maybe cameras and LED lights?). I'm ok with just sticking to rotation if there isn't a great solution.
I'm willing to write software on the computer to handle the information and send it to SteamVR or something. I don't have long enough USB cables so I'll have to use Wifi or Bluetooth, which I know isn't the best, but again I'm just doing this for fun.
Any thoughts?

I like the concept honestly, I think it would be a fun experiment. For tracking you could do something similar to the, I think it is, PSVR controllers where there have a large ball on the front, that would make it easy for even low end cameras to see. I am not sure about what tracking software to use for the tracking itself though. Also do you have a way to make a makeshift grip to hold the device? holding a board can cause risk of damage to it. And are you planning on just doing motion tests or do you plan on adding a joystick, buttons, all the jazz?

So the motion is tracked using lights and a camera?
I'm just planning to do motion testing for now and add buttons later.
i could just use cardboard + tape for now for the enclosure, maybe 3d print something later

That's the most basic form of tracking, but yes, it would be similar to a 3d software placing in 3d models in videos. You just need to give the software something to track. Now if you want to do more advanced rotations such is tilting side to side that would need more set up, but a basic tracker should suffice for initial tests.

VR processing requirements will outpace your hardware very quickly. There is a lot to be done and MCUs are not that powerful

I don't think you would need that much processing power. You would just be sending rotation data (just 3 or 4 floating point numbers) over serial or wifi or whatever and then the computer would do the work. I've started writing a Steam VR driver to handle the serial data. As for position tracking, it would be just an LED attached to the Arduino. The computer would handle the cameras and the tracking.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.