What is a Stream Deck?

You may have seen something like this on technology blogs (like this one!), YouTube videos, or even your favorite Twitch streamer, but what actually is this Stream Deck thing everyone is talking about?

I’ve always thought a Stream Deck was a command station for streamers and YouTubers that can control their streamy stuff and play stupid sound effects. While I wasn’t wrong, the Stream Deck platform is open and friendly to those of us who are into automation and scripting.

Like a lot of people, I took advantage of holiday season sales to purchase a Stream Deck by Elgato. The device is a very simple piece of hardware. At it’s core, it’s a USB keyboard that stands upright on your desk. The version I have has a five by three grid of clear buttons that each have an LCD screen under them. I opted for the mk.2 version that was released in the summer of 2021. (What are the differences?) The ability to have anything on the screen under the buttons make the Stream Deck very fun to play with and to use!

I’m going to go into very technical detail of how my Stream Desk is set up and what I use it for. Hold on to your butts!

The main page layout of my Stream Deck
Time and Date

The first button is a simple date/time display with my custom background color applied. No action occurs when this button is pressed.
Time plugin by Krabs.




Stock Ticker

Moving from left to right, the next button is a stock ticker display. Currently I have it set to show $AAPL. When you press this button it retrieves an update on the stock price, outside of its schedule update.
Stocks plugin by exension





Screen Saver

When I walk away from my computer, I want to just put up the screensaver until is goes to sleep. This button, when pressed, runs a custom AppleScript to start the screensaver. At the same time, the Stream Deck goes into screen saver mode.
Custom icon featuring a green iMac, by me.
RunAppleScript plugin by mushoo.

tell application "System Events" 
    start current screen saver
end tell
Lights On and Lights Off

The next two buttons are the same, except the left one is for on, and the right is for off. They both run an AppleScript that runs a Shortcut. The macOS Shortcut turns on/off the lights in my office I use for video calls. This consists of a Nanoleaf essentials light strip in front of my face, Nanoleaf shapes on the wall behind me, and a Govee RGBIC light strip on my Kallax unit behind me.
Custom lightbulb icons by me.
RunAppleScript plugin by mushoo.


--on
tell application "Shortcuts Events"
	run shortcut "Office Lights On"
end tell
--off
tell application "Shortcuts Events"
	run shortcut "Office Lights Off"
end tell
Start Working

The first icon in the second row is another AppleScript button that I call ‘Start Working’. This is usually the first thing I do when I start working from home. It opens all the URLs I like to look at (e.g. Amazon, BlipShift, Woot) and work related web pages. It also opens all the applications I use daily like Outlook, Slack, Teams, NewsExplorer, LastPass, and Music.
Custom briefcase icon by me.
RunAppleScript plugin by mushoo.



OctoDeck

The next button is another display only button that really doesn’t do much when pressed. This is called Octodeck and is a plugin that talks to my 3D printer server, Octoprint. This displays the percentage complete of an active 3D print job. I added a couple lines to the original creator’s code to include the time left, one line under the percentage.
Octodeck plugin by cpeuschel.




Now Playing

This center button is kind of a playground of what’s possible. I was testing Keyboard Maestro and its Stream Deck integration and came up with this. In Keyboard Maestro I have a timed macro that runs every 1 minute and grabs the song info from the Music app and pushes it to the Stream Deck button. Also, if you press the button, it will update the info outside of the one minute interval.
Keyboard Maestro plugin by Stairways Software.




Album Art

Another mostly info-only button, displays the album art of the currently playing song in Music. When not playing it shows a play button that can be used to start playing music. This is a simple one, but I like having the album art displayed on my Stream Deck.
Apple Music plugin Elgato – available in the Stream Deck app.



Skip Track

The last button in this row, is a simple ‘next track’ button for Apple Music. When pressed this will skip to the next song when music is playing. I like having this button on Stream Deck as well as on my Apple keyboard.
Custom icon made by me.
Apple Music plugin Elgato – available in the Stream Deck app.




Sound and Lights Folder
Sound Effects

In the third row, we start with two folders. The first folder holding sound effects that can be triggered with the push of a button. I also have a button in this folder to switch to my Zoom profile as I’m usually triggering these sounds while on a Zoom call.

Light Control

The second folder is for all my lighting controls. I can go into this folder and adjust my office lighting as needed outside of my normal on/off functions on the main screen. In this folder I can change the scene on my Nanoleaf shapes, adjust my Govee light strip, and set all lights to red (when I’m angry).

Kallax and red icons by me, others by plugin.
Nanoleaf-Tiles plugin by fSoft ltd.
Govee plugin by me – release TBD



Slack

Another folder in the third row houses my quick access commands for Slack. All of these buttons use a hotkey command to make changes to text in Slack. The middle button with the slack logo, when pressed, opens Slack or brings the application into focus.

  • Phone – /callstarts a call in Slack channel
  • Giphy – /giphyprefix for sending a random GIF
  • ThumbsUp – ????????types and send thumbs up emoji
  • Quotes – shift+⌘+9formats the selected text as a block quote
  • </> – shift+⌘+Cformats the selected text as code
  • </> block – option+shift+⌘+Cformats the selected text as code block
  • Strike – shift+⌘+Xformats the selected text with strikethrough
    Custom icons by me.
    System Hotkey plugin by Elgato – available in the Stream Deck app
Mute Speakers

Next to last, is a mute button. When pressed, this mutes all sounds on the computer connected to the Stream Deck. I usually use this when I receive a phone call or need to quickly hear something not in my office.
Custom mute icon by me.
System Multimedia plugin by Elgato – available in the Stream Deck app.



Mute Mic

The last button is a microphone mute toggle. This is a system-wide button that when pressed either mutes or unmutes the computer microphone. Useful for when I’m using a video chat app that’s not Zoom or Teams.
Custom mic icon by me.
Mic Mute Toggle plugin by Fred Emmott.


Stream Deck Profiles

The Stream deck can support multiple profiles that will display specific pages based on the application you’re using. I’m using three profiles in addition to the default profile, outlined above.

Adobe Photoshop Profile

When I’m using Photoshop I like to have quick actions in front of me instead of trying to remember the keyboard shortcuts. As I use this profile more with Photoshop, I’m sure I’ll add more commands.
The icons used in this profile were provided by SideShowFX.






Zoom Profile

While on a Zoom call, I like to have a button to press to mute my microphone, as everyone should. (and remember to unmute it) I found a Zoom plugin that gives you more than just mute, but also camera control and some other useful buttons. The center button with the Zoom logo does nothing other than let me know which profile I’m in at a glance. The button in the very bottom-right corner switches me back to my default profile where I can access light controls and sounds. If I click out the Zoom app and then go back to Zoom, the Zoom Stream Deck profile reactivates.
Zoom plugin and icons by LostDomain.

Microsoft Teams Profile

Lastly, I have a Teams profile which is similar to the Zoom profile, but there is no plugin I’ve found as of writing this. I’m using hotkey buttons to trigger actions in Teams, like mute/unmute and show/hide camera. The Teams logo in the middle acts as a profile switch to go back to the default profile.







Should you buy a Stream Deck?

Overall I think the Stream Deck is a fun toy and can be helpful with repetitive tasks. Would I be lost without one? No, but I’ve already gotten comfortable with the buttons/display I have setup that I would buy a replacement if mine was stolen.

Youtube Twitch GIF by Elgato

Should you buy one? That’s a difficult question because everyone’s needs/wants are different. If you’re into tinkering, scripting, and/or automation I think you should give Stream Deck a try. If you’re not, you may struggle with what to do with your new Stream Deck. It can always be used to add a wow factor to your desk setup.

Things to Note

  • The Stream Deck currently only works on a Windows or Mac computer. The Stream Deck community has it running in Linux, but is not officially supported.
  • The Stream Deck device must always be plugged into the computer to work, there’s no wireless option.
  • In order to get the auto-switching profiles for specific applications, the Stream Deck software has to be running, but not currently have any windows open. If you have any Stream Deck application windows open, in the background or not, the automatic switching will not work. This is somewhat annoying and hard to determine on macOS as the application does not show up in the application switcher or dock.
  • The Stream Deck software has to be running for the device to work. If you quit the app, the Stream Deck goes into screensaver mode and does not function.
  • If you have more than one computer, you have to transfer/re-install your plugins, icons, etc. on each computer. Currently there’s no cloud syncing between devices. Same goes if you have multiple Stream Decks.
Stream Deck GIFs - Get the best GIF on GIPHY
image from Giphy

Fun Tips & Tricks

  • You can set the icon of any button to an animated GIF
  • Any button can have a custom icon – you can make your own or download them
  • You can take a single image and chop it up into a grid and set that as your button icons
  • The mk.1 and mk.2 Stream Deck are vey similar with the exception of the mk.2 having USB-C (at the Stream Deck end only), longer cable, solid stand, and interchangeable faceplate (not included)
  • There are currently three sizes of Stream Deck, mini 3×2, regular 5×3, and XL 8×4
  • The Stream Deck SDK is very friendly and anyone can make their own plugins for free using Javascript, python, html, or c#
  • Elgato’s software is free and you don’t need a device to play with Stream Deck configurations

Let me know on Twitter if you also have a Stream Deck and the different things you do with it.

This is not sponsored content. Elgato is not affiliated nor has influenced this post.