Skip to content

Repository for the IEEE VR 2025 Poster - "Dynamic and Modular Thermal Feedback for Interactive 6DoF VR: Implementation and Evaluation"

License

Notifications You must be signed in to change notification settings

liris-xr/6dof-vr-thermal-feedback

Repository files navigation

6dof-vr-thermal-feedback

Repository for the IEEE VR 2025 Poster - Dynamic and Modular Thermal Feedback for Interactive 6DoF VR: Implementation and Evaluation

Sophie Villenave, Pierre Raimbaud, Guillaume Lavoué

Overview

Creating ambient thermal feedback for VR experience is a challenge, and while numerous solutions in the litterature exist to provide thermal sensation, they are often very complex and under-documented. As this makes replication tedious, we propose a simple and tried system, that uses infrared lamps and fans, which can be easily controlled and is proven to provide quality thermal sensation while in VR, which is shown to enhance user quality of experience, and can also be crucial to specific applications. This repository hosts the Unity package we developed to control our thermal feedback system from a VR application. It also contains the technical documentation required to replicate the system as it is presented in the poster.

Thermal Feedback System

Hardware Shopping List

Arduino DMX Controller

Requirements

  • Arduino Mega. Other arduino models won't work because the DMX shield uses the RX and TX ports of the board.
  • DMX Shield
  • USB-B Cable
  • Arduino IDE (download from Arduino's official site)

Flashing Firmware

  1. Connect your Arduino

    • Plug in the Arduino via USB.
    • Open Arduino IDE.
  2. Select the Correct Board & Port

    • Use the dropdown to select the connected Arduino Mega.
  3. Install Required Libraries

    • Open SketchInclude LibraryManage Libraries...
    • Install DMXSerial
  4. Modify DMX Serial to use RX/TX 1 To free Serial Port 0 for USB connection with the computer, you need to change the port used by the DMX shield. To do so, enable the definitions for Serial Port 1 in the DMXSerial library file src\DMXSerial_avr.h by uncommenting the following line:

#define DMX_USE_PORT1
  1. Upload the Firmware

    • Open the provided firmware .ino file. It is available in the Samples folder of the Unity Package.
    • Click Verify (✔) to compile the code.
    • Click Upload (→) to flash the firmware onto the Arduino.
  2. Confirm Installation

    • Open ToolsSerial Monitor.
    • Set the baud rate to 115200 (or as specified).
    • If you see "DMX" in the monitor, the firmware is successfully installed.

Wiring

Plug DMX Shield on the Arduino board using the stack connectors except for the RX/TX pins. Connect the DMX Shield RX/TX pins to the Serial Port 1 RX/TX pins on the Arduino board using 2 F/F jumper wires.

Unity Package

Prerequisites

This package requires Unity to be configured with the .NET Framework because it relies on System.IO.Ports for Serial Port communication with the DMX controller.

Enable .NET Framework in your Unity Project

  1. Open EditProject SettingsPlayer.
  2. Under the Other Settings section, find API Compatibility Level.
  3. Set it to .NET Framework.
  4. Restart Unity for the changes to take effect.

Installing via Unity Package Manager (UPM)

  1. Open your Unity project.

  2. Navigate to WindowPackage Manager.

  3. Click on the + button (top-left) and select Add package from git URL....

  4. Enter the repository Git URL:

    https://github.com/liris-xr/6dof-vr-thermal-feedback.git
    
  5. Click Add and wait for Unity to download and install the package.

  6. Once installed, import the package's samples in your project.

Usage

TBD

Troubleshooting

Common Issues

  1. System.IO.Ports Namespace Missing
    • Ensure .NET Framework is enabled in Player Settings.

License

GPL v3

Citation

TBD

About

Repository for the IEEE VR 2025 Poster - "Dynamic and Modular Thermal Feedback for Interactive 6DoF VR: Implementation and Evaluation"

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published