Building a Camera Tally Controller for Spyder

Over this past weekend I set out to create a camera tally device for the Spyder video processor.  Specifically, I wanted to try to use my relatively new Raspberry Pi 2 board running the Windows 10 IoT Core operating system to make something useful.  If you’ve read through my older blog posts, you’ve likely noticed that the Spyder is still my go-to target platform for playing with new technologies.  Let’s face it – when you’re playing with shiny new toys, it helps to mate it up with something you know very well so you don’t feel completely lost.  Before I get into the details, check out this brief video showing a working tally controller in action:

The whole process of building this device was simply fantastic.  The barrier to entry for people making hardware devices has gotten incredibly low over the past couple years, both from a cost and ease of development perspective.  The whole build process was very quick, and I had such a great time with it that I went ahead and put together a full 30 minute hardware and software video walk-thru for the project (more on this below).

Getting Started Making your own

To get started making your own, here are a couple links for the main hardware used on this project, as well as the wiring diagram for your reference.

Raspberry Pi 2 Kit ($70):  Amazon Link
8-Channel Relay Board ($9):  Amazon Link

Tally Wiring Diagram

Hardware Wiring Diagram for our Tally Controller

Links to the full source code, documentation resources, and a full YouTube walk-thru video are below.  This video has a ton of valuable information in there, covering the hardware specifics, Spyder implementation details, and the full process of creating our software application.  This is the first time I’ve gone through and made something this elaborate (and narrated the video), and I’ll be very interested to know what you think of it (so leave me a comment below if you’re so inclined).

GitHub Project (Source Code and Documentation):  Click Here

Next Steps

The tally controller we’ve created is certainly functional. but in it’s initial form the server IP address and tally source lists are hard-coded.  In the next stage of this project, we’re going to build a desktop application that can connect to the device remotely over the network and view/configure these properties.  We’ll also explore creating a user interface to run on the Pi’s HDMI output, which could be useful for monitoring and troubleshooting the device.

Until next time, take a look through those walk-thru video and the resources in the Github repository, and try to make one yourself.  I hope you enjoy going through this content as much as I enjoyed making it.

3 thoughts on “Building a Camera Tally Controller for Spyder

  1. James M Wadkins

    Love the project and I just ordered the parts. I had started play with Visual studio again a couple weeks ago so now I was project to tinker with it on. I am new to the pi, so that will be my first thing to go after.

    I was planning to use a BMD tally box and start snooping it out, probably still will, but this is a very cool way to do it.

    Great presentation of your project with the videos.

    Thanks for putting this out there for us all to enjoy.

  2. Dan Hall

    Hi Derek,

    I have previously built a tally system for our PPU which reads our For-A mixer RS422 data and other GPIO inputs and then broadcasts the tally data as UDP packets and was looking at your spyder tally and thinking it’d be nice to roll it all into one box. I’ve built the project in VS 2015 using SpyderClient 1.0.1 and everything compiles and runs on the pi but my sourcesOnProgram list always stays null – the pi is definitely connected to the spyder as I can see the data coming in when I add a breakpoint and step through. Is there any chance you could take a look and see if you can spot where I’ve messed up. Here’s a link to my project files and a vap for an X20 that I was testing against.

    Many thanks,


    1. Dan Hall

      Hi again Derek,

      Please disregard my previous reply – it was working after all, it’s my lack of knowledge of the Visual Studio environment that made me think otherwise. I hadn’t wired up any output LEDs either so these things in conjunction made me think I had somehow missed a step !

      Thanks for a great tutorial.



Leave a Reply

Your email address will not be published. Required fields are marked *