Desktop remote for Sound Skulptor MC624 monitor controller

GroupDIY Audio Forum

Help Support GroupDIY Audio Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

chadblinman

Member
Joined
Jun 18, 2017
Messages
11
Location
Boston, MA
I've been developing a wired desktop remote for the excellent Sound Skulptor MC624 (original thread about that here https://groupdiy.com/index.php?topic=56723.0).  Seen here is my version 3 prototype––in cardboard, but fully functional and already in use.  :D

This runs on an Arduino Mega with the Arduinix shield to drive Nixie IN-2 tubes.  Commands are transmitted to the MC624 over RS485 serial (via the Link connection).

This is a one-off for myself (not a product) but I'm freely sharing my Arduino code and other design details on Github:  https://github.com/chadblinman/MC624_remote
 

Attachments

  • MC624_remote_proto_v3_1_copy.jpg
    MC624_remote_proto_v3_1_copy.jpg
    1.7 MB · Views: 287
hey Chad,

We have a mutual friend in John Whynot and he was telling me all about your remote, it looks awesome, well done!  I've recommended that unit to a lot of people, John included.  It really is very well thought out and sounds fantastic, in my case I sold my Cranesong Avocet when I built mine, the MC624 sounds significantly better.

Mine is with a friend now as I use a different solution in the studio I work in, otherwise I'd be building your remote.
 
Me again,

I've had a quick look at your Github, thanks for the effort in documenting what you'e done. 

Can I ask why you've gone with a linear pot with endstops rather than the endless rotary encoder used on the original design?  I'm guessing feeding a varying voltage to the A/D on the Arduino was easier to implement?

 
ruairioflaherty said:
Can I ask why you've gone with a linear pot with endstops rather than the endless rotary encoder used on the original design?  I'm guessing feeding a varying voltage to the A/D on the Arduino was easier to implement?

That's a very good question.  (And thanks for your kind words!) 

I initially thought to use a standard rotary encoder, but I wanted some (admittedly frivolous) things that it wouldn't do.  I wanted a smooth-turning control with a luxurious high-torque feel, and I wanted to use a knob with a pointer, for the additional visual indication (and because I like the look).  For a while I investigated using an absolute rotary encoder, which is feasible.  But I was concerned about the feel and reliability––encoders, especially cheaper ones, tend to be a bit flimsy and flaky.  Finally it seemed simpler (and less expensive) to read a normal pot on one of the Arduino's analog input pins.

The Bourns pot I'm using has a great feel and is inexpensive.  The only problem was eliminating noise and jitter.  I can't have the remote flickering on its own between two adjacent volume values...click-click, click-click.  I tried filter caps and a couple of different smoothing methods in the code, but the thing that really did the trick is Damien Clarke's ResponsiveAnalogRead library.  There's a great post about it here, if you're interested in the problems and how he solved them:  http://damienclarke.me/code/posts/writing-a-better-noise-reducing-analogread  It's perfect!
 
WOW! And thanks very much for sharing!

I'm coming from the analog side of electronics, still have some experience in C++ and Java... but absolutely no experience with all this arduino stuff :(

I'm very interested in building a remote for my MC624... do you have some more Information on how wiring is done and code for other Display modules other than nixies?

Now i have to read more about arduino...

thank you
regards
Martin
 
Brizco said:
I'm coming from the analog side of electronics, still have some experience in C++ and Java... but absolutely no experience with all this arduino stuff :(

I'm very interested in building a remote for my MC624... do you have some more Information on how wiring is done and code for other Display modules other than nixies?

Thanks!

I'm no expert––this is my first project building anything like this, and my first foray into Arduino programming.  I had to learn a lot of things.  But I was able to find everything I needed in the existing work of others and the whole experience has been deeply rewarding.  I highly recommend it.

Using a modern display instead of Nixies would actually be much simpler!  There are off-the-shelf displays, interfaces and code that can be put together easily and cheaply.  Look here and let your imagination wander:  https://www.adafruit.com/category/63
 
ruairioflaherty said:
Another question if I may.  How do you deal with things like setting input or output offsets if the volume knobs is in a low position?

I'm not sure what you mean.  Can you clarify?
 
Sure.  When I set an offset on an input or output I turn the rotary encoder to select anywhere from -10 to +10dB of offset (to balance speaker levels for example).  If I was using your controller and the volume knob was at say 8 o clock, when I go to set my offset I'll hit the endstop of the pot before I get to the setting I want.

I guess the easy solution is to turn up the volume before going into the offset menu?

Cheers,
Ruairi
 
ruairioflaherty said:
Sure.  When I set an offset on an input or output I turn the rotary encoder to select anywhere from -10 to +10dB of offset (to balance speaker levels for example).  If I was using your controller and the volume knob was at say 8 o clock, when I go to set my offset I'll hit the endstop of the pot before I get to the setting I want.

I guess the easy solution is to turn up the volume before going into the offset menu?

Ah, I see what you mean.  Well, the remote is not set up to access or adjust any of the system setup functions.  I simply use the main unit's front panel controls for all of that.  (Even in slave mode, all front panel control works normally.)

I'm not even sure what would happen if the remote's volume control were adjusted while the main unit was in setup mode.  If anything, I think it would only continue to adjust master volume (not adjusting the offset value or whatever is happening in setup).

It's an interesting thing to consider making the remote useful for system setup.  But I think it's a non-starter.  Although it is feasible to program the remote code to respond to button combinations and long-presses, as far as I know there are no serial commands to enter setup modes.  Jean-Pierre would need to write them into the main unit's programming.  But then there are immediately other problems, not least that the remote's Nixie display can't indicate everything that the main unit's display can.  And since the serial connection is one-way only, the remote can't "know" what's going on in the main unit––it cannot access stored settings to display them (unless the remote "remembers" the settings from previous sessions by writing them to EEPROM...but those would not be in parity if anything were changed at the main unit).  Finally, as you've pointed out, there are setup adjustments that by their nature require the function of an incremental encoder, while the volume control on my remote can only transmit absolute values.  I can think of work-arounds for a couple of these problems, but they'd be wonky...

My intention has always been to leave system setup control at the main unit, and use the remote for the everyday stuff.  But you've got me thinking:  Are there offsets or other setup functions that you change often enough that you'd want to control them with the remote?
 
chadblinman said:
My intention has always been to leave system setup control at the main unit, and use the remote for the everyday stuff.  But you've got me thinking:  Are there offsets or other setup functions that you change often enough that you'd want to control them with the remote?

Sorry Chad, I missed this!  I don't use my unit right now, it's on loan to a friend.  But you are right, those settings were changed fairly rarely.

 
Hi guys,

sorry to hijack this old thread, but I've been working on my own version of a remote control for the MC624 and I didn't want to open a new thread.

When back then I came across this thread I was really impressed by Chad's work and wanted to try my own version of a remote control. I've been thinking about it for quite some time already, but I was always afraid of the programming stuff (it's just been too long, forgot most of it...), so you could say Chad's thread really helped me overcome that fear and give it a shot. So I started putting something together, fooling around with arduino etc. One and a half years later it is finally finished and I thought I leave some pics here and also, thanks Chad for the inspiration and code and so on, really helped a lot! :)

As you can see, I built a simpler version, just buttons and volume control (also with a pot, not an encoder). It connects to the MC624 through a standard USB cable, the MC624 is supplying the remote with 5V - had to change the 5V regulator in the MC624 for something bigger tho, but now it works perfectly. The controller used here is a Mega2560, same as Chad used, but I put together a small PCB for it, to fit everything into a Hammond case.

I guess that's it for now

Best regards,
Mathias

Edit: Had to put the images in here, had security issues with using the attachement function

rmc1_01.jpg

rmc1_02.jpg
 
WOW Mathias, your remote looks amazing!  I love the clean, modern look.  And the inside is properly sorted, very tidy with your custom PCB and header wiring.  This looks like a professional product and would have a 100% better chance of being reproduced/manufactured as a product (or a kit!) than my version, if people are interested.  I hope you've shown your design to Jean-Pierre at Sound Skulptor...

Excellent work!
 
Chad,

an excellent read! Why do you think he used RS485 for the interface? I understand that it's differential/balanced in nature, but is the data so quick, or traces so long, that RS485 is really required?

/R
 
Rochey said:
Chad,

an excellent read! Why do you think he used RS485 for the interface? I understand that it's differential/balanced in nature, but is the data so quick, or traces so long, that RS485 is really required?

/R

Thanks very much!

Regarding the choice of interface, Jean-Pierre did tell me this back when I first inquired about remote control, which explains it at least partly:

We use an USB connector for convenience but the signal going through is actually a standard serial asynchronous RS232, 8 bits, 9600 Bds, port interfaced to RS485.
When the unit is set to master, the serial link is an output.
When the unit is set to slave, the serial link is an input.
 
Thanks Chad!!! Not sure about going mass production with this thing, haha :D

Gotta send Jean-Pierre an email, didn't do that yet ;)
 
buckethead said:
Thanks Chad!!! Not sure about going mass production with this thing, haha :D

Gotta send Jean-Pierre an email, didn't do that yet ;)

Even if you just printed a few more boards up with the SMT stuff on it with a BOM for everything else. Id be down for that.

Looks great!
 
Back
Top