Recreating a Derby Arcade Game Using Historical Strava Running Data
The arcade classic 'derby' has been re-imagined to use human figurines and actual running data to determine the winner.
The source of inspiration
In a previous project for element14 Presents, host Lorraine Underwood built her own air hockey table- complete with automatic scoring and a powerful fan for lifting the puck. Drawing on the nostalgia from her time playing arcade games, she thought of the derby game wherein players bet on horses and watch as they race towards the end of the track, with the fastest one being crowned the winner. Except in her version, she would replace the horse figurines with 2D runners and tie their distance to how far a person has actually run in a set amount of time, essentially creating a physical representation of a virtual race in the fitness app Strava.
Designing a moving a track
To add support for a total of four players, her system would need a way to accommodate each runner while allowing them to glide across a track. The eventual solution was to construct a series of four belts that are driven by a motor attached to a pulley. Spinning the motor in one of two directions, therefore, would drag the figure on top either closer or further away from the finish line. At the start of the track is a micro switch which tells the microcontroller when the racer has returned to the beginning.
Assembling the board
Nearly every part of the open-faced box was laser cut from sheets of thin acrylic, after which they were assembled together by aligning the pegs on one side to the slots on the base plate. At each end of the track are two motor assemblies that were built using a geared DC motor, an encoder, and a pair of 3D printed pulleys for moving the timing belt. Micro switches in front of the pulleys activate whenever the runner above bumps into them.
Making the motors move
Driving the four motors is a single quad-motor shield based on a couple of TB6612FNG ICs that simply take a direction and speed signals to deliver power to DC motors. In order to get positional data, an encoder on each motor's output shaft sends an interrupt signal to a Wi-Fi-enabled Arduino Uno board so it can record how many rotations have been completed.
The race
When the Arduino Uno boots, it begins by using a Strava API key, integrated within a Strava API Application, that grabs running statistics from up to three other runners' accounts and delivers the data to the Uno. After doing this, the distance in kilometers is mapped to the 30cm of physical track and each runner gets moved accordingly via the DC motor and belt underneath. All-in-all, Underwood's derby-inspired racing project is a great way to compare how you stack up against friends and family, and with a little encouragement, can be a powerful motivator to keep on running. For more information about this project, you can watch its video here on YouTube.