A circuit for midi control of panasonic video mixers, cont'd

Hi all,

This is my first post here! I recently discovered @cyberboy666’s _transcribe_ project after getting my hands on a Panasonic WJ-MX30 and a 19" Sylvania CRT. Both are great pieces of kit, but integrating a piece of modern technology into the setup, like a MIDI controller, seemed like fun. So I set off to build the thing, but then realized that with my limited hardware knowledge, bringing up a PCB by hand would cause a lot of headaches.

Instead, I immediately ignored the instructions (like always), and opted for readily-available breakout boards. I chose to use a Teensy 4.1 as my microcontroller (because I had one on hand after using it for a playable-brick-wall-piano performance last month) and picked up a MAX3232 board. Albeit more expensive, it was a breeze to get a first prototype working (disregarding RS232C pinout discrepancies that I had to go in and swap, and level-shifting peculiarities). The Teensy has robust MIDI support, and can act as a USB Host with minimal effort. But it is expensive! (I got it for free :slight_smile:)

I developed the firmware built upon @cyberboy666’s existing code. I first adapted it to work with the Teensy, then refactored it to make it more clean and modular, since software is more of my expertise than hardware. This, along with my beginner-friendly hardware choices, is the main fruit of my endeavor. The code and more documentation can be found in this GitHub Repo. Some glamour shots below.

Now to more interesting things. While the above project was a good intro into hardware (after building a “useless box” a few years back), I wanted to incorporate OSC (Open Sound Control) into the mix. I’ve used OSC for networked audio, to control lights, and now, audio-reactive CRT visuals :slight_smile: . I’ve actually worked closely with the creator of OSC, Dr. Matt Wright, who is now a professor at Stanford University, where I am currently pursuing a Master’s. So I might be a little biased :slight_smile: .

With much of the same foundations, I swapped the Teensy for a NodeMCU (ESP8266) microcontroller. Unlike the Teensy, these boards are cheap! They aren’t without their flaws, though, with some peculiarities with their UART pins that caused many headaches. With WiFiManager and ArduinoOSC, the NodeMCU turned into an OSC receiver! I added a SSD1306 OLED Display to display the IP address after connecting to WiFi.

Connecting this to the rest of the system enabled OSC control of my WJ-MX30. I can now open TouchDesigner, feed in an audio source, implement an audio analysis pipeline, and send OSC messages to the mixer to make audio-reactive visuals. Cool :sunglasses: .

The best part is that you can just pop this in the back of the mixer and power it via USB. No extra cables needed. The downside, though, is that OSC over WiFi isn’t the most reliable, with latency and a lot of messages getting dropped when sending rapid-fire commands. Ethernet would be a more reliable option, but that would require another cable. That’s for next time.

The code and documentation can be found in this GitHub Repo. As before, clean and modular code, and beginner-friendly hardware choices. A glamour shot below. I recently gained access to a 3D-printer, so I 3D-printed a nice enclosure :slight_smile: .

Thanks for tuning in. Might get around to posting demo videos. Thank you @cyberboy666 for the foundational project! Also I wanted to ask… where did you find the RS232C command list for the Panasonic video mixers?! I can’t find them at all.

3 Likes