Set Up a Gametrak for Music

Series: alt.ctrl activities; builds on Gametrak

The Gametrak is a game controller with two retractable tethers. Each tether's reel turns a potentiometer that measures how far it is pulled out, and each tether leaves through the knob of a small joystick that measures its two angles: three readings per tether, six in all, plus a plug-in footswitch.

Its electronics can speak USB HID to computers, a USB protocol for the PlayStation 2, or Xbox; solder pads under its circuit board choose which. Max/MSP, Pd and other music software read the HID version directly.

The Gametrak: a black base with two tether outlets on top and its cables, with a plug-in footswitch beside it.
The Gametrak and its footswitch, from the SMC 2009 paper.

Materials

ItemAmazoneBay
A Gametrak controller (originally sold with two gloves and a footswitch)search
A computer with Max/MSP or Pd

Tools

  • Screwdriver
  • Soldering iron
  • A razor blade, only if the pads are coated

Skills

  • Soldering
  • Reading HID devices in Max/MSP or Pd

Instructions

  1. Remove the screws in the Gametrak's base and lift off its top.
  2. Unscrew the circuit board from the top of its reel and lift it gently. The solder pads that choose its output are on its underside: Devin McCutchen's unit (see Related resources) has pads labelled PC and XBOX.
  3. For a computer, the PC pads must be joined: remove the solder from the other pads, and join the PC pads with a dab of solder. If the PC pads are covered by a thin coat, scrape it off first without touching the rest of the board.
  4. Plug the Gametrak into the computer and check that it sends numbers, for example with the HI Device Tester in Max/MSP, as the Instructable does.
  5. Identify the readings: for each tether, its two joystick angles and how far it is pulled out; and the footswitch.
  6. Pass the readings on as Open Sound Control (OSC) messages, so that other programs and computers can use them.

Variations

Related resources

Coding Prompt Build Block

A prompt to give a coding assistant, to start the code for this activity. Copy the box, answer its questions about your board and pins, and test what comes back on the bench before you rely on it.

I am building "Set Up a Gametrak for Music", the activity at https://adrianfreed.com/gametrak-setup.html.

Write a Max or Pd patch, or a program, that reads a Gametrak: a USB HID game controller with two tethers, with three readings per tether (its two joystick angles and how far it is pulled out) and a footswitch. First list the device's HID elements and their ranges, then name the six axes left and right x, y and z, and the footswitch.

Pass the readings on as OSC messages over UDP, with an address for each, such as /left/x, so that other programs and computers can use them.

Libraries to explore:

Before writing anything, ask me what I am using: the board and its pins, or the software (such as Max, Pd or Python), and check its documentation for what this needs. Put the pin numbers, ranges and other settings in one block at the top, each with a comment. Say which of the libraries above you use, and why. Start with a test that shows the raw readings, so that I can check the wiring and the ranges before the rest.

This activity by Adrian Freed is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0): you may share and adapt it with attribution, for non-commercial purposes such as personal projects and teaching, and you must share adaptations under the same licence. Product names and links belong to their suppliers.

Design strategies: