Use a Behringer X-Touch to control a Behringer WING or WING Rack through a Raspberry Pi. Setup is done from a browser, and the bridge can run alongside Bitfocus Companion on the same Pi.
- Eight assignable X-Touch channel strips
- A configurable master fader for Main 1-4, Matrix 1-8, Aux 1-8, or DCA 1-16
- Two-way motor-fader and mute synchronization
- Live X-Touch channel meters
- WING channel names and colors on the scribble strips
- Optional name and color overrides for every strip
- Automatic recovery after restarting or power-cycling the X-Touch
- A setup page on port
8088, separate from Companion
You need:
- A Raspberry Pi running Raspberry Pi OS or the Bitfocus Companion Pi image
- The Pi's IP address, username, and password
- A Behringer X-Touch connected to the Pi with USB
- A WING or WING Rack on the same network
- The WING's IP address
- Turn off the X-Touch.
- Hold the Select button on channel 1 while turning it on.
- Choose CTRL as the mode and USB as the interface.
- Confirm the selection on the X-Touch.
CTRL USB is recommended because it supports the tested scribble-strip color messages. MC USB can show filled meter bars, but the tested color commands do not work in that mode.
Open Terminal on your computer and connect to the Pi. Replace PI-IP-ADDRESS with the Pi's address:
ssh pi@PI-IP-ADDRESSIf your Companion image uses a different username, replace pi with that username. Enter the Pi password when asked, then run:
git clone https://github.com/wtapper89/WingXTouchBridge.git
cd WingXTouchBridge
chmod +x install_on_pi.sh
sudo ./install_on_pi.shThe first installation can take several minutes. The last line prints the browser address for the setup page.
From a computer on the same network, open:
http://PI-IP-ADDRESS:8088/
For example, a Pi at 192.168.1.50 uses http://192.168.1.50:8088/.
Enter the WING IP address. Leave the OSC port at 2223 and TCP port at 2222. MIDI Input and MIDI Output can normally remain on Auto.
Under X-Touch Behavior:
- Choose CTRL USB for Surface Mode.
- Leave Physical 0 dB Position at
0.731unless calibration is needed. - Choose the large fader's destination under Master Fader Target. It defaults to Main Output 1.
- Press Refresh WING sources.
- Use each Source dropdown to choose a WING channel.
- Choose None when a strip should be unused.
- Enable Override name or Override color only when the X-Touch should differ from the WING.
The bridge normally copies each selected channel's current WING name and color automatically.
Press Save settings. The bridge immediately reloads the surface and keeps the settings after Pi restarts.
The buttons at the bottom can test fader movement, colors, meters, and MIDI detection. Most users should leave the OSC paths and button values at their defaults.
The large ninth fader can control:
- Main Output 1-4
- Matrix 1-8
- Aux 1-8
- DCA 1-16
- None
Moving the assigned output in WING Edit or on the console moves the X-Touch master fader too.
- CTRL USB: a single illuminated meter LED moves with the signal level. This is how the X-Touch firmware handles meter messages in CTRL mode.
- MC USB: filled meter bars are available, but the tested scribble-strip colors are not.
The physical X-Touch mode and the Surface Mode selected in the browser must match.
Connect to the Pi again and run:
cd WingXTouchBridge
git pull
sudo ./install_on_pi.shThe installer keeps the existing settings.
The X-Touch is blank after power-up
Wait about five seconds. The bridge checks for the device and restores the surface automatically. If it remains blank, press Refresh MIDI devices and confirm the MIDI input and output.
Colors do not change
Confirm that both the physical X-Touch mode and the browser's Surface Mode are set to CTRL USB.
Faders move to the wrong level
Set Physical 0 dB Position to 0.731. Adjust it slightly only if the X-Touch's printed 0 dB mark still differs from the WING.
No WING sources appear
Confirm the WING IP address and make sure TCP port 2222 and OSC port 2223 are reachable between the Pi and WING.
Open the service log
sudo journalctl -u wing-xtouch-bridge -fPress Ctrl+C to exit the log.
sudo systemctl status wing-xtouch-bridge
sudo systemctl restart wing-xtouch-bridgeSettings are stored at /etc/wing-xtouch-bridge/config.json.
The setup page has no login. Use it only on a trusted control network, and do not expose port 8088 to the public internet.


