HoverComb

A tile swarm VR treadmill prototype

Last Updated on July 04, 2025

A high-quality VR treadmill system should be possible if one is willing to compromise on cost and size. Most VR treadmill designs suffer from large anomalous acceleration issues since the active area is typically fairly small. The assumption is that a seamless experience can be achieved when the anomalous acceleration can be limited to gradual changes and small absolute values.

The proposed system will be made up of a swarm of independent, battery-powered hexagonal platforms, each driven by three omnidirectional wheel modules.

Platform Tile
platform layout flipped upside down with three wheel modules
Wheel Module
model of the steerable wheel module

The wheel is geared so that it rolls around the pivot point as the steering angle changes. This arrangement also balances the torque from the drive motor such that it is not transferred to the steering motor. Thus, the wheel can be steered and driven independently with fixed motors.

Wheel Rotation Test Code

#define EN_PIN 4
#define STEP_PIN 5
#define DIR_PIN 6

bool direction = false;

void setup()
{
  pinMode(EN_PIN, OUTPUT);
  pinMode(STEP_PIN, OUTPUT);
  pinMode(DIR_PIN, OUTPUT);

  analogWriteFrequency(STEP_PIN, 3000);
  analogWrite(STEP_PIN, 128);
  
  digitalWrite(DIR_PIN, LOW);
  digitalWrite(EN_PIN, LOW);  // Enable driver (active LOW)
  
  Serial.begin(115200);
}

void loop()
{
  // Change direction every 10 seconds
  static unsigned long lastDirChange = 0;
  if (millis() - lastDirChange >= 10000)
  {
    direction = !direction;
    digitalWrite(DIR_PIN, direction);
    Serial.println(direction ? "Direction: CW" : "Direction: CCW");
    lastDirChange = millis();
  }
}
                    

More to come...