I Built a Keypad to Control My Entire Desk Setup - OLED TV, USB Switch, Lights, Desk, Macros...
HTML-код
- Опубликовано: 26 сен 2024
- Everything from the LG OLED TV, USB Switch, Monitor Lights, and even the Standing Desk is controlled with this diy keypad.
My Source Code: github.com/dav...
HID Remapper: github.com/jfe...
Jarvis Controller Details: github.com/pho...
Keypad
amzn.to/3jokDIG (US)
amzn.to/3hM7yIB (CA)
Relegendable Keycaps (Note, you need to modify the tall keycaps to replace the large 0 and Enter keys, as the side stems do not align with the above keypad)
amzn.to/3PP1trr (US)
USB Switch
amzn.to/3WvMvZO (US)
amzn.to/3WFgnmg (CA)
amzn.to/3hJbvxR (UK)
--------------------------
Disclaimers:
Not sponsored. I purchased everything.
As an Amazon Associate I earn from qualifying purchases.
--------------------------
Music Credits:
Aso - B Urself chll.to/26d7f114
► For More Awesome Gear ◄
Subscribe - bit.ly/1Uzynun
Twitter - / mrdavidzhang
Instagram - / mrdavidzhang
My Video Gear - bit.ly/davidzha...
*3 Months of design, to save 3 seconds of time. Worth it.* This was me just hacking away at different solutions, so I'm open to better solutions for this problem.
This is so useful and can be used for many things. Door entry, camera, lights, TV, curtains/blinds, Aircon/Temps, etc.
Well done.
Hi David, what is the length of your desk? Is it 160 or 140? Thank you!
Automating for improved productivity is way to go! Thanks for sharing! I started using AHK recently too and it's been a game changer :)
Haha, having watched 4 minutes of the video I already got the feeling "Isn't this just a LITTLE over-engineered?" - Which is definitely why I love it
That’s the life of every home Assistant user, Man. I feel you. Incredible job! 👍🏻
Impressive combination of software and hardware skills. Kudos to both this and the production quality. A rare combo.
Basically, to watch some porn this guy had to go through ropes like he was starting a passenger airplane.
Not to mention graphic design. Those icons are very clear, clean and elegant!
This is so cool how you integrated everything. Also props for designing easy to understand pictograms for all the buttons.
Can I just say how awesome this guys is to provide all his code?
The beauty of open source development... Share what you got to and allow others to improve upon it, taking advantages of the community's improvements.
YT seems to allow this in a slightly easier to sustain way (code provides content, which provides food & ☕ to continue writing code) 😀
@@avantgardethemighty6724 Well his code has no license so it's not open-source per se, but I am sure it's just an oversight
Holy cow man. I have an Elgato stream deck that I have been using for macro controls but this takes it to a whole nother level. I put so much work into what I did and I still couldn’t get everything I wanted. I don’t think I have been more impressed by anybody’s work I have ever seen on RUclips in the many years I have been trying to train myself with it than I have been with what you did here. Congratulations. You have an incredibly broad and deep skill set that your average Joe sure is not going to have which makes doing this challenging. I can’t wait to dig into some of your details and see how much of it I can reproduce. Thank you and please continue To publish content and videos on the subject. I would sure like to see deeper dives into some of what you did here. All the best
You use bitfocus companion right? Never use the streamdeck software, it sucks.
@@Jamariyah_Zaire_Malakai pls explain
@Napalm Tampon Wdym? Yes, it has its flaws but it is great.
@@Jamariyah_Zaire_Malakai Also companion is also a plugin on the stream deck library
@@Big_Flubba no need to use the streamdeck software, I can program everything within companion and some shell scripts, also I run it redundant with two Raspberry Pi that talk to each other and fall back if primary fails. Less bs the better
this is really impressive, you did an awesome job designing and building all of this
Oh my gosh, this is like the most advanced automation video/guide/journey thing I've ever watched!
Especially the modifications to your switch and the desk control panel. Awesome work! My mind is blown!
A day with a new David Zhang video is a good day.
Nice job! I'm glad you found my desk hack useful. Thanks for the call-out.
Heyy, thanks for create the desk hack
Great idea for customization :-)
Honestly this is just super cool. Not much more to say. Props and well done. I love how much effort you put into every step, from the purpose built chassis for the desk adjustment signal pass-through to the custom keycaps for the macro pad.
Rather than running the 9 key off of your main desktop, have you considered running it off of a Raspberry Pi, or a windows based single board computer and using that to wake everything up? Then you would only have the power usage of the small computer running all the time instead of your full computer. Re-purposing an older NUC might be another option.
Can you explain further?
@@user-pd9ju5dk5s use a low powered pc that can run the software instead of him having 1 of his two big boy pcs always on so he can use the keypad. what more is there to explain.
But with that you lose the AutoHotKey features in the main PC. You would need to install extra software in the PCs that would run a local server to listen for commands and then activate the macros while also programming the Raspberry Pi to send those commands to the correct server IP.
@@sebastiancarreira5832 he keeps the side pc on because he needs the server running to even wake anything else. Run it of a pi and then have the server start up to control things once the big pc is up. Big pc takes over everything it needs to
This is some seriously impressive work, well done!
This is really awesome! Hyped to be subscribed to an actual maker who tweaks his setup.
I just finished assembling my ideal desk. I used most of your videos as a guide. I am so happy with how it turned out. Thank you for these videos David, they really helped me out.
Your channel is the reason I got myself a LG C2 42" for myself n I am loving it. Now my workflow is far better. :)
That's an immense amount of work, but a fantastic end result. Great job!
Randomly came across your video and If this is content you are showcasing.. i loved it. Great blend of hardware, software and electronics engineering. Many people including myself are curious to build some custom things or automate it in a right way for ourselves to ease daily operations, we cant due to lack of knowledge or understanding. So glad to see you making it. Awesome. Subscribed!!!
Man you're inspirational, love all the details you go through to make a video so clean. Would love to find more channels like yours.
I'm so impressed! I came here because I'm a software engineer looking use a macropad for the first time for one-button script running and this was more than I bargained for (in a good way). I'm so excited to watch the rest of your videos and perhaps follow in your footsteps in automation!
This is the epitome of programmers spending hours trying to automate tasks that only take few seconds. Loved it!!!
LoooL
or automating tasks that have already been automated by an existing product on the market.
This is my type of video. QUALITY OF LIFE IMPROVEMENTS TO THE MAX
Just when I thought you've perfected your setup - you go through the ROOF with this!!
Amazing stuff!
Probably wayyyyy to complex for me to invest similar time into it (I have too many hobbies competing for my time), but it does look amazing!
nice d riding
@@el1398 Why would you take the time to comment this? Why do you feel the need to do so?
@@automatic241 other d rider spotted
@@el1398 So let me guess, either jealousy or a compounded lack of social skills, am I right?
@@Aldrnarii most likely jealousy lmao.
Glad this works for you, too much effort to set up for most people tho 😂
Haha. It started out a simple project. And then it snowballed quickly...
@@HelloDavid I can believe it. It’s not for me, but I’m happy people can deep dive into their interests.
Woah. I love how you kept the functionality of the standing desk touch screen controls by adding the ESP as a proxy.
Cool concept! If you want the best of both worlds (in terms of responsiveness on your desktop) you could make the pico (W) make direct calls to HA (or other) and only send pc-specific keys through as shortcuts for AHK. For new users I'm pretty sure you could forward the commands via HA so it wouldn't even have to be attached to your pc!
Impressive engineering skill and project.
This is sick! I've wanted to do something similar for my setup for a while and you've really inspired me with some functions! I love the window resizing-hotkeys!
I both want to thank you for showing me what you’ve come up with and to curse you for sending me down this rabbit hole. You have found a new fan I’ve subscribed and look forward to seeing what’s next
I was called poor for 8 solid minutes, but watched it twice. Now I’m in debt.
😂😂😂😂😂
Really impressive how much functionality is in that device. Thanks for sharing what worked and importantly, didn't work.
this is awesome but looks too complicated for me to attempt
Damn bruv, I thought this was another first world problem but the utility here is real. Impressive!
So at first I thought “this is going to be ridiculous”… by midway through I was sold. This is really impressive. Love it.
look into MQTT to send commands. may be able to use MQTT to send commands from the Pi to home assistant which in turn can send the commands to whatever PC is currently being used.
Came here to post this.
Lots of hardwork I could see!
The feeling when everything worked must be incredible
Very good idea, i plan to do the same with secondary keyboard without numpad, thank you mr David.
I would highly recommend you add macros for Web tabs switching (left right tab, the pinned tab on the left etc) . I personally had it on my mouse by tilting the scroll wheel, and it was glorious. I would do your setup just for that and windows controls lmao
Beautiful solution! I bought Razer Tartarus Pro keypad for this. For now I can controll everything via Razer synapse + ahk. But after the video... I want more!
That is a really nice project with awesome outcome! I am thinking of doing something similar but I am a little bit afraid of the tight coupling between the components which decreases flexibility when restructuring the desk... So I guess that I will stick with my manual setup for some more years :D
Very inspirational for people who've wanted to get started with ESP32 tinkering, thank for this chill and amazingly edited video!
These are the kind of projects I love. Home/work automation and customisation. I have also used autohotkey for some of my automations and Home Assistant.
I wonder if you can fix the "always on PC" problem by using the raspberry pi your keypad is connected to as the OS that controls everything instead of your PC to do this. It would be a nightmare to refactor given what you've already set up though
I was thinking something similar. If not then use the same machine that runs Home Assistant
@@dagarou Might be challenging since his HA is a VM so he would need to pass the USB port that the keypad dongle is connected to directly to the VM running HA. Doable for sure but I'm not totally sure how locked down the HA Linux OS is..
if he has HA, the answer could be node red and MQTT.
on the rpi:
keypad > node red > mqtt > (remote) HA
maybe there is a more efficient way than node red to get keyboard input to send it via mqtt.
Fantastic Video! I'd love to see a separate video on the standing desk passthrough controller build.
love love love. I am saving this video. I am definitely gonna implement this
I love the idea behind the automations that one would typically not think of a macropad for. You might want to take a look at the Adafruit macropad 2040. Although it doesn't have a wireless connection you might be able to modify it with a battery and ble or take inspiration from its design.
Great work and worth the 3-month effort. Liked and subbed.
I was one of those thinking 'what about Stream Deck?' but it's wired. No getting around that. Wire aside, I too spend a lot of time working on macros, page layouts, AHK scripts and IFTTT to try and streamline at-desk workflows. Feels like a waste until it's (mostly) working. Totally worth it!
Elgato Stream Deck + (plus) with the adjustable knobs
we missed you!!!
Wow. I could tell that your needs are different from mine (e.g. you use a TV as a monitor while I have 4 monitors instead), but you showed some stuff I never thought about that I could use in my own setup, like the USB switch!
In my case, instead of having a light bar that has controls on it, I have a Yeelight light bar that comes with its own wireless puck used to control the basic features.
I have an old tablet (that I tried to sell but nobody bought) repurposed to be a dedicated Home Assistant dashboard when my PC is powered off and a Deckboard Pro client when my PC is powered on. I may look into some sort of automation thing to have it automatically switch apps when my PC goes offline or comes back online. Besides that, I have a custom Nova Launcher configuration to hide as much of One UI as possible, have an app drawer that starts on a tab that has only the apps I would use, and on the home screen, I have a layout that's intended to mimic the ambient mode on Google Nest Hub, but with an additional widget in the top right for battery status. That tablet has a limited 16 GB of storage and battery charging issues (it can't fast charge). I plan to get a MOFT stand for that.
I see you use Home Assistant too!
Truly a programmers way to solve a problem. Thanks for all the videos, its always nice when you post something new and interesting.
Any reason why you didn't consider a Stream Deck for the keypad? Appreciate they don't have wireless options but do have underdesk mounts. Feel it would have given you more flexibility on the keys you could use.
I did consider it. And it probably is the better solution for most people. I just wanted something that was more compact and close to my keyboard (make using the mute button super easy while playing games). Also I'm always looking for cheaper alternatives to these premium solutions, though in hindsight this custom keypad started adding up in price after adding the keycaps and Pico. But still significantly cheaper. And finally, I had grander plans to have it run independent of the PC, such as on a Raspberry Pi or something, which I imagine would a huge headache to make work with the Streamdeck
you can use MicroPython to code microcontrollers like the Pico W using Python.
Keep the productivity videos coming! 😄
Dude!! I've done a similar thing with AHK and Home Assistant, even down to the grid-based window management. From AHK, I canme launch or focus apps, move them, change screen configuration, turn monitors off / on, change audio output, control aircon, lights, TV, type text with macros or manipulate data in my clipboard. HA can make API calls to a flask server on my PC to invoke one off scripts. Another script runs in a loop sending state information to HA so it can keep track of desktop settings.
HA also monitors my dryer / washer and phone battery and tells me I need to tend to them via an RGB light. A Rapsberry Pi acts as a Zigbee / MQTT router for buttons stuck to walls around the house, which stand in as light switches but also perform other functions. One of my favourites is the single press when the bathroom light is on. It turns the light off then waits 2.6 seconds to change the audio output from my bathroom speakers back to my desktop just as I round the corner to be in earshot.
I'm now working on controlling my keyboard (same keyboard btw!!) LEDs to show state information (air con temp etc). It's half working, HA tells my PC when certain helpers are updated via API calls, then it's applied using pyopenrgb but this keyboard desyncs if you go too fast, then reverts to default when it sleeps.
I also want to link up my standing desk but I'm putting off assessing compatibility to avoid disappointment.
Today though, I'll be reading your code. Dying to see your window grid implementation.
I need to get into Home Assistant. Seems steep intro curve, but crazy sweet power
Far from Steep. The hardest part hurdle is the install, picking the device to install it on and which version to install. None of which is "hard" if ya follow instructions. If ya already used to the idea of using Google Assistant, Alexa or Home Kit. Then ya already good to go. The real curve comes when customizing.
Quick thing ya learn is to pick devices that are "locked" down where possible.
👆Congratulations winner I have prize for your 🎁🎁♥️,, Text the above telegram user name to claim your prize ❤️❤️👆
Quality stuff! Nice work!
That's insanely impressive. I understand all of it - but there's coding bits and well frankly, energy investiture that I don't have in the tank at present.
Serious kudos though. That's awesome.
Bravo! This is absolutely fantastic. You gave me a lot of ideas! Can’t wait to start. Thanks for sharing 😊
Awesome video, you've earned yourself a sub.
I know this is way off what this video is about but I'd love to see you remodel your office space. I'm interested to see how you'd completely redesign your working space.
That’s really nice. I need to find or implement a similar solution for my standing desk.
When the desire for efficiency reaches "I'll do it myself" levels-- this is insane!
Always respect going all out and putting in the work when you have a very specific set of requirements to get just what you want out of something.
Pro tip with any kind of new programming - if youre getting errors, feed it into chatGPT and get it to solve it for you. it’s mind blowing.
This is epic man. I love it. Its such a flex to anybody who comes over
4:08 While this is a really cool and clever way to do this, an alternative solution for others could be using a USB (this would also be applicable for HDMI) switcher with a remote, then use an IR blaster to learn the remotes signals and send them that way. Side benefit of this is this IR blaster can be used to separately control any and all other IR based devices. Personally I use an IR blaster for older TVs that don't have smart integrations or CEC, HDMI switchers, and tower fans.
Love the project and definitely want to incorporate some of these ideas!!
Was just watching some old videos wondering when the next one would be. Great surprise on a cold winter day!
My god I don’t think this channel knows how to not make useful content. It’s crazy how everything he puts out is great.
I would have intergrated this into the desk with radio buttons, but having something you can remove is great! Love the project
This is really cool!
Btw windows already has win + e for file explorer
This is incredible! Would you (PLEASE) do a step by step video for noobs like myself? I have a 42 inch c3 and could really use this.
Very clean. Amazing work
I can't get over how amazingly awesome your keypad setup is! That must have been a terrible amount of time spent but it looks to be very well worth it!
Now this is a truly meaningful setup upgrade, this is brilliant.
Thank you for share these kind of life hacks, they are very helpful…. would you mind giving us the size of your table?
Next level - he is truly a savage productivity guru!
this is just on another level. I wouldn't know where to start!
This is a really cool project!
Pro tip! When using an esp that needs to wake up fast from deep sleep, set a static ip, this will make it a little faster by eliminating the handshake
A custom keypad with an SBC could also sync rgb leds for each key that would allow you to have indications for turned on or off
This is the best one I've seen so far. Great job with this, so slim, tidy and well designed.
I love how cool this is. I hit the subscribe. Great content I love the video. 🎉
This is very cool, I would be very interested in seeing a retrospective on this project and how much you use it to this day.
Awesome project, subscribed!
This is awesome, one thing I would do differently is, for the non pc related items like lights and all I would connect an esp8266 over UART with the pico, and make post requests directly from the esp.
Anyway thanks for sharing such nice project. Love from India
I’m generally not a clicky switch guy, but based on the nature of these controls, they seem relevant and preferable
Wow that's awesome! Nice work
Loving this little project. Ordered a pico already.
I’ve looked at the GitHub but I have no idea how to flash the pico (I know a bit premature but I’m going to make this work)
Perhaps a tutorial on how to flash for beginners. I couldn’t find any utubes so…..
Press the button on pico, connect to your PC via USB and copy your image file for poco to use during boot. Dead simple.
@@Spoonuk666 Just not sure which files in the SRC folder in remapper.
@@paulb36utube From the Github page:
"The provided remapper.uf2 file can be used to flash the firmware onto the Pico the usual way (hold BOOTSEL button while connecting to the computer, then copy the UF2 file to the USB drive that shows up)"
Very cool project. This is the exact content I come to RUclips for.
There is no ready-made solution but I have an idea where you can reduce the number of devices by building your own circuit. You could take apart cheap remappable gaming mice reuse its buttons. If you have higher budget, I recommend taking apart Logitech wireless gaming mice (g604 or g603) and disconnect the unnecessary parts like optical, scroll sensors. Alternatively you can take apart broken logitech wireless keyboard and solder some wires using reverse engineering shortcuts switches. You can get away with keeping 3 usb recievers for 3 PCs and may be use an arudino with IR emitter for the desk lamp+ controlling zigbee. I have availability for cheap broken mice/keyboards at disposal in Germany. It is a slightly expesive and bit bulkier solution to house 3-4 pcbs but you can get away using Logitech g hub instead of raspberry pi and few other softwares. For the mechanical switches you can handwire them and it wouldn't be an issue. Use a battery charging/protection pcb for lipo and you can additionally use step down converter if you wish to. I have used and modded logitech devices with a lipo and they can handle anything in range of 2V to 5.5V. Since LiPo batteries run safely between 2.9V and 4.1V, It would be compatible. Why this bulky solution? Have full control of all PCs. Use a 3d printed case to fit all the stuff and you are good to go. If you are modding using these, you don't even need any 1N4004 diodes as builders suggest. Logitech uses a smart way of debounce logic to implement 6KRO for wireless keybaords. Logtiech G Hub has custom mappable macros for mice+keyboards related to "Gaming" line. Most broken mice are listed with 'Stuck keys' which means the mechanical micro switch is broken and you can simply remove them and use wires to connect to your custom switch. Yes, works with MX style switches as well.
That's so cool dude. I'm still having to switch 3 things to get between home/work PC. (Monitor, DAC, USB switch.)
May look into this...but seemed like a lot of work. Hopefully off the shelf solutions come soon because it seems like a common setup for people to have these days.
I am not sure but I think the only reason this is possible is because he is using a tv as a monitor.
Almost all PC monitors don't have remote controls such that you control the input mode :( Would love to be corrected though
so pleased you did this, AHK has been my go-to for automating dumb things to make them smart
I use a gamepad controller for my Mac and a wired midi foot controller for hand relief, I also set up a ton of voice commands which trigger either app menu options or keyboard shortcuts assigned to those options. Voice commands are for me the easiest to remember. It's made e.g. working with audio and video programs so much easier!
Ouch, that soldered switches on 7:42 will bound to be a real hassle when one of the switches decided to resign itself 😅.
But that's surely how most mechanical keyboards are manufactured in the past, now it's the complete opposite where most keyboards' switches are hotswappable and the buttons are by default already remappable (either through their own app, VIA or Vial) so you don't really need to force-remap it.
You could still resolder the slots with a hotswap socket though, so it's fine. That's what I did with some of my keyboards, I turned my Outemu-only socket on Tecware Phantom 87 to be able to fit Kaihl and Gateron switches and my Logitech G512's sockets to be Hotswappable.
Overall nice video, really appreciate all that effort to set up and program everything.
Damn this is awesome. I'm going to be running a similar setup before long. Having an M2 MacBook Air with a Windows desktop. This channel is going to be great once I give my setup a refresh to account for that.
Don't quote me, but I think this is exactly how the "One Ring" started!
Holy crap man. You're a true wizard. Amazing project.
Really impressive! Quite a few little nuggets of inspiration for a few projects here
3:00 into video: oh man, I'm totally doing this for my setup
5:00 into video: there is no way I'm doing this for my setup
Yes, I feel you!