The opening of pre-orders for the HTC Vive and Oculus Rift virtual reality headsets has the world all a-flutter about the possibilities of VR, but with one major catch: it's all very, very expensive. The VR headsets themselves cost around £700 plus anything from £600 upwards for a PC powerful enough to drive them. It's no surprise, then, to find enterprising makers looking at the cheaper end of the market with projects like Google Cardboard, which uses an Android smartphone inserted into a low-cost head-mounted rig in place of an expensive dedicated headset.
Matthew Hallberg's latest project takes Google Cardboard and builds a dedicated peripheral: a virtual reality skateboard, with the wheels cleverly replaced with tennis balls and an Arduino to sense the rider's movements. Linked to a smartphone inserted into a Google Cardboard or compatible headset, Matthew's creation allows the player to control a simple first-person skateboarding game - though, as Matthew modestly jokes, "this is my first Unity Game. It is terrible."
Using a real skateboard as the basis, the project uses an Arduino Leonardo, Uno, or compatible, a HC-06 Bluetooth module for communication with the smartphone, and an MPU-6050 accelerometer and gyroscope device to track the user's movements. For those who prefer fewer wires it would be possible to replicate his creation using the new Genuino 101, which includes an integrated accelerometer and Bluetooth radio as part of Intel's Curie module.
This isn't the first Arduino-powered virtual reality controller we've covered: early last year Katsuomi Kobayashi demonstrated his table-flipping simulator which was designed to replicate the Japanese idiom of chabudai gaeshi, literally flipping the tea-table in anger and known in chatrooms the world over through the emoticon string (ノ`Д)ノ彡┻━┻, without the usual mess. Matthew gets bonus points, though, for publishing a detailed tutorial on the project over on Instructables.
This is a really fun and easy project that can be done in about an hour. On the bottom of the skateboard is an accelerometer/gyro with an Arduino board that transmits the angular motion of the board via bluetooth to a little virtual reality game I made for Android phones. So, when you turn on your Arduino and the bluetooth connects with your phone, you start moving forward. Lean left and you go left, lean right and you go right. Lift up the front wheels and your character will jump.