Controller Input Adapter

Enables the PS4 controller to be used in computer Virtual Reality system - SteamVR, HTC VIVE and Valve Index

Similar projects worth following
Problem to solve:
- High cost barrier to entry for virtual reality systems.
- Reduce environmental impact during transition from PS4 to Virtual Reality.
- Some people want to play console games in a Virtual setting.
Enable a PS4 controller to be used in Virtual Reality by simply attaching this adapter, this should reduce cost and environmental impact during the transition from PS4 to Virtual Reality.
All source code is attached in the
The driver is available in Driver.Zip (includes a ReadMe)
Licenses and Permissions:
Tundra Labs: Provided HDK-Generic code (.C and .H file) - Free educational use
SteamVR Tracking HDK: A free software developer kit which allows hobbyist's free use but limits the publishing of information regarding the use.
Logitech Pen Driver: I used the driver files to learn how to create a driver
Arduino PS4 Input Library

The original project details written on 5/23/2020

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. 


CIA Model, unable to convert to .stl at the moment

fusion - 131.87 kB - 07/24/2022 at 22:12



The PS4 is attached to the CIA and outputs the data on SteamVR SDK's "lighthouse_console.exe"

MPEG-4 Video - 45.35 MB - 07/24/2022 at 15:13


Tracking Demonstration.mp4

The CIA tracks in Virtual Reality while connected directly to the computer.

MPEG-4 Video - 18.10 MB - 07/24/2022 at 15:13


The Arduino code

x-zip-compressed - 7.24 kB - 07/24/2022 at 15:12


The driver of the controller

x-zip-compressed - 587.79 kB - 07/24/2022 at 15:11


  • 1 × Arduino Zero Programmed to read PS4 data and deliver the info to the Tundra Labs HDK
  • 1 × Tundra Labs HDK The HDK TL4486D-GP-HDK is easily programmed using the SteamVR SDK. This devices takes the Arduino Zero data, adds the tracking capability and sends the info to the computer.
  • 1 × PS4 (DUALSHOCK 4) Controller We used a Dualshock controller due to lower costs, but PS4 controller will have same data outputs.
  • 1 × SteamVR Tracking HDK While called HDK, it's a software. Used to generate/test optical sensor placement, tracking, calibration and more.
  • 1 × HTC VIVE or Valve Index Both were used for testing purposes - either work since they both use SteamVR

View all 10 components

View all 8 instructions

Enjoy this project?



Similar Projects

Does this project spark your interest?

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