Converting More Vintage Grass Valley Hardware to USB

A Grass Valley Kalypso machine control panel (bottom) and crosspoint switch panel (upper right) converted to USB using a Silicon Labs EFM8UB2 USB microcontroller.

A Grass Valley Kalypso video switcher machine control panel (bottom) and crosspoint switch panel (upper right) after converting them into USB human interface devices using Silicon Labs EFM8UB2 USB microcontrollers.

In this project, I convert two panels from a vintage Grass Valley video switcher into general-purpose USB input and output devices without modifying the original panels. This project required both reverse engineering the hardware and deciphering the software protocols used to communicate with the panels. Because these panels required learning how to communicate with a microcontroller and a small FPGA, this project was significantly more challenging than the previous project where I converted a matrix button panel from the same mixer into a USB device.

In this write up, we’ll examine the two panels in detail and determine the hardware interface to the panels. Once the hardware interface is determined, we’ll build some boards to use to help decipher the protocols used to control the boards. Once the protocols are understood, we’ll build a second set of boards to control the panels using USB then develop the USB software and an example Linux application that controls the panels over USB. This project took about four months from start to completion.

Continue reading

Posted in Uncategorized | Comments Off on Converting More Vintage Grass Valley Hardware to USB

Converting a Vintage Grass Valley Button Panel to USB Using the Silicon Labs EFM8UB1

The resurrected Grass Valley user definable switch panel.

The resurrected Grass Valley user definable switch panel.

In this project, I convert a set of illuminated push buttons from a vintage Grass Valley video mixer into a custom vendor-defined USB HID peripheral. Like the USB analog panel meters project, this project uses a Silicon Labs EFM8UB1 microcontroller for USB connectivity. Unlike the panel meters project which only received data from the USB host, this project needs to send data back to the USB host too.

In this write up, we’ll reverse engineer the button panel, decide on a strategy for reading the keys and controlling the LEDs, build a board, then write both embedded and Linux software to interface with the button panel. If you want to build your own device like this but don’t have this specific switch panel, don’t worry–the ideas presented here are applicable to any generic 3×4/4×3/4×4 matrix keypad with or without LEDs.

Continue reading

Posted in Uncategorized | Comments Off on Converting a Vintage Grass Valley Button Panel to USB Using the Silicon Labs EFM8UB1

Building a Set of USB-Controlled Analog Panel Meters Using the Silicon Labs EFM8UB1

The completed USB analog panel meters project.

The completed USB analog panel meters project.

I’ve always liked the way these little HUA SO-45 analog panel meters looked, but, given the long lead times from China, I’ve never ordered a set. This fall, I changed my mind and finally decided to order a set. While they were in transit to the United States, I designed a small board to control them over USB using a Silicon Labs EFM8UB1 Universal Bee 8051-baeed microcontroller.

Continue reading

Posted in Uncategorized | Comments Off on Building a Set of USB-Controlled Analog Panel Meters Using the Silicon Labs EFM8UB1

The Single USB RGB LED

An animated GIF of the single USB RGB LED cycling through red, green, and blue.

An animated GIF of the single USB RGB LED cycling through red, green, and blue.

This project is a single RGB LED that is controlled over USB using a command line interface from a serial terminal window. A PIC16F1459 microcontroller implements the USB communications device class (CDC), processes the commands received from the user, and controls a single APA106-F8 8mm round RGB LED.

The USB CDC causes the PIC to appear as a serial port to the host computer. At this point, any terminal emulator software can be opened to access the CLI, and send commands to control the color and brightness of the LED. The APA106 addressable LED protocol is identical to the Neopixel / WS2812b protocol.

Continue reading

Posted in Uncategorized, USB | Comments Off on The Single USB RGB LED

Mopidy Music Server Remote Control

    The finished wireless remote control for my Mopidy music server. Playback control and volume Icons by Icons by Darrin Loeliger (@MrNumma) and the Noun Project.

The finished wireless remote control for my Mopidy music server. Playback control and volume Icons by Icons by Darrin Loeliger (@MrNumma) and the Noun Project.

After wiring the house for a Dante digital audio network and building the Spotify and Pandora Wireless Remote Track / Artist / Album Display project, I decided the next thing needed to fix up my music listening experience was a quick way to change tracks, control playback, and adjust the volume without messing with a phone or web browser. The Wi-Fi connected Mopidy music server remote control was born!

Continue reading

Posted in Uncategorized | Comments Off on Mopidy Music Server Remote Control

Spotify and Pandora Wireless Remote Track / Artist / Album Display

    The completed music server remote track/artist/album display.

The completed music server remote track/artist/album display.

I use Pandora and Spotify a lot–typically from 7 in the morning until 11 at night. I got frustrated with the Spotify and Pandora apps on my Pixel 2 and their inability to find and control my Chromecast Audio players reliably. I also wanted a quick way to identify new songs or artists I heard without having to find my phone and open an app.

To solve these problems, I moved my music playing ecosystem to Linux and installed a wired Dante digital audio network for audio distribution. Finally I built a retro 14-segment, scrolling, always-on LED display that I could quickly glance at to discover what song was playing without having to find my phone and open an app.

Continue reading

Posted in Uncategorized | Comments Off on Spotify and Pandora Wireless Remote Track / Artist / Album Display

An Isolated RS-422 / RS-485 Shield for the Automation Direct P1AM-100 Open-Source PLC

The completed RS-422 / RS-485 shield for the Automation Direct P1AM-100 open source PLC.

The completed RS-422 / RS-485 shield for the Automation Direct P1AM-100 open source PLC.

The RS-422 / RS-485 shield is an open source shield designed to add RS-422 and RS-485 communication capabilities to the ProductivityOpen family of open-source programmable logic controllers (PLC’s) from Automation Direct. It’s loosely based on the Arduino MKR RS-485 shield but updated to use an ADM2582E 3.3 V isolated RS-485 transceiver from Analog Devices. The completed shield fits inside the P1AM-PROTO prototyping enclosure.

Continue reading

Posted in Uncategorized | Comments Off on An Isolated RS-422 / RS-485 Shield for the Automation Direct P1AM-100 Open-Source PLC

Building an Add-On Module for the Automation Direct P1AM-100 Open-Source PLC

    Inside my first add-on module for the P1AM-100 open source PLC. Two optically-isolated inputs, two relay outputs, a display, and half-duplex RS-485. The enclosure and headers are included in the P1AM-PROTO prototyping module.

Inside my first add-on module for the P1AM-100 open source PLC. Two optically-isolated inputs, two relay outputs, a display, a half-duplex RS-485 transceiver, and a serial EEROM with a MAC address for the Ethernet module. The enclosure and headers are included in the P1AM-PROTO prototyping module. Not shown is the lid of the enclosure.

In January 2020, Automation Direct launched their ProductivityOpen family of open-source programmable logic controllers (PLC’s). The first controller in the series, the P1AM-100, is based on the Microchip ATSAMD21 microcontroller and programmed using the Arduino development environment. To encourage development, they launched a prototyping module alongside the controller. The prototyping module consists of a piece of perfboard, the required connectors, and a housing.

I was already familiar with Automation Direct and their PLC and pneumatic products after building my crate beast and zombie containment unit Halloween props a few years ago. I was intrigued by this new controller from a familiar company, the CPU selection, and the possibility of building my own modules that could tie in to the controller for future projects. I set out to build a couple of add-on modules but first needed to take a closer look at the controller and its available add-ons.

Continue reading

Posted in Uncategorized | Comments Off on Building an Add-On Module for the Automation Direct P1AM-100 Open-Source PLC

Fort Collins Connexion FTTH Construction – Part Four

Inside this small splice enclosure, a 24 fiber, gel-filled cable is terminated.

A 24-count, gel-filled fiber cable is terminated inside this small splice enclosure. The splice enclosure is then placed inside the underground vault to await connections to drop fibers to people’s homes.

Welcome to part four of  my blog post on the construction and installation of the Fort Collins Connexion municipal broadband fiber network. In part three, we looked at the installation of service at my friend Collin’s house. In part four, we’re returning to my neighborhood and documenting the final construction steps before service goes live on my street.

Continue reading

Posted in Uncategorized | Comments Off on Fort Collins Connexion FTTH Construction – Part Four

Build a DMX FeatherWing to Control Lights with a Feather M0

Playing around with the DMX FeatherWing, a Particle Ethernew FeatherWing, an Adafruit Feather M0 Basic Proto, the official Nanoleaf DMX interface, and a Nanoleaf Aurora tile.

Playing around with the DMX FeatherWing, a Particle Ethernet FeatherWing, an Adafruit Feather M0 Basic Proto, the official Nanoleaf DMX interface, and a Nanoleaf Aurora tile. The GUI on the iPad tells the Feather M0 which light program to run. The program output is sent via DMX-512 to the Nanoleaf setup.

This project uses an Adafruit Feather M0 Basic Proto board to control a group of Color Kinetics or other RGB light fixtures using the DMX-512 protocol. We’ll build a DMX-512 interface FeatherWing then connect it to the Feather M0 using a Particle Ethernet FeatherWing. Once the hardware is built and assembled, we’ll write software with a web-based GUI to generate RGB lighting effects and control the attached RGB lights using the DMX protocol. By modifying the software on the Feather M0, different effects can be generated and added to the web-based GUI.

Continue reading

Posted in DMX / Art-Net, Ethernet, Lighting, Microchip, Power over Ethernet (PoE), SAMD21 | Comments Off on Build a DMX FeatherWing to Control Lights with a Feather M0