Controller Input Adapter

A adapter for the ps4 controller that allows the controller to be used in Virtual Reality system - HTC Vive and Valve Index.

Similar projects worth following
A DIY virtual reality controller with multiple types of inputs and trackable in VR.


The idea is to take the Tundra Labs HDK and create a controller that works in virtual reality (with the HTC VIVE/ valve index).

Items needed for project :


- SteamVR Tracking HDK

- TundraLabs Reference design HDK

- Arduino Zero

- PS4 Controller

- Tracking item (3d printed model that fits the PS4 Controller)

The idea is take the ps4 controller and connect it to the Arduino zero. The Arduino zero takes inputs and sends them to the Tundra Labs HDK over spi. The Tundra Labs HDK takes that info and sends it to the computer. In addition the Tundra Labs HDK comes with optical sensors which will be glued onto the controller to enable tracking in virtual reality. 

The SteamVR Tracking HDK will be used to generate files for the tracking. The sensors will need to be tested, then using the file generated from the SteamVR HDK, sensors will be placed in specific places on the controller. The SteamVR Tracking HDK - IMU calibration will be used to calibration motion. Then the sensor calibration will be done. all this data will need to be stored on a "Json" file which will be uploaded and stored on the Tundra Labs HDK. 


Will continue updating as project continues.


The optical sensors are calibrated and object now tracks in Virtual Reality!

MPEG-4 Video - 18.10 MB - 09/25/2020 at 16:33



Demonstrate controller and Arduino Zero working with the SteamVR HDK.

MPEG-4 Video - 45.35 MB - 05/22/2020 at 22:46


  • 1 × Arduino Zero The arduino zero was used to program and read data from the PS4 Controller.
  • 1 × Tundra-Labs Reference design The HDK from Tundra-Labs TL448K6D-GP-HDK, is the part with the optical sensors. It is the SPI master and takes SPI Slave from the arduino. Also packs in the sensor data to send over Bluetooth
  • 1 × PS4 Controller Just the regular PS4 Controller. Bought from Walmart.
  • 1 × SteamVR SDK/HDK SteamVR was used extensivly to create JSON files, upload/download configs, calibrate the reference design and more.
  • 1 × HTC VIVE/VALVE INDEX In the testing of the CIA, we used HTC VIVE and the Valve Index, depending what was available.

  • September 25th 2020 log

    Zeke B09/25/2020 at 16:43 0 comments


    As you know, the SteamVR controller is made up of four components: The tracker, the ps4 controller, the Arduino zero and the Tundra Labs/SteamVR HDK. 

    The tracker is now tracking in Virtual Reality!!

    The Arduino Zero had been working as seen in the "TrimTrim" video. However, there was an update to Arduino and I uploaded a new version of the code and now it doesn't work :).

    The steamvr software is almost complete. I've built a render model, created a driver for the controller and a json file. 

    At this point arduino is being anoying, so I'm considering just tossing out the ps4 controller and code a few buttons which will be glued on the tracker. This option would be quick and dirty but the project would be closer to being finished. 

    The steamvr software: well honestly it's technically done, but the json file is not on the hdk because of the arduino code issue. So once the arduino can talk nicely to the tracker, we can upload a nice render model. 

View project log

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates