Skip to content

Device that brings tactile feelings of VR head pats using mechanical force applied by brushes

License

Notifications You must be signed in to change notification settings

Mercuso/headpat-vr

Repository files navigation

HeadpatVR

Youtube overview

headpat-vr video

Device that brings tactile feelings of VR head pats using mechanical force applied by brushes

Warning

This project is in the development phase. The types of peripherial parts (fasteners, springs, printable parts) can be changed for further improvements

Introduction

Feel VR head pats in real life!
This device monitors hand collisions with a head in VRChat the sensation of cuddles on a head in real life using brushes controlled by servo motors
The current fastening system is compatible only with BOBOVR M2/M3 head straps for Meta Quest 2 and 3. However, there are plans to develop a universal solution for the most common head straps in the future

Inspired by a similar project that uses vibrating motors
Why another version? I found vibrations on a head too unpleasant and decided to try to reproduce head pats in another way

Project parts

Desktop application

This repository includes only the application that should be launched on the PC alongside VRChat. The server application communicates with VRChat application using the OSC protocol (you can find more details about VRChat OSC here)
It has UI implemented as a webpage, which opens automatically when the application is launched. The UI helps track the device's status, monitor the current intensity level on each side, and send test signals

Firmware

The source code is available here
The code is written based on Arduino framework

Hardware

  • 2 servo motors
  • ESP-WROOM-32 38pin board
  • esp-32 expansion board
  • fasteners
  • silicone brushes
  • mount system for the motors
  • mount system for esp-32 expansion board
  • power supply

The detailed list of parts with description can be found here

Setup

Firmware

The documentation and source code of the firmware can be found here You need PlatformIO IDE to compile and upload it to your esp32-based board

Hardware

Since there are only 3 electronic components, the wiring is simple
wiring

You can use a regular power bank as a power supply by connecting it to the expansion board. Make sure that the board jumper is in the right position (in the 5V position)
This is the minimal device setup to do basic tests

The motors with brushes and the board should be mounted on the VR headset with the help of additional printable plastic parts
The latest assembly instructions can be found here:

Desktop application

The latets binary file can be downloaded from the Releases section Alternatively, you can build it locally. Download repository, install Python and execute the build.bat file. The executable file will be located in the dist folder

Preparing VRChat avatar

Follow the instructions described in the Patstrap project documentation's VRChat section:
https://github.com/danielfvm/Patstrap?tab=readme-ov-file#vrchat

Settings in VRChat

Enable OSC support in VRChat