USB Midi Controller for SDR Console (english version)
- Aniello Di Nardo - IU8NQI
- 14 lug 2020
- Tempo di lettura: 4 min

NOTE: This is an automatic translation of the original post (in italian language)
I quickly write this post to start sharing the project (as the title suggests) of a MIDI controller for SDR Console (the software to manage the USB sticks to receive Ham radio frequencies, broadcast, etc ... with SDR technology).
Often the difficulty in using these devices (in addition to the usual installation problems) is also in the control, which can only be done through the mouse. Hence the idea of creating an external USB device to control at least the main functions.
With this controller it will be possible to:
Use a rotary encoder (with attached built-in button) to move in frequency in "ultra fine" and "fine" mode, ie in small steps
Use an additional Encoder to move in frequency in "normal" and "large" mode, that is, in larger steps
Use 2 buttons for Mhz- and Mhz +
Use 2 buttons for Mode- and Mode +
Use 1 button for Audio Mute
Use 1 potentiometer to volume control
Finally, you will have 2 more potentiometers for future use (SDR Console does not currently have other features that can be activated via MIDI, but in the future they may come in handy! In any case, they can also be omitted).
Obviously the assignment of the functions will be done in the SDR Console at the end of the work, associating the desired characteristic with each element.
The following is a project made using an Arduino UNO R3 board (or compatible as long as it uses at least the ATMega16u2 chip, which allows you to activate the DFU mode) and a few passive components. It is important that the Arduino board is "USB capable", because after uploading the sketch, you will have to flash the firmware with a bootloader to insert "Arduino MIDI", a particular firmware that allows Arduino to become a real MIDI device.
I will limit myself to the electronic part and provide you with the sketch, for all the rest: box, knobs, etc ... I leave your creativity to complete everything satisfactorily.
NOTE: If you don't feel like trying building out this project, I can consider making it for you ... contact me and ask!
COMPONENT LIST
Nr. 1: Arduino UNO R3 board (or compatible with activated DFU mode)
Nr. 2: 5-pin rotary encoders (with push button built in) model EC11
Nr. 2: Led (you choose the color)
Nr. 2: 390 ohm resistors
Nr. 5: Buttons (normally open)
Nr. 3: 50 K potentiometers
ELECTRICAL DIAGRAM
In the file that you can download below you will find the wiring diagram in PDF format. It is just a matter of connecting the passive components to the various Arduino pins, connecting the masses and, for the potentiometers, also the 5V pin. If you follow the pin sequence shown in the diagram, you won't even have to change the source code.
THE SKETCH
In the file below, however, you will find the source code of the program that you will have to load on your Arduino UNO R3. This is the first release, so consider it a beta!
NOTA: After uploading the sketch you need to "transform" your Arduino UNO R3 board into a USB MIDI device!
To do this you must follow these steps:
Upload the sketch with Arduino Studio
Switch to DFU mode by short-circuiting the 2 pins (of the 6-pin block) closest to the reset button
The board will automatically be uninstalled and reinstalled as a DFU device
Load the "Arduino_Midi.hex" firmware which you will find below
I used the Flip 3.4.7. bootloader which is very easy to use (search on the google how to use it)
at the end disconnect the USB from your Arduino board and reconnect it
Done! Your board is now a full-fledged midi device (arduino midi).
I also leave you the original firmware of the Arduino UNO R3 so that you can restore it in case of need.
PRACTICAL REALIZATION
I started by creating a box to contain everything, using the black background of a wardrobe that is no longer in use, made of 3mm MDF. Box measures:
width 22 cm
height 7 cm.
depth 10 cm.
I drilled the front side to contain all the components, leaving the space homogeneously both horizontally and vertically.
I mounted all the components (as in the photo) and made the connections following the wiring diagram, taking care to make stable welds, so as not to reopen the box due to a detached wire!
Finally I drilled the rear panel to slightly release the USB connector of the Arduino board that I fixed with hot glue.
I fixed the front panel with 4 screws in the corners and connected the new USB MIDI Controller to the computer.
I launched SDR Console and configured the commands.
NOTE: The two encoders are also buttons. When the encoder button is pressed, the corresponding LED turns on or off, modifying the so-called "MIDI Control Change" of the relative knob. In practice, with the LED off, the control sends a different CC than when the LED is on, in doing so, SDR Console "sees two of knobs ... instead of one".
LIST OF MIDI CONTROL CHANGES
Below is the list of MIDI CCs that the controller sends to the SDR Console (refer to the image fixed at the top, in the post, to identify the controls):
CC 80 - Large encoder knob with LED off
CC 81 - Large encoder knob with LED on
CC 82 - Encoder medium knob with LED off
CC 83 - Encoder medium knob with LED on
CC 84 - Red button on the left
CC 85 - Red button on the right
CC 86 - Blue button on the left
CC 87 - Blue button on the right
CC 88 - Yellow button
CC 89 - Potentiometer with red knob on the left
CC 90 - Potentiometer with red knob on the right
CC 91 - Potentiometer with white knob
CONFIGURATION
Launch SDR Console
Click on the TOOLS menu item
Choose the OPTIONS button
Click on CONTROLLERS and then on MIDI
at this point the mask you see below opens, you will only have to associate the encoders, buttons and potentiometers with each action:

I hope the project has been of your interest.
Best regards to all.
IU8NQI
Comments