I Built A Keyboard Configurator From Scratch

Ғылым және технология

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 KZread or patreon.com/JanLunge
Pog documentation: pog.heaper.de/

Пікірлер: 94

  • @JanLunge
    @JanLunge28 күн бұрын

    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

    6 күн бұрын

    Been long, missed your videos :D

  • @perw12345
    @perw1234529 күн бұрын

    That keyboard layout builder is insanely cool.

  • @doomcake2020
    @doomcake202029 күн бұрын

    Wake up babe, new Jan just dropped.

  • @parallacksg
    @parallacksg28 күн бұрын

    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
    @malpern25 күн бұрын

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

  • @georgeaguirre5437
    @georgeaguirre543716 күн бұрын

    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
    @pointeplusplus4 күн бұрын

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

  • @hellNo116
    @hellNo11620 күн бұрын

    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
    @meyburgh29 күн бұрын

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

  • @Danielo515
    @Danielo51512 күн бұрын

    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
    @rayer136029 күн бұрын

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

  • @whereIsJerome
    @whereIsJerome28 күн бұрын

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

  • @malpern
    @malpern29 күн бұрын

    Looks fantastic. Can’t wait to try it!

  • @AviatorXD
    @AviatorXD28 күн бұрын

    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-ro800328 күн бұрын

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

  • @JarnoLaakso
    @JarnoLaakso20 күн бұрын

    This looks awesome!

  • @nonamebear1136
    @nonamebear113628 күн бұрын

    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
    @anventia28 күн бұрын

    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
    @MakenModify28 күн бұрын

    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
    @anonymouscommentator28 күн бұрын

    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
    @haukefrahmann784922 күн бұрын

    Thnx for your effort!!!

  • @norm1124
    @norm112428 күн бұрын

    Wow - sehr beeindruckend.

  • @PatrickvL02
    @PatrickvL0228 күн бұрын

    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-st3yv3to8r27 күн бұрын

    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_warb26 күн бұрын

    This is AMAZING.

  • @olafschermann1592
    @olafschermann159229 күн бұрын

    Great work!

  • @wahyu_zx
    @wahyu_zx29 күн бұрын

    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 KZread heheheh

  • @moritz8746
    @moritz874628 күн бұрын

    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
    @urzalukaskubicek969027 күн бұрын

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

  • @nahkamursu
    @nahkamursu28 күн бұрын

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

  • @moorederodeo
    @moorederodeo28 күн бұрын

    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
    @raidboy785829 күн бұрын

    That is so cool

  • @potato8236
    @potato823629 күн бұрын

    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
    @GuyManley20 күн бұрын

    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
    @anixxx228 күн бұрын

    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 күн бұрын

    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
    @EttVenterPhoto28 күн бұрын

    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 күн бұрын

    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_scotto28 күн бұрын

    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
    @spiderchopproductions817219 күн бұрын

    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 күн бұрын

    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
    @tsbohc17 күн бұрын

    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 күн бұрын

    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
    @olafschermann159229 күн бұрын

    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
    @rickyrodriguez403719 күн бұрын

    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 күн бұрын

    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
    @sonicase28 күн бұрын

    not bad

  • @pcarmonac
    @pcarmonac2 күн бұрын

    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

    Күн бұрын

    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
    @shandonanderson396722 күн бұрын

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

  • @JanLunge

    @JanLunge

    22 күн бұрын

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

  • @KenanAtaerk
    @KenanAtaerk13 күн бұрын

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

  • @Mister0Eel
    @Mister0Eel28 күн бұрын

    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
    @mcstando28 күн бұрын

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

  • @JanLunge

    @JanLunge

    28 күн бұрын

    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
    @jdl340819 күн бұрын

    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
    @stunwin18 күн бұрын

    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
    @markmonkey18 күн бұрын

    Bluetooth support?

  • @koshus
    @koshus28 күн бұрын

    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 күн бұрын

    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
    @olafschermann159229 күн бұрын

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

  • @DriftJunkie
    @DriftJunkie13 күн бұрын

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

  • @abdelhaleemwaheed131
    @abdelhaleemwaheed13128 күн бұрын

    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
    @katherineanand589228 күн бұрын

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

  • @JanLunge

    @JanLunge

    28 күн бұрын

    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
    @kevinc632328 күн бұрын

    This is outstanding. I've only just gotten into custom keyboards and found your video kzread.info/dash/bejne/g21rxKiwmrTFprQ.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
    @vottat17 күн бұрын

    Bro

  • @gsestream
    @gsestream28 күн бұрын

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

Келесі