DIY Stream Deck (3D Printing, Arduino, Electronics!)
HTML-код
- Опубликовано: 29 июн 2024
- This video is sponsored by PCBWay! Download the files you need for this project at bit.ly/2JKsyOw or head to www.pcbway.com to order your own custom circuit boards!
An Elgato Stream Deck is a vital tool for anyone looking to live-stream online, but the ongoing pandemic has made these devices hard to find or very expensive! To solve this problem, I built a DIY version using Arduino, 3D printing, and some custom PCBs, which you can also build yourself! All of the design files are free and open source so that you can create the Stream Deck that best suits your needs!
Timestamps:
0:00 Intro
0:58 Stream Deck Design Rules
2:40 Stream Deck Electronics
5:50 Stream Deck Mechanical Design
8:23 Stream Deck Arduino Programming
10:14 Stream Deck Mechanical Assembly
11:08 Stream Deck Button Icons
12:39 Outro
Code, icon templates, and Gerber files for the Stream Deck can be found here: bit.ly/3paCnpf
If you don't want to customize the circuit boards, you can also order a copy of the version I used here: bit.ly/2JKsyOw
3D printed files for the Stream Deck can be downloaded here: bit.ly/35h4NGe
You will also need the following items:
3.5in TFT LCD Screen: amzn.to/3ke75tS
Arduino Pro Micro: amzn.to/35e6Vys
Arduino Nano: amzn.to/3eHZF0K
SD Card Breakout Board: amzn.to/3kb2Orj
6mm Push-Buttons: amzn.to/2Ilm4VO
Rotary Encoder with Push-Button: amzn.to/35j7Xtf
Male/Female Header Kit: amzn.to/35ezw6T
Ribbon Cable: amzn.to/2GPOrLq
4GB Micro SD Card: amzn.to/35eC2tS
M2 Screw Kit: amzn.to/2GKlz77
M3 Screw Kit: amzn.to/2GNitiQ
Hatchbox Black PLA: amzn.to/35fGM2h
Hatchbox White PLA: amzn.to/2InWG1n
Color Changing PLA: amzn.to/35fNuoM
Resistor Kit (Optional): amzn.to/2UcVQY2
Slow Flash RGB LEDs (Optional): amzn.to/2Uep7l2
20x20mm Acrylic Squares: litko.net/
ANet 3D Printers:
Anet ET4X: amzn.to/3kjryNP
Anet ET5X: amzn.to/3pasibP
Other 3D Printers you might like:
Ender 5 (Amazon US): amzn.to/2V4JQro
Lotmaxx SC-10 (Amazon US): amzn.to/36vk052
JGMAKER/JGAURORA A5S (Amazon US): amzn.to/2Zzgc1C
Elegoo Mars (Amazon US): amzn.to/2pzLBky
Elegoo Mars Pro (Amazon US): amzn.to/3bKqAWT
Elegoo Mars (Amazon DE): amzn.to/2Xb1Qlc
Elegoo Mars Pro (Amazon DE): amzn.to/2LH1aPo
ECubMaker TOY DIY 4-in-1 (Amazon US): amzn.to/3bWzj8h
Looking for an official Elgato Stream Deck? Buy one here: amzn.to/2JOuHc1
Just getting into streaming? Here are my starter gear recommendations:
Camera: amzn.to/3n9GqAw
Microphone: amzn.to/3eMGTFB
Lights: amzn.to/3eGSG8k
My streaming gear: kit.co/SuperMakeSomething/str...
Become a Patron: / supermakesomething
Buy Me a Coffee:
Follow me on my other social media accounts to keep up with the latest between video uploads:
Twitter: / supermakesmthng
Instagram: / supermakesomething
Facebook: / supermakesomething
Twitch: / supermakesomething
(Note: All Amazon links are affiliate links. As an Amazon Associate I earn from qualifying purchases.)
SOURCES:
"Elgato Stream Deck: A Non Streamer's Perspective" Tech Tesseract: • Elgato Stream Deck: A ...
"Do you REALLY need a Stream Deck? - Elgate Stream Deck XL Review & Explanation" EposVox: • Do you REALLY need a S...
#Streamdeck #Arduino #DIY - Хобби
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 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!
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
Superb! A lot of effort went into this project. Pure awesomeness. Cool that it's DIY and OpenSource. Great work👍
Thank you so much!
Alex I LOVE your videos! The videography and editing are every bit as good as the build.
Thank you Ian!
Excellent work Alex, the whole thing is brilliant. Hoping that this becomes "a thing" in the community. Cheers, JAYTEE
Thank you so much! 😀
This is INSANELY Awesome !!
Fantastic feature set for a crazy price !
Thank you!
This is fantastic. I was just looking for this very thing. Good video as always.
Thank you so much!
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! :)
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!
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!
Awesome job man! Love this!
Thank you!
So cool and neat! Great job :)
Thank you! :)
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!
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!
Great project! Can´t wait to build my own Deck.
Awesome! Definitely let me know how it turns out!
Great work, thinking about building one for myself now. ^^
Thank you!
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.
okay, this one was pretty cool
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!
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!
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!
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!
This was awesome subed
Thank you!
As always, Big thumb up brother.
Thank you!
OK this is dope!!!
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
very well explained.
Thank you!
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!
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!
This is so cool ❤️🔥🔥🔥
Thank you!
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!
I really liked your DIY. Have you ever thought of using touch sensors instead of mechanical buttons?
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!
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
Hello, I am impressed. It is interesting. It is amazing. Wow. 👍👊❤️❤️❤️❤️👏👏👏👏👏. You did a Good Job.
Wish there is a bit more detailed version of this , love this video a lot
Thank you! For more details, please check out the livestream build I made of this project, which walks through everything in greater detail!
@@SuperMakeSomething nice , I'll see how I can see that
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.
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!
YAY! Been waiting weeks for this to drop! (been pestering you on instagram about it ;) )
Excited it is finally out! Hope you like it and good luck with your build! 😄
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.
just, wow.
Awesome genious brilliant, i'm just insane about it...
Thank you!
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!
You can use shift register for multiple inputs
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.
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!
WT...* 24 dislikes. Must be from Stream Deck employees. Nice video Thanks!
Thank you!
Agree. The rotary idea its an evotuion on this idea
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
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.
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
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).
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!
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.
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!
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!
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!
EASY!
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! :)
Hey would you do a guide with the new pi Pico?
for usb hid you can use esp32 s2 which is a bit cheaper than arduino pro micro, has wifi and more gpios
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.
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?
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!
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!
You can use a multiplexer to avoid having 2 arduinos :)
Definitely another option! 👍
I am having issues in my self made streamdeck that the keypresses are also recognized by other softwares when they are in focus. Is it not so that the official streamdeck uses other methods of sending keypresses so they do not type anything for example when you have notepad open. Or am i just overthinking how a streamdeck works and making it hard on myself?
Maybe with a PCF8574P/PCF8574 DIP-16 NXP/PHI Remote 8-bit I/O Expander IC you can do it with one arduino.
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.
Heey, i build it exactly like in the video and flashed the arduinos like you did... But the screen only shows "didn't find BMP images"
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.
Is it compatible to bitfocuses companion? That would be great!
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
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
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!
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.
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.
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.
This is really cool, but honestly it's so much easier to just buy a stream deck and have it work and programmed out of the box
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!
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!
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.
Have you considered using a Nextion Display?
Just looked those up - they look awesome! Will definitely think about getting one to play around with! Thanks for the tip!
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.
Someone selling built units? I have made a diy macro pad but it’s too much time to build this one. I would pay double= 120 for a built unit. Thanks for sharing, hopefully in the future I can take the time to build one
You can actually buy the electronics portion as a kit from Alien3D! You will only need to print your own files. (I have a follow-up livestream posted on this channel so that people can build along.) The kit can be found here if you are interested: www.alien3d.us/product/diy-stream-deck-kit-by-super-make-something/
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.
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.
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.
i have made 2 of them With their 3d printed frame i am going to open my own business i'll name this FeeMediaDeck
Use a TEENSY
FAST, more IO than you can shake a stick at, is Arduino compatible
Seeing it in yellow makes me wanna call this the Cheese Deck cause it looks like some holy cheese lmao
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.
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.
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!
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.
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.
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!
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.
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!