Close
0%
0%

TallyPi

Build network controlled tally lights for live cameras, intended for control by OBS but extensible enough to use for whatever you like.

Similar projects worth following
A network controlled tally light for cameras, intended for control directly from OBS. Rather than having the lights hit a web gateway hosted by OBS, this reaches out directly to the tally lights and controls them over HTTP. This does not use the websocket plugin and there is no need to open up any firewall holes to your OBS production box - instead the script pushes out commands directly to your lights.

TallyPi is built for the Raspberry Pi and a variety of LED breakout boards, including the Pimoroni Blinkt! as well as the the NeoPixel platform. The 5x10 PixelLeaf RGB Matrix is the current NeoPixel breakout board validated for TallyPi.

TallyPi also supports hardware buttons/switches to shutdown the Pi and wake it back up.

There is also an enclosure supplied with TallyPi that can be 3D printed. It's not great, but it works as a light diffuser and includes a mount for a camera flash bracket.

A web service is provided to expose LED breakout boards through an HTTP interface. This controls color and brightness, and will monitor the on/off switch (if available) to shut down the light in an orderly fashion.

An HTTP interface is provided that allows for color control and brightness to be specified remotely. As an example:

http://192.168.1.1:7413/set?color=AA22FF&brightness=0.3

Would set all LEDs to be purple at 30% brightness.

The status of the LED panel is available as:

http://192.168.1.1:7413/status

Details on installing the software, as well as protecting your Pi for repeated use, is available within the GitHub repo.

An OBS script is provided that maps preview/program/idle status to AV input sources. You can chose the color and brightness for the status of your input sources, and map each input source to the IP address or hostname of your tally light web interface.

You must have installed the correct version of Python for OBS to properly load Python plugins. Details for setting up OBS, installing the interface, and configuring settings are available within the GitHub repo's README.

View all 6 components

  • NeoPixel & Blinkt! pHat Support

    DeckerEgo07/07/2021 at 02:42 0 comments

    TallyPi has just moved to Python 3, and with it gained support for two new LED platforms: NeoPixel and Blinkt! pHat.

    The NeoPixel platform should be widely available and well-known. In particular I have validated the 5x10 PixelLeaf RGB Matrix for use with TallyPi, using the Adafruit Blinka libraries. The LEDs are incredibly bright, even without level shifting.

    Pimoroni's Blinkt! pHat doesn't have nearly as many LEDs as the PixelLeaf or the now discontinued Unicorn pHat, however installation is incredibly simple. No soldering required, and the LEDs are bright enough for most indoor conditions.

    An improved HTML dashboard, much faster Python OBS script, and documentation fixes are also about to be released with version 0.5.

  • Python Supported (Again)

    DeckerEgo06/28/2021 at 02:44 0 comments

    Now that Python support for MacOS has returned in OBS 27, Python is now re-established as the default script type for TallyPi. The Lua script will continue to be supported - so both are viable options.

    Bear in mind the Lua script actually just turns around and calls curl... so it's not a portable option. The Python script is self-contained and uses the default Python HTTP libraries.

  • Adding HTML Dashboard Support

    DeckerEgo05/09/2021 at 23:01 0 comments

    Having HTTP-controlled lights are great, but finding a headless Raspberry Pi on your network can be a pain if your gateway doesn't support proxied DNS resolution based on DHCP hostnames. Even if you grant your Pi a name like "tallypi01," it may not resolve that as a hostname on your network.

    To help roll with that, TallyPi's HTTP server now supports Cross-Origin Resource Sharing, so you can execute JavaScript within your browser of choice to quickly crawl your subnet and find each light's current status. And example ships within scripts/dashboard.html - demonstrating how an HTML page served locally can find lights on your network.

View all 3 project logs

View all 4 instructions

Enjoy this project?

Share

Discussions

Kosma wrote 06/27/2021 at 16:37 point

not mobility, why no offgrid

  Are you sure? yes | no

DeckerEgo wrote 06/27/2021 at 21:46 point

Not sure what you mean... this does not require an Internet connection, only a WiFi connection.

  Are you sure? yes | no

Kosma wrote 06/28/2021 at 10:49 point

My point is that this device needs to be powered from the wall. It is not possible to use from batteries. Which limits the functionality.

  Are you sure? yes | no

DeckerEgo wrote 06/28/2021 at 11:03 point

You can use batteries if you wish - any power source that can feed a microUSB connection will work. Rescue chargers work well, or a USB port from the camera if it supplies 10W.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates