I Built A Keyboard Configurator From Scratch

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 พ.ค. 2024
  • Creating a Custom RP2040 Keyboard Configuration GUI from Scratch
    Get a 0xCB helios here keeb.supply/products/0xcb-helios
    Get POG here github.com/JanLunge/pog
    Chat on Discord here / discord
    Support me
    Either through TH-cam or patreon.com/JanLunge
    Pog documentation: pog.heaper.de/
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 94

  • @JanLunge
    @JanLunge  28 วันที่ผ่านมา +4

    Also keebsupply provided us with a 10% coupon code so if you want to order some helios controllers you can use code JAN-LUNGE at keeb.supply/products/0xcb-helios

    • @AX-fx7ng
      @AX-fx7ng 7 วันที่ผ่านมา

      Been long, missed your videos :D

  • @perw12345
    @perw12345 29 วันที่ผ่านมา +24

    That keyboard layout builder is insanely cool.

  • @doomcake2020
    @doomcake2020 29 วันที่ผ่านมา +16

    Wake up babe, new Jan just dropped.

  • @parallacksg
    @parallacksg 28 วันที่ผ่านมา +8

    Huge achievement getting all this done. I already suggest KMK to beginners in the handwired keyboard space. Now there's even more reason to do so. So awesome!

    • @JanLunge
      @JanLunge  28 วันที่ผ่านมา

      Thanks a lot! KMK is for sure the easiest to get going and its just getting simpler now

  • @malpern
    @malpern 25 วันที่ผ่านมา +2

    Thanks for the Pog app and for the tech support on Discord!

  • @georgeaguirre5437
    @georgeaguirre5437 16 วันที่ผ่านมา

    I’ve been looking for circuitpython builds for Python configuration, this is fantastic! I like that it allows for integration of extra sensors and capabilities. This will make integrating new mouse sensors, for example, a breeze. Proximity sensors, gesture sensors. Heck, I want to integrate an air quality, VOC, and flicker sensor into one to let me know if the oxygen level is low or the office lights are prone to causing fatigue.

  • @pointeplusplus
    @pointeplusplus 4 วันที่ผ่านมา

    I’m so new to this custom keyboard world and I’m over here like 👀

  • @hellNo116
    @hellNo116 20 วันที่ผ่านมา

    two things i like. you use the debugger you are implementing because we need to eat our own dog food
    also this is so cool. this microcontroller seems so more powerful. i have my own split keyboard and i am very happy with it but i want to make another one at some point cause i can't know when it breaks and you know variety and see what i might be missing. i really liked your tool and i will definitely give it a try when i have the money saved for my next keyboard

  • @meyburgh
    @meyburgh 29 วันที่ผ่านมา +2

    WOW!!! amazing project Jan!!!! Well done!

  • @Danielo515
    @Danielo515 12 วันที่ผ่านมา

    This is insanely cool. I bet you were frustrated by the current way of configuring keyboards and thought "Incan build one myself as a little personal project" and then, "hey, this may be useful for others" and the whole rabbit hole opens in front of you... Will donate even if I don't plan to use it

  • @rayer1360
    @rayer1360 29 วันที่ผ่านมา +2

    Looks really cool! Now I have even more reasons to continue with my build.

  • @whereIsJerome
    @whereIsJerome 28 วันที่ผ่านมา

    this looks like an amazing project and comes in just in time for me. will test it out this weekend. congratulations!

  • @malpern
    @malpern 29 วันที่ผ่านมา

    Looks fantastic. Can’t wait to try it!

  • @AviatorXD
    @AviatorXD 29 วันที่ผ่านมา +1

    Wow you've actually done what i was thinking about trying to do for myself. It looks really clean, good stuff man.

  • @benjaminbortfeldt-ro8003
    @benjaminbortfeldt-ro8003 28 วันที่ผ่านมา

    That looks awesome. Can't wait to play around with it!

  • @JarnoLaakso
    @JarnoLaakso 20 วันที่ผ่านมา

    This looks awesome!

  • @nonamebear1136
    @nonamebear1136 28 วันที่ผ่านมา +1

    This is amazing! It makes me want to get back to building keyboards again. And you didn't leave out us linux users like the qmk project did. Thank you for sharing.

  • @anventia
    @anventia 28 วันที่ผ่านมา

    I am just finishing up my custom RP2040 keyboard, and pog looks like the perfect configuration software for it! Can't wait to see what other cool features you add! :D

  • @MakenModify
    @MakenModify 28 วันที่ผ่านมา +2

    That is awesome, I switched to the RP2040 and KMK for my keyboards a while back but was really missing a simple editor like VIA. Thank you for your great work, will definitely test it. Besten Dank :)

  • @anonymouscommentator
    @anonymouscommentator 28 วันที่ผ่านมา

    i built a corne keyboard a few months ago with the helios board (as it really is just a great) and i really want to give this a try now! thank you for developing this, it looks very promising!

  • @haukefrahmann7849
    @haukefrahmann7849 22 วันที่ผ่านมา

    Thnx for your effort!!!

  • @norm1124
    @norm1124 28 วันที่ผ่านมา +1

    Wow - sehr beeindruckend.

  • @PatrickvL02
    @PatrickvL02 29 วันที่ผ่านมา

    Thanks Jan. I tried it with a 3x3 macropad that I build some time ago. Your applications works perfectly fine. It only took a couple of minutes to configure the macropad. The ToggleDrive option is very nice. I need this because my company laptop does not allow external storage devices to be connected. Keep up the good work!

  • @user-st3yv3to8r
    @user-st3yv3to8r 27 วันที่ผ่านมา

    This is amazing. For now I am sticking with my Dygma Defy, but will definitely try pog when experimenting with smaller keyboards

  • @andy_warb
    @andy_warb 26 วันที่ผ่านมา

    This is AMAZING.

  • @olafschermann1592
    @olafschermann1592 29 วันที่ผ่านมา

    Great work!

  • @wahyu_zx
    @wahyu_zx 29 วันที่ผ่านมา +7

    So long time no see 😂, maybe next fiture is oled display

    • @JanLunge
      @JanLunge  28 วันที่ผ่านมา

      Took me s bit 😂 You are right I should really get an oled screen

    • @wahyu_zx
      @wahyu_zx 28 วันที่ผ่านมา

      @@JanLunge I'll wait, I'm still confused about using Pog, maybe later if you have free time please make a tutorial on using it, or make it live on TH-cam heheheh

  • @moritz8746
    @moritz8746 28 วันที่ผ่านมา +1

    I am still proud for suggesting the method at 3:58 :)
    It's nice too see all these awesome updates in POG. Nice work!
    Kind regards
    android

    • @JanLunge
      @JanLunge  28 วันที่ผ่านมา

      That is actually such a big part that makes the setup feel very easy, thanks for bringing this to my attention I really had a tough time understanding it at first

  • @urzalukaskubicek9690
    @urzalukaskubicek9690 27 วันที่ผ่านมา

    Nice. I am already used to my Moonlander and Voyager, but this is real nice.

  • @nahkamursu
    @nahkamursu 28 วันที่ผ่านมา

    Holy smokes that's massive job! insanity twindling i presume :D

  • @moorederodeo
    @moorederodeo 28 วันที่ผ่านมา +1

    This is really impressive. I'm partial to ZMK, but I feel like this is "the" Killer App needs KMK needs for adoption. I used an earlier version, and I'm glad to know it has only gotten better.

    • @JanLunge
      @JanLunge  28 วันที่ผ่านมา

      I would love for KMK to get more attention and hopefully more contributors as well so much potential there, ZMK still is miles ahed in wireless support

  • @raidboy7858
    @raidboy7858 29 วันที่ผ่านมา

    That is so cool

  • @potato8236
    @potato8236 29 วันที่ผ่านมา +1

    Look like a really cool and decently polished project. I did try KMK before for my wireless split keyboard, but it was not running nice. Latency issues between left and right half, e.g. I press a layer switch on the right half and on the left it only get registered after 100-200ms. So I'm probably sticking with ZMK for now. But I really like the layout editor...

    • @JanLunge
      @JanLunge  29 วันที่ผ่านมา

      Yea kmk isnt ready for wireless yet, none if the maintainers use it for wireless so it make need more adoption to get that going. ZMK is still the wireless king but i really enjoy the simplicity of kmk and playing with the config file compared to reflashing my zmk boards

    • @twinklingwater
      @twinklingwater 28 วันที่ผ่านมา

      I've had a similar experience. Not with latency, though - never got to that part. For my use case python ran out of memory for wireless split AND mouse keys AND oled display AND rgb. In fact wireless and mouse keys were enough to kill it.
      Fiddling around with ZMK is way more painful than KMK, though. Definitely returning to KMK for another build.
      Used POG to get KMK running initially, as well. Really liked the project. Good work, Jan!

  • @GuyManley
    @GuyManley 20 วันที่ผ่านมา

    That is dope. I might have to pop off my promicro clones from my qmk sweep board. I did not know kmk supported bluetooth wireless split boards too. Darn I just made a zmk sweep as well with n!ce nanos too. Now it kinda feels like a waste.

    • @JanLunge
      @JanLunge  20 วันที่ผ่านมา

      Split works, wireless not so much zmk is still ahed of everything there, but if more people get involved that might change as well

  • @anixxx2
    @anixxx2 28 วันที่ผ่านมา

    Damn bro @JanLunge, you made pog just after I finished my first handwired board a week ago. I spent more than a month to learn different stuff, especially kmk to make my keyboard functional, pog would have made everything so easier if I would have started a couple of months after.

    • @JanLunge
      @JanLunge  28 วันที่ผ่านมา +1

      Pog helps to quick start everything but there is still a lot to learn about how KMK works to fully use it, so your effort isn’t wasted.

    • @anixxx2
      @anixxx2 28 วันที่ผ่านมา

      @@JanLunge definitely, but as a person who didn't have any prior knowledge of making keyboard firmware, pog is a blessing. And thanks for making kmk+pico video, it helped me to choose those for my board.

  • @EttVenterPhoto
    @EttVenterPhoto 28 วันที่ผ่านมา +1

    Haven't watched the video yet (9 seconds in) but the hair looks awesome, dude!

    • @EttVenterPhoto
      @EttVenterPhoto 28 วันที่ผ่านมา

      @JanLunge This is incredible! Would I be able to run this on an ESP32S3? I've got a little macropad I built with one as the basis, and currently it's communicating via bluetooth using standard arduino code and the BLE library. Would I be able to drop your setup on there? Thanks for this work, dude. This is a massive contribution to the custom Mechancal Keyboard world!

    • @JanLunge
      @JanLunge  28 วันที่ผ่านมา +1

      Thanks thats the comment i was waiting for :P, if you can find your controller on the circuit python download page it should work though i only tested the helios and pi pico. KMK support for wireless is still experimental

  • @joe_scotto
    @joe_scotto 28 วันที่ผ่านมา +1

    Might be time for me to take a look at this and find an excuse to mess around with KMK.

    • @JanLunge
      @JanLunge  28 วันที่ผ่านมา

      Its a great thing for handwired or custom designed keyboards would be cool to hear your opinion about it!

  • @spiderchopproductions8172
    @spiderchopproductions8172 19 วันที่ผ่านมา

    Nice work - as someone without a background in software development, rebuilding firmware to get custom handwired keyboards to work was extremely frustrating. I’m keep to try this out for my next build. That said, I’m also keen for my next build to be hall-effect switches. Since KMK is built on circuitpython there’s no reason it couldn’t have analogue keys - and there are some builds that use them already. Any chance support for HE keys is built into your toolchain?

    • @JanLunge
      @JanLunge  19 วันที่ผ่านมา +1

      Pog doesnt build this for you yet but i have seen kmk keyboards with analogkeys where only wasd where hall effect switches. So it should work while for now you would add a code snippet to the kb.py file to support it

  • @tsbohc
    @tsbohc 17 วันที่ผ่านมา

    This is a huge step up from the usual Via/Vial experience! One question though, what are the memory requirements on the controller's side? E.g will a 4mb pico be enough?

    • @JanLunge
      @JanLunge  17 วันที่ผ่านมา +1

      I didn’t see that the pi pico is sold with less storage, if it doesnt fit you can install kmk pre compiled to save on memory

  • @olafschermann1592
    @olafschermann1592 29 วันที่ผ่านมา

    I am still a friend of original picos or 1:1 clones from Aliexpress (with usb-c) - because they have more pins (=single controller keyboard) and if it is only $6 you can directly solder it to the pcb (which i don’t do at 2x $16). Makes a slim footprint and looks better.

    • @JanLunge
      @JanLunge  29 วันที่ผ่านมา

      It depends on the keyboard formfactor for me, small split boards or macropads really look nice with the smaller controller and dont need the pins. The pro micro formfactor is interesting for drop in replacements of pro micro keyboard builds so you have the choice.

  • @rickyrodriguez4037
    @rickyrodriguez4037 19 วันที่ผ่านมา

    Love the idea of this and KMK in general.
    I do wonder about the keyboard basically being a writable USB drive all the time. I know in this video you mention a feature that allows you to only mount the drive on a certain keypress, but I still have some security concerns.
    Perhaps this is more of an upstream KMK or even circuit python problem, but what would prevent any piece of software from injecting a keylogger onto the pico when it is plugged in? It seems like adding code to a circuitpython based board is a little too easy.
    I wonder if a custom version of circuit python with some form of hash checking or something could remedy that, such that only user authorized changes can run. Maybe this is somewhat counterintuitive to the point of KMK though...
    Idk, i am not a security expert by any means, just wondering. I do want to try KMK and Pog for a manuform build, but IDK if its a good idea to be plugging a kmk board into an unknown computer, or even a friend's computer.

    • @JanLunge
      @JanLunge  19 วันที่ผ่านมา +1

      The drive just runs whatever code is on it, so for a pc that you do not trust you would simply not mount the drive. It still is not „easy“ to inject just a keylogger as it would likely break the keyboard implementation if not done with regards to your setup. This would be a general circuit python security concern

  • @sonicase
    @sonicase 28 วันที่ผ่านมา

    not bad

  • @pcarmonac
    @pcarmonac 2 วันที่ผ่านมา

    Great work you have done with POG, although it can be done with any version of Pi Pico (even the ones from Aliexpress) would it be possible to take it further and do it with a Pi Zero? It would have enough memory and GPIO to make a style like Corne V3. Greetings

    • @JanLunge
      @JanLunge  วันที่ผ่านมา +1

      I think that would technically work but as the pi zero runs a full operating system compared to the embedded nature of the pi pico it could mean that the response times would be way worse, but an interesting thought experiment for sure

  • @shandonanderson3967
    @shandonanderson3967 22 วันที่ผ่านมา

    What software did you use of the editing/overlays in the video? So crisp.

    • @JanLunge
      @JanLunge  22 วันที่ผ่านมา +1

      Thanks, I use Figma to create the graphics then animate them either with motioncanvas or directly in Davinci Resolve.

  • @KenanAtaerk
    @KenanAtaerk 13 วันที่ผ่านมา

    Jan, a question - is KMK good for PC gaming? Like Homeworld 3 and/or World of Tanks?

  • @Mister0Eel
    @Mister0Eel 28 วันที่ผ่านมา

    This looks absolutely amazing, could it be used by boards not using the RP2040? From what I can tell i should because you can name the pin prefix, right?
    I've already got my handwired board running kmk, but the keymap is still in its v0.1 stage so using this could be very awesome to iterate much more quickly!
    Also, how does it work when using a split board? do i need to have both halves plugged in at the same time?

    • @JanLunge
      @JanLunge  28 วันที่ผ่านมา

      Yes it works for everything that supports kmk I cant guarantee for the serial feature as I haven’t tested this on other controllers but it should be all right

    • @JanLunge
      @JanLunge  28 วันที่ผ่านมา

      For split keyboards you put the firmware on both sides and then they get connected with some cable for uart communication (you can also do onewire) then just one half connects to the pc

    • @Mister0Eel
      @Mister0Eel 27 วันที่ผ่านมา

      @@JanLunge I think you mean for using the keyboard? If so, I meant for configuring it using your gui

    • @JanLunge
      @JanLunge  27 วันที่ผ่านมา

      For configuring it with split support you can first setup each half with its proper pins and set the keyboard type to split in the matrix tab, after you have done that you can connect the halves together via your trrs port and with one of them connected to the pc and loaded in pog you setup the coordmap again this time with the keys of both of the halves (also apply the coordmap change to the keymap) then your board is done

    • @Mister0Eel
      @Mister0Eel 27 วันที่ผ่านมา

      @@JanLunge Oh great, thanks!

  • @mcstando
    @mcstando 28 วันที่ผ่านมา +1

    FYI kb2040 is also nice board with pro micro layout, I'm not sure about the pinout compatibility tho

    • @JanLunge
      @JanLunge  28 วันที่ผ่านมา +1

      Yeah they are also compatible with the pinout but more difficult to order here in europe

    • @mcstando
      @mcstando 28 วันที่ผ่านมา

      @@JanLunge I don't remember having any trouble with ordering it from adafruit to the Netherlands, but that's just my singular experience

    • @JanLunge
      @JanLunge  28 วันที่ผ่านมา

      Thanks I will check that i thought you needed to go though an additional reseller or have bigger import fees

  • @jdl3408
    @jdl3408 19 วันที่ผ่านมา

    How is the display support for KMK?

    • @JanLunge
      @JanLunge  19 วันที่ผ่านมา

      Havent tried that yet but it does have a display module, its on the list for me just got to order a display

  • @stunwin
    @stunwin 18 วันที่ผ่านมา

    if this is more stable than Peg, I owe you big time. does it support OLED displays?

    • @JanLunge
      @JanLunge  18 วันที่ผ่านมา

      Just if you add the code manually, i still need to play around with oled screens

  • @markmonkey
    @markmonkey 18 วันที่ผ่านมา

    Bluetooth support?

  • @koshus
    @koshus 28 วันที่ผ่านมา

    A few months ago i set up a keypad with kmk and an RP2040, worked as expected, however every couple days it would randomly jump back into its native mode as a thumb drive and the keypad would stop working, hit reset and it would work fine for a while again. Frustrated me enough I ripped the 2040 out. Any idea what was going on?

    • @JanLunge
      @JanLunge  28 วันที่ผ่านมา +1

      I had a few issues when i did not hide the circuit python drive as the OS did some random reads on the files that would reboot the controller. after hiding the flashdrive I had no reliability issues and I’m using those boards every day for almost a year now.

  • @olafschermann1592
    @olafschermann1592 29 วันที่ผ่านมา

    Maybe i should add a switch to change configs. Think of QUERTZ - NEO - Bone - VOU - ColemakDH, …

  • @DriftJunkie
    @DriftJunkie 14 วันที่ผ่านมา

    Ok, now measure the latency between keypress of a normal keyboard, AtMega and the Pi chip.

  • @abdelhaleemwaheed131
    @abdelhaleemwaheed131 28 วันที่ผ่านมา

    does it work with qmk?

    • @JanLunge
      @JanLunge  28 วันที่ผ่านมา

      no its kmk only, qmk would be a lot more complicated even if the required features would be merged

  • @katherineanand5892
    @katherineanand5892 28 วันที่ผ่านมา

    Seeing this 48 hours after spending many hours figuring out KMK and circuitpython...

    • @JanLunge
      @JanLunge  28 วันที่ผ่านมา +1

      Its really useful to understand the foundations of it even when using a GUI tool in the end, the advanced keycodes are tough to understand without a bit of research even with pog. But I get what you mean

  • @kevinc6323
    @kevinc6323 28 วันที่ผ่านมา

    This is outstanding. I've only just gotten into custom keyboards and found your video th-cam.com/video/Q97bFwjQ_vQ/w-d-xo.html on PiPico while trying to make a button box for space sims. I've only been watching your videos for a few months and was worried your channel was a bit quiet. I found your Discord & POG yesterday and now this video - simply brilliant work and I 'm glad I found it before getting any deeper into keyboard making. Thank you so much!!

    • @JanLunge
      @JanLunge  28 วันที่ผ่านมา

      Glad I could help, I‘m still figuring out ways to get these videos out faster but this was definitely the longest in the preparations that were needed

  • @vottat
    @vottat 18 วันที่ผ่านมา

    Bro

  • @gsestream
    @gsestream 28 วันที่ผ่านมา

    it means God, if you needed to ask, that means anything else is not perfect. unless perfect is with them.