Game locomotion system based on microcontroller connected to sensors.

This project is about creating an arduino based locomotion system for gaming. The scope is to use a microcontroller like a teensy connected to pressure sensors and accelerometers and flexing sensors for achieving locomotion in games. It is possible to create custom shoes that have 2 pressure sensors and 1 accelerometer per foot. In game forward movements are achieved through the accelerometers; while in game lateral movements and backwards movements are achieved with the use of pressure sensors. An accelerometer is also used at the chest for moving the joystick in any direction and jumping in games, and flexing sensors worn at the knees are used for crouching.

The system can:

- emulate a gamepad in Microsoft Windows

- work in steamvr via dedicated openvr driver

- also be connected to any controller that uses joystick, by using an arduino digishield and phisically wiring the digishield to controllers like quest controllers, knuckles controllers, ps5/ps4/xbox controllers. This method allows direct control over game controllers but requires soldering skills and controller disassembling skills

What is needed:

  1. Four pressure sensors
  2. Three accelerometers
  3. Two flexing sensors
  4. One Arduino Digishield (if choosing to connect this system to controllers via physical wires). 
  5. Pair of shoes to mount the sensors on. 
  6. Teensy microcontroller with i2c dual channel (ie: teensy 4.0)
  7. Two DSD TECH HC-05 Bluetooth Serial Pass-through Module Wireless Serial Communication with Button for Arduino (for wireless connectivity to PC)
  8. One DSD TECH USB to TTL Serial Adapter with FTDI FT232RL Chip (for wireless connectivity to PC)


This is the schematic of the teensy 4.0 based locomotion system

It consists of

  • 2 accelerometers for the feet (1 at each foot)
  • 1 accelerometer for the chest
  • 4 pressing sensors at the feet (2 for each foot)
  • 2 flexing sensors to wear at the knees (1 at each knee)
  • bluetooth module for wireless communication to PC for steamvr /openvr injection

Bluetooth connectivity on PC for PC-teensy communication

-Bluetooth module

This is instead the custom gamepad (xinput) based on a teensy 3.2 , with integrated the locomotion system based on the teensy 4.0

  • Wired communication between the teensy 4.0 and the teensy 3.2
  • wireless communication between the teensy 4.0 and the teensy 3.2
  • The teensy 3.2 communicates to the PC via a wireless minirouter using the method below used for making the Hardlight vest wireless

Addeded below quick text tutorial on how to make Hardlight VR suit Wireless:
Physical equipment needed
Mini USB Powered Router:
Battery Pack: (any battery pack with 1 USB for mini router, and 1 AC plug for suit will work)
You may want a shorter USB Cable like this one:
Velcro straps, pouch or some method of attaching the battery pack, mini router and cables to the HardLight Suit
Install and test the Hardlight VR suit via wired to confirm everything is working.
Software needed
Download VirtualHere “Server” This is the image you will be installing on the mini router
Download VirtualHere “Client” (this is for the 64bit version of Windows) and install it
Setup Mini Router: (please familiarize yourself with the mini router docs that came with the mini router, or are available here:
Plug in and power up mini router
Connect to the mini router via Wi-Fi or LAN
For Wi-Fi:
Find Wi-Fi with SSID “GL-XXXXX-xxx”
Password is goodlife (SSID and password also on bottom of router)
For LAN: Just plug into LAN Port on Router
Once connected to mini router
Connect to with browser to setup router
Update the firmware on mini router by going to Firmware then Upload...

Read more »