Pi Pico + KMK = the perfect combo for Custom Keyboards

  Переглядів 59,346

Jan Lunge

Jan Lunge

Рік тому

ARM for Keyboards with the Pi Pico rp2040 using kmk
Links:
Circuit Python .UF2
circuitpython.org/board/raspb...
KMK Firmware
github.com/KMKfw/kmk_firmware
3D Files & Config Files
github.com/JanLunge/keyboards...
Socials
Twitch: / janlunge
Instagram: / janlunge
Discord: / discord
GitHub: github.com/JanLunge

КОМЕНТАРІ: 108
@CheeseFriesAndCoffee
@CheeseFriesAndCoffee 5 місяців тому
Thank you for making this video. Got everything working and it was a great start to custom keyboards!
@andrew_mcc
@andrew_mcc Рік тому
Thanks for this! Just started playing with KMK on a void30 board, and didn’t know I could hide the drive.
@nichtgestalt
@nichtgestalt Рік тому
Thank you very much! Fortunately I got two Picos laying around here and I wondered if I can use it in a Dactylus Manuform keyboard. So I'll definitely give it a try! I hope to see you soon on Twitch again. Have a nice day! :)
@borut7125
@borut7125 Рік тому
Did you succeed building Dactyl Manuform with Picos?
@OScrapCraftO
@OScrapCraftO Рік тому
Really nice vid! It's thanks to your videos that I started building my own micropads
@havliktomi
@havliktomi Рік тому
Same, it was really motivating.
@captainmcadams
@captainmcadams Рік тому
Well I decided to go with the KB2040 and installed it with the encoder and the 3d printed case you’ve got Jan (had to file the usb socket and longer screw). First time with KMK so I’m sure I’m so I’m not that far into it. Not having vial support and no obvious way of OSL(1) or whatever the equivalent of QMK is kinda tripping me up at the moment. I have a nice little layout coming along slowly for a a portable Macropad so it’s nice to experiment with though. POG keeps overwriting my pinouts with board.GPMISO and what not so I’ve put that to the side at the moment as I’m assuming user error on the config. Keep up the fantastic work Jan, thanks 👍
@CaptZenPetabyte
@CaptZenPetabyte 11 місяців тому
Thanks for this video, it may have gotten me a little closer to having a solution to my problem; a offline portable Bluetooth unit that will type my passwords into apps & sites at the touch of a button. As a keyboard this may work that way
@EttVenterPhoto
@EttVenterPhoto 2 місяці тому
Hey dude. Only just discovered this now. OMG this is so much easier than the usual way.
@haukefrahmann7849
@haukefrahmann7849 Рік тому
in case I could make a wish ... a step by step guide for a 3d printed split keyboard handwired with hotswapable low profile switches :D :D :D (with enough keys for a german layout) videos like yours are much inspiring!
@ntc490
@ntc490 Рік тому
I built a keyboard with the pico recently as well and love it for many of the reasons you listed. A couple of other things worth mentioning: only $4 per board - so cheap! Also, I found KMK to be easy to work with and slightly more powerful than QMK for a few things I wanted to do. I can edit my keyboard firmware on any computer with a text editor.
@bobmcbob4399
@bobmcbob4399 8 місяців тому
lol, that's great! But watch out for bad actors who may want to keylog/or trojan macro your board while you are not at desk.
@neail5466
@neail5466 4 місяці тому
Hi, is a rotary encoder supported with this firmware?
@IOUaUsername
@IOUaUsername 3 місяці тому
@@neail5466 Yes, KMK supports rotary encoders. You can also easily tie in anything Adafruit has a library for (a lot of stuff), since KMK is built on Adafruit's CircuitPython language. You could even make your keyboard change colours to warn you that your room is too hot/cold using the pico's onboard temperature sensor with pretty minimal coding. That's a thing I plan to do, since I get so focused I don't realise how bad the temperature is until it's already made me unwell.
@neail5466
@neail5466 3 місяці тому
@@IOUaUsername Great, thank you for your response.
@michaelmoore7313
@michaelmoore7313 Рік тому
Thank you so much! I have been looking at using KMK for a while now, but I didn't really like the idea of having the com port and drive constantly attached.
@norm1124
@norm1124 7 місяців тому
Tolle Arbeit, danke. Als universeller Rückkanal könnte auch ein kleiner, simulierter USB-Stick sein. Dort kann eine Applikation Dinge reinschreiben wie Status, Farben, etc. Ich hab sowas für ein LED-Panel gebastelt.
@havliktomi
@havliktomi Рік тому
Wow, nice to hear about KMK! I didn't know it is so mature. Pico is crazy cheap... wow... while I would still like to have my keyboard wireless, I wonder if there is a possibility, to do it cheaper then nice!nano.
@sanshien216
@sanshien216 Рік тому
Awesome. Thank you.
@matthewpalmer9820
@matthewpalmer9820 8 місяців тому
Can you make a video about how to wire the matrix? or do you already have one.
@CediCore
@CediCore Рік тому
Yung Lunge - mein neuer gaming tag ❤
@HumanShield117
@HumanShield117 Місяць тому
I'm pretty sure the Adafruit guide on CircuitPython has a way to make it so that, when the drive does not show up, the program has write-access to the storage-drive. And making the storage-drive show up when plugged into your computer IS the switch you toggle.
@deppydoddle655
@deppydoddle655 Рік тому
Great vid but do you need both uart pins ( full duplex) or can you just use Tx to create a half duplex connection in kmk for split keyboard?
@lofi1048
@lofi1048 Рік тому
Projects like the GP2040-CE (which is for fighting game arcade controllers) have a built in web configurator. It kinda make me want to give a try and build a webserver within kmk. That would replace VIA with no aditional software, just by typing a url you would be able to have a gui to change the keyboard config, pretty crazy.
@JanLunge
@JanLunge Рік тому
That would be a really interesting concept, but then the keyboard also needs to connect to your current wifi network.
@TheJackson4eva
@TheJackson4eva 10 місяців тому
@@JanLunge it would just have act as a dhcp server and act as the gateway. theres no real network running on it other than the dhcp server, but nothing will be connecting to that server anyways
@The8BitHero
@The8BitHero Рік тому
I'm using 2 of the USBC waveshare rp2040 for both halves of my dactyl manuform
@celsient
@celsient Рік тому
though i haven't yet dived into custom keyboards (lack of time, money, and a general indecision about what to get), i very much appreciate your knowledge and chill vibes :]
@starfoxdelta
@starfoxdelta 7 місяців тому
Nice rain world pfp!
@paulb36utube
@paulb36utube Рік тому
Really hoping you do a small macropad demonstration. I Followed your code and LOVE the way it be changed on the fly. My attempts with doing a simple copy/paste macropad (Sequences) came to failure. I couldn't really understand where to put the code in provided by KMK and how it related to the pin numbers. Even finding examples on the internet was pretty hard (my google foo is weak)
@JanLunge
@JanLunge Рік тому
Glad this helped.
@bobmcbob4399
@bobmcbob4399 8 місяців тому
This is a pretty short and sweet primer on rp2040 for customs. Can you tell me though, I have a new EK68 and I find the VIA style software limiting. What I think should be possible is to desolder the completely unknown MCU on this board, trace out each of the pins with a continuity mode meter and slap a rp2040 in there and put in the details for the keyboard matrix. Then hook up the RGB and somehow plug these addressable RGBs into KMK as well? The board has triple mode, but I only care for USB connectivity. It has a rotary encoder with a push button top. Arguable is that can be picked up with KMK too. What kind of work would be involved in swapping out a mystery STM32 style MCU for a rp2040? It is a fine SMT pitch, so I guess soldering in wires to the rp2040 would require some fine soldering skills and equipment. Do you know if there is a STM32 SMT breakout board which you can solder in place of the original STM32 with breakout terminals ready to hook up to a rp2040 board?
@JanLunge
@JanLunge 8 місяців тому
Oh thats a big project, you might need to check both mcu pinouts beforehand and might need an adapter as gnd pins might be on an input etc, would be interesting to see though, maybe you could see if compiling a custom qmk firmware might be able to solve your issues instead
@bobmcbob4399
@bobmcbob4399 8 місяців тому
@@JanLunge Yeah, I've looked into the QMK route, but I don't see any match in their github for EK68 or GMK67 (which is the "original" kit for EK68). If I found that, I would definitely take that route and work out how much of a feature set I could fit on the MCU/flash.
@606aap
@606aap Рік тому
Hello Jan ! And thanks for all your nice content :) Could you point me to what tool is it you're showing at 1:40 for wiring to the switches? Thanks a lot ! :)
@JanLunge
@JanLunge Рік тому
That is a wire wrapping tool, I used it to wire the w65 ukposts.info/have/v-deo/apNmd5useoST2Gw.html
@606aap
@606aap Рік тому
Thanks a lot@@JanLunge , I'll look into it :)
@nyeinchanzaw6936
@nyeinchanzaw6936 Рік тому
Keep up!!!! I'm a big fan from Myanmar.
@FryKFlibble
@FryKFlibble Рік тому
It's great to see new content from you on YT! I have two picos with KMK that drive two different macropads made from a NeoKey Ortho Snap-Apart. LEDs and everything works great. But I sometimes do have issues having them connected while my computer boots. Also they freeze from time to time and I have to unplug and plug them in again. Did you notice anything like that with your macropad?
@JanLunge
@JanLunge Рік тому
I did have the boot issue with not responding in early boot phases with other qmk boards, freezing did never occur for me though is the circuit python drive mounted while these things are happening? I saw there is a soft reload feature that can reload the program when files get changed, could be something. But this did not happen to me with the macro pad yet, I will see how well it will perform on my main keyboard once I change that.
@FryKFlibble
@FryKFlibble Рік тому
@@JanLunge Jepp, the drive is always mounted as I didn't get to disable it yet. I wanted to add a check for a keypress in boot.py so I can easily enable the drive whenever I need to. Maybe that boot issue I have sometimes has to do with the linux kernel, I'm not sure.
@FryKFlibble
@FryKFlibble Рік тому
@@JanLunge Ok, after finally adding a "devmode" and disabling storage, midi and repl by default its running much more stable 😀
@peastfist1602
@peastfist1602 Рік тому
Finally the pico
@pablolopez4160
@pablolopez4160 Рік тому
Great!!!
@LiuMaker
@LiuMaker 2 місяці тому
nice video ... I wonder if u can run it at 1000hz polling rate...
@AlexanderSmith10-09-90
@AlexanderSmith10-09-90 Рік тому
Hey, have you looked into the PICO W? I tried upgrading the 1UP planck with it, but failed. Supposedly, it is built with the hardware for bluetooth, but the firmware isn't supported for it yet. It seems like a quick way to basically upgrade any keyboard with the PICO to a wireless keyboard.
@347573
@347573 Рік тому
Internal bluetooth support has been recently added!
@alpha_pixel_
@alpha_pixel_ 8 місяців тому
Include a html to read and display the config
@ronaldsantosluna6148
@ronaldsantosluna6148 5 годин тому
Hello, greetings from Peru, I would like to know what microcontroller I should use to make a full size keyboard, that it has for the RGB lights and the LED lights, also that it has one or another encoder? Thank you for your videos, even though I don't understand English well, you explain it so clearly that it is not necessary to have advanced English to understand you.
@RoushonZadid
@RoushonZadid 6 місяців тому
How many key input does it support? How many input does it support all together at once? Can I use chord typing? If not then teach us how to make chord typing keyboard...excited to see you do it
@joeylauriaga2841
@joeylauriaga2841 6 місяців тому
Can you have an update for this macro pad with a rotary encoder like your previous build in pro micro. Very much appreciated
@Quazee137
@Quazee137 Рік тому
Just a thought. USB keyboard / HDMI or VGA to replace a VT100 terminal all in a keyboard package.
@Oberyn_Martell
@Oberyn_Martell 7 місяців тому
Can i make a macro keyboard that has its own MCU with the pico. My job won't allow software on my work computer. I've purchased a macro keyboard that stores the keystokes but has very little storage
@JanLunge
@JanLunge 7 місяців тому
Yes actually that a very good usecase the pico has a lot of storage for macros etc
@Alexander-zl3er
@Alexander-zl3er 10 місяців тому
Hi 🙋🏻‍♂️, thanks for your video. How is this tool called at 1:43, which you use to wire up the wire around the pins, I never saw this smart tool 😮
@JanLunge
@JanLunge 10 місяців тому
That thing is called a wire wrapping tool and with wire wrapping wire you can use it to create solder free circuits
@RaulGoncalvesPsi
@RaulGoncalvesPsi 9 місяців тому
great video! What is the tool at 1:41 (to wrap the wires around the pins)?
@JanLunge
@JanLunge 9 місяців тому
Thanks, That is officially called a wire wrapping tool i got this one from amazon amzn.eu/d/7dxTDjm
@ThePiprian
@ThePiprian 2 місяці тому
Would it be possible to use this with a laptop keyboard? All I've been able to find about interfacing with laptop keyboards is people using a relatively expensive teensy and I am wondering why they didn't use something like the raspberry pi pico instead?
@nehalv7346
@nehalv7346 11 місяців тому
hi is there any way to add a thump joystick to a small custom keyboard using Pi Pico + KMK ?
@ethansiew61
@ethansiew61 Рік тому
5:50 there is a tool similar to via for kmk called Peg.
@JanLunge
@JanLunge Рік тому
I will check that out, thanks.
@bwoah9942
@bwoah9942 Рік тому
Hey! do you think a Pi Pico W or an ESP32 module can be used for a wireless macropad or an ESP32 module? Someone I know made a macropad for the PI Pico and its supported in QMK now so I am now writing the firmware for it
@JanLunge
@JanLunge Рік тому
The Pi Pico W will not have Bluetooth support at first, but they want to add this with a firmware update. I have seen people build macro pads with the esp32 with something like this github.com/Galzai/MK32
@bwoah9942
@bwoah9942 Рік тому
@@JanLunge Thank you!
@peastfist1602
@peastfist1602 Рік тому
I finally made my split keyboard , using kmk and pico. I followed the instruction there but after I connect the trrs the button just doesnt work at all but if i connect just one side it work properly. Do you have any suggestion what just happened ?
@JanLunge
@JanLunge Рік тому
I still have to build a split keyboard with kmk so currently I don’t know what the problem could be for you
@ErickBuildsStuff
@ErickBuildsStuff Рік тому
Will there be a difference if we use Pico W instead of Pico? Will the number of available pins get reduced?
@JanLunge
@JanLunge Рік тому
They do use the SPI pin as far as I could see, but not fully sure what limitations this will have www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html#raspberry-pi-pico-w-and-pico-wh
@xsm5525
@xsm5525 10 місяців тому
I have a burning question for you regarding these things. it's for a future project. Am I able to have 2 x raspberry pi pico's on a board. - with 5 keys, but have each key Y-lead off to both pico's? I want 'F1', left-arrow, up-arrow, down-arrow & right arrow sent to TWO PC's at the exact same time? is that possible? what would be the best thing to do if it is possible? like, the wiring.... thanks
@JanLunge
@JanLunge 10 місяців тому
this could get tricky, the matrix scans for the keys could interfere between the controllers, maybe having the diodes face in different directions could work, but i think the safest way (not the easiest) would be 3 controllers 1 for the matrix scanning and it can send data via i2c or bluetooth to the other controllers that them press keys on the connected pc kinda similar how xmk makes its magic work. or you just use an app on the pcs and connect the keyboard via wifi so it streams to both pcs at the same time but with a custom receiver app.
@Alexander-zl3er
@Alexander-zl3er 10 місяців тому
Aww, sehe gerade Du bist ja auch aus Deutschland 😅 Danke für's Video, möchte ich unbedingt ausprobieren 😌 Funktioniert der Pico W eig. nun auch gut mit BT? Kannst Du mir verraten, wie sich dieses Werkzeug bei 1:43 nennt mit dem Du das Kabel um den Pin wickelst, sowas fehlt mir definitiv noch? Hält das auch ohne Löten? LG aus Hamburg
@JanLunge
@JanLunge 10 місяців тому
Moin, der pico w hat zwar bluetooth support aber circuitpython leider noch nicht github.com/adafruit/circuitpython/issues/7693 also läuft kmk dann nicht mit bluetooth. Das Werkzeug ist ein wire wrapping tool hab ich so auf amazon gefunden das hält sehr gut ohne löten und lässt sich auch leicht wieder entfernen. LG auch aus Hamburg
@Alexander-zl3er
@Alexander-zl3er 10 місяців тому
@@JanLunge 🙋🏻‍♂️ Bin verwirrt, hast Du meinen Kommentar hier gelöscht? 🤔
@JanLunge
@JanLunge 9 місяців тому
UKposts moderiert die Kommentare etwas selbst ich lösche hier nix 😄
@Alexander-zl3er
@Alexander-zl3er 9 місяців тому
@@JanLunge Oh, das wusste ich gar nicht, die sind da wohl sehr streng 😖 Danke 😄
@CheeseFriesAndCoffee
@CheeseFriesAndCoffee 5 місяців тому
Is it correct to say that because there are enough pins available on the Pi Pico so that you could wire all six of the keys without having to use any diodes? Would it just be one row and six columns(7 pins)?
@JanLunge
@JanLunge 5 місяців тому
You could wire it as one row (7pins) or you can wire it in direct pin method which would be one pin for each key and the other side to GND that would only be 6 pins and also would not need diodes. So yes you are correct
@CheeseFriesAndCoffee
@CheeseFriesAndCoffee 5 місяців тому
@@JanLunge Thank you, I can't seem to get the diodes. Two separate times, my package was lost.
@phaberest_
@phaberest_ 9 місяців тому
I always thought it could be cool if you could switch the keyboard layout by just using a switch on the keyboard itself, do you forsee any issue with such a feature?
@JanLunge
@JanLunge 9 місяців тому
With what i currently tested the keyboard would then restart which has a slight delay but that’s the only thing
@phaberest_
@phaberest_ 9 місяців тому
@@JanLunge no problem with that, sounds great! Thank you Jan 🙌🏻
@mcdoji
@mcdoji Рік тому
What is the 'simple solution' you mention about updating keymap from the PC? Can you post a link, ty.
@JanLunge
@JanLunge Рік тому
You can just edit the files by hand and change the keys no software needed at all. This is easy to do and the keymap in the python file is simple enough to read but a gui tool for this should make it even easier I will post an update when I found something that works well.
@appleboblin6406
@appleboblin6406 Рік тому
There is PEG for gui, bit annoying to use tho as it overwrites manual edited code.
@shitshow_1
@shitshow_1 5 місяців тому
Can I use QMK(the one written in C) on Raspberry Pico Pi ?
@JanLunge
@JanLunge 5 місяців тому
Yes that works it needs to be compiled for the rp2040 but i have used a pico and a helios with vial
@Mixail747
@Mixail747 Рік тому
How would a simple keymap update look like for your setup?
@JanLunge
@JanLunge Рік тому
I will likely just edit the key code list in the keymap file by hand for now, likely I will write something to write the keymap list to this file with a simple GUI tool. But this will likely take some time
@paulb36utube
@paulb36utube Рік тому
@@JanLunge I hope you will do some more videos on how you do different things and different set ups (macropad/sequences) and the such. It looks like they are shutting down discord/matrix so I can’t ask my questions there. Still rather watch videos as I tend to pick up stuff easier that way.
@migzcacho3593
@migzcacho3593 3 місяці тому
What was the tool used in 1:41 I want one of those
@JanLunge
@JanLunge 3 місяці тому
That is a wire wrapping tool (actually called that) that I got from amazon for about 20bucks
@javierortiz82
@javierortiz82 6 місяців тому
Do these custom boards report to a pc/mac like standard generic keyboards?, I'd like to create my own custom keyboard with coded macros in the hardware for certain games (I have imagine storing them in an SD card or something), the problem I have with gaming keyboards and mice is that they require software to program macros and stuff that is usually detected and blocked by anticheat software. For any purists, don't want to bot, I want to avoid unnecessary use of energy and the tedium of repeating a task over and over, also I once developed tendinitis caused by creating potions in Ragnarok Online, not a fun experience and that conversation with the doctor was pretty uncomfortable lol. Thanks for any response.
@JanLunge
@JanLunge 6 місяців тому
All macros and layout customization run in the keyboard and will be sent as normal keycodes via usb hid like any other keyboard cheat tools cant detect a difference to a normal keyboard input as far as i know. The pi pico has enough storage space that you can just save the macros on there directly.
@javierortiz82
@javierortiz82 6 місяців тому
@@JanLungeMany thanks for your response Jan, I'll dig up into the project, thanks for your time and support
@eonoire
@eonoire Рік тому
Does anyone know of a discord where I could get some help. I've been trying to get my new ferris sweep keyboard to work for ages now and it just won't. I did everything in this video. There was even a premade keymap on the github that I was just able to grab. Yet when I press any buttons they just don't output anything. I have no idea how this is supposed to work. Please Help I want to use my keyboard and I'm losing it
@JanLunge
@JanLunge Рік тому
Maybe someone on my discord can help: discord.gg/ctYr5BVF7b
@tiebex
@tiebex Рік тому
Does anyone know what the tool at 1:42 is?
@JanLunge
@JanLunge Рік тому
This is a wire wrap tool amzn.eu/d/5a5WKHr
@tiebex
@tiebex Рік тому
@@JanLunge thanks!
@_Mohanned
@_Mohanned Рік тому
Was anyone able to map Copy/Paste to their macropad?
@JanLunge
@JanLunge Рік тому
For kmk the easiest way to do this is to use sequences, for copy you can use the keycode KC.LGUI(KC.C) on mac or KC.LCTL(KC.C) on windows/linux .
@submaryne3518
@submaryne3518 Рік тому
Does it have latency because python is slow?
@JanLunge
@JanLunge Рік тому
Noting thats noticeable while typing or gaming. Could have a few ms of delay but I have no idea how i would test for this. Feels the same as my qmk board
@submaryne3518
@submaryne3518 Рік тому
@@JanLunge tysm
@thumbwarriordx
@thumbwarriordx Рік тому
Definitely Picos over Arduino Pro Micros at this point. Then again these bluepill boards have a lot of pins. The teensies with enough flash to run VIA aren't really complicated to use but if you program it once before setting the partitioning to work with VIA, that chip is never going to support it because the teensy firmware has, for some reason, locked you out of changing it forever.
@noel8758
@noel8758 Рік тому
'promosm' 🙃
@alpha_pixel_
@alpha_pixel_ 8 місяців тому
Include a html to read and display the config
How to Build a Handwired Keyboard
22:01
Joe Scotto
Переглядів 101 тис.
Turning a Raspberry Pi Pico into a GPU!
16:42
element14 presents
Переглядів 98 тис.
ВИРУСНЫЕ ВИДЕО / Мусорка 😂
00:34
Светлый Voiceover
Переглядів 8 млн
Гражданская оборона 2024 - 16 полный выпуск
1:04:15
Телеканал ICTV
Переглядів 1,1 млн
You Won’t Believe How Effective This Keyboard Layout Is
10:34
Ben Vallack
Переглядів 450 тис.
Arduino vs Pico - Which is the Best Microcontroller For You?
20:38
Gary Explains
Переглядів 277 тис.
Is This the Perfect Custom Keyboard?
29:39
Ben Vallack
Переглядів 238 тис.
How to Run Linux on an ESP32
18:53
element14 presents
Переглядів 143 тис.
Pico Based Number Pad - Part 3: Layers
12:32
Tiny Boat Productions
Переглядів 2,2 тис.
Pico Based Number Pad - Part 2 - Installing KMK
4:52
Tiny Boat Productions
Переглядів 9 тис.
The Charybdis Wireless Keyboard
10:45
EIGA
Переглядів 398 тис.
Connecting To The Internet With The Raspberry Pi Pico W (via WiFi)
5:53
Core Electronics
Переглядів 46 тис.
Обзор Nothing ear (3) и ear (a) - ПРОРЫВ за $100
17:34
Крутое обновление microReader!
5:54
Заметки Ардуинщика
Переглядів 17 тис.
Как должен стоять ПК?
1:00
CompShop Shorts
Переглядів 655 тис.
Такого вы точно не видели #SonyEricsson #MPF10 #K700
0:19
BenJi Mobile Channel
Переглядів 2,2 млн
I7 2600K тест в играх и сравнение с AMD Ryzen
17:53
Какой телефон лучше всего снимает? 🤯
0:42