Integration with deej

< All Topics

Do you want to integrate this slider with the open-source deej software? Look no further!

What is Deej?

deej is an open-source hardware volume mixer for Windows and Linux PCs. It lets you use real-life sliders (like a DJ!) to seamlessly control the volumes of different apps (such as your music player, the game you’re playing and your voice chat session) without having to stop what you’re doing.

Warnings

Please be aware that the integration with Deej is as-is. This means that we are not responsible for any issues in Deej and that Deej is not responsible for any issues you might have with the integration of our slider. If you want to ask questions, you can best contact us.

Deej currently does not support communication with the motor inside sliders. This means that you won’t be able to make this slider move by itself using the Deej software.

The integration of this slider with Deej disables communication between your slider and Pawnerd Gearbox. By following the Updating slider firmware article, you can use it with Pawnerd Gearbox again.

Integration process

Step 1. Installing the IDE

First, you need to install Arduino IDE.

Step 2. Connect your slider

Connect your slider to the computer using a USB cable.

Step 3. Set-up the environment

Click in the main menu on Tools > Board: [xxx] > Arduino Leonardo to select the Arduino Leonardo as your device.

Then select your device as the target of the application. This is done by clicking on Tools > Port > [YOUR SLIDER].

Step 4. Write the software

Copy-paste the code below into your Arduino IDE.

                    
const int NUM_SLIDERS = 1;
const int analogInputs[NUM_SLIDERS] = {A0};

int analogSliderValues[NUM_SLIDERS];

void setup() { 
  for (int i = 0; i < NUM_SLIDERS; i++) {
    pinMode(analogInputs[i], INPUT);
  }

  Serial.begin(9600);
}

void loop() {
  updateSliderValues();
  sendSliderValues(); // Actually send data (all the time)
  // printSliderValues(); // For debug
  delay(10);
}

void updateSliderValues() {
  for (int i = 0; i < NUM_SLIDERS; i++) {
     analogSliderValues[i] = analogRead(analogInputs[i]);
  }
}

void sendSliderValues() {
  String builtString = String("");

  for (int i = 0; i < NUM_SLIDERS; i++) {
    builtString += String((int)analogSliderValues[i]);

    if (i < NUM_SLIDERS - 1) {
      builtString += String("|");
    }
  }
  
  Serial.println(builtString);
}

void printSliderValues() {
  for (int i = 0; i < NUM_SLIDERS; i++) {
    String printedString = String("Slider #") + String(i + 1) + String(": ") + String(analogSliderValues[i]) + String(" mV");
    Serial.write(printedString.c_str());

    if (i < NUM_SLIDERS - 1) {
      Serial.write(" | ");
    } else {
      Serial.write("\n");
    }
  }
}

Step 5. Upload your code

Great, you are almost done! At last, you need to flash your Pawnerd Slider with your code. This is done by pressing the upload button. This button is displayed on the top-left of your window and looks like an arrow pointing to the right, as shown below.

After uploading your sketch to Arduino, you should be able to use the slider with deej.

Step 6. Installing deej v0.9.10

Now it’s time to install deej. The last tested version of deej is v0.9.10. You can find the installation instructions here.

Pawnerd Gearbox no longer working

To be able to use the slider again with Pawnerd gearbox, please have a look on the Updating slider firmware article.

Previous Downloads
Next Updating slider firmware
Table of Contents