SteamVR Controller

I am building a SteamVR Controller using simple components and mostly Arduino Coding.

Public Chat
Similar projects worth following
A DIY virtual reality controller with multiple types of inputs and trackable in VR. Idea came when Tundra Labs posted their HDK(TL448K6D-VR). I think the HDK has the hardware and software mostly done, I've just got to code the inputs on arduino and transfer that data constantly to the HDK.


The project is almost complete! 

I've uploaded multiple files today. The is code for Arduino which consists of CIA.ino, hdk_generic_data.cpp and hdk_generic_data.h. Please note: the 3 files all need to be in a folder named "CIA" for the Arduino IDE to compile the CIA.ino.

The Arduino Code needs more work and I'll upload a new update when the code is improved.

Right now the PS4 Controller joysticks translate to the lighthouse console as raw data inputs. This is demonstrated in the short video named "ControllerCodeTest_Trim_Trim_Trim.mp4". All the buttons on the controller should be sending data when they are pushed.

Also uploaded today is the 3D model that will be glued to the controller. 

Now one final note. In the video the Arduino zero has jumper wires connected to a green pcb/breakout board. That Tundra-Labs HDK has that flappy thingymagic and the green pcb just gives a pin version for the io/o.

Arduino Code, requires additional libraries, see comments in code.

x-zip-compressed - 7.24 kB - 07/01/2020 at 16:49



3D model, attaches under controller and will have optical sensors placed on the horns.

Standard Tesselated Geometry - 1.25 MB - 05/23/2020 at 09:29



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.

  • Arduino Code update

    Zeke B07/01/2020 at 20:55 0 comments


    Compressed arduino files into "CIA.ZIP"

    The next part of the project is creating a SteamVR Driver. If you or someone you know can help, feel free to reach out. 

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