January 13, 2025
Description
An LED backlit Deej controller! If you don't know what deej is, it's a really cool open source project where people design and build physical audio knobs/sliders to control the volume of individual programs on a windows or linux PC. This is my design using multi colour printing to give a clean backlit logo under each slider, when the volume is 0 the logo turns red, and when the button on top is pressed it mutes my mic on discord and gives a red LED underglow. This is a challenging print, soldering and coding job so not recommended for beginners, but this is a great intermediate project, and you get something useful at the end of it.
An optional stand made just for this case is also available here: https://makerworld.com/en/models/1021529#profileId-1002996
Printed on an X1C, but should be P1P, P1S, A1 & A1 mini compatable. AMS recomended however not required as there are only 6 filament changes for the main body.
I've included a print profile for black and white PETG. Due to its stringiness and its ability to stick to everything, you need to inspect the first three layers after each colour change either by adding pauses into the g-code or manually stop the printer if you notice the slightest bit of black filament in the white layers. If you cant remove the black plastic because it's embedded, then it's worth restarting the print. This is 100% worth the effort to ensure there are no defects when the white parts are back-lit later by an LED.
If you're making your own profiles for other filaments these are some useful settings:
Bigger prime tower to hopefully reduce black plastic sticking to the nozzle.
2 - Digital line for neopixels
3 - Button 1 (on potentiometer 1)
4 - Button 2 (on potentiometer 2)
5 - Button 3 (on potentiometer 3)
6 - Button 4 (on potentiometer 4)
7 - Button 5 (on potentiometer 5)
8 - Button 6 (mute button on top)
A7 - Potentiometer 1
A6 - Potentiometer 2
A5 - Potentiometer 3
A4 - Potentiometer 4
A3 - Potentiometer 5
5V - To all potentiometers and one to the neopixel strip
Gnd - To all potentiometers, all buttons and the neopixel strip
Depending on which direction you run your LED pixels you may need to change the code, I wired mine pixel 1 = potentiometer 5, pixel 2 = potentiometer 4 etc, with pixel 6 being the mute mic LED in the bottom (I know this is awkward but it was easier to fit the wires in the box this way). The arduino is taped down to the rasied section at the bottom with double sided foam tape (something similar to 3M VHB tape).
The arduino code is in the text file below. This code requires the Miodec fork of deej for the mute button to work, within the deej config file you can pick which keystroke to emulate (I chose F13), in discord you can create a keyboard shortcut for toggle mute and press the button on top of the deej controller. It is also worth noting you may need to roll back a serial communications driver on windows, instructions on how to do this can be found in the ‘deej-app-help’ channel on their discord server.
License:
BY-NC-ND