MisteRdeck Manual
MisteRdeck Manual
MisteRdeck
Assembly Guide
v1.05 1
Introduction
Thank you for downloading MisteRdeck, the Arduino-based MIDI stream deck. These instructions
will guide you through the process of making and using the device.
I created the deck for my own use, a few weeks before I started streaming. After fiddling with OBS
for a few days I knew that a hardware device for scene switching and volume adjustment was
going to prove incredibly useful. But herein lies the problem; all of the “cheaper” commercially
available products lacked any kind of volume adjustment hardware. The cheapest deck,
manufactured by a well-known company (I won’t name them) costs almost £100 and is essentially
a box with 6 buttons. I knew I could produce something more functional at a lower cost, so I got
to work.
Hours of designing and prototyping later and the MisteRdeck was born.
Massive thanks to /r/3DPrinting for the overwhelmingly positive comments, as well as the FB
group Prusa Community Forum. If it weren’t for the sheer amount of interest shown from these
two communities I would never have published this thing, selfishly keeping it for myself!
• Soldering/wiring
• Arduino configuration
• OBS setup
What’s required?
Tools
M3 hex wrench
License
This work is licensed under the Creative Commons - Attribution-ShareAlike 4.0 International
license. To view a copy of this license please visit: https://creativecommons.org/licenses/by-sa/
4.0/
v1.05 2
Bill of Materials
10k Linear Slide Potentiometer (45mm travel, dimensions 60mm x 9mm) 4 cpc.farnell.com
* Links are for example purposes, you may find them cheaper elsewhere.
** Recommended, but not essential. 3D printed keycaps would reduce the cost somewhat.
If you’ve got some transparent filament, Mc_gee’s printable keycaps are a fantastic alternative
(https://www.thingiverse.com/thing:3791028/files).
*** Either Square nuts, or Heat-set Inserts; see Print Settings for details.
v1.05 3
Parts Breakdown
Box_*.stl Base.stl
Lid.stl Fader_knobs.stl
Clips.stl Solder_jig.stl
v1.05 4
Print Settings
Resolution = 0.2mm
Infill = 10%
Perimeters = 3
Supports = No
All STLs are correctly orientated, ready for printing. The models were designed around a 0.4mm
nozzle with an extrusion width of 0.45mm, printed at 0.2mm layer height. This is the optimal
configuration to eliminate any "gap fill" on the main box and ensure the sacrificial bridging works
correctly for the countersunk screw holes. Higher resolutions will be fine, lower (0.3mm for
example) might not work, but YMMV.
Box
• Box_*.stl - The original version, uses captive nuts on one side and inserted nuts on the other. I
thought I was being clever here, but it’s probably a pain for some users.
• Revised Box - The second version (remix, provided by senjak - non-logo version) does away
with the captive nuts and simply lets you insert them once the print has completed.
• Box_*_heatset.stl - The newly-added version that skips the nuts entirely and allows you to use
heat-set threaded inserts (this was requested by more than one person so I figured I’d
implement it - the more options the better, right?)
(2 version of each provided; Standard and Branded. Don’t like the logo? Print the Standard version ;)
Captive nuts
This version will require you to pause the print at a certain layer height, insert the nuts into the
cavities, then resume the print. This is slicer/printer dependant. If you're printing at the optimal
layer height (0.2mm) the pause will need to be inserted at the start of layer #29.
For PrusaSlicer, slice the file then move the layer slider to the correct layer height. Right clicking
on the plus symbol will give you the option of adding custom gcode. Paste in the following;
Once the print hits the correct layer it'll move the bed forwards, park the carriage to one side, lock
the stepper motors in position and notify you with a “beep”. Then it's just a case of inserting the
nuts and hitting resume. Note, if you're using OctoPrint you need to hit resume on the web UI,
NOT the Prusa.
WARNING: If you’re not using a Prusa, please double-check the compatibility of the above gcode
before sending it to your printer. There may be Prusa-specific commands listed and the last thing I
want is for your printer to end up breaking itself!
v1.05 5
Heat-Set Inserts
If you go this route you probably already know what you’re doing, but I’ll provide instructions
anyway.
From my limited experience with these, I’ve found that the following procedure works well;
v1.05 6
The insert is now installed and should sit
flush with the face of the box.
v1.05 7
Assembly (switches and potentiometers)
Switches
v1.05 8
Potentiometers
v1.05 9
Repeat this procedure for the remaining pots.
Fader Knobs
v1.05 10
Push the knob onto one of the sliders.
v1.05 11
Soldering/Wiring
We’ll start with the easiest; soldering the pins onto the Arduino.
v1.05 12
Next we’ll tackle the potentiometers.
Circuit diagram
v1.05 13
Each of the signal pins (labeled “2” on the
Bourns pots) require their own individual
wire.
That's the pots done. Make a note of which colour wire corresponds to which pot as it'll make it
easier when it comes to connecting the cables to the Arduino.
Now onto the switches. We’ll start by using the Solder_Jig to make some diode assemblies.
v1.05 14
Insert the diodes into the jig.
v1.05 15
Take 4 more wires, snip off one of the
connectors on each, strip, twist & tin and
solder onto each of the diode assemblies.
Circuit diagram
v1.05 16
Repeat for the remaining 3 switch columns.
v1.05 17
That’s the hardest part done. All that's left is to connect the wires to the Arduino and screw the
case together.
Grab a pen and piece of paper and use the following images to figure out which wires go to which
pot/key (your wire colours may vary).
v1.05 18
Assembly (case)
Pass the pot wires through the Box and
position the Lid in place. Use x4 M3 bolts to
attach the Lid. Don't over-tighten these as
you can accidentally break the Box.
v1.05 19
v1.05 20
Arduino Configuration
In order to flash the code to the Arduino we must first download a couple of things.
With everything downloaded and the Arduino software installed we can now connect the
MisteRdeck to the PC via a microUSB cable and open the MisteRdeck.ino code supplied with the
STLs.
Note: If the Arduino software throws up a message about moving the file into a folder, just click
the OK button.
There are just a couple more steps we need to perform before flashing the code.
v1.05 21
v1.05 22
OBS Setup
The following instructions are depreciated. I no longer use the OBS-MIDI plugin and instead
use a standalone app called MIDIControl. Scroll down for details…
The final step is to get the OBS-MIDI plugin and configure the buttons/sliders in OBS.
v1.05 23
After configuring your sliders we can now
move onto the buttons.
Hit “Save” and close the window. Your buttons/sliders will now perform the functions you’ve set
up.
v1.05 24
OBS Setup (websocket/MIDIControl)
I’ve found that the OBS-MIDI plugin isn’t currently the best solution; it’s prone to crashing and
seems to have been abandoned. As an alternative, I’m now using an app called MIDIControl, in
conjunction with the obs-websocket plugin. This app offers a few more features (soundboard!),
hasn’t yet crashed and is actively being developed and improved upon. I’d recommend following
these instructions instead of using OBS-MIDI.
Head over to the obs-websocket site, download and install the latest version. Do the same for
MIDIControl.
Once installed, open OBS and the MIDIControl app (this lives in your taskbar).
v1.05 25
the following options.
Set
Hit Save.
v1.05 26
You can now click the “Add” button and start
defining keys, sliders and their functions.
Make sure that MIDIControl is set to autostart and auto connect and you should be golden.
Another great feature of MIDIControl is that it also supports MIDI forwarding which allows you to
use the MisteRdeck to control 2 applications simultaneously, using a virtual MIDI port app like
loopMIDI. I have mine set up so the buttons control OBS and the sliders control Voicemeeter (for
audio mixing). Instructions on how to set this up are out of the scope of this guide, but some
Googling should provide you with the info needed.
v1.05 27
Conclusion
Congratulations on making it to the end of the build! If you run into any issues along the way leave
a message on the Thingiverse page, or send me a DM and I’ll try and help.
Please do also consider taking a quick photo and uploading a “make" to Thingiverse. I love
seeing my things printed on a variety of machines.
Changelog
v1.01 - 12/11/20 - Specified M3 nut thickness (thanks Wrightboy)
v1.02 - 15/11/20 - Added instructions for using heat-set inserts in place of M3 nuts
v1.05 28