You can run TILT!Audio for testing without any restrictions, but from time to time you will hear a “please register” announcement. Just write down the serial number and order your license here. Copy your license file into the data directory.

Files on sd card / usb stick

There are 4 types of files you can provide:

  1. License files
  2. Update files
  3. Config files
  4. Sound data

No matter if you use sd card or usb stick the directory structure is always the same. There’s 4 directories:

  1. data directory
  2. update directory
  3. data/sound directory
  4. data/sound/<soundset-name>

The license file has the name <serialno>.key and needs to be copied into the data directory.

The update zip file needs to be placed into the update directory with the name “update.zip”. For windows users make sure that you not name it update.zip.zip just because you have your explorer not showing file extensions.

The data/sound directory store the main configuration file “raspisound.ini” that staore all the soundset independent settings. It also holds up to 10 subdirectories containing the soundsets. Alternatively a soundset can also be in just one xsnd-File in the data/sound directory.

The soundset itself contains all the sound samples itself in a directory structure by effect category (music, sfx, voice …) and a soundset specific configuration file “config.raspisnd” (or config.ini for compatibility reasons). See config options below.


In order to access the fancy web ui, you need to activate networking. As TILT!Audio’s firmware is based on dietpi linux distribution, you need to edit the text file “dietpi.txt” and for Wifi access additionally “dietpi-wifi.txt” and then reboot the system.

Sound: builtin, usb, hdmi or i2s

Depending on the RaspberryPi model you are using there’s many options on how to generate sound.


For all Pi3 models you can use the builtin sound device where amplifiers are connected to the audio jack on the pi board itself. When doing so, you normally don’t (and cannot use) the on board amplifiers but rather connect audio jack to an external amplifier.


Use usb sound cards like this one either because PiZero doesn’t have builtin sound, or because you want to remove noise or increase quality compared to builtin. Like with builtin you should than connect any external amplifier to the audio output, as the internal ones cannot be used with use sound.


The hdmi output connector can also be used for digital sound output. In this case you need to connect an external amplifier via hdmi that is capable of decoding the digital sound. With TILT!Audio you can even use DD5.1 sound given you have a supporting sound pack and an av-receiver-amplifier / speaker set that can be used for output.

i2s (default)

I2s is the default configuration as the latest shield comes with a i2s DAC that directly connects to the amplifiers as default. The i2s interface is natively supported by raspberry pi and produces hifi level sound quality together with as 5102 DAC.


TODO: describe web ui and related settings


If you like to attach an additional shaker in your pinball machine you can control it with TILT!Audio. For each sound effect you can switch the shaker on for a certain amount of milliseconds. Either you define just a one time switch on time or you define a sequence of times, where the output gets switched on and off.

The output pin itself and also the “polarity” shaker active on high output (or low) can be configured in the main settings.

The connector for shaker is in the latest revision of the shield on the right side, see connector info below.

Beside the shaker itself you need a PWM controller to limit the speed of the shaker motor and also one of these small relay moduls with enough power to control the shaker current.

Adding secondary media

Additionally the the shaker output pin there also a serial interface exposed at the extension connector. Using the configuration web ui you can define a serial command sequence of bytes that are send through the serial port when the respective sound effect gets triggered. Together with the serial-media-server you can play movies or display picture, which is only one application possible with serial commands. There’s a video that show’s how this works in a CFTBL with a holo replacement monitor under the playfield.

Which raspberry pi can I use?

Recommended is raspberry pi 3 (or 3 B+), but raspberry 2 (or zero) also works. Most common is Pi3 these days and this is also the best tested pi version. PiZero is a bit short in memory and cpu power, but is still confirmed from some users to work well with TILT!Audio.

Pi4 requires a new image (based on buster) and is not yet available in public. There’s a preliary image already for testing, but so far it was not running in a real machine, although it should without problems. Pi4 cpu gets very hot even in idle mode, so I would recommend an additional heatsink.

Also power consumption of Pi4 is higher than on Pi3, so the normal setup (at least for data east) is most probably not good enough and an external power supply is required.


What do I need

  • TILT!Audio kit (or ingredients as listed in the BOM)
  • Soldering iron
  • Solder
  • Speaker cable
  • optional: external amplifier
  • optional: additional power supply

See Assembly page.


If nothing else helps, you can get the logfiles for the current session directly from the web ui and inspect in detail what is happening. You will see every sound command coming from the main cpu and all other logfile information.

You can even connect via ssh to the raspberry pi where TILT!Audio is running on. Networking needs of course activated for this. You then can simply connect via ssh pi@<your-ip> (or putty on windows), the default password is “raspberry”.

If everything is fine the should be a system service running called “tiltaudio”. You can check by “sudo systemctl status tiltaudio”. If you want to experiment and test for yourself you can stop the service with “sudo systemctl stop tiltaudio” and the switch to directory /home/pi/despi and discover the various options with “./despi -h”.