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


  6. Hi,

    First off, thank you for making this 🙂

    Unfortunately, I am having a bunch of trouble getting it to work. Note that I am a complete newbie in all matters of Raspberry Pi’s, Arduino and the likes. So, I am probably “just” forgetting something … anyway, my problems are as follows:

    I installed the software onto my Raspberry Pi and was able to acces the server from my computer. I could even access it from WIFI, so you know, so far, so good. I then started work on the M5 stick. The install guide was easy to follow, and soon I had the code uploaded to the stick. This i were it gets tricky: It connects to the wireless network, but stalls when connecting to the server. I can ping the stick, so I know it is actually on the network. I have no trouble setting up a source and device (or actually I do, but for now in the story, I don’t), and I can connect my phone to the web tally and that works great. I tried a bunch of things. Changed adresses, tried static IP instead of DHCP, reinstalled Arduino libraries, tried two other sticks, but all to no avail. I did get some warnings when booting the Raspberry, so reinstalled the OS and started over. For some reason, now the server is crashing and I cannot set up sources and devices … except I can, but it does not show up in the web GUI. I have successfully used the web tally, and that works, even when I cannot see the devices. Anyway, downloaded the latest code for the stick, and … still stalls when trying to connect to the server.

    So … i wonder what I am doing wrong, and if anyone has an idea about what to do?

    Thank you in advance.
    Thomas Goschebart


      1. Did some more testing, and decided to reinstall once more, and for some reason now the server is rock solid (or at least have been for the past 30 minutes, I can add sources and devices with no problem, and when I turned on the M5 stick, it connected with no problems.

        I am not at all sure what I did, but I am glad I did it 🙂

        Best Regards
        Thomas Goschebart


  7. Hi ! Great job ! Thank you for this !

    What hardware device (using it as protocol converter from Atem to TSL 3.1 for a Decimator DMON-12S, to view Atem Green and red tally on the decimator multiview) do you recommend to export TSL 3.1 in RS422/485 to connect to the Decimator (it’s not an IP but 2 ports on sub-d 37, RS485+ and RS485- and Ground)

    I could connect it on my miniPC that runs other softwares for Atem.

    Thank you !


  8. Hey; Got my current ZIPfile install installed and running, though I find there’s no obvious way to tell you what that is.

    My laptop browser does both tally and producer view just fine, and Opera/Android on my Android 7 LG V-20 does tally view fine, too.

    These two Android 4 Alcatel 3’5″ phones I bought to use as tally lights load the tally page, but the pulldown menu is unpopulated, and they say there are No Devices Available. Javascript is enable in the browsers. Any suggestions?


  9. I had Chrome and the native browser available, both behave the same. I also tried turning off Request Mobile Version in Chrome; same result.


    1. At the M5stickC interface, its stuck at the “Connecting to Tally Arbiter host”.

      Tried factory restarting and reflashed with the latest codes but doesn’t seem to work.


  10. Hi Joseph. Great piece of software, you wrote. I really like it. With the new “generic TCP feature”, I would like to send tally commands to my PTZ. I need to transfer something like this: “\x81 \x01 \x7e \x01 \x0a \x00 \x02 \x03 \xff” – Is this the right way to enter it in the string section. Unfortunately I can’t get it to work. Tried all different End Characters. Greetz from germany, Emanuel


  11. Hi, can you have 2 tally lights assigned to one camera? I was thinking an M5stick facing the operator and a matrix led facing the presenter. Is this possible?


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 )

Facebook photo

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

Connecting to %s