The software that actually performs the joystick override function is available below for download. It should run under Python 3.5 or newer, with proven functionality under Raspberry Pi OS (previously called Raspbian) installed on Raspberry Pi 2 Model B V1.1 or V1.2.

Current software version is 1.9 (see below for versions history).
The software is published under the GPLv3 license.

Important: the software is tied to the JOyVerride hardware implementation; there is no guarantee that it will work properly in other embodiment and I have no intention to provide support outside of the specific purpose for which I created it.

As a side note, given that the JOyVerride unit uses high quality hardware debouncers per each GPI input, the software itself does not have to compensate for any switch contact bouncing and thus avoids the need for additional timing loops that may slow down the program execution speed – an aspect that is especially important when multiple joysticks are pressed in very quick sequence.

Versions history of the JOyVerride software available on this web site:


  • bug fix – erratic switching interference between router output groups, when using a combination of two or more group of joysticks with at least one hardware or virtual software panel assigned to two or more router outputs, during random switching of all of these in a very quick sequence


  • added a slight delay on commands sent to router in an attempt to fix a misbehaviour when using two group of joysticks (thus serving two router outputs)


  • implemented a workaround in order to avoid crashing the BMD Videohub Simulator when issuing a switching command on same selected source


  • implemented a multicoloured representation of the connection status on the power LED on front panel
  • this version is now included in the production version of the interface


  • internal development & testing only - attempts of various variants


Go to top