Tally Arbiter 1.5 – New Features, Bug fixes, and support for more tally clients

It’s been a few months since a major release for Tally Arbiter, but I’ve been hard at work on it in my spare time. If you haven’t read about this software, you can read some past posts on this blog about it. It’s free, open-source camera tally lights software that I developed to help churches around the world put on better productions.

Today, Tally Arbiter 1.5 is officially released!

Here are some highlights of the release:

  • The GUI has been revamped with all internal socket.io calls. The REST API still exists, but this will be more streamlined.
  • A Generic TCP Device Action has been added: Now you can send a custom TCP string or command to another network location whenever a camera enters or exits Program on your switcher, for example.
  • VMix Tally Protocol Emulation: If you’ve got a favorite tally client designed specifically for VMix, now you can use it with Tally Arbiter! It’s very simple – Tally Arbiter represents itself as a VMix source. You can even use the emulated VMix connection from Tally Arbiter as a source in another Tally Arbiter install! (Not sure why, but, you can!)
  • Devices can now have multiple addresses assigned from a single source. This helps if you really consider one Camera to be “on-air” whenever it’s used on Input 1 or Input 5 from the same source, for example.
  • Device Sources can now be linked on either the Preview Bus, the Program Bus, or both. This means that your Camera won’t be considered to be in Program unless it is in Program on ALL assigned sources. This is helpful for cases where you may have nested switchers.
  • Preview + Program mode added to the OSC Source Type
  • Some Device Source Addresses can now be chosen via a drop down list instead of manually typed in
  • Blackmagic VideoHub (all models) added as a tally source. You can choose which destinations are considered “on-air” destinations for both the Preview and Program bus.
  • The Companion client now supports reassigning of tally listener clients as a button press. This is useful if you want to have a tally light at a shader station; you can press a button on your stream deck to route a camera to your shader monitor and simultaneously reassign the tally light at the shader monitor to that camera, and now you know if that camera is on-air as you shade it!
  • A “Test Mode” has been added that cycles through tally states to test all tally outputs. Very helpful when you’re not actively in a show but want to verify everything is working!
  • Support for Roland VR-50HD-MKII as a tally source
  • The Producer page can now send messages to supported tally clients like the Web tally and M5StickC. Don’t have an intercom system? Use the chat to tell your camera op to zoom in!
  • The M5StickC Plus is now officially supported. And M5Stick clients will now retain their last used Device when they reboot or reconnect.
  • The M5 Atom Matrix is now also supported.
  • Various other bug fixes and improvements

This release saw a lot more interaction from the community through Github issues (feature requests and bug reports), pull requests, and other contributions. It’s truly becoming a community project, which is awesome to see!

Here’s a video to show most of this in action:

As always, you can get the latest code on Github: https://github.com/josephdadams/TallyArbiter

And if someone you know needs tally lights for their production, tell them to go check out tallyarbiter.com!


  1. 2 out of 9 m5 sticks are connected but not showing up in the tally arbiter and they are unassigned, any way to reset the listeners reinstalling the m5’s won’t change anything


      1. Ah. Ok. Restart the TA server, and if they still don’t connect, reflash them with the latest code anyway and try again. I have had units do this before where they don’t get updated properly. It’s possible for a client to connect to the server but emit the wrong connection event (because I made a breaking change where the old event is no longer a valid name), and when the wrong event is emitted, the proper data won’t get sent back and they will not show up as connected listener clients in the interface.


      2. alright, so your reply got me thinking.. I installed a random application on the m5 stick then reflashed the tally code and suddenly it all worked both m5plus sticks now work and all 9 are operational !

        Liked by 1 person

  2. I was pointed to your app from a church Facebook group. I asked there if anyone had figured out Tally Lights in VMIX and they said your app worked great for them. So I’m a volunteer on a tech team for a small church and we have a couple of Sony Camcorders we use with VMIX for our Sunday morning broadcast. One of the things I’ve been trying to figure out is how to turn on a light when I hit the record button in VMIX. Reading the VMIX API it seems that the False tag might be used. So all of this background to ask. Does tally arbiter get its inputs from the VMIX API and if so does it have the ability to trigger off of the recording tag?
    I apologize if I missed this information in your documentation


    1. I went back and looked up the VMix API. It looks like you can subscribe to the VMix XML status with the “SUBSCRIBE XML” command. This would return changes to the entire XML state, I think, and would include the Recording and Streaming statuses. I will consider if this can be added as I have had requests for other “states” with the various switcher types supported in TA. I invite you to submit an official request for this feature here: https://github.com/josephdadams/TallyArbiter/issues


  3. Thanks for the update! Got it running on a Pi4 and 4 M5StickC’s, and it works great with our ATEM TV Studio HD. Now I’d like to figure out an external LED on the M5StickC, so that I can use one unit per camera instead of having one for operator and one for the stage view. I saw someone post on another project that they connected a random red LED to a couple pins and it worked, but not sure if that is all that’s necessary. I know LEDs can be pretty picky on voltage, and I hate to order something unless I know it will work.

    Liked by 1 person

      1. Joseph,

        Is there any additional code needed for this? Or, would you expect it to display the color (if any) which is displayed on the MStick5C?


  4. Last Sunday deployed Tally Arbiter, along with three M5Stack Atom Matrix and couple of M5Stick-C Plus listener clients driven from a Roland V-60HD switcher. Worked great and the camera operators loved them.

    Thanks Joseph!!


  5. So I installed 1.5 on a new install of Raspberry Pi OS and updated the M5StickC units to the latest version … now none show up within Tally Arbiter.

    I have used the M5Stack EasyLoader tool to wipe and install there factory program on it and then but the tally code back on it with no luck.

    I am able to ping the M5StickC from the raspberry pi

    What am i missing or do wrong ?


    1. It may b the same as what I had with 2 non working m5 sticks, upload a random program on them and then rewrite them with the tally software again, somehow this fixed it for me


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s