VernonGraner Contributor - Level 2 2018-01-27

2018-01-27

DIY WiFi/MIDI Remote control box for X-AIR: WORKING!

Tl;DR - I've built a portable WiFi/MIDI mixer control box that allows MIDI or completely wireless operation of an XR18 mixer. typical uses include talkback routing, "Cough box" on the talent table or a way to quickly route/reroute signals Smiley Happy

Based on the Adafruit HUZZAH32, this unit can run on a USB cable connected to a small USB "brick" or it can also run on a LiPo battery. Signal output is a combination of MIDI and WiFi. At the moment, the WiFi info (SSID/Pass) and the IP address of the target Mixer is hard-coded in the source before downloading to the chip.

So, you can plug in the USB cable and charge brick for long term use, and the MIDI cable for sure-fire control, or you can run on batteries and use WiFi to be completely portable! In wireless mode on batteries, it is REALLY fun! Smiley Happy

This is really a V1.0 "proof of concept" design. I built it in a leftover project box and the unit is cumbersome to reprogram. I plan to add an OLED display to allow the WiFi / IP info to be input from the front panel, and also to allow button functions to be programmed.

Here are some pictures:


The first prototype on the breadboard


Closeup of the case


Closeup of the microcontroller (HUZZAH32)


All Buttoned Up! Smiley Happy


Rear panel


Unit in operation

And lastly, I have a video of the unit controlling my XR18:

https://youtu.be/CI1OQnQrRa4

I'm happy to answer any questions and welcome ideas on how to improve the design. Thanks to all the forum members that helped steer me in the right direction! Smiley Very Happy

  • 0 Kudos
  • 66 Replies
  • Reply
Highlighted
Volunteer Moderator

Re: DIY WiFi/MIDI Remote control box for X-AIR: WORKING!

Hi Rob,

Glad to hear that you are working on an arduino project to toggle your mute groups. It should not matter what hardware (shield or otherwise) you use to connect to the console via wifi or ethernet. Once connected and transferring OSC commands to/from the console, the code should be universal. I think I had better explain the flow of how the send and read routines work in my sketch.

At the very bottom of my sketch are some functions that send OSC commands with (or without) values (SendCmd2OSC, SendInt2OSC, SendFloat2OSC, SendLevel2OSC and SendString2OSC).

The receiving functions are ReadOSC and ReadInOSC. The reason for the 2 is as follows. When you send a command (also called path or address) with no values, the OSC server in the console receives that as a query of current state and responds with the command and current value.

The trick is that when reading the response, the code reads the expected response, not something else. The way this code does this is when the OSC command is sent, it also stores that command in a variable called ExpectedStr. When the response is read, the command part is compared to the received message. Due to timing issues, the current response may or may not be what is expected. If not it is re-read using a while loop.

What I learned was to limit the re-reading using the RepeatRead variable so that an infinite loop doesn't occur. This is the reason for the ReadOSC and ReadInOSC. The latter reads the response, extracts out the message as command (CommandStr) and its values - integer (iValue), float (fValue) or string (sValue). The ReadOSC calls the ReadInOSC function in the while loop which is limited by the RepeatRead value.

Hope that helps you understand the code.
Paul Vannatto, Volunteer Forum Administrator and Moderator. Did you find my post helpful? Give kudos or mark it as a solution!
Highlighted
Contributor - Level 2

Re: DIY WiFi/MIDI Remote control box for X-AIR: WORKING!

WOOHOO!!! I found us!!! Smiley Happy
Contributor - Level 2

Re: DIY WiFi/MIDI Remote control box for X-AIR: WORKING!

Hello I am currently having a look to the different DIY stompbox and yours is the most advanced and flexible 've seen, congrats! I was wondering if we could get in touch so I can start to build my own, I would be very happy to contribute and maybe bring it to a next version (ex. with an OLED). Do you mind droping me an email: contact@groupe-interval.fr or indicating how I could get in touch with oyu ?

Thanks

Highlighted
Volunteer Moderator

Re: DIY WiFi/MIDI Remote control box for X-AIR: WORKING!

Hi Thomas @sanshiro 

Welcome to the forum. If you want to develop a footpedal with an OLED, have a look at what Don @DonMcLellan came up with from this thread discussion (found here).

 

Paul Vannatto, Volunteer Forum Administrator and Moderator. Did you find my post helpful? Give kudos or mark it as a solution!
Highlighted
Contributor - Level 2

Re: DIY WiFi/MIDI Remote control box for X-AIR: WORKING!

Thanks for the kind words and the interest. I've sent you an email Smiley Happy

-- Vern
Highlighted
Contributor - Level 1

Re: DIY WiFi/MIDI Remote control box for X-AIR: WORKING!

Good work Vernon!,

Your work it's fantastic!.

I'am from Spain..., and I workind with a lot of projects with Arduino.

But I don't charge to my ESP32 your code. All times have the message: 

exit status 1
Error compilando para la tarjeta Adafruit ESP32 Feather.

You know this problem?..., I put the same adafruit esp32 feather...

Sorry for the elementary question, but I can't advance.....

Thank you!!

 

agustincharles
Highlighted
Contributor - Level 1

Re: DIY WiFi/MIDI Remote control box for X-AIR: WORKING!

Hi there! This project looks amazing to me. I would love to know:

1) It is possible to make it work with my FCB1010 instead of the buttons?  (Maybe using the USB M-audio MidiSport 2x2 or wathever that could be useful)

2) Use it as a traslator between CCs from the FCB1010 to OSC messages to the xr18 in order to be able to use FX inserts on/off.

Cheers! and thanks for posting your project!