DIY Stream Deck kits are now available, which include all of the electronics and mechanical components you need to make this project -- simply supply your own 3D printed parts and you are ready to build! Check out the following link for more details and order yours today! bit.ly/3eQDWWw
The kit's PCBs don't have the black solder mask *or* ENIG and some of the acrylic squares are cut super-sloppy like whoever put these in here didn't give a fff about quality control. Definitely wish I saved my money and built it piece-by-piece.
@@aleph_prime Sorry to hear that your experience with the kit was not good. The decision to use an ENIG finish was to try to keep the cost as low as possible, though I think that it should be possible to manufacture the next batch with a black soldermask and white text without much of a price increase. Please get in contact with Alien3D to see if they can at least hook you up with some more acrylic squares. Cheers!
@@aleph_prime Just wanted to follow up on this - I spoke with Alien3D and a set of replacements are currently in the mail. Sorry again for your negative experience with this order. Future versions will be sure to indicate the soldermask and silkscreen colors, and Alien 3D said that they may be able to make ENIG boards available as a customization option. Hope the new parts work out for you! Good luck with your build!
@@aleph_prime Heya =) I'm glad we could work something out on these! On future PCB's I plan on getting the black mask. As this was a first batch, I'm learning some things with this kit myself =P The gold connections probably won't be a thing as it's an additional cost that I'm thinking most won't worry about but maybe I'll carry a couple as an option. We'll see =) The acrylic squares I assumed would be okay since they have the paper coating, but I will inspect future ones and possibly find a different supplier if need be, so I apologize for them being wonky. Can't wait to see what you do with it!
Why the hell is this not hugely popular, awesome work. I hope a 2.0 finds its way to being made but this is already a huge amount of effort and it's a great contribution to the community
My guess is because freetouchdeck is much easier to build, less expensive, and superior in most ways. That said I like this project as well due to the encoders and tactile approach.
its because streamdeck isnt just streamdeck its the plugins and support that goes along with it this is a super cool and very well made item dont get me wrong but this is one of dozens of similar projects each acomplishing the task in a different way as such support for the plugins and applications is limited and fractured across multiple projects and the community isn't there to support it a slightly different project is using phones and tablets as streamdecks to which touchportal and deckboard pro comes to mind deckboard has a fair bit of support but its all from 1 dev who has very little time meanwhile touchportal has a massive massive community behind it who have made plugins to support almost everything you can think of and if its not supported someones problem making a product as we speak to support it as such its popularity grows and its community support also grows its now at the point where touchportal outperforms streamdeck itself in terms of software and device support what this guy has made though is still super cool and I love it but if these devices are ever to take off in a big way someone needs to create a firmware base that can be used on all theese DIY devices along with a software driver set that allows anyone who makes one of theese to share compatibility and software support under one platform
The square holes in the button PCB is a clever idea. FWIW, I've printed a custom knob for one of my projects, but the inexpensive metal one that I ordered looks so much better now that I have it!
Wow, this is the first video of yours I've watched and I thought it was amazing! Just the right amount of detail and at a nice speed! I dont really need this but now want to make it! Will definitely be looking for more!
Nice project, I like how you kept the cost down! Funny thing is, many of us are aware of open source solutions to turn our old phone or tablet into an ultimate stream deck that supports more things like swipes and gestures, even acting as a second screen when desired, but for some reason there's an appeal to having simple, pretty buttons to press... click click!
Buttons are definitely great for knowing which button you are pressing when you can’t look down. (To trigger emotes during a game, etc.) This build has been really helpful to me while editing videos.
The Freedeck project does the same with 2 multiplexer IC-s (very cheap) so you don't need the second arduino... worth visiting the idea. Also you can scale the design then with more buttons without needing even more arduinos... I like your button design way better than pressing on the screen itself.
Multiplexers are definitely a great idea! Unfortunately the Pro Micro did not even have enough pins to interface with the LCD screen/SD card reader (let alone have a few spare IOs for buttons/a multiplexer), so I think a great remix of the project would be to use something like an STM32 Blue Pill or RPi Pico in conjunction with mulitplexers to greatly expand the number of usable buttons.
If you ever end up making a larger one or a new version, I would suggest Shift Register for the buttons then you could use only one arduino, also you could use a arguino mega pro
So, I was thinking that a much simpler device could be done just using an old monitor, overlay a 3d printed cover with the proper cutouts for the placements of images from underlaying LCD screen, and be able to use ANY controls, combination. Rotary encoders, switches, buttons, doesn't matter. I am way too overloaded to take this one on, but OMG, this would be a game changer for so many things! Stream Deck is really a simple pcs of hardware. It's the software that seems more complex. (and the impossible part of the project). I think the hardware would be nothing more than a monitor, a sheet of black plastic with holes drilled into it, and a USB - Encoder, or Adruino board. Someone MUST give this a shot! LOL.
I did something similar with a Raspberry Pi Zero board. Much easier to manage and change button actions and icons then using the Microcontrollers. I am going to make another one using a Raspberry Pi Zero W and make it a wireless version.
I love this channel!! I want to get into this hobby i just bought a printer and want to get into arduino/raspberry projects !! Was just wishjng i had a friend that 2as into crazy projects then i found this channel!! So many cool things!!! This is where kids shld be focusing ! We need to pump this up! The potential is limitless
Thank you so much! Happy to hear that you like me videos! Helping people learn new things is one of the main focuses for this channel, so I’m happy that you found it! 😀 Good luck with your printer and project builds!
Here is an idea for you, replace the normal screen with a touch screen. This will save you inputs, and probably one arduino, since all buttons have a set location, you can just program the said locations on the code it self, and just reuse that portion of the code every time you need to check for a press. Thats what streamdeck does, they just have a layer with "bubbles" over the screen that presses on the touchscreen.
I initially thought about using a touchscreen, but decided to go for physical buttons because they would allow streamers to “feel” which button they were going to press without having to look and because I did not know how long budget TFTs would survive repeated presses. Official StreamDecks actually use a clear “plastic sheet” circuit underneath a rubber membrane (similar to those found in keyboards), but I could not use these for this build because they would have driven the price of the build through the roof. Definitely agree that a touchscreen would cut down on the hardware complexity. Would be cool to only need one Arduino! Thinking about doing a v2 with a different microcontroller!
Howadays i know a couple years have passed but ESP32 and RP2040 are interesting choices since they support megabytes of flash, plenty for images and the like. The flash is external, and on RP2040 boards can usually be replaced by up to 16MB. Furthermore they don't suffer when driving the LCD via SPI unlike 8-bit Arduinos, saving pins and affording a cheaper screen subassembly. You can also multiplex screen and SD-Card via SPI and Chip Select - it also worked on 8-bit Arduino but the performance isn't great.
I'm not going to sift through the comments to see if someone's said this before, but have you considered using the Teensy 3.6? It's much faster (even overclockable if you want), can operate as an HID, has a ton of pins, already has a micro SD card slot on the board, and can be programmed through the Arduino IDE as an arduino-compatible device. It is a little pricy at $30 though.
Would definitely be interested in trying it out, though the price was a bit much for this first version of the project and trying to make it as low cost as possible. The Teensy does look like an awesome microcontroller though, so I will definitely look into picking one up!
A less notch-y knob you could spin for a jog function for editing would be great. You should sell a kit. Gather all the parts, mark it up and make a little money for the effort. I'd buy one! If you're going to do a V2 with 1 board with all the I/O, making it bluetooth/wireless would be a BIG improvement over the StreamDeck. You could use a color epaper display which use virtually no power when you're not using them.
Those are all cool ideas! Currently there is actually a kit for this project in the works, so definitely stay tuned! I will be sharing more details about it as it develops on Twitter, so be sure to follow me there for the latest!
Or use a touch screen (with an optional physical button mask in front) + some software to convert it to your control inputs. You might also introduce touch sliders with absolute or relative position outputs.
The slider idea is really cool! I decided to not use a touchscreen because I wasn’t sure how long this would last in this application, since it would be touched continuously and the “touch” element is only a thin film of plastic. Definitely an alternative idea though if you don’t want to go with the second PCB and physical buttons! If you end up making this version, please contribute the code to the GitHub repository and send me a pic - I would be interested to see how it turns out!
@@SuperMakeSomething I was thinking about a touch screen to be touched with a finger - but with an optional grid like yours in front of it. The grid should not touch the screen. The user might rest a finger on the grid snd touch the screen behind it with his finger - or use it without that grid. The screen position should be converted to a button or a macro. So there is much less hardware, it's more or less just the screen and some sort of microcontroller, maybe if necessary a raspi. But it's just an idea right now. It might have disadvantages and so on.
Definitely a cool idea! I’m hoping that people will keep adding/modifying this base concept over time and making the code/files available so that others looking to build a Stream Deck have some options based on what they are looking for. Excited to see how it turns out!
Might be interesting for you to try doing something like this via midi and the OBS-MIDI plugin. a handful of motor faders and a bunch of buttons would make a great stream deck
That may be possible, but I have not tried it. It would definitely require a different motherboard because the current one is designed for two Arduinos. If you end up trying it, please let me know how it works out!
I have no coding experience, so it will be a long journey. Someone gifted me a bunch of these dev boards, and this looks to be an excellent use for them.
I have to say this design is really elegant! I wanted to build a freedeck (another OS streamdeck) but was let down by its design. They use mini lcd‘s where you press down on wich activates a button underneath it. And because of that im not thrilled about that one
Thank you so much! Glad that you like the design. I’ve heard of the Freedeck - would be interested to learn how much the mini LCDs cost. (They seem like they would be expensive and use a lot of pins on the microcontroller..?) The LCD is a good way to keep the cost and pins to a minimum and get full color as well!
Instead of using two microcontrollers, couldn't you utilize shift registers to save on pin use from the buttons? Also, maybe an esp8266 nodemcu module would be a better choice as it comes with the SPI pins needed for the microsd card. Overall, nicely done though! I've been looking to do something similar to this.
Thanks! A NodeMCU would be a cool idea! I am not sure if it could natively emulate a USB HID though..? Shift registers and/or multiplexers would definitely work, but I wanted to keep it as simply as possible for others to recreate and didn’t want people to need to guy buy individual ICs. I’d also be really interested to try using a RPi Pico for this project as well!
@@SuperMakeSomething Only if you have no idea would Aliexpress links be better than Amazon. That's what I meant. Maybe offer it as an option in a blog.
Hello, i really like your project. Indeed, i like your approach to the screens a lot, the one color screen is much simpler than one oled monochrome screen per button. About the microcontroller, either an ESP32-S2 or C3, they support usb host, or an raspberry pi pico, also supports usb host. With the ESPs of course, you add wireless, so the ability to update the firmware without pluging it, and with some code, changing the icons, creating new pages, etc, via a web interface. The way i will tackle this will be to use a raspberry pi zero W, so i'll have wireless, HDMI for the screen, and the possibility to easily change code, pictures, assigned keys for each layer, etc... (i already have a bunch of unused raspberry pi zeros)
Thank you! Those are all really cool ideas! Wireless connectivity and being able to use an HDMI screen would be awesome! Please share a link with me when you finish your build! I am very interested in checking it out!
@@SuperMakeSomething I tried many cards. 16,8 Gb and streamdeck send error could not find icons pictures. Maybe I have broken SD card. I try buy new 4gb or 8gb card.
Maybe a good MicroPython / CircuitPython board will this make more accessible. It maybe a bit more expensive, but programming the board just by editing a file on an "USB Stick" might be much more accessible.
That would definitely be cool! I’ve read that the STM32 can run Micropython, but it lacks the hardware to be able to show up like a USB drive. The new Raspberry Pi Pico might be perfect for this in terms of functionality and price.
Interesting. Was maybe a teensy not a better choice for the inputs+screen handling? Also, I wonder if you could use see through resin instead of the acrylic, on an SLA printer. Might try that myself.
Super cool project. Thanks for making this and sharing with the community. Now I just need to find 4 friends that want to go in as the PCB is only sold in 5 packs heehee
Thanks! I decided to go with one LCD for two reasons: 1.) cost (one screen is cheaper than multiple ones), and 2.) interface simplicity (having multiple screens would require additional hardware to connect to the Arduino due to limited IO).
@@SuperMakeSomething hey I am make a D.I.Y LCD stream deck for my school digital technology class as my final project and I am planning to have 32 buttons, 5 slide potentiometers and I would love to know how to make the screen bigger and the code to have more buttons on the screen as well as once pushing a button it opens to another screen basically making the first button a file the opening more from there if you see this please help thanks soo much.
Should work as long as you have enough IO pins and a larger screen. You should be able to do this using multiple keyboard PCBs along with a multiplexer.
This idea is sooo awesome! Im designing one my self but with a touch screen LCD. Do you have some tips? I cant figure out how to make the clear buttons for on top of the touch screen. Kinda the same as Elgato is using.
Thank you so much! I had previously thought about a touchscreen, but wasn't sure how long it would last given how often it would get "tapped," so I went for the PCB route instead. The official Stream Deck seems to use rubber underneath the clear buttons. If you end up following this design path, definitely let me know how it turns out! I would be interested in seeing another design!
Hello, I would like to use a Nextion screen, which would replace the TFT screen itself, the Arduino Nano and the SD card reader. Do you know this type of screen? If so, why didn't you use it? By the way, do you think it would work or do you have any tips to give me?
I actually did not know about these screens until after I had finished the project, but a few people have mentioned them in the comments. I definitely want to try them out because I think they would work well! If I can pick one up and experiment with it, I will report back!
I am thinking of the new Raspberry Zero 2W which roughly matches the speed of a Raspberry PI 3 for only 15 USD. + with MicroPython you have the same libraries available to interface with usb_hid keyboard/mouse etc.
That would be cool! The form factor is right and I think the code could be modified to dynamically drag icons/redefine hotkeys like in an official Stream Deck!
Awesome project! The enclosure style isn't quite my style but great final product. How many buttons could the Arduino support? I"m thinking a much larger stream deck would be awesome! I'm thinking something like the Stream Deck XL with 32 buttons. Would that be possible? How difficult would it be to adapt your design to that do you think?
Thanks! Definitely possible as long as you either use a microcontroller with more inputs or a multiplexer IC. Interested to see how it would turn out! Please let me know if you try it!
@@SuperMakeSomething I think there is an Arduino that will support 32+ buttons but after you mentioned the delay in updating the screen when you went to a folder got me wondering what other micro-controller would work better. Do you have any ideas?
The Teensy is a good bet, but it is a bit pricey. The STM32 could also work and I think it can emulate a USB keyboard as well. A really cool approach would be a Raspberry Pi Pico running MicroPython that I would love to try in the future.
Great video! I would really like to know if it is possible to apply this to build a keyboard and how it would feel. If I had the money right now I would have purchased a deck from you and test the mechanism myself
Is that audrino software available for Linux? Also will the Photoshop templets load correctly in GIMP? (GIMP can open PSD files but it won't load things like layer fx and such as that code is proprietary to Adobe)
You bet - Arduino is available for Windows, Mac, and Linux! The PSD template should open, but I use an “outer glow” on one of the layers, so I’m not sure if this would work given the restriction that you mentioned. That being said, the important part is really the image size and bmp “mode,” so as long as you can recreate this in GIMP you should be good to go!
An Arduino DUE would probably be a better choice for fixing the clock speed issues and IO problems - as it would be a single micro controller option for the lot then instead of needing 2 boards, but trade off is size and cost. I'd have also thought just using a touch capable display for a few $$$ more would have simplified things a LOT, and been worth the cost trade off.
I’ve never used a Due, but I will definitely take a look! Simplifying everything down to one board would be great for reducing the height of the Stream Deck! I thought about using a touchscreen, but was afraid that repeated tapping/pushing wouldn’t last very long - especially with hobby-level screens that only have a thin layer of plastic over the panel. The buttons should hopefully make everything last a while. (Plus it allows you to “feel” where the keys are, so that may be good during a streaming/gaming session.)
@@SuperMakeSomething Swapping to a due and keeping most of the current design looks like it might only require a single manufactured PCB to be changed, meaning most of your existing build could be used as is with 1 change.Certainly something to contemplate if the time presents itself.
@@SuperMakeSomething I was thinking going for a Pi Zero, still cheap, still small, double the GPIO of the Arduino Pro Micro's, and HDMI to expand your screen options.
Great project, and awesome explained! Top! Only thing I didn't understand, how can I switch with my Encoder PUSH-Button for example to the next icon page?! Any idea? Do I have to change something on the 'streamDeckKeyboard'-file?
Thanks! Yup that’s right - it would require a change in the code. Take a look at how “Button 3” is coded, which is what changes the page currently. You would just need to reassign the button names or PIN number at the top of the script to make this change.
@@SuperMakeSomething I rather like the idea of a WIFI controller that could be used for home automation, say to control lights, volume of speakers and so on.
Great video production, explained the project really well. Will be working on this in the future with my son Angus, and ill be checking out your channel in the future as well.
I've been trying to get my hands on one of these, but can only find them directly from a dealer in quantities of 100! If you have a source, please let me know -- I would love to try it!
I have a very specific use for this. I have a custom automotive lighting company and my demonstration truck is FILLED with switches. I'm running out of spaces lol so something custom like this would be perfect. Could you program the switches to control ws2812b LED strip outputs? If so, I think I'd love to buy a kit for my company
This could definitely be programmed to do that, though the code on the Arduino Pro Micro would have to change a bit. Instead of using the keyboard library, the microcontroller would need code to control ws2812b LEDs, but this is well documented - if you search for “Arduino Neopixels” you should get tons tutorials! Hope this helps! Good luck with your project!
@@SuperMakeSomething that's amazing! Would I be able to commission you to do the edits to the code if I bought a kit? Or do you think it's pretty self explanatory once I look at the libraries?
@@BLueFeaTHeRedOliVeS Unfortunately I am not taking commissions at the moment, but I think/hope it should be pretty doable if you follow along with this video and a Neopixel tutorial. If you do end up building it, please let me know how it goes!
HI, Thank you for this, I'm going to build one of these and I'm in the process of ordering all the parts for this. Question regarding the acrylic squares.... The supplier seems to have them available in multiple thicknesses, so what thickness do I need to be compatible with your button frames? Thank you!
Would this work with the Pi Pico as the controller? Also can you make multiple profiles? Or trigger a specific loop to call out different keys, for different programs?
The Pico is definitely something I want to try! Unfortunately I have not been able to get one yet. The profile idea is interesting! The closest to this in the current design is to have different keyboard combos assigned to the different “pages,” otherwise you would need an external application. That is essentially how Elgato’s app works - it assigns different button pages with each profile and switching profiles is roughly equivalent to reprogramming the Arduino in this build with different keyboard commands.
@@SuperMakeSomething Can you create a loop in it and define key combos based off a program? I'm not good with Arduino yet, since I never gotten one yet but would be interesting to sort out, while I get all the components to build my own using your tutorial and codes.
This definitely could work using an analog input, but the Pro Micro already didn’t have enough pins exposed to control the screen and SD reader, so I needed to add a Pro Mini to drive the screen anyway. Another option would have been a multiplexer IC, but I wanted to avoid buying individual chips to make it as easy as possible for others to build their own by buying easy to find components.
Amazing video, stoked to try and make one, do you have any info on the resistors specifically used? They look like 330's but I can't tell, you should do a write up on this as well as some things are missing from the video. Keep up the great work!
Unfortunately the Pro Micro did not even have enough exposed pins to run the screen and SD card reader, so something like input matrix was not possible. For arbitrarily large inputs with as few pins as possible, I think that multiplexers would have been the best option, but I wanted to avoid the need for people to purchase individual chips to try to keep the project as accessible as possible.
The PCBWay link will take you to the site where you can purchase both of the PCBs needed for this project. The parts can be sourced via the affiliate links in the video description. There is also a kit version available from Alien3D, but it is currently out of stock. It should hopefully be available again relatively soon though!
During the whole video I can never see that the button gets pressed. Or did I miss it? Because I've used the streamdeck and the tactile feedback of them is really good and something I think would be hard to reproduce. It almost has a mechanical keyboard feel so I was wondering what it would look like on this keyboard as I wanted to do a similar project as well, but can't find any switches with a similar layout to the streamdeck.
Good call! Showing the button press would have been useful to put into the video. Since these use PCB push-buttons, the feel is definitely a bit more “clicky” than on an official Stream Deck which uses a rubber sheet behind each of the buttons. I personally like the clicky feel, but can see that this would definitely be up to user preference. This is definitely something that could get remixed easily in a future version though!
@@SuperMakeSomething Thank you for your quick answer. A clicky feel would be nice as I like the feeling of mechanical keyboards. I was also wondering if the buttons tilt if you don't press them in the center?
@@RobinGlauser The buttons are constrained by the faceplate, so they stay pretty well in place. In this respect, the tilt “amount” is slightly adjustable by tightening/loosening the screws that attach the faceplate to the housing.
@@SuperMakeSomething the I have bought the 3x2 matrix and that keypad looks very similar to the stream deck. I wouldn't be surprised if stream deck sources them from idisplay.
I chose to use buttons because I was worried how long a resistive touchscreen would last in this application. Since I wouldn’t be using the screens touch capabilities, I then bought a regular screen because its viewing angles are better and it is a bit cheaper.
Thank you very much! I actually just have the two communicate using their analog input pins. Since all of the conditioning hardware is already onboard the microcontroller, this was the "cleanest" solution that required no additional hardware. Hope this helps!
I thought about using a touchscreen initially, but was worried about screen life because most of these types of screens only have a thin plastic sheet as a cover. By using buttons, no pressure is applied to the screen, so hopefully it will last longer.
arduino MEGA boards, and derivatives are programmed the exact same way, and the clockspeed issue is a code optimization thing, even if it may not be nearly that easy to do, look at 3D printers, they do MANY things a lot faster than you would realize, they will print, read files, and be able to generate a display at the same time, all on the MEGA 2560 (2650?) think of it this way... if its looking for buttons for 50% of the clock cycles, its effective speed is 8MHz instead of 16MHz, because every other cycle is spent simply looking for those buttons, its all about thresholds. someone is usually going to press a button for a minimum intended time of about 1/16th of that time, eating up less clock cycles, as its doing other things at the same time, but since it does things in a linear fashion, its all about optimization and finding ways to do multiple things at once. you shouldnt be spending time either A. generating the screen when buttons are more important or B. looking at the buttons if the user needs to see what buttons he/she CAN press to progress first, meaning less things to do, less clock time. then theres the fact of just using faster code, even if it seems a bit arbitrary at first. maybe using some sort of special file format that makes it easier for the arduino to parse and process as it doesnt need to look at a particular file type or maybe removing compression?
I agree that code optimization could definitely help. The big issue is that the icons are bitmap images, so every color channel of every pixel needs to be updated with a redraw. “Faster” redraws with this library are usually done by drawing primitives like rectangles and other shapes with functions in the code, which do not update every pixel. The other microcontroller I mentioned has a faster clock speed, so unoptimized libraries for a screen size like this are less of an issue. If the community would be interested in optimizing the library further so that it could be folded into the master branch that would be awesome! All of the code for this project is currently on GitHub!
Hello sir. First of. This is an amazing project and i would love to build my own diy streamdeck with knobs. I am a 3d animator and i see a lot of potential for this open source stream deck. Mainly because i have used one and this is affordable. My question is simple. Q: Could i increase the number of keys to 32 display click keys? and if so. Q: How do combine them together without it being too big like an actual keyboard? Desperately would love to have 32 keys with 6 knobs to work with. Basically Q: can i customize a multiple key design combined and working together with 32 keys and 6 knobs? I still think it would be affordable considering the price of this one.
Thanks for checking out the video! The design would be extendable by redesigning the circuit board to use a multiplexer to increase the number of buttons that you could connect at once. This would essentially require a full redesign though, so you may just want to build several of these devices - since they register as a standard USB keyboard, as long as each button sends a different character, it should work like you want it to. Hope this helps!
Thank you for your input. I know this is too much to ask. But i am a noob when it comes to electronics and components. But is it possible to get the changes i asked. In the form of a video or even a document so i can understand it clearly. And try it out. Q: what changes do i make to the existing design? Q: would i need more parts? And if so what are they and how many? Q: could i also get a circuit diagram or pcb make and changes with the requirements i asked? If these questions are not to be answered here. I can go to patteon and fund the min tier to get my answers. Forgive my urgency but this project is just too cool to pass up.
I would not mind to commision the making of said model of stream deck. Or just show me how to do it using a video. 32 keys 6 knobs. Could i use a bigger screen instead for more keys?
@@sajin0varghese I offer consulting services for custom projects. If this is something that you would be interested in, please reach out via e-mail to discuss further.
id actually really like to make a few of these into a larger deck. i picture two or three of these side by side, knobs across the top. knobs for everything from scrubbing through footage, to volume, to brush size and hardness, while giving me plenty of room for macros. if i really wanted to go over the top, id alter the bottom of the cases to clip to a backing, put little slits in a mouse pad desk mat to secure them all in a row, with a similar 2 part clip meant to hold an atem mini, have that all neatly secured right next to where my mouse sits underneath my wacom on its deskmounted arm. lol now i need to make this
What keyboard character each button corresponds to is programmed in Arduino. After this, these keyboard characters are assigned in your program of choice as a shortcut.
Thanks! I thought about using a touch screen, but my concern with these is that most of the cheaper commercial ones just have a small plastic film over the screen, so I wasn’t sure how long they would last if people were pressing on them repeatedly. By separating the screen from any input force, I was hoping to maximize the overall lifetime of the build, though using a touchscreen could definitely make things smaller!
Yes, this should be possible. All that would need to be done is to have the encoder left/right functions be remapped to the volume control buttons instead of the arrow keys.
It's cool, don't get me wrong, but why would you make one, when there are mobile apps that can do what Streamdeck does for free, such as Deckboard (there's a paid version with more features, but the base one is free)? All you need is some old smartphone/tablet to have it on and you're set. And then you're not limited by the amount of buttons stream deck has. I know this vid is old, but Deckboard was around even when this video was released.
Thanks! I decided to not use any standalone ICs like multiplexers for this project to keep it as easy to build as possible. If someone is new to electronics, I could see a chip getting soldered in at the wrong orientation, so hopefully by using two microcontrollers there is less room for error.
DIY Stream Deck kits are now available, which include all of the electronics and mechanical components you need to make this project -- simply supply your own 3D printed parts and you are ready to build! Check out the following link for more details and order yours today! bit.ly/3eQDWWw
The kit's PCBs don't have the black solder mask *or* ENIG and some of the acrylic squares are cut super-sloppy like whoever put these in here didn't give a fff about quality control. Definitely wish I saved my money and built it piece-by-piece.
@@aleph_prime Sorry to hear that your experience with the kit was not good. The decision to use an ENIG finish was to try to keep the cost as low as possible, though I think that it should be possible to manufacture the next batch with a black soldermask and white text without much of a price increase. Please get in contact with Alien3D to see if they can at least hook you up with some more acrylic squares. Cheers!
@@aleph_prime Just wanted to follow up on this - I spoke with Alien3D and a set of replacements are currently in the mail. Sorry again for your negative experience with this order. Future versions will be sure to indicate the soldermask and silkscreen colors, and Alien 3D said that they may be able to make ENIG boards available as a customization option. Hope the new parts work out for you! Good luck with your build!
@@aleph_prime Heya =) I'm glad we could work something out on these! On future PCB's I plan on getting the black mask. As this was a first batch, I'm learning some things with this kit myself =P The gold connections probably won't be a thing as it's an additional cost that I'm thinking most won't worry about but maybe I'll carry a couple as an option. We'll see =) The acrylic squares I assumed would be okay since they have the paper coating, but I will inspect future ones and possibly find a different supplier if need be, so I apologize for them being wonky. Can't wait to see what you do with it!
Why the hell is this not hugely popular, awesome work. I hope a 2.0 finds its way to being made but this is already a huge amount of effort and it's a great contribution to the community
Thank you!
My guess is because freetouchdeck is much easier to build, less expensive, and superior in most ways.
That said I like this project as well due to the encoders and tactile approach.
its because streamdeck isnt just streamdeck its the plugins and support that goes along with it
this is a super cool and very well made item dont get me wrong but this is one of dozens of similar projects each acomplishing the task in a different way
as such support for the plugins and applications is limited and fractured across multiple projects and the community isn't there to support it
a slightly different project is using phones and tablets as streamdecks to which touchportal and deckboard pro comes to mind
deckboard has a fair bit of support but its all from 1 dev who has very little time
meanwhile
touchportal has a massive massive community behind it who have made plugins to support almost everything you can think of and if its not supported someones problem making a product as we speak to support it as such its popularity grows and its community support also grows
its now at the point where touchportal outperforms streamdeck itself in terms of software and device support
what this guy has made though is still super cool and I love it but if these devices are ever to take off in a big way someone needs to create a firmware base that can be used on all theese DIY devices along with a software driver set that allows anyone who makes one of theese to share compatibility and software support under one platform
Wow this is pretty amazing! I am a programmer but ALWAYS am envious of people who get in to it and work with the hardware itself. BRILLIANT!
Thank you!
Get an arduino started kit and get started. It's not as hard as you would think and is totally worth it
The square holes in the button PCB is a clever idea.
FWIW, I've printed a custom knob for one of my projects, but the inexpensive metal one that I ordered looks so much better now that I have it!
Nice idea! Metal knobs are pretty affordable - I will take a look!
Wow, this is the first video of yours I've watched and I thought it was amazing! Just the right amount of detail and at a nice speed! I dont really need this but now want to make it! Will definitely be looking for more!
Thank you!
Nice project, I like how you kept the cost down!
Funny thing is, many of us are aware of open source solutions to turn our old phone or tablet into an ultimate stream deck that supports more things like swipes and gestures, even acting as a second screen when desired, but for some reason there's an appeal to having simple, pretty buttons to press... click click!
Buttons are definitely great for knowing which button you are pressing when you can’t look down. (To trigger emotes during a game, etc.) This build has been really helpful to me while editing videos.
@@SuperMakeSomething I agree! I tried the app option but found it awkward and buggy but the thing I wanted the most was tactile button feedback
This is INSANELY Awesome !!
Fantastic feature set for a crazy price !
Thank you!
Love this. Now I just need to figure out how to use it with the Microsoft Flight simulator.
Thank you! It should work like a standard USB keyboard and not require any additional drivers!
Excellent work Alex, the whole thing is brilliant. Hoping that this becomes "a thing" in the community. Cheers, JAYTEE
Thank you so much! 😀
The Freedeck project does the same with 2 multiplexer IC-s (very cheap) so you don't need the second arduino... worth visiting the idea. Also you can scale the design then with more buttons without needing even more arduinos... I like your button design way better than pressing on the screen itself.
Multiplexers are definitely a great idea! Unfortunately the Pro Micro did not even have enough pins to interface with the LCD screen/SD card reader (let alone have a few spare IOs for buttons/a multiplexer), so I think a great remix of the project would be to use something like an STM32 Blue Pill or RPi Pico in conjunction with mulitplexers to greatly expand the number of usable buttons.
Damn dude... not much else to say besides that. I am blown away. Subscribed. Less than $60 is such a deal.
Thank you so much!
My first pick for the Microcontroller would have been one of the Teensys. But the Arduinos is fine as well. Great Job sir.
The Teensy would have been a good alternative! I will keep this in mind for a version 2!
Superb! A lot of effort went into this project. Pure awesomeness. Cool that it's DIY and OpenSource. Great work👍
Thank you so much!
If you ever end up making a larger one or a new version, I would suggest Shift Register for the buttons then you could use only one arduino, also you could use a arguino mega pro
The 3.5" screen I bought for another project has a microSD card reader built-in.
Nice! If you get this working, please let me know! In my experience I did not end up having enough IO left on my Arduino Pro Micro for enough buttons.
So, I was thinking that a much simpler device could be done just using an old monitor, overlay a 3d printed cover with the proper cutouts for the placements of images from underlaying LCD screen, and be able to use ANY controls, combination. Rotary encoders, switches, buttons, doesn't matter. I am way too overloaded to take this one on, but OMG, this would be a game changer for so many things! Stream Deck is really a simple pcs of hardware. It's the software that seems more complex. (and the impossible part of the project). I think the hardware would be nothing more than a monitor, a sheet of black plastic with holes drilled into it, and a USB - Encoder, or Adruino board. Someone MUST give this a shot! LOL.
I did something similar with a Raspberry Pi Zero board. Much easier to manage and change button actions and icons then using the Microcontrollers. I am going to make another one using a Raspberry Pi Zero W and make it a wireless version.
Really cool! Please share a link with me when you build this! I would love to see it!
I love this channel!! I want to get into this hobby i just bought a printer and want to get into arduino/raspberry projects !! Was just wishjng i had a friend that 2as into crazy projects then i found this channel!! So many cool things!!! This is where kids shld be focusing ! We need to pump this up! The potential is limitless
Thank you so much! Happy to hear that you like me videos! Helping people learn new things is one of the main focuses for this channel, so I’m happy that you found it! 😀 Good luck with your printer and project builds!
Amazing high quality content, wonderful graphical support and easy to follow, and the rules u set for urself and all the open source spirit IS AWESOME
Thank you so much - that really means a lot! I’m glad that you enjoyed the video and the project! :)
Here is an idea for you, replace the normal screen with a touch screen.
This will save you inputs, and probably one arduino, since all buttons have a set location, you can just program the said locations on the code it self, and just reuse that portion of the code every time you need to check for a press.
Thats what streamdeck does, they just have a layer with "bubbles" over the screen that presses on the touchscreen.
I initially thought about using a touchscreen, but decided to go for physical buttons because they would allow streamers to “feel” which button they were going to press without having to look and because I did not know how long budget TFTs would survive repeated presses. Official StreamDecks actually use a clear “plastic sheet” circuit underneath a rubber membrane (similar to those found in keyboards), but I could not use these for this build because they would have driven the price of the build through the roof. Definitely agree that a touchscreen would cut down on the hardware complexity. Would be cool to only need one Arduino! Thinking about doing a v2 with a different microcontroller!
Howadays i know a couple years have passed but ESP32 and RP2040 are interesting choices since they support megabytes of flash, plenty for images and the like. The flash is external, and on RP2040 boards can usually be replaced by up to 16MB. Furthermore they don't suffer when driving the LCD via SPI unlike 8-bit Arduinos, saving pins and affording a cheaper screen subassembly. You can also multiplex screen and SD-Card via SPI and Chip Select - it also worked on 8-bit Arduino but the performance isn't great.
Agreed! Either of these two boards would be an awesome platform for a remake of this project!
Alex I LOVE your videos! The videography and editing are every bit as good as the build.
Thank you Ian!
I'm not going to sift through the comments to see if someone's said this before, but have you considered using the Teensy 3.6? It's much faster (even overclockable if you want), can operate as an HID, has a ton of pins, already has a micro SD card slot on the board, and can be programmed through the Arduino IDE as an arduino-compatible device. It is a little pricy at $30 though.
Would definitely be interested in trying it out, though the price was a bit much for this first version of the project and trying to make it as low cost as possible. The Teensy does look like an awesome microcontroller though, so I will definitely look into picking one up!
Just finished making the kit. Yay!
Awesome!!
@@SuperMakeSomething I added a remix to thingiverse to allow parameterized button covers. Covers the slight deviations in the acrylic sizes.
A less notch-y knob you could spin for a jog function for editing would be great. You should sell a kit. Gather all the parts, mark it up and make a little money for the effort. I'd buy one! If you're going to do a V2 with 1 board with all the I/O, making it bluetooth/wireless would be a BIG improvement over the StreamDeck. You could use a color epaper display which use virtually no power when you're not using them.
Those are all cool ideas! Currently there is actually a kit for this project in the works, so definitely stay tuned! I will be sharing more details about it as it develops on Twitter, so be sure to follow me there for the latest!
Or use a touch screen (with an optional physical button mask in front) + some software to convert it to your control inputs.
You might also introduce touch sliders with absolute or relative position outputs.
The slider idea is really cool! I decided to not use a touchscreen because I wasn’t sure how long this would last in this application, since it would be touched continuously and the “touch” element is only a thin film of plastic. Definitely an alternative idea though if you don’t want to go with the second PCB and physical buttons! If you end up making this version, please contribute the code to the GitHub repository and send me a pic - I would be interested to see how it turns out!
@@SuperMakeSomething I was thinking about a touch screen to be touched with a finger - but with an optional grid like yours in front of it. The grid should not touch the screen. The user might rest a finger on the grid snd touch the screen behind it with his finger - or use it without that grid.
The screen position should be converted to a button or a macro.
So there is much less hardware, it's more or less just the screen and some sort of microcontroller, maybe if necessary a raspi.
But it's just an idea right now. It might have disadvantages and so on.
Definitely a cool idea! I’m hoping that people will keep adding/modifying this base concept over time and making the code/files available so that others looking to build a Stream Deck have some options based on what they are looking for. Excited to see how it turns out!
Might be interesting for you to try doing something like this via midi and the OBS-MIDI plugin.
a handful of motor faders and a bunch of buttons would make a great stream deck
That’s an awesome idea!
Could you build one using a STM32F429I-DISC1 evaluation board?
That may be possible, but I have not tried it. It would definitely require a different motherboard because the current one is designed for two Arduinos. If you end up trying it, please let me know how it works out!
I have no coding experience, so it will be a long journey. Someone gifted me a bunch of these dev boards, and this looks to be an excellent use for them.
I have to say this design is really elegant! I wanted to build a freedeck (another OS streamdeck) but was let down by its design. They use mini lcd‘s where you press down on wich activates a button underneath it. And because of that im not thrilled about that one
Thank you so much! Glad that you like the design. I’ve heard of the Freedeck - would be interested to learn how much the mini LCDs cost. (They seem like they would be expensive and use a lot of pins on the microcontroller..?) The LCD is a good way to keep the cost and pins to a minimum and get full color as well!
@@SuperMakeSomething i mean jusat look at the freedeck github :D they got everything there
@@ThePapanoob Haha good point. 😜 I will take a look. Cheers!
Instead of using two microcontrollers, couldn't you utilize shift registers to save on pin use from the buttons?
Also, maybe an esp8266 nodemcu module would be a better choice as it comes with the SPI pins needed for the microsd card.
Overall, nicely done though! I've been looking to do something similar to this.
Thanks! A NodeMCU would be a cool idea! I am not sure if it could natively emulate a USB HID though..? Shift registers and/or multiplexers would definitely work, but I wanted to keep it as simply as possible for others to recreate and didn’t want people to need to guy buy individual ICs. I’d also be really interested to try using a RPi Pico for this project as well!
@@SuperMakeSomething Well said! If it were sold as a kit, I could see using the shift registers then.
@@bgubs07 Nice - that is a good idea!
A current remake with aliexpress parts (so we can order them worldwide) would be really great.
@@Arsat74 All of the commercially available parts (minus the acrylic squares) are available through AliExpress! PCBs can be ordered through PCBWay.
@@SuperMakeSomething Only if you have no idea would Aliexpress links be better than Amazon. That's what I meant. Maybe offer it as an option in a blog.
Hello, i really like your project. Indeed, i like your approach to the screens a lot, the one color screen is much simpler than one oled monochrome screen per button.
About the microcontroller, either an ESP32-S2 or C3, they support usb host, or an raspberry pi pico, also supports usb host.
With the ESPs of course, you add wireless, so the ability to update the firmware without pluging it, and with some code, changing the icons, creating new pages, etc, via a web interface.
The way i will tackle this will be to use a raspberry pi zero W, so i'll have wireless, HDMI for the screen, and the possibility to easily change code, pictures, assigned keys for each layer, etc... (i already have a bunch of unused raspberry pi zeros)
Thank you! Those are all really cool ideas! Wireless connectivity and being able to use an HDMI screen would be awesome! Please share a link with me when you finish your build! I am very interested in checking it out!
@@SuperMakeSomething Will do :) but i have many projects in the backlog for now, so it won't be right away :)
@@AudreyRobinel No worries! :)
This project is cool. I made one. But have problem with sd card. How big card is supported??
I used an 8GB SD card and did not have any issues.
@@SuperMakeSomething I tried many cards. 16,8 Gb and streamdeck send error could not find icons pictures. Maybe I have broken SD card. I try buy new 4gb or 8gb card.
Maybe a good MicroPython / CircuitPython board will this make more accessible. It maybe a bit more expensive, but programming the board just by editing a file on an "USB Stick" might be much more accessible.
That would definitely be cool! I’ve read that the STM32 can run Micropython, but it lacks the hardware to be able to show up like a USB drive. The new Raspberry Pi Pico might be perfect for this in terms of functionality and price.
Interesting. Was maybe a teensy not a better choice for the inputs+screen handling? Also, I wonder if you could use see through resin instead of the acrylic, on an SLA printer. Might try that myself.
A teensy would be a great option for this project for sure! The acrylic is also a really cool idea! If you try it, please let me know how it works!
Super cool project. Thanks for making this and sharing with the community. Now I just need to find 4 friends that want to go in as the PCB is only sold in 5 packs heehee
Thanks! Please share a picture with me once you finish the build! Excited to see how it turns out!
This is fantastic. I was just looking for this very thing. Good video as always.
Thank you so much!
I’m just amazed. Well done and thank you for making this video!
Thank you for watching and commenting! I’m glad that you enjoyed the video!
Amazing video and idea. Just wondering why did you choose single large lcd instead of multiple small LCDs?
Thanks! I decided to go with one LCD for two reasons: 1.) cost (one screen is cheaper than multiple ones), and 2.) interface simplicity (having multiple screens would require additional hardware to connect to the Arduino due to limited IO).
@@SuperMakeSomething hey I am make a D.I.Y LCD stream deck for my school digital technology class as my final project and I am planning to have 32 buttons, 5 slide potentiometers and I would love to know how to make the screen bigger and the code to have more buttons on the screen as well as once pushing a button it opens to another screen basically making the first button a file the opening more from there if you see this please help thanks soo much.
So cool and neat! Great job :)
Thank you! :)
okay, this one was pretty cool
I want to make one but with more buttons like the large stream deck.
Should work as long as you have enough IO pins and a larger screen. You should be able to do this using multiple keyboard PCBs along with a multiplexer.
Dude, you didn't demonstrate how the buttons press
More details and a deeper demo can be seen in this livestream video: th-cam.com/video/4_8VUFnL0Mc/w-d-xo.html
Maybe with a PCF8574P/PCF8574 DIP-16 NXP/PHI Remote 8-bit I/O Expander IC you can do it with one arduino.
This idea is sooo awesome! Im designing one my self but with a touch screen LCD. Do you have some tips? I cant figure out how to make the clear buttons for on top of the touch screen. Kinda the same as Elgato is using.
Thank you so much! I had previously thought about a touchscreen, but wasn't sure how long it would last given how often it would get "tapped," so I went for the PCB route instead. The official Stream Deck seems to use rubber underneath the clear buttons. If you end up following this design path, definitely let me know how it turns out! I would be interested in seeing another design!
@@SuperMakeSomething well yes i am trying to copy them a little bit. I will let you know if i can fix something
Hello, I would like to use a Nextion screen, which would replace the TFT screen itself, the Arduino Nano and the SD card reader. Do you know this type of screen? If so, why didn't you use it? By the way, do you think it would work or do you have any tips to give me?
I actually did not know about these screens until after I had finished the project, but a few people have mentioned them in the comments. I definitely want to try them out because I think they would work well! If I can pick one up and experiment with it, I will report back!
@@SuperMakeSomething Thank you for responding, looking forward to future projects on your channel.
@@Bazzan Thank you!
I am thinking of the new Raspberry Zero 2W which roughly matches the speed of a Raspberry PI 3 for only 15 USD.
+ with MicroPython you have the same libraries available to interface with usb_hid keyboard/mouse etc.
That would be cool! The form factor is right and I think the code could be modified to dynamically drag icons/redefine hotkeys like in an official Stream Deck!
Awesome job man! Love this!
Thank you!
Awesome project! The enclosure style isn't quite my style but great final product. How many buttons could the Arduino support? I"m thinking a much larger stream deck would be awesome! I'm thinking something like the Stream Deck XL with 32 buttons. Would that be possible? How difficult would it be to adapt your design to that do you think?
Thanks! Definitely possible as long as you either use a microcontroller with more inputs or a multiplexer IC. Interested to see how it would turn out! Please let me know if you try it!
@@SuperMakeSomething I think there is an Arduino that will support 32+ buttons but after you mentioned the delay in updating the screen when you went to a folder got me wondering what other micro-controller would work better. Do you have any ideas?
The Teensy is a good bet, but it is a bit pricey. The STM32 could also work and I think it can emulate a USB keyboard as well. A really cool approach would be a Raspberry Pi Pico running MicroPython that I would love to try in the future.
Great video! I would really like to know if it is possible to apply this to build a keyboard and how it would feel. If I had the money right now I would have purchased a deck from you and test the mechanism myself
Thank you! Yup this should definitely be possible - the Arduino Pro Micro acts just like a USB keyboard.
@@SuperMakeSomething Sounds great! Thank you for your response
how do you know which of the pins on the display are actually needed to make it work in order to have enough left over for the rotary encoders
As always, Big thumb up brother.
Thank you!
I wanted to subscribe, to find out I'm already subscribed :-D
Great approach to solution.
Thanks for vid.
Thank you so much for watching and subscribing (almost twice)! Glad you like the video! Cheers!
Is that audrino software available for Linux? Also will the Photoshop templets load correctly in GIMP? (GIMP can open PSD files but it won't load things like layer fx and such as that code is proprietary to Adobe)
You bet - Arduino is available for Windows, Mac, and Linux! The PSD template should open, but I use an “outer glow” on one of the layers, so I’m not sure if this would work given the restriction that you mentioned. That being said, the important part is really the image size and bmp “mode,” so as long as you can recreate this in GIMP you should be good to go!
@@SuperMakeSomething the layer size will work, but I think the glow will be lost. GIMP has its own glow fx I can just replace it with though.
An Arduino DUE would probably be a better choice for fixing the clock speed issues and IO problems - as it would be a single micro controller option for the lot then instead of needing 2 boards, but trade off is size and cost. I'd have also thought just using a touch capable display for a few $$$ more would have simplified things a LOT, and been worth the cost trade off.
I’ve never used a Due, but I will definitely take a look! Simplifying everything down to one board would be great for reducing the height of the Stream Deck! I thought about using a touchscreen, but was afraid that repeated tapping/pushing wouldn’t last very long - especially with hobby-level screens that only have a thin layer of plastic over the panel. The buttons should hopefully make everything last a while. (Plus it allows you to “feel” where the keys are, so that may be good during a streaming/gaming session.)
@@SuperMakeSomething Swapping to a due and keeping most of the current design looks like it might only require a single manufactured PCB to be changed, meaning most of your existing build could be used as is with 1 change.Certainly something to contemplate if the time presents itself.
@@ZagatoZee That would be sweet! I will definitely take a look! Thank you for the tip! (Also it is a good excuse for me to buy an Arduino Due, haha!)
@@SuperMakeSomething I was thinking going for a Pi Zero, still cheap, still small, double the GPIO of the Arduino Pro Micro's, and HDMI to expand your screen options.
@@Frentraken That is a really good idea!
Great project, and awesome explained! Top! Only thing I didn't understand, how can I switch with my Encoder PUSH-Button for example to the next icon page?! Any idea? Do I have to change something on the 'streamDeckKeyboard'-file?
Thanks! Yup that’s right - it would require a change in the code. Take a look at how “Button 3” is coded, which is what changes the page currently. You would just need to reassign the button names or PIN number at the top of the script to make this change.
Could this project be made wireless by using something like an esp8266 instead of an Arduino?
That is a cool idea! I think it should be possible but have not played with any Bluetooth keyboard functionality for the ESP8266.
@@SuperMakeSomething I rather like the idea of a WIFI controller that could be used for home automation, say to control lights, volume of speakers and so on.
@@fred7flinstone That would be awesome!
maybe make one of the encoders scroll through page presets for the buttons? That way, you wouldn't need folder buttons.
Cool idea! That would free up another button on each page, which would be useful!
Great video production, explained the project really well. Will be working on this in the future with my son Angus, and ill be checking out your channel in the future as well.
Thank you so much! Good luck with your build! I would love to see the final result!
Excellent stuff and sharing everything for others to make is awesome.
First time coming across your channel. It's unlikely to be my last :)
Thank you!
Using a Nextion touch display make all more Easyyyyyy
NEXTION rocks
I've been trying to get my hands on one of these, but can only find them directly from a dealer in quantities of 100! If you have a source, please let me know -- I would love to try it!
@@SuperMakeSomething aliexpress. there is a lot of good quality nextion displays coming in different sizes.
I have a very specific use for this. I have a custom automotive lighting company and my demonstration truck is FILLED with switches. I'm running out of spaces lol so something custom like this would be perfect. Could you program the switches to control ws2812b LED strip outputs? If so, I think I'd love to buy a kit for my company
This could definitely be programmed to do that, though the code on the Arduino Pro Micro would have to change a bit. Instead of using the keyboard library, the microcontroller would need code to control ws2812b LEDs, but this is well documented - if you search for “Arduino Neopixels” you should get tons tutorials! Hope this helps! Good luck with your project!
@@SuperMakeSomething that's amazing! Would I be able to commission you to do the edits to the code if I bought a kit? Or do you think it's pretty self explanatory once I look at the libraries?
@@BLueFeaTHeRedOliVeS Unfortunately I am not taking commissions at the moment, but I think/hope it should be pretty doable if you follow along with this video and a Neopixel tutorial. If you do end up building it, please let me know how it goes!
@@SuperMakeSomething I'll definitely let you know. Thank you!!
HI,
Thank you for this, I'm going to build one of these and I'm in the process of ordering all the parts for this.
Question regarding the acrylic squares....
The supplier seems to have them available in multiple thicknesses, so what thickness do I need to be compatible with your button frames?
Thank you!
You can use a multiplexer to avoid having 2 arduinos :)
Definitely another option! 👍
Is there a online 3D printing service that can print the parts for you?
The best/easiest place would probably be Etsy, since the prices are reasonable and you can easily see reviews/results.
Would this work with the Pi Pico as the controller?
Also can you make multiple profiles? Or trigger a specific loop to call out different keys, for different programs?
The Pico is definitely something I want to try! Unfortunately I have not been able to get one yet.
The profile idea is interesting! The closest to this in the current design is to have different keyboard combos assigned to the different “pages,” otherwise you would need an external application. That is essentially how Elgato’s app works - it assigns different button pages with each profile and switching profiles is roughly equivalent to reprogramming the Arduino in this build with different keyboard commands.
@@SuperMakeSomething Can you create a loop in it and define key combos based off a program? I'm not good with Arduino yet, since I never gotten one yet but would be interesting to sort out, while I get all the components to build my own using your tutorial and codes.
Why didn't you use 1 pin to handle multiple buttons? Easily done using resistors to tell which button was pressed.
This definitely could work using an analog input, but the Pro Micro already didn’t have enough pins exposed to control the screen and SD reader, so I needed to add a Pro Mini to drive the screen anyway. Another option would have been a multiplexer IC, but I wanted to avoid buying individual chips to make it as easy as possible for others to build their own by buying easy to find components.
Amazing video, stoked to try and make one, do you have any info on the resistors specifically used? They look like 330's but I can't tell, you should do a write up on this as well as some things are missing from the video. Keep up the great work!
Thank you! Sorry yes - they are 330 Ohm resistors for the LEDs. I’ll update the project documentation straight away! Cheers!
shift registers? input matrixing? you can make buttons use as little as 2 pins on the IO, its not nearly as easy, but saves IO pins
Unfortunately the Pro Micro did not even have enough exposed pins to run the screen and SD card reader, so something like input matrix was not possible. For arbitrarily large inputs with as few pins as possible, I think that multiplexers would have been the best option, but I wanted to avoid the need for people to purchase individual chips to try to keep the project as accessible as possible.
ok i have been digging for hours and i cant find anything on what size the resistors are. can you help out?
It’s 2.2K.
You can use shift register for multiple inputs
do i just use the pcbway link, order the thing and then just build it?
does the link have all the required things?
The PCBWay link will take you to the site where you can purchase both of the PCBs needed for this project. The parts can be sourced via the affiliate links in the video description. There is also a kit version available from Alien3D, but it is currently out of stock. It should hopefully be available again relatively soon though!
@@SuperMakeSomething thanks u are the only youtuber with the **BEST** responses, best videos and actually replies!
@@eletrixalt Thank you!
During the whole video I can never see that the button gets pressed. Or did I miss it? Because I've used the streamdeck and the tactile feedback of them is really good and something I think would be hard to reproduce. It almost has a mechanical keyboard feel so I was wondering what it would look like on this keyboard as I wanted to do a similar project as well, but can't find any switches with a similar layout to the streamdeck.
Good call! Showing the button press would have been useful to put into the video. Since these use PCB push-buttons, the feel is definitely a bit more “clicky” than on an official Stream Deck which uses a rubber sheet behind each of the buttons. I personally like the clicky feel, but can see that this would definitely be up to user preference. This is definitely something that could get remixed easily in a future version though!
@@SuperMakeSomething Thank you for your quick answer. A clicky feel would be nice as I like the feeling of mechanical keyboards. I was also wondering if the buttons tilt if you don't press them in the center?
@@RobinGlauser The buttons are constrained by the faceplate, so they stay pretty well in place. In this respect, the tilt “amount” is slightly adjustable by tightening/loosening the screws that attach the faceplate to the housing.
nice video, but take a moment and google for: idisplay TFT LCD Keypad
Those are very cool! I will look into picking one up to experiment with.
@@SuperMakeSomething the I have bought the 3x2 matrix and that keypad looks very similar to the stream deck. I wouldn't be surprised if stream deck sources them from idisplay.
Nice video 😀 Ever used Touch Portal?
Thanks! Likewise, cool app! 😎 I have not tried it yet, but will definitely check it out!
@@SuperMakeSomething Let me know if you need some help?
Did you opt for a normal LCD vs a touchsreen LCD so that you could have functioning button? or some other reason?
I chose to use buttons because I was worried how long a resistive touchscreen would last in this application. Since I wouldn’t be using the screens touch capabilities, I then bought a regular screen because its viewing angles are better and it is a bit cheaper.
Hey super cool project , can you explain what/where in the code you got the Arduinos to work together and if I could do it with 2 pro micros.
Thank you very much! I actually just have the two communicate using their analog input pins. Since all of the conditioning hardware is already onboard the microcontroller, this was the "cleanest" solution that required no additional hardware. Hope this helps!
for usb hid you can use esp32 s2 which is a bit cheaper than arduino pro micro, has wifi and more gpios
I really liked your DIY. Have you ever thought of using touch sensors instead of mechanical buttons?
why don't you use a touchscreen monitor for the arduino ? with this you can avoid to use button
I thought about using a touchscreen initially, but was worried about screen life because most of these types of screens only have a thin plastic sheet as a cover. By using buttons, no pressure is applied to the screen, so hopefully it will last longer.
OK this is dope!!!
Thank you!
hi, i`m planning to creata your stream deck, but i want to know what program you use to create the macros to open the apps via the buttons, thank you
This is so cool ❤️🔥🔥🔥
Thank you!
arduino MEGA boards, and derivatives are programmed the exact same way, and the clockspeed issue is a code optimization thing, even if it may not be nearly that easy to do, look at 3D printers, they do MANY things a lot faster than you would realize, they will print, read files, and be able to generate a display at the same time, all on the MEGA 2560 (2650?)
think of it this way... if its looking for buttons for 50% of the clock cycles, its effective speed is 8MHz instead of 16MHz, because every other cycle is spent simply looking for those buttons, its all about thresholds. someone is usually going to press a button for a minimum intended time of about 1/16th of that time, eating up less clock cycles, as its doing other things at the same time, but since it does things in a linear fashion, its all about optimization and finding ways to do multiple things at once. you shouldnt be spending time either A. generating the screen when buttons are more important or B. looking at the buttons if the user needs to see what buttons he/she CAN press to progress first, meaning less things to do, less clock time.
then theres the fact of just using faster code, even if it seems a bit arbitrary at first. maybe using some sort of special file format that makes it easier for the arduino to parse and process as it doesnt need to look at a particular file type or maybe removing compression?
I agree that code optimization could definitely help. The big issue is that the icons are bitmap images, so every color channel of every pixel needs to be updated with a redraw. “Faster” redraws with this library are usually done by drawing primitives like rectangles and other shapes with functions in the code, which do not update every pixel. The other microcontroller I mentioned has a faster clock speed, so unoptimized libraries for a screen size like this are less of an issue. If the community would be interested in optimizing the library further so that it could be folded into the master branch that would be awesome! All of the code for this project is currently on GitHub!
Great project! Can´t wait to build my own Deck.
Awesome! Definitely let me know how it turns out!
Hello sir. First of. This is an amazing project and i would love to build my own diy streamdeck with knobs. I am a 3d animator and i see a lot of potential for this open source stream deck. Mainly because i have used one and this is affordable. My question is simple.
Q: Could i increase the number of keys to 32 display click keys?
and if so.
Q: How do combine them together without it being too big like an actual keyboard?
Desperately would love to have 32 keys with 6 knobs to work with.
Basically
Q: can i customize a multiple key design combined and working together with 32 keys and 6 knobs?
I still think it would be affordable considering the price of this one.
Keep up the great work. And thank you for making this project and its files accessible. It is a great service to all indeed.
Thanks for checking out the video! The design would be extendable by redesigning the circuit board to use a multiplexer to increase the number of buttons that you could connect at once. This would essentially require a full redesign though, so you may just want to build several of these devices - since they register as a standard USB keyboard, as long as each button sends a different character, it should work like you want it to. Hope this helps!
Thank you for your input. I know this is too much to ask. But i am a noob when it comes to electronics and components. But is it possible to get the changes i asked. In the form of a video or even a document so i can understand it clearly. And try it out.
Q: what changes do i make to the existing design?
Q: would i need more parts? And if so what are they and how many?
Q: could i also get a circuit diagram or pcb make and changes with the requirements i asked?
If these questions are not to be answered here. I can go to patteon and fund the min tier to get my answers. Forgive my urgency but this project is just too cool to pass up.
I would not mind to commision the making of said model of stream deck. Or just show me how to do it using a video.
32 keys
6 knobs.
Could i use a bigger screen instead for more keys?
@@sajin0varghese I offer consulting services for custom projects. If this is something that you would be interested in, please reach out via e-mail to discuss further.
very well explained.
Thank you!
I added encoders! What inputs would you add to your Stream Deck?
I am looking at the pcb order page. How do I get the order size below 5 units? I don't need that many.
@@deanmaxwell7455 You cant order below 5 units... unfortunately at PCBway or jlcpcb you have to order at least 5 pieces.
volume controls. :) That would be cool.
@@deanmaxwell7455 Build additional ones for your friends and gift em for birthdays :D
id actually really like to make a few of these into a larger deck. i picture two or three of these side by side, knobs across the top. knobs for everything from scrubbing through footage, to volume, to brush size and hardness, while giving me plenty of room for macros. if i really wanted to go over the top, id alter the bottom of the cases to clip to a backing, put little slits in a mouse pad desk mat to secure them all in a row, with a similar 2 part clip meant to hold an atem mini, have that all neatly secured right next to where my mouse sits underneath my wacom on its deskmounted arm.
lol now i need to make this
WT...* 24 dislikes. Must be from Stream Deck employees. Nice video Thanks!
Thank you!
Agree. The rotary idea its an evotuion on this idea
Awesome genious brilliant, i'm just insane about it...
Thank you!
This was awesome subed
Thank you!
Thaks for tthe video. How do you program the Hot keys?
you doit in the arduino, or in a PC app?
What keyboard character each button corresponds to is programmed in Arduino. After this, these keyboard characters are assigned in your program of choice as a shortcut.
Great work, thinking about building one for myself now. ^^
Thank you!
Use a TEENSY
FAST, more IO than you can shake a stick at, is Arduino compatible
resberry pi pico has released and I hope you make another version with this pico.
That’s a really cool idea! The Pico would be perfect for this project. Will definitely think about using it for a version 2!
@@SuperMakeSomething Awesome, and e14 has already made a macro kbd you can use them as a reference too.
@@debjit21 Thanks! I will check it out!
very cool but wont a touchscreen be more simple and cheap?
Thanks! I thought about using a touch screen, but my concern with these is that most of the cheaper commercial ones just have a small plastic film over the screen, so I wasn’t sure how long they would last if people were pressing on them repeatedly. By separating the screen from any input force, I was hoping to maximize the overall lifetime of the build, though using a touchscreen could definitely make things smaller!
Is there a way to daisychain 2 of these so I can get 12 buttons and 4 encoders?
Unfortunately not with this current design, but this is a great idea for a future revision!
Can the knob be used to control volume?
Yes, this should be possible. All that would need to be done is to have the encoder left/right functions be remapped to the volume control buttons instead of the arrow keys.
It's cool, don't get me wrong, but why would you make one, when there are mobile apps that can do what Streamdeck does for free, such as Deckboard (there's a paid version with more features, but the base one is free)? All you need is some old smartphone/tablet to have it on and you're set. And then you're not limited by the amount of buttons stream deck has.
I know this vid is old, but Deckboard was around even when this video was released.
You do not need more IO pins. This is why IO expander ics exist. Otherwise great idea.
Thanks! I decided to not use any standalone ICs like multiplexers for this project to keep it as easy to build as possible. If someone is new to electronics, I could see a chip getting soldered in at the wrong orientation, so hopefully by using two microcontrollers there is less room for error.