Disc Jockeys influence on SDR

The User Interface of computers suck when it comes to Radio Controlling. In January 2010 I got so annoyed by being forced to control the radio with keyboard and mouse that I finally decided to look for something else. Now, almost one year later I’m happy that I can present you an interesting alternative. The interface costs less than 100 USD, is commercially available and improves the overall SDR experience significantly.

The idea

While strolling through the shelves of the local consumer electronics retailer, I noticed some kids producing horrible noises by scratching on a digital turntable. When they left after a few minutes I went over to have a look by myself on this device. The device of suspect turned out to be a Disc Jockey Console which delivers an extensive set of functionality for ambitious DJs. Where Disc Jockeys used Vinyl a few decades ago, they have been replaced by MP3s, Digital Signal Processors and powerful PCs. However one thing has not changed – the User Interface.

Even if the turntables, the knobs and the buttons on such a console are directly converted into digital signals, the tactile feel is almost the same as on a record player from the seventies. For the DJ’s profession, keyboard and mouse are inadmissible. Why change things proved systems which have been optimized over several decades just because the application is transferred from the analog into the digital domain?

When I had the DJ Console in my fingers I realized that such a device would satisfy most needs for controlling a radio. It comes with two big turn wheels, more than twenty buttons and almost ten knobs.

With this thought, the idea of a new SDR User Interface was born.

The result

So, I just needed to connect the DJ Console to my PC and somehow use it to control an SDR software. Sounds easy, doesn’t it? Unfortunately it was not that easy. Now looking back on this project, it took me more than 100 hours, a couple of failures and a few drawbacks. I’ll share my experiences in another blog post. Now I’ll focus more on the result.

From the beginning it was very clear, that I do not want to develop my own SDR Software but instead, making maximum reuse of existing building blocks, namely the RF and Signal processing building blocks. Since I couldn’t find an SDR framework or software with proper Interfaces I had to look for an SDR software to modify and adapt to my needs.

I selected Flexradios PowerSDR as the Signal Processing building block because the sourcecode is published under the GPL license and the software itself made a stable impression. My good old Softrock clone added the RF part. The main focus of my work was the integration of the DJ Console into PowerSDR. While I had not only to add but also modify the PowerSDR source code, I’m quite happy with the result. Now let’s have a detailed look on it!

Within PowerSDR I can now select in “Setup” a new Tab called “UI Controller”. Here a connected Hercules DJ Console can be selected and individually configured.

The sweetness of software is its configurability. I wrote a configuration mask which allows everyone to map the software’s function to a specific knob, button or wheel according to the operators’ individual preferences.

The available functions have been divided into three groups:

– Buttons (On – Off)

– Turning Knobs (Value range 0…100)

– Turning Wheels (increment / decrement)

Currently the buttons of a Hercules DJ Console can be mapped to the following functions:

– Lock VFO

– MultiRx On/Off

– Narrower Filter

– Wider Filter

– Next Mode

– Previous Mode

– Noiseblanker 1 On/Off

– Noiseblanker 2 On/Off

– RIT On/Off

– XIT On/Off

– Increase Tuning Steps

– Decrease Tuning Steps

– VFOA to VFOB

– VFOB to VFOA

Regarding the turning knobs, the following mapping is currently supported:

– AF Gain (Overall Audio Volume)

– Ratio MainRx/SubRx

– RIT

– XIT

– Volume Rx1

– Volume Rx2

An finally the turning wheels can be used as

– Frequency Control VfoA

– Frequency Control VfoB

– Controlling Filter Bandwidth

The following video will give you an overview how this works in practice:

Ensure that you watch this video in 720px Full HD! Sound is turned on after the first minute!

So, what’s next?

I would currently label the status of my add-on to PowerSDR “prototype”. Even if it works quite well for me, it has not been released to the public yet. My further effort on this will depend on the feedback from you.

Over the last month I was talking and complaining a lot about the bad User Interfaces for Software Defined Radios. The intention of this DJ Console integration was to prove that it is possible to have a decent UI for little money. Please recognize the importance of the User Interface building block. It is as important as the RF and Signal Processing building block. Please spread the word!

If you like this project, please leave me a comment with your thoughts!

[update 13/12/2010]

I received a couple of comments that this particular Hercules DJ Console MK2 is not sold anymore. This is true. However you might still find it for reasonable prices on ebay from time to time. On the other hand, Hercules has brought out a couple of new models. The Hercules DJ Control MP3 e2 is the cheapest one which starts at 99 USD on Amazon. While I have not tried out this console in particular, I’m confident that it will need only little adjustment on the software side. My PowerSDR extension is communicating with the DJ Consoles through the MIDI interface. Fortunately, MIDI is an old, reliable and very well documented standard.

You might also be interested in these posts:

Self-confessed Starbucks addict. Loves to travel around the globe. Enjoys the technical preparations of Amateur-Radio contests as much as the contests themselves. Engineer by nature. Entrepreneur. For more, follow him @DH1TW

Comments

Good job Tobias!
Looks like you found a nice reasonably priced control surface – way to go spotting how it could be used to control the SDR! I’m a programmer by trade so I’m interested in what language you used to integrate it into PSDR. Does the control surface “speak” MIDI or did you find an api you could talk to it with? Will your s/w interface work with or adapt to any of these type of surfaces, or is it just this one type for now?

Will you be making your s/w interface available? I’d love to play with this with my Flex 3K.

Frankly, 100 hours isn’t a whole lot of time so kudos to you!
Mike W0STB

You have hit the nail on the head with this Tobias. Many hours of frustration will be avoided kwith such a functional interface. Appreciate your dedication and passion for our hobby to make it more accessible and enjoyable. 73,

Hey Mike,
the software was written in C#. I also wrote a C++ USB driver for the DJ Console. It works but sometimes it has some random timing problems which I couldn’t track down to the root cause. The second approach was more successful. I found out that the Hercules MIDI driver can be used to read / write commands from / to the DJ Console.

The vendor Hercules has an API, but for unknown reasons they only distribute it to few partners.
I have not tested my s/w interface with other type of DJ Consoles. But what I read on the internet it seems that they are the same or at least similar.

Tobias,
What more could we ask for and kudos for implementing a prototype proof of concept. I suggest you share this with the multitude especially the softrock community of 2000+ users.
Cheers,
Alan – W6ARH

Fantastic job Matias !!! It’s not just a Contour ShuttlePro flywheel, but a complete user interface.

I don’t know the communication protocol of this USB based device, but it will be very good if your add-on code-interface works OK with the majority of the USB DJ consoles (I believe that most of them will use approximately the same approach on design and communication protocol).

Your project will “push” me to buy my favorite SDR receiver (PM-SDR) earlier than I had planned !!! I hope that your code will work OK with PowerSDR I-Q also.

Hi Tobias
What a great idea, i am currently using Shuttle Pro and its not really a great solution for me, but you have proposed using the DJ Console i think is perfect solution..well at least for me controlling a Flex 5000a. I am already searching Ebay for a Hercules DJ Console MKII in the hope that the configuration mask will be made available by you soon. I would definitely be interested in any other consoles that you find have the same level of configurability in case I cant source the Hercules.
Always llok forward to your emails..there is always something new and interesting in the SDR area..Thanks

Tobias
it is a great project; you are providing the missing link to SDR user interface.
I have been using powersdr for 4 years (with sdr1000 and f5k now) and I wont back to a “traditional” radio.
The video and mouse dependency is a barrier with which I am used to, but some a real touchable console is missing for me.

I will follow your project I was aware reading the national contest journal and I will be happy to be a beta tester.
don

Absolutely fantastic piece of engineering and reuse of existing hardware. This would be exactly what I would be looking for in an UI. My preference would be to use it with DSP Radio software in the waterfall display mode running on my MacBook Pro.

I never operated DJ or PC game console! I like remote head of my recent TS-480. However, I enjoyed test drive of Toyote-Prius! SDR GUI seems to be overloaded by irrelevant info and commands. Google home page works just fine. GL with C# Amigo Tobi!

Yes thats it. Nice hand console for contest and for experiments. Great Idea Tobias. I think it’s new time about SDR began. I thought to be console only one big knob with several small digit decade frequency buttons but this is more than I was expected.Somebody said that is hot water discovered but to recognise it is character of real good experts.
73 de Davor, 9A4KJ

good work Tobias. after using my flex3k for over a year, i have learned to live without knobs..

BUT when you want to operate in a contest with N1MM software ( or ?? ), its a different story. Windows seems to lose ‘focus’…I call somebody, try to log them, and suddenly i’m on 60 Mhz !!! very clunky..

with your UI, it will be possible to disable keyboard shortcuts in PowerSDR and still control the radio..SUUUUUWEEET!!

and now i know, i WILL need 2 video monitors for a dedicated run at a contest..so many nice windows in N1MM..but i could never give up the beautiful panadapter in PowerSDR..

plus, this interface may bring some guys into the SDR fold who just have to have knobs….

Tobias: Very innovative and great use of a low cost, but totally appropriate “prosumer” device to put a new slant on an SDR user input device and corresponding display. Certain operations are definitely best done by rotating a knob rather than mouse movements on a surface, not that the same results cannot be achieved either way. But the key is the feeling and control that the DJ Console or similar device gives to the user. Once a user gets familiar with the layout, complex SDR operations will be done without even looking at the console and they should be accurate and and fast. Be sure to pick a console model that will be around awhile and does everything you need for a complete SDR user interface. Real hams don’t use a mouse, but they know what SDR can do for them.

Bravo Tobias! I fully concur that the UI development will help push the capabilities of SDR among amateur radio ops tremendously. The WoodBoxRadio Tmate for the Flex Radio SDRs is sort of expensive for US hams…we don’t have a US dealer yet, for instance. Your prototype appears to be more powerful than Tmate, at first glance.

Please keep up the work as the $99 hardware acquisition via Amazon is a good price-point for most of us.

I highly recommend Open Sound Control (OSC) if you want to further development in this space, or support other mixes of other devices. A lot of people are using it in place of MIDI for these sorts of multimedia mashups. Otherwise, this is pretty awesome! Thank you for pushing things forward.

Brilliant. Thank you for all your efforts. I think it is the piece SDR puzzle I have been missing on my SDR but didn’t conceptualize. I will be very interested to see the end product, as I am sure lots of other people will.
I was thinking the SDR IQ would be another good choice, but on second thought, the way it is used by most people is less intensive than the Flex.
Very much looking forward to a copy and using it.
Doug K6JEY

Hey Mark,
yes – the DJ Console holds the control of PSDR when the focus in on another application. Instead of emulating keystrokes (as other solutions do), the DJ Console is connected directly and exclusively to PSDR. No more unintended loss of frequency due to a wrong set focus.

One of the Flex reflector users posted the link to your website. You have done a very comprehensive job adapting the DJ interface as a PSDR UI. While I’ve not had any great objection to using a mouse to control PSDR and my FLex, there have been times I would have relished having something better than the wimpy Griffin Powermate knob. You’ve gone way beyond the tuning knob concept so that an operator could do just about every operation but contact logging via your UI. I do hope you continue the development.. For one, I would make ready use of such an interface. And I am thrilled that your software maintains focus with PSDR.
My next task will be to keep tabs on developments in hopes that there will be a public software release.

I’m newly interested in Power SDR, and have much to learn. I don’t know what radio/computer/display etc. you are using. What I did notice in your video is that the CW signals displayed seemed much more responsive than what I have seen in videos of other configurations. They looked more like real time. I’m wondering how this is accomplished?

A question that I do not see answered by viewing the video: does the UI provide means to “click” on a signal in the panadapter/panafall display to immediately “pounce” on that signal? As an op running low power, I frequently find that I get better results using Search & Pounce (S&P) operating mode instead of Run. Presumably one could continue to use the mouse for such functionality, but that results in using 3 interfaces: the console, the mouse, and the keyboard. Keeping it down to 2 maximum seems mandatory; and I know that serious contest operators only want ONE.
What am I overlooking on the console that would enable S&P operation? Thank you for your reply.

I was very interested in your video demonstration of PWR SDR in a recieve mode. It would be interesting to see it in a transmit scenario. Just adding to Ted’s (WA3AER) comment, I suspect the PTT (foot switch, mike) would add a 4th interface that would need to be accomodated/used. Unless one relies on VOX, a foot switch would be least intrusive as it frees up the hands.

Thanks again Tobias, I’ll be very interested in seeing were you take this next.

Nice project, very nice feature, for sure! Our finger with their multiple abilities are certainly MUCH better than a mouse. It will bring all that bunch of people saying that they don’t like SDR because they like a radio with buttons. Here you have buttons! Only this un-expensive Hercules mk2 DJ-Console and the screen. I like it a lot!
I only see a problem, with labeling the butons, after configurying them. Can you show labeling, on screen, each time we need to remember which botton does what now? We migh decide to asigne a different function for tha same button later, depending on modes, being in a contest or rag-chewing. DJ labeling is good for them only!

Hey Jose Maria,
yes – the labels are rather fixed and can not be changed. This is a compromise of course, because on the other hand you get an inexpensive multi-purpose User Interface with these Hercules Consoles. I think several workarounds are possible: You could make a printout of the configuration screen or add some sticky paper labels on the console.

FB Tobias!
I’m happy to see knobs oncemore, being an Ham for abt 50 years I have had more knobs years than mouse years, hi ! I feel a l’ease with PC mice and Kb but knobs is still a better DX feeling!
Thank you Tobias, I’ll start to look for some DJ console on the market.
I hope it will be available also with other SDRs soon .
Have fun with your nice job on DJ Consoles, Tobias!
Augusto i2jjr etc

Very happy to see someone who can bridge the great divide between SDR and analog user interface. The Flex will truly live up to its potential with such a user interface that can be assigned functionality to suit the user. Very best wishes for success with this project.

Hi Freek,
no, the DJ Console MK4 is currently not supported. My advice is to get an Hercules MP3 E2. The layout is exactly the same. The only difference is that the MK4 comes with an internal soundcard.

I purchased a Hercules DJ Control MP3 e2 for use with my Flex 1500, and it made the Flex way, way better IMHO. THANK YOU!!!

I recently replaced the Flex 1500 with a TAPR/openSDR ‘hermes’, and use a version of powerSDR that was modified for the hermes. Again I am in a fix as you were: without buttons and knobs the human interface is not very good.

My plan, hopefully, is to add your code for the Hercules to the hermes version of powerSDR. In order to do this I need the source code for your mods.

Is that available?

Of course I also need the hpsdr hermes source code, but I can get that without too much trouble.

Hello, Congratulations for your work, I installed(settled), to use a MK2 to lose 2.0 and it works very well.
with one DJ checks(controls) instinct it does not work. In your opinion that they have the versions of the software For this console. Thank you

Great Job on the interface. I am using the using the DJ Control MP3 e2 with the Flex 5000 and it makes it so easy to set and change controls. Do you have any plans to update the software now that PowerSDR 2.7.2 has been released ?
Thanks for the great software
73’s John

Dear Tobias,
The PowerSDR-UI 0.997 beta package is really a nice idea but for some reason it does not at me. Is the DJ control MP3 e2 really compatible with it? After installation the software, a new tag “User interface” is shown in the Setup window but the connected combo box is empty and offers no DJ console though the console is connected to the computer and is see by the Windows XP. Could you help me to find where the error is?
73 Julda, OK1NE