- 🚀 Press on M5 button will toggle between 4 screens:
- The actual status of the tally (a tally status change will default back to this screen)
- Network screen, showing the current IP Address so you can access the Web UI (+ a wifi strength indicator)
- Show the actual tally input number that is set for the unit
- The brightness screen. You can use BTN39 on this screen to toggle through the 9 different settings
- 🚀 Webserver for easy configuration
- 🚀 Access Point mode when not connected to a WiFi network
- 🚀 Data is saved to memory, will be remembered after device is turned off
- 🚀 Dedicated button to reconnect to vMix (BTN39, will reconnect to vMix except on the brightness screen)
- 🚀 Holding the same button at the end of trying to reconnect will reset the settings
- 🚀 Dark Web UI
- 🚀 Ability to adjust the brightness (either on the stick itself, or via the Web UI)
- 🚀 Battery indicator
- 🚀 Landscape & Portrait mode using accelerometer
- 🚀 Change tally number input on the fly. On the tally input number screen, double click the BTN39 to increase the number. Long click for reset to 1
- 🚀 Multi input support
- 🚀 Automatic wifi scanning to easily select your wifi network
- 🚀 Set an interval to automatically reconnect to vMix after the interval has passed
- 🚀 Option to just show the LIVE state and ignore the PRE and SAFE states
- 🚀 Option to show the tally number instead of the SAFE, PRE and LIVE texts
- 🚀 Indicators for Streaming (STM) and Recording (REC)
Q: Does this work with ATEM, TriCaster, OBS Studio and others? A: Yes, however Tally Arbiter is required for this functionality. The plan is to integrate seemless with TA. Stay tuned for updates.
1.1 Follow the tutorial on the M5Stack website.
1.2 Copy the libraries that are used by this project (found in the libs
folder) to your system. The default path is: %userprofile%\Documents\Arduino\libraries
Upload to your device.
You don't have to change the code! 🎉
Change the very first line in a_GLOBAL.ino
to #define C_PLUS 1
(change the 0
to a 1
)
That's it!
Follow the instructions on the LCD.
Enjoy 😄
- Once the code is uploaded to the stick, wait until it's in AP (Access Point) mode.
- Grab a phone and connect to the
vMix-M5Stick-Tally
wifi network, the password is:12345678
. - Open your browser and go to:
http://192.168.4.1
, this will open up the Web UI.- Enter the SSID of the wifi network you want to connect to.
- Enter the password that corresponds to the SSID.
- Enter the IP Address of the PC that's running vMix.
- Specify the input number that the stick must listen to. (This is the little number in the top left corner of every input)
- Hit the save button.
- The stick will restart with the given information.
SSID
A select dropdown which shows a list all the wifi networks found.
Hidden SSID Name
This field only shows when you select Hidden network
in the SSID list.
Type in the SSID that you want to connect to.
Password
The password that corresponds to the selected wifi network.
vMix IP Address
Fill in the IP Address of the computer where vMix is running.
How to find the IP of the vMix PC:
- Press Win + R
- Type in
cmd
and hit enter. A commandprompt will appear - In the commandprompt type
ipconfig
and press enter - Your IP Address can be found behind the
IPv4 Address. . . . . . . . . . . :
line
Main Tally Number
This field corresponds to the input number in vMix. Every input has a number in the top left corner of the video tile. Enter the input number you want the tally to respond to.
Multi Input
It's possible to have more inputs hooked into 1 tally light, you can provide a comma separated string to set this up.
Example:
When the Main Tally Number is set to 1
and Multi Input is set to 2,5
, this will be the behavior:
SAFE:
None of the inputs are in Preview or in the Program feed.
PRE:
One of the inputs is in Preview, none are on Program.
LIVE:
One of the inputs is on the Program feed. Live always has the highest priority.
Reconnect interval
Input is in seconds. This will try to reconnect to vMix every x
seconds after the interval has passed when it's disconnected. This will loop if the connection cannot be established.
WARNING: Since the stick is single threaded, when the stick tries to reconnect to vMix, the Web UI is not accessible!
Example:
When set to 10
it will try to reconnect to vMix every 10 seconds after connection was unsuccessful.
Brightness
Set the brightness of the LCD. Option to choose from:
- 0%
- 20%
- 40%
- 60%
- 80%
- 100%
NOTE: Obviously, the battery will drain faster when the brightness is set to a high value. I recommend setting it at 60%.
Just Live
true
: The stick only lights up when the configured input(s) is/are live.
false
: The stick shows when the configured input(s) is/are safe, are in preview or when it is live.
Mode
Text (SAFE, PRE, LIVE)
: Show the textual representation of the status of the configured input(s).
Tally Number
: Show the configured main tally number and only update the background color when the status changes.
WARNING: This is only for users that know what they're doing. If you are not familiar with ip addresses, gateways or subnets, stay away.
It is possible to have a static IP Address, however it's not possible (yet) to do this via the Web UI. You need to hard-code this. A template is provided, but you'll have to change some code:
- Open
e_WIFI.ino
- Remove the lines that have
REMOVE THIS LINE WHEN YOU NEED STATIC IP
in them (be sure to also remove the comment markers/*
and*/
) - Change the settings after the
IPAddress
lines that meet your needs in your environment.
Officially supported plugin:
- LED HAT (for the HEX and NEOFLASH HATs) Big thanks to Dirwin Clemens
For more information see Plugins.md
Since M5Stack has a lot of different products, some wonderful people forked my code to use it on those different products. Below is a list of products supported by the community:
M5Stack ATOM by Mark Garetz
M5Stack CORE by Peter Tellep
- Create a seemless integration with Tally Arbiter
- Configuration tutorial
- Written
- Video
This is my very first C-project, if you have any suggestions on how to improve the code, please let me know.
A massive thanks to Thomas Mout for creating Arduino vMix Tally. This project is based on his.
This project is completely free to use in any environment (commerically or non-commerically). However, if you like it and use it regularly, please consider buying me a coffee 😄