TactBall, a multipurpose percussive 3D MIDI-Controller

The TactBall is a Human-Computer-Interface designed to control live performances (music / video / light /…).

About this Document


Michael Egger
[ a n y m a ]
Route de la Fonderie 8c
1700 Fribourg
me (at) anyma.ch
+41 79 278 31 39


Version 1.0
– Last modified: 17.06.2004


© 2004 Michael Egger


The TactBall – project is maintained by [ a n y m a ].
For latest sources, documentation, feedback etc. visit


The TactBall is a Human-Computer-Interface designed to control live performances (music / video / light /…).

An elastically suspended half-sphere is used to move magnets in 3 axis, whose magnetic fields are sensed by Hall-Effect sensors and translated to performance control data by means of a microprocessor.

The TactBall can be operated with one or two hands – can be slapped or pushed/pulled or just slightly touched, is very sensitive and can be used simultaneously in a percussive-trigger-like manner (as a drumpad, for example) and in a continuous-controller-like manner (as a mod-wheel and the like).

For the time being, it uses MIDI as its communication protocol because of its large distribution and simplicity – other (open-) protocols could be adopted in the future…


TactBall is free hardware (as in "free speech" not "free beer").
This document as well as all documentation on the project
(hardware designs, source code, ...)
is published under GNU GPL; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation;
(where "source code" shall be replaced with "this document" and "program"
with "any device built or manufactured according to this document")
either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this document; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.


Finding new ways to interact with computers is crucial for pushing further computer-assisted performing arts. Mice are nice tools in a non-realtime environment, but pointing and clicking has very little emotional/expressive value.

I developed the TactBall initially as a part of the VideoBass (see: http://www.anyma.ch/videobass), for triggering and mixing video-sequences with the right hand. I think the device has much more potential: controlling sound-parameters, triggering light effects, or whatever you might find useful… So this is going to be a VideoBass – spin-off project…

It’s a very simple design, easy to build, very cheap (except for the Basic-Stamp microprocessor, which nevertheless could be easily replaced by a much cheaper PIC of some kind… a unit could cost you as little as 40Û – but there’s a lot of work involved ;-)

At the time of writing, there is one working prototype built into the one and only existing VideoBass, and source-code is only available for this specific prototype – I plan to build a stand-alone and more general purpose unit in the near future and release information about it as soon as possible…

In the meantime feel free to build one yourself, adapt it to your needs, optimize (it’s still a pre-beta design…) and let me know… I’d be excited to hear what you’re doing with it!

Technical Description


This is a technical description of an early prototype, for a functional description please refer to the abstract. Actual proportions, choice of materials, assembly and electronics may change in the future.

Mechanics (see FIG 1&2)

A plastic half-sphere [1] is attached to an aluminium disc [3] by means of a shaft [2]

The aluminum disc is embedded in an elastic silicone disc [4], permitting it to be easily moved up and down, and to be tilted on any side – but keeping it pretty in place on the x- and y – axis.

Four holes in the aluminum disc hold four strong magnets [5] glued into them. At a reasonable distance exactly underneath each magnet a Hall-Effect sensor [6] measures its magnetic field.

Electronics (see FIG 3)

Very simple. Output of each sensor is measured by an AD-converter. Voltage difference between 2 facing sensors indicates amount of tilt of the sphere on their respective axis. The mean voltage of all four sensors correlates with the movement of the sphere on the z-axis. Some calibration and linearisation has to be done in the microprocessor. At the time of this writing, the processor outputs 3 MIDI controller values, one for each axis – which are interpreted on the client-side (in MAX/MSP). This permits rapid prototyping and testing of the software behavior – in the future, much of the computation could be done directly in the unit itself, given a faster microprocessor….

Version History


  • 2004/06/17 Minor corrections, publication
  • 2004/06/14 First draft version


  • 2004/04 same design, but using a piece of bicycle tubing for suspension – works well! (thanks to Martin Saxer for the idea)
  • 2004/02 design with disc and shaft, disc suspended between elastic bands
  • 2003/11 different prototypes (not working)
  • 2003/10 sensors glued inside plastic sphere, a wooden ball holds magnets, sphere suspended with elastic bands