Dynamically Assignable Macro Keyboard with e-ink Display

Поделиться
HTML-код
  • Опубликовано: 15 фев 2021
  • I created an Open Hardware Macro Keyboard which changes its button configuration depending on the active application. And it shows the current configuration on its e-ink screen.
    Detailed details at there.oughta.be/a/macro-keyboard
    Blog there.oughta.be
    Reddit / thereoughtabe
    Twitter / diconx
    Buy me a coffee: www.buymeacoffee.com/there.ou...
  • НаукаНаука

Комментарии • 256

  • @arminemmert8250
    @arminemmert8250 3 года назад +258

    Cherry MX (and similar) switches are supposed to be spaced 19.05mm (=0.75 inch or 750mil ) apart for keycaps to fit perfectly. Some switches don't have mounting pins, but they can be very helpful to position the switch accurately when they're soldered on.
    I really like the e-ink screen idea. Reminds me of the Elgato Streamdeck, and also of the Satisfaction75 keyboard.

    • @ThereOughtaBe
      @ThereOughtaBe  3 года назад +44

      Thanks, and yes, I learned about the PCB-mountable variant of the switches after I ordered the "wrong" kind. I think this is why the keys are not properly aligned. The PCB has holes for the PCB-mountable version, so if someone wants to reproduce the device, the keys should be properly aligned if they just order the correct version.
      Unfortunately, it seems like I placed the keys too close together for regular keycaps. They are 17.78mm apart, which is a half-step on a 0.1inch grid. On the other hand, if I had the correct distance, they would not properly align with the display.
      And, indeed the Elgato Streamdeck was one of the devices I looked at when I wanted to have an option for controlling OBS. But I found it too expensive, ugly and wasn't sure about Linux compatibility. In the end, I am not sure if my device ended up much cheaper and it is also not a real beauty, but it is MY device and I have full control :) (...and a nice project to present on my channel.)

    • @martinb.770
      @martinb.770 2 года назад +2

      Indeed - implementing the streamdeck protocol would be nice, to make it more versatile.
      There are also other protocols, like Mackie HUI (MIDI based), that make sense, though AFAIK the streamdeck software is the only one that allows programming the icon graphics, but the encoder is not supported.

    • @AristarcoPalacios
      @AristarcoPalacios 2 года назад

      Where did you get the 19.05 mm spacing number? I'm currently designing a keypad and I found that number by measuring it from a mech keyb. I need to know the spacing of stabilizers for the keys I'm using but the Cherry site only gives the spacing for a 2u keycap but never mentions what to do in X-u cases, so one can calculate spacings for different keycap sizes. Can you share your source? It would be really helpful.

    • @arminemmert8250
      @arminemmert8250 2 года назад +1

      @@AristarcoPalacios 2.25, 2.5 etc keys use 2U wide stabs, even the European Enter. You can build a layout with keyboard-layout-editor, copy the json, and paste it in builder.swillkb, it will generate a plate cutout file with correct spacings and layouts. I remember rotating the switch for the european enter really surprised me: the cross section of the switch pin is not the same as if rotated by 90 deg. Generally 1U=19.05mm=750mil, and 2.25U=2.25*19.05mm and so on.

    • @miklosnagy5451
      @miklosnagy5451 Год назад

      @@arminemmert8250 seeing this is using python backend on the client, a pyside/pyqt config gui would be easy to make : )

  • @christopher6632
    @christopher6632 3 года назад +116

    That animation showing where everything goes was a fantastic addition

    • @bagorolin
      @bagorolin 2 года назад

      Did you do this with blender as another comment suggested? That looked really awesome!

    • @bagorolin
      @bagorolin 2 года назад

      Nevermind, found your explanation video :)

  • @craigjensen6853
    @craigjensen6853 2 года назад +191

    It would be awesome if they made tiny e-ink displays that could be embedded directly into the keycaps.

  • @rpavlik1
    @rpavlik1 3 года назад +123

    This is super cool, and that animation was amazing. No wonder your pcb was expensive, it looks like you got a super deluxe and thick one. My only caution is that the micro USB port on the pro micro (especially on the cheap clones I imagine) is a serious weak point, so some strain relief in the case, or even better, a short jumper cable to an alternate USB socket, would be a good upgrade. Will definitely look into this, with perhaps some modifications 😁

    • @ThereOughtaBe
      @ThereOughtaBe  3 года назад +24

      You are absolutely right: The USB port is not particularly sturdy. Strangely, I did not even think about using a jumper cable to a dedicated port, but instead went out of my way to design the case such that the Pro Micro points out the back. The design would have been easier without that requirement. Well, there is always a next project :)
      About the PCBs: Jepp, I think that the macro keyboard can use a sturdy base, but I should look into some options next time I need a PCB to at least make that choice more consciously.

    • @ThylineTheGay
      @ThylineTheGay 2 года назад +2

      @@ThereOughtaBe you could probably just have 3d printed supports for directly under the switches

    • @synthgal1090
      @synthgal1090 2 года назад

      @@ThereOughtaBe you could swap the micro with an Elite-C or a Sea Micro

  • @merthyr1831
    @merthyr1831 Год назад +8

    Absolutely insane how many features you've packed into this. People pay a lot more for a lot less. Great stuff

  • @paulmaier8923
    @paulmaier8923 3 года назад +32

    Your Blender style is great. I love these animations. Really great project and perfect presentation, I would buy one.

  • @yosyp5905
    @yosyp5905 3 года назад +22

    it's an awesome project. I don't think the market offers something this practical and useful.

    • @s4vila
      @s4vila 3 года назад

      Streamdeck comes close!

    • @berkle
      @berkle 2 года назад +1

      @@s4vila there's no dials on it though

  • @muratdogan7240
    @muratdogan7240 2 года назад +5

    I cant believe youtube has hidden your channel till now from me. Deine Videos sind unglaublich hochwertig, lehrreich und interessant, und das sage ich als Elektrotechnik Student. ;) Weiter so!

  • @MrMegaManFan
    @MrMegaManFan 2 года назад +10

    Your projects are both functional and fun! I’m glad I discovered this channel.

  • @UmbraAtrox_
    @UmbraAtrox_ 2 года назад +7

    Awesome project. Absolutely going to build one. btw when fitting keyboard switches bend the pins a bit so the switch holds mechanically before you solder. This reduces stress on the joints when you press the keys.
    Probably not a big deal on a shortcutpad but on a keyboard you'd type on it's a must.

  • @jaredarm
    @jaredarm 2 года назад +5

    Amazing project! Extremely well documented. I've been looking for something like this for a while. Subscribed!

  • @johnsonwang7253
    @johnsonwang7253 2 года назад +4

    Your version of a dolly zoom really caught my attention but your blender animation impressed me. This was an awesome video on multiple levels

  • @Linuxdirk
    @Linuxdirk 2 года назад +25

    “Less than 50 Euros” for such a cool macro keyboard! You can’t get something like that in a store! Great job!

  • @davidbcg286
    @davidbcg286 2 года назад +2

    That project is really cool! I’ll keep as a benchmark for my custom kb in the future.

  • @NicMG
    @NicMG 2 года назад +2

    How has your channel only got 11k subs, this content is brilliant!

  • @ViewtifulSam
    @ViewtifulSam 2 года назад +1

    The e-ink display is just perfect for this! Great design.

  • @NiVofHiR
    @NiVofHiR 2 года назад +1

    DUDE! THIS IS NEXT LEVEL AWESOME!~ Great visuals as well! Keep up the GREAT WORK!

  • @RohitBanerjee
    @RohitBanerjee 2 года назад +1

    Subscribed specifically after reading your Cookie Law rant in your website. Much inspired by your projects. Keep it up !!!

  • @deadboltcafe5258
    @deadboltcafe5258 2 года назад +4

    An extremely cool build! Thanks for sharing this project. I love the dial, and I'd like to see more dials on devices! Cheers

  • @thesnazzmaster
    @thesnazzmaster Год назад +1

    just about to order the parts to build my own macro keyboard and i see this and apparently this is an established thing, thats pretty neat

  • @valshaped
    @valshaped 3 года назад +7

    I've gotta say, your idea and presentation are spot on. I'm currently prototyping something similar (but just a ridiculous RGB LED jog wheel, meant to be a keyboard w/ rotating letters)

  • @SuboptimalEng
    @SuboptimalEng 3 года назад +2

    this is insanely cool, nice work!

  • @Embuer
    @Embuer 2 года назад +2

    Wow that's so awesome. I was just thinking about doing something similar and searched if someone did it. You made what I was thinking about but 1000x cooler. Great video.

  • @BoxyBoy
    @BoxyBoy 2 года назад +1

    i love you and i love this this is amazing. the first thing i wanted to see when i saw the RGB leds on the knob is, "you should switch between those to indicate something based on the direction of the knob" and then i saw the volume leds and i was like !!!! yay!!!

  • @FirstHand290268
    @FirstHand290268 2 года назад +2

    Great animations! This was really outstanding. Both thumbs up :)

  • @activemotionpictures
    @activemotionpictures 2 года назад +2

    The display recognition is impressive!

  • @sirsundays
    @sirsundays 3 года назад +4

    Those animations are really good!

  • @yc691
    @yc691 2 года назад +2

    great work!! tempting to build...

  • @Shiniiee
    @Shiniiee 2 года назад +1

    Jesus, that animation at 7:00 was really some next level type stuff.

  • @DIYtechie
    @DIYtechie Год назад +1

    Really, really cool project. Love custom keypads.

  • @MahatmaMichael
    @MahatmaMichael 2 года назад +1

    Regards from Microchip pic assembler enthusiast and self-governed life outside of town in central Poland.
    Many thanks for sharing. I benefited already being inspired with e-paper modules and for looking at Kicad - I wish to start y own pcb designs possible to be manufactured in China.

  • @rick_er2481
    @rick_er2481 2 года назад +2

    underrated channel!

  • @whoareyouandwhatdoyouwant
    @whoareyouandwhatdoyouwant 3 года назад +4

    Very nicely done! It's making me wish I'd added a little display to my macropad project now haha

  • @minigpracing3068
    @minigpracing3068 2 года назад +1

    Nice clean design!

  • @WebmediArt
    @WebmediArt 2 года назад +1

    Debug-plug. Love it!
    Gerade über deinen sehr interessanten Channel gestoßen. Grüße aus Hamburg ;)

  • @mr0big
    @mr0big 2 года назад +1

    Congratulations great work both on the keyboard and the video explaining the build process. A quick tip on soldering: try that after placing the component bend the legs a little so they pull the component toward the pcb. Then cut them to the appropriate length (roughly 2mm from the pcb), and solder them at last. This could result in much cleaner soldering joints.

  • @ChrisHalden007
    @ChrisHalden007 2 года назад +1

    Really cool project and high quality video. Thanks

  • @mariomerco
    @mariomerco 2 года назад +1

    Impressive!! Great job! Very inspiring

  • @zappagood6961
    @zappagood6961 2 года назад +1

    Great project ! Great job !
    Thanks for sharing !

  • @MilMike
    @MilMike 2 года назад +2

    incredible and very useful! well done.

  • @nicolat815
    @nicolat815 2 года назад +1

    Great work !!

  • @gerhenry7127
    @gerhenry7127 2 года назад +1

    Great Scott 2.0 , great content 👍

  • @NN0IK
    @NN0IK 3 года назад +3

    It's beautiful!

  • @DPedroBoh
    @DPedroBoh 2 года назад +3

    This is so awesome! The custom pcb is impractical for me, but ill try this on one of those prototype boards since they are more affordable. I'm a newbie, but i had some experience with everything in the video. I'm sure it's very feasible if i pay attention to the documentation.

  • @AM-jw1lo
    @AM-jw1lo 2 года назад +1

    Very nice video, Custom PCB should not be the most expensive part (even one offs), unless of course you are in a hurry. This a great implentation of a control box, gives me a lot of food for thought.

  • @MakeDataUseful
    @MakeDataUseful 2 года назад +1

    Amazing, thank you for sharing

  • @TheOisannNetwork
    @TheOisannNetwork 3 года назад +3

    I love your domain hack!

  • @KangarooBoss21
    @KangarooBoss21 2 года назад +1

    your channel is underrated

  • @ericlotze7724
    @ericlotze7724 2 года назад +2

    Amazing Design...*and* It's Open Source !

  • @baiomarlaye3165
    @baiomarlaye3165 2 года назад +1

    Bruh this channel is amazing

  • @Rasputin185
    @Rasputin185 2 года назад +1

    That's terrific alter

  • @rolfathan
    @rolfathan 3 года назад +1

    This is brilliant.

  • @keepitgrimy
    @keepitgrimy 11 месяцев назад +1

    Awesome project I have 0 python or soldering knowledge but this looks so cool

  • @henriksundt7148
    @henriksundt7148 Год назад +1

    8:42 How to avoid shortening: Heat the pad and the leg first with the iron for a few seconds, then apply a little bit of solder not touching the iron. If you apply them at the same time and use the iron to melt it, it easily clobbers.

  • @szmery2985
    @szmery2985 3 года назад +5

    Great for controling HAM RADIO od SDR!

  • @MrNoobed
    @MrNoobed 2 года назад +1

    This looks almost exactly like the F-14's RIO/rear seat multi function keyboard. Since such cheap screens didnt exist in the 60s, they have a cylinder with different button assignments on it, and the cylinder rotates when you turn the selector knob.

  • @zipp4everyone263
    @zipp4everyone263 2 года назад +1

    That looks really nice!
    Id suggest the use of SMD-LED's, UF2 bootloader (so you can control the device, python code etc from the USB-c plug), LED's for the buttons (to show status and provide feedback) and a black PCB...because i really like black PCB's :D
    Really like the project as is tho!

  • @WagnerDeQueiroz
    @WagnerDeQueiroz 3 года назад +6

    Trabalho Magnifico! Parabéns por todo o conjunto da obra. Saudações do Brasil.

  • @nikodoge99
    @nikodoge99 2 года назад +1

    always thought something like this would be really useful, but with the display on the keycaps. Still though, pretty awesome! 👍

  • @usnoozeyuloosey
    @usnoozeyuloosey 2 года назад +1

    Very nice animation

  • @satibel
    @satibel 3 года назад +4

    sub 40 euro version with parts from aliexpress:
    1m rgb strip addressable 144led/m 5.68E
    Pro Micro ATmega32U4 3.81E
    gateron blue switches 10 pcs 4.99E
    KY-040 clickable encoder board 1.57E
    e-paper module 12.66E
    3d printed case - ~5E
    total: 33.71 euro
    no pcb, directly wired, and I'm assuming you have a roll of small wire available, but they are 3E if you don't.
    the pcb isn't needed with a clever use of the 3d printed case.
    the individual leds are replaced by a strip for ease of use and price also you can add leds under the buttons.
    I'd add a BLE esp32 (~4E), a battery (3E), and a charger/bms/3.7 to 5v boost module (2E, board for diy battery bank) so you can use it wirelessly.

    • @kloklojul
      @kloklojul 2 года назад

      would you mind showing off how you build the device in a Video? I'm really interessted in a wireless version but unfortunatly im bad with etech. Left you a sub just incase you upload a video xd.

  • @drpainnuk3d
    @drpainnuk3d 2 года назад +1

    Pretty great thanks!

  • @DavidLindes
    @DavidLindes 3 года назад +5

    Very nice!!! I’ve been thinking about doing something similar for a little while, and waffling on different design possibilities... now, maybe I’ll just use this one! Thanks!
    One minor bit of constructive feedback, unrelated to the project itself: while in general usage, “shorten” is a correct inflection, in this particular case, it’s confusing. “To shorten” the legs of the LEDs would be to cause them to be less long, whereas you’re referring to an electrical “short” condition, for which “to short” is how folks discussing electronics in English typically refer to this. (Though some will also speak of “bridging”, with reference to a “solder bridge”, in which case “to bridge” would fit the context. FYI! (Not a complaint, just letting you know, for future reference.)

    • @DavidLindes
      @DavidLindes 3 года назад +1

      P.S. I usually look around a channel more before doing this, and I suppose it’s possible I’ll change my mind later, but between this video and _the name_ of this channel, I’m pretty sure I want to be subscribed, so... subscribed!

    • @ThereOughtaBe
      @ThereOughtaBe  3 года назад +3

      @@DavidLindes Thanks a lot, and also thanks for the clarification on "shorten". I really appreciate this and am a bit surprised I never caught this little difference before.

    • @DavidLindes
      @DavidLindes 3 года назад +1

      @@ThereOughtaBe gladly! I'm glad it's appreciated. :)

  • @scottwilliams895
    @scottwilliams895 2 года назад +1

    Fantastic!!

  • @simondibbern5564
    @simondibbern5564 2 года назад +1

    Many of these generic e-ink displays allows for partial updates. That way, you can update small sections of the display much faster than otherwise possible. This should allow for small animations or displaying numbers while using the scroll wheel.

  • @estebaninvernizzi8730
    @estebaninvernizzi8730 2 года назад +2

    I had a similar idea years ago. So glad to see someone had the same thought and the actual skills to build it. Inspiring!

  • @EpicHardware
    @EpicHardware 2 года назад +1

    God damn impressive!

  • @brisben88
    @brisben88 2 года назад +1

    Damn I don't even understand the title but I love it!

  • @arthur1338
    @arthur1338 2 года назад +1

    amazing!

  • @tt061552782
    @tt061552782 2 года назад +2

    The PCB assembly animation is super cool, may be the best I’ve ever seen, may I ask which tool did you use to make that animation?

  • @maximood-tired
    @maximood-tired Год назад

    nice project. what I think would improve it is to make the switches plate-mounted instead of pcb-mounted. This would allign them perfectly and improve the typing experience

    • @ThereOughtaBe
      @ThereOughtaBe  Год назад

      To be honest, I did not even know the difference when I created this project and actually bought the wrong switches. The version I built for the video (and which I am still using everyday) has plate-mountable switches soldered to a PCB. But the focus for this macro keyboard is not typing experience, because it is a macro keyboard. I would not even use the word "typing" here - it's more "pushing a button" to trigger something. No need for speed, no need for accuracy without looking (the e-ink display is there for a reason) and no typing comfort - you move your hand away from your main keyboard to trigger something anyway.
      But if I am assuming correctly that you are a fan of proper mechanical keyboards, there is a detail that will bother you much more than the PCB mounting: The distance between the switches is a bit too small, so you cannot use regular key caps. Ouch.
      The spacing and the simple mounting of these switches has exactly one goal: To have buttons next to icons that are shown on the e-ink display. The length of the display meant that I either have to use a too small distance or that I have three keys on each side with a gap in-between. With these limitations I don't think that a plate will contribute much to the experience - The typing experience is already superior to it's immediate competition: The Elgato Stream Deck :)
      BTW: When I finally find some time, my next project will be a proper keyboard (also PCB-mounted, though) with a little extra. Well, if that "extra" works at least somewhat as intended. But will move away from my Dell rubber dome eventually.

  • @Systomd
    @Systomd 2 года назад +1

    GREAAAAT!!! Good job! I'd like to ba able to do the 1/10th of that one day.. (I'm starting domotic)

  • @DygDyg1000
    @DygDyg1000 2 года назад

    I made myself a remote control in the case of a kitchen timer-eggs, based on esp8266. It only supports the h-encoder, although in the future I plan to add touch buttons to implement gestures.

  • @TheBigLou13
    @TheBigLou13 2 года назад

    0:50 Nice dolly shot! :D

  • @user-po4rl8pu1f
    @user-po4rl8pu1f 23 дня назад

    Bro, I loved this video. hope you have something new coming up on these lines on macro keyboards after 3 years. BTW, went bonkers seeing the animation in between. was that done in Blender? Looking for a detailed or an upgraded version of this video please.
    also. Anyway, to collaborate with you on a product design like this for a POC/MVP?

  • @sarkybugger5009
    @sarkybugger5009 2 года назад +1

    Sweet!

  • @scaredyfish
    @scaredyfish 2 года назад

    I’ve wanted a jog wheel myself for a long time. I have a trackball (marble mouse) that I really love using, but the one thing it’s missing is a mouse wheel. A separate jog wheel would solve that, so I think I may make one of these.

  • @shocknawe
    @shocknawe 2 года назад +1

    Awesome.

  • @Adolfo.Silva.h
    @Adolfo.Silva.h 2 года назад +1

    Soo Good

  • @CrumbleChris
    @CrumbleChris 2 года назад +1

    I have two streamdecks which I use for a variety of things, but actually would like a rotary encoder. I may upgrade this to be a 16 or 32 button behemoth and scale everything up accordingly. Also; I may well change the python code to support multiple devices, so that I can run multiple at once, as I think these would be really cool for lots of editing and other tasks that I do regularly.

  • @aidenlopez732
    @aidenlopez732 2 года назад +1

    I would pay so much for one of these

  • @DirtyGingy
    @DirtyGingy 2 года назад +1

    You could use qmk firmware written in C to program this and even add support for VIA/Vial for most of the core keyboard and mouse functions. But the display and web socket magic might not be possible

  • @Dormikon01
    @Dormikon01 2 года назад +1

    Klasse Video & Projekt, da lasse ich gerne Mal ein Abo da! Nice video and project, subscribed!

  • @lgfs
    @lgfs 2 года назад

    Add bluetooth, a battery, and make a lot of money on Kickstarter, I'd completely buy this (already waiting for the NEMEIO keyboard tho). We need more of those kind of interfaces.

  • @Dot2TheLock
    @Dot2TheLock 2 года назад

    I dislike rgb on everything but I really enjoy what people do with them nicely done

  • @Splarkszter
    @Splarkszter 2 года назад

    Finally. an e-ink viable aplication.

  • @mariourdaneta8791
    @mariourdaneta8791 3 года назад

    LOVE.IT

  • @johnacsyen
    @johnacsyen 3 года назад +1

    Awesome

  • @globaltv2984
    @globaltv2984 2 года назад +1

    Super cool. What software did you use to make that animation?

  • @1BurgerPlease
    @1BurgerPlease 3 года назад +2

    I would pay $200 for this!

  • @atom6_
    @atom6_ 2 года назад +2

    Cool project, would this be moddable to use an esp8266/32 and just emit the commands via wifi & mqtt instead ? could make it even fully wireless running on a battery. With an esp32 you could utilize BLE as well.

  • @daniealmohd2799
    @daniealmohd2799 2 года назад

    One day I will try learn to make this

  • @RenatoYamamoto481
    @RenatoYamamoto481 Год назад +1

    i reaaly love the animation, what software did you use to make that?

    • @ThereOughtaBe
      @ThereOughtaBe  Год назад

      Blender, see ruclips.net/video/1Pjr0xkuyhU/видео.html
      (Not entirely up to date anymore. Few things can be done a bit easier now.)

  • @illwill1337
    @illwill1337 2 года назад +1

    Hi! Awesome video! I can't really see which display you're using. The wiki-link mentions v2 is that the one you're using?

    • @ThereOughtaBe
      @ThereOughtaBe  2 года назад +1

      Mine was a V1 and unfortunately, there are a few differences. Have a look at the GitHub repository for a few notes from a Reddit user on using a V2 instead.

  • @loadeddice1304
    @loadeddice1304 2 года назад +1

    Hey there. Nice channel. I really love your content and lots of them remind me of my own projects. Keep up the good work!

  • @theSEGAtwistisover9k
    @theSEGAtwistisover9k 2 года назад

    heck yeah e-ink!!

  • @WhatALoadOfTosca
    @WhatALoadOfTosca 2 года назад +1

    This looks great. I've used Loupedecks keyboards but they aren't great and their support isn't good.

  • @feritperliare2890
    @feritperliare2890 2 года назад

    Now add a rubber ducky script in the documentation so if someone just copy pastes you take his info

  • @rfitzgerald2004
    @rfitzgerald2004 2 года назад

    I love the look of this. Do you know how easy it would be to adapt the python scripts to work on Windows? I'd be fine with building the hardware but scripting isn't my best capability.
    Another nice addition could be some RGB LEDs underneath the keycaps as well, so with your light for example you could have the keycap light up green or red to indicate whether your light is on or off

    • @aonodensetsu
      @aonodensetsu 2 года назад

      python scripts work on windows just fine, you just need to install python (unless the script accesses files, then it might take some more work)

  • @padmalayarawal3091
    @padmalayarawal3091 3 года назад +5

    Animation looks so freaking cool 🤩. Can you please let me which software you have used for the same?

    • @ThereOughtaBe
      @ThereOughtaBe  3 года назад

      I see, that you already found it. As a reference for others looking for the answer: ruclips.net/video/1Pjr0xkuyhU/видео.html