How to Design a Custom Mechanical Keyboard

  Рет қаралды 51,381

Mad Mod Labs

Mad Mod Labs

Жыл бұрын

Visit pcbway.com/ for your next 3D printing project.
In this video I will show you my process for designing a handwired keyboard with a custom layout and how you can build your own DIY handwired mechanical keyboard. With a 3D printed mechanical keyboard plate, you can create a keyboard that is one of a kind. I will be showcasing every stage of the design process including 3D modeling and programing firmware. The keyboard uses a teensy 2.0 to run QMK Firmware. This build could also be completed with a Teensy 2.0++ This video will discuss the following topics:
How to design a custom keyboard layout
How to build a 3D printed keyboard
How to build a handwired keyboard
Easy way to write QMK Firmware
How to flash a teensy microcontroller
// You can build the keyboard in this video
Printables: www.printables.com/model/4553...
PCBWay+: www.pcbway.com/project/sharep...
// Software used in this video
Keyboard Layout Editor: www.keyboard-layout-editor.com/
Keyboard Plate Builder: builder.swillkb.com/
Fusion 360: www.autodesk.com/products/fus...
Keyboard Firmware Builder: kbfirmware.com/
Arduino IDE: www.arduino.cc/en/software
Teensyduino: www.pjrc.com/teensy/td_downlo...
Keyboard Tester: www.keyboardtester.com/
// Hardware used in this video (Affiliate Links)
Mechanical Switches: amzn.to/3Y7qmlE
Stabilizers: amzn.to/3RC8EEh
1N4148 Diodes: amzn.to/3HzShU8
24 AWG Wire: amzn.to/3RHczjm
Teensy 2.0: amzn.to/3JKT2ww
USB-C Breakout Board: amzn.to/3wVgnUq
M2.5 Bolts: amzn.to/3X1Q3T7
Keycaps: amzn.to/3HCBM9T
// Tools I use (Affiliate Links)
Soldering Iron: amzn.to/3HWohCj
Fume Extractor: amzn.to/3Xc5esV
Electric Screwdriver: hototools.com/discount/MML
Tool Kit: amzn.to/3X8V78e
// Follow me on Twitch
/ m0dulus
// Support My Content
ko-fi.com/madmodlabs
#mechanicalkeyboards #3dprinting #madmodlabs

Пікірлер: 97
@JosephJRyu
@JosephJRyu Жыл бұрын
So simple and helpful! Thx a lot. Oh and like the layout!!
@theDude9750
@theDude9750 Жыл бұрын
you're a GOD. Very well done, the information density is nuts and super high quality
@BB419.9
@BB419.9 Ай бұрын
Bro what a speed-run to build keyboard loved this so much.
@MiguelRivera-ht1od
@MiguelRivera-ht1od 25 күн бұрын
I used to make kb like this 3 years ago. and its great for starters. But the moment i started using qmk for my boards it worked great! I manage to use NKRO among other functions.
@davidMerHer_
@davidMerHer_ 11 ай бұрын
This was just what I was looking for! Thank you so much.
@pelaesss
@pelaesss Жыл бұрын
Great video! I was looking for a tutorial and this was perfect.
@Z.DeAllen
@Z.DeAllen 10 ай бұрын
This was fantastic. Thank you! But you went thru all that work and still kept the top row staggered >_
@rauljimenez7252
@rauljimenez7252 Жыл бұрын
S O M A N Y T H A N K S I was looking tutorials for doing this and you explained it so easy!
@MadModLabs
@MadModLabs Жыл бұрын
Thanks for watching!
@djpowerboy
@djpowerboy Жыл бұрын
man this channel is pure gold... u deserve more views mannn
@MadModLabs
@MadModLabs Жыл бұрын
Thank you for watching!
@haplopeart
@haplopeart Жыл бұрын
Excellent and very informative
@syedmohhiuddin7382
@syedmohhiuddin7382 3 ай бұрын
Best keyboard build ever!!
@zani661
@zani661 Жыл бұрын
bro that was awesome
@Alchemistdeignis
@Alchemistdeignis Жыл бұрын
This is awesome!
@miriamramstudio3982
@miriamramstudio3982 5 күн бұрын
Very useful indeed 👍Thanks
@semputs
@semputs Жыл бұрын
This has been very educational and has given me hope that its possible to make my own keyboard design. Thanks so much! Btw I use Harimau tactile switches and Kailh Silent Midnight Pro Tactile switches.
@MadModLabs
@MadModLabs Жыл бұрын
Thanks for watching!
@Timjstewart
@Timjstewart Жыл бұрын
Fascinating and informative video! Thank you! If you don't mind me asking, what was the approximate cost of the materials you used? I have built two keyboards using PCB and I'm wondering if hand wiring is significantly cheaper. Thanks again!
@DaveAlkema
@DaveAlkema Жыл бұрын
Very interesting video! I don't think I'll ever do a keyboard like that myself, but I have a ton of respect for anyone who does 🙂 On the topic of switches, I use Gateron Oil Kings in my main boards, and Akko Jelly Blacks in my travel board.
@n1k0n_
@n1k0n_ Жыл бұрын
I use repurposed cherry browns (pre-hyperglide like 92-95yr model) and lube them. Ordering some akko jelly lavenders soon and some good quality cap from KBFfans. Probably the WOBs
@acesan8s100
@acesan8s100 2 ай бұрын
Your a natural tutor, great work
@MadModLabs
@MadModLabs 2 ай бұрын
Thanks for watching!
@giangnguyentruong3141
@giangnguyentruong3141 3 ай бұрын
thank you so much for the video
@lanzecki
@lanzecki Жыл бұрын
Thanks for the Video. You've just answered the one question I've had, and been looking for for the last 2 days.. Ie how does the firmware know how the switches know are wired to the controller.
@alexandrapalmer3129
@alexandrapalmer3129 Жыл бұрын
Amazing content, love the video, keep it up!! :)
@MadModLabs
@MadModLabs Жыл бұрын
Thank you for watching!
@duynguyenkhanh9719
@duynguyenkhanh9719 Жыл бұрын
Really cool video. Can you make a video guide on designing wireless keyboard pcb with modules, like e73 nrf52840 or something similar?
@sanketss84
@sanketss84 Жыл бұрын
super helpful.
@MadModLabs
@MadModLabs Жыл бұрын
Thank you for watching!
@Snowsea-gs4wu
@Snowsea-gs4wu 3 ай бұрын
Would it be possible to create some sort of small wire channel in the 3D print for the column cables? I’d bet it would help with the build and make everything easier and neater. Thanks for the video!
@alexon2010
@alexon2010 5 ай бұрын
Conheci agora já virei fã... show... show... show parabéns.....
@scharkalvin
@scharkalvin 10 ай бұрын
The keyboard firmware builder needs to be updated for the RP2040 processor. The RPi Pico and clones are fast becoming a popular keyboard controller. If you use the pico w, it should be possible to mod the firmware to connect wirelessly via bluetooth now that the bluetooth libraries have been released for the RP2040 SDK. There is also a Micro Python clone of QMK as well.
@720MotorWorks
@720MotorWorks 9 ай бұрын
KBfirmware is EOL as stated at the bottom of the page- Sadly, no more updates will come to it. It is over 7 years old and painfully out of date
@tylereyman5290
@tylereyman5290 Жыл бұрын
Looks like I found another fun project to do
@MadModLabs
@MadModLabs Жыл бұрын
Thanks for watching. I hope your keyboard turns out awesome!
@Snowsea-gs4wu
@Snowsea-gs4wu 3 ай бұрын
How about creating a Commodore 64 keyboard (like the one you have on your background) with the correct layout for CBM (duh!) and some space leftover space to accommodate a raspberry pi to be able to use the awesome BMC64 project (Bare Metal Commodore 64). Thanks for the video!
@Soupie62
@Soupie62 6 ай бұрын
For a small, portable keyboard, I would reduce the width of Tab, Caps, and Left Shift. Same for Backspace, \, Enter and Right Shift. That alone requires a custom PCB, and we haven't even talked about switches and keycaps.
@gilgabro420
@gilgabro420 11 ай бұрын
This was incredibly helpful!
@MadModLabs
@MadModLabs 11 ай бұрын
Thanks for watching!
@gilgabro420
@gilgabro420 11 ай бұрын
@@MadModLabs i am about to make a southpaw 75% with a low profile. All thanks to this video.
@MadModLabs
@MadModLabs 11 ай бұрын
@@gilgabro420 Awesome! Can't wait to see it!
@scorpio2t
@scorpio2t 7 ай бұрын
Can you do a video on building a custom zmk firmware with bluetooth please? Wanting to learn how to write new firmware from scratch 😅
@celestialcolosseum
@celestialcolosseum 2 ай бұрын
I modeled my own case and did this project from scratch, did the firmware manually too since the firmware builder is too outdated. There is only one question i have before assembling everything, i don't have the CC pins on my usb type-c board, only data -/+, ground and VCC pins. I'll see if it works but other than that it went really smooth! Thanks for the amazing tutorial.
@celestialcolosseum
@celestialcolosseum 15 күн бұрын
It works wihout those pins, i've been using this keyboard about 1.5 months now and it's great!!!
@lophixarts
@lophixarts 6 ай бұрын
How to modfiy this to have a volume knob and be wireless?
@submaryne3518
@submaryne3518 Жыл бұрын
tysm bro
@wickeddubz
@wickeddubz Жыл бұрын
Suggestion: please show how to make a keyboard for UMPC (Jornada, Sony UX series, etc) and handheld pocket device.
@slabua
@slabua 7 ай бұрын
18 by 4 can be wired for example as a 9 by 8, in that case you would only need 17 pins instead of 22.
@nzpc2005
@nzpc2005 3 ай бұрын
Anyone know what keyboard/caps set that is in the background at 1:52?
@pabloarias7917
@pabloarias7917 8 ай бұрын
hey where can I get that keyboard at 14 seconds?
@sjb8178
@sjb8178 9 ай бұрын
this is it this is it!
@overflow7276
@overflow7276 Жыл бұрын
Since we are already consulting PCB-Way, could you make a video how to design a circuitboars that makes the keys hotswapable, or is that too expensive for a DIY project? Great video by the way!^^
@rizen3467
@rizen3467 Жыл бұрын
It wouldnt really be alot more expensive, for about $20 maybe you can get the hot swap sockets and ordering a pcb is $10 - $20 too
@GothGirl_IHOP
@GothGirl_IHOP 11 ай бұрын
I tried downloading the personal use Fusion 360 and that didn't work so I've had to resort to using FreeCAD which works SO DIFFERENTLY to Fusion360 that I basically have to skip the modelling part of this tutorial and have to hope someone has a FreeCAD tutorial of a similar project.
@CesarAnton
@CesarAnton 5 ай бұрын
Thank you!
@johnmccardle
@johnmccardle Жыл бұрын
Great resource. I think I'll start with a numpad so I don't screw up a huge design on my first go. What do you think about PCBs and/or plates? Is there any benefit to using a support plate like you designed and a PCB under the switches? Or does the PCB replace the plate entirely?
@MadModLabs
@MadModLabs Жыл бұрын
Most keyboards have a plate and a PCB. The PCB's main purpose is to connect the switch matrix electrically. Using a plate and PCB together will help the keyboard stay rigid, even though some keyboards have a small amount of flex. It is possible to make a keyboard with no plate at all. I would want to use a thick PCB to make sure the keyboard is not flexible.
@RafaelDrumondRego
@RafaelDrumondRego Жыл бұрын
I need to find a good tutorial that explains how to choose the controller board. But your tutorial is amazing!!! I am still stuck with gateron brown switches.
@MadModLabs
@MadModLabs Жыл бұрын
The biggest factor for me when choosing a controller board is the number of usable pins. I like to keep the matrix wiring simple when possible so more pins Is usually better until the size becomes a problem. Some controllers are better for for special features like wireless connections or backlighting but I usually try to keep the build simple and keep costs low. Thanks for watching!
@RafaelDrumondRego
@RafaelDrumondRego Жыл бұрын
@@MadModLabs Thanks a lot for the answer!
@TicTacmann
@TicTacmann Жыл бұрын
Great Video! I am just getting into this topic myself and learned alot. Ill get on trying this myself and see whether I get anywhere with that! Do you maybe have a discord for people to discuss? Id love to learn some more, i.e. how to make an self-made RGB board with that method!
@MadModLabs
@MadModLabs Жыл бұрын
Here is a link to the discord. Fair warning, it's not very active. Most of the people here are my friends from The Twitch stream. discord.gg/tYMTA2Bb
@TicTacmann
@TicTacmann Жыл бұрын
@@MadModLabs appreciate the link!
@jamegumb7298
@jamegumb7298 Жыл бұрын
Fusion 360 is not bad bad, but there was an update not too long ago that gimped exporting and that made it less interesting for me. There are alternatives, one of which is SolidEdge Community Edition. It has other limits on it, but it works better for me.
@MadModLabs
@MadModLabs Жыл бұрын
SolidEdge is great! Recently, I have been trying out OnShape and it looks promising. It is cloudy based, so you can run it on pretty much any computer.
@IevgenBaziak
@IevgenBaziak 3 ай бұрын
Question: When using the arduino as your controller for the custom keyboard, - does such keyboard end up having any issues with simultaneous keys pressed (imagine Ctrl+Shift+Alt+C as example)? This would literally be a showstopper for me to refuse the idea (need big combos to work in IDEs).
@MadModLabs
@MadModLabs 3 ай бұрын
I tested this just now. The keyboard recognizes up to 9 simultaneous keystrokes when using the modifier keys like Ctrl+Shift+Alt. If you frequently use big key combos, writing your own firmware is the perfect opportunity to simplify them. You could assign them all on a function layer or even build a keyboard with a built-in "macropad" that could input your key combos with one keystroke.
@l0st12
@l0st12 Жыл бұрын
Hi i just want to ask how do you know what type of switch you are using ? I'm planning to make a keyboard with the leobog ash v3 switch but i don't know what type of hole will fit
@MadModLabs
@MadModLabs Жыл бұрын
LEBOG ash wood will fit in a Cherry MX plate. The switches themselves are very similar to switches manufactured by Otemu. Most switches will fit in a MX plate. If you plan on using a PCB make sure it is compatible with Otemu/Akko switches.
@illumi1749
@illumi1749 11 ай бұрын
when i try import the dxf into fusion 360 it comes up with an error "the selected dxf file does not contain units information
@MadModLabs
@MadModLabs 11 ай бұрын
Make sure you have the units set to "millimeters" in the insert dxf menu.
@mfcfbro
@mfcfbro 7 ай бұрын
Is there any noticeable latency or anything doing this? I was always warned not to use arduino for a keyboard like this? I'm wondering if I was just misinformed.
@MadModLabs
@MadModLabs 7 ай бұрын
I can't notice any latency. I'm not sure how it would compare to a top-shelf gaming keyboard. If you are unsure of using Arduino, you could build the same keyboard with a different controller. A friend of mine recently built a 3D printed keyboard and used a Raspberry Pi Pico as the controller.
@akshatdev3596
@akshatdev3596 Жыл бұрын
I was always trying to do something like this. Are there any communities that you recommend which can help me? Also, because this is 3d printed I was wondering if I could get this machined in acrylic or other materials on PCB way.
@MadModLabs
@MadModLabs Жыл бұрын
I would say KZbin is the best place to learn 3D modeling. There are lots of really good tutorials available for free. I am not really active in any mechanical keyboard communities but if you want to learn how to program a keyboard, the QMK discord is probably a good place to look.
@akshatdev3596
@akshatdev3596 Жыл бұрын
@@MadModLabs for my second question, can I use the same 3d model for machining in other materials than 3d printing? Like acrylic.
@MadModLabs
@MadModLabs Жыл бұрын
@@akshatdev3596 for CNC machining, you will probably need to use the STL file to create a .STEP file first.
@akshatdev3596
@akshatdev3596 Жыл бұрын
@@MadModLabs thank you again :)
@djpowerboy
@djpowerboy Жыл бұрын
Hey man, Im already working on mine and here are two questions that came up: 1 - What to do when the number of columns and rows are greater than the number of pins on the board? 2 - Is it possible to use arduino pro mini instead of teeny? its kindda cheapper down here in brazil thx man
@MadModLabs
@MadModLabs Жыл бұрын
You can use an Arduino for a smaller keyboard builds. They have less pins than the teensy. If you're building a large keyboard you probably want to get a Teensy 2.0 ++. amzn.to/3EfUFi5 The Teensy 2.0 ++ is an awesome controller with lots of pins and it is pretty easy to work with. There's also a way to do this with a Raspberry pi Pico but the firmware creation is completely different than the way demonstrated in this video.
@djpowerboy
@djpowerboy Жыл бұрын
@@MadModLabs thx alottt
@CerebroJD
@CerebroJD 9 ай бұрын
I know you commented this awhile ago, but your keyboard wiring matrix doesn't need to follow the exact rows and columns you have. If you have a 48 key keyboard, for example, if you use a 4x12 matrix, that uses 16 pins. However if you consider you can create groups keys (from a wiring standpoint) into smaller or larger groups, you could create a matrix of 7x7 totalling a maximum of 49 keys (the last 'row' of this wiring would only have 6 keys, to bring back down to 48 actual keys). This arrangement would only need 14 pins. Another example is a 5x12 keyboard - 17 pins needed for a matrix that matches the physical layout, or use an 6x10 matrix only requiring 16 pins. The keyboard shown in the vid needs ~62 switches. If you use a 4x17 matrix, that's 21 pins. However, you can use a 7x9 matrix for 63 possible switchs using only 16 pins. Make sense?
@andreykolobikhin
@andreykolobikhin 10 ай бұрын
Hi! - It is very interesting - why work on keyboard starts from very not basic and pretty complex thing? First quetion that appear while you look at typing - what for you nee to hold palms upper than keyaboard while you use fingers? Actually it is logistics connected primitive AI task - how to simplify logistics in connection with context, as it prolongs solutions with new possibilities. The very simple answer to this question - keaboard surface and keys must lay lower than support for wrists, in some area much lower than border of keyaboard. Kinda in pit. In this case your wrists are fixed and fingers, and only, perform job. - Now you can type faster, brain and some muscles are relaxed and free of tasks. But what are the pluses? Borders you receive can be used easily, with low level of mistakes for computer management, like brigthness etc changes, and it is quite natural thing as these functions and its physical realizaion are different. Borders are connection between objects. After it you have ability to add commonly used functions like language change, layout change. You can place it on border going in pit but with something prolonging keyaboard surface to it. Thus you have mixed intermediate functionality, not that separate. It gives another plus current computers don`t have - accented simple tuning. Like changing contrast of text on screen. And so on. It can be done by software. Text, photos, browser prompt for addresses.... And a lot of other different types of interface controls, elements, you can change, copy, delete by pretty simple easy for brain direct clicking by fingers that you move shortly. Next thing you understand - there are some outer devices. Lamp. Teapot. Car. And area outer than border is quite interesting for it. You make some pit - and you got it. But it is not magic of real conduction between separate object with jump of differences. But your design have all possibilities for it already. Switch on teapot. Press on connection "beyween pits" and use numbers or arrows for setting up temperatue or speed of boiling. Teapot can be powered by valuable power tuning, just like your keyaboard... ;-) Switch on lights in room or in house. You don`t need addiotional house management devices any more. As next thing such solution brings - ability to connect base pit to any software pit. You need to establish remote link to some device by clicking some "remote connected surface string" either line outer of bounderies. You can do it in library, bar, train, airplane... In connection to devices around your place... - Yo can pay by it. Ask driver of bus or airplane through specific dialog programs and devices. By clicking several buttons. This is the magic of conduction. - It brings speed and profit growth ,simplifying everything same type. But not simply. With tremendous growth of comfort. And opening new possibilities. Of super magic... 😏 It gives ability to make simple "going-through" communication and function activating. - What can you do with teapot? Well, - teapot can be located under some lamp. Near some refrigerator. So you can use arrows to access it through teapot you use very often, as compared to them. Number of devices can be pretty big. You can use direction for direct connection, or use some menu with names you open by "Show next devices" functionality. Thus it gives ability to reach any detail in any mechanism from any place... In simple comfortable way. Time, cost expenses. collision expenses of performing all of these functionalities with other users - interesting topic. Just like energy etc expenses. But it is not end. You can put automation on these connections. - Like adding same type activating of same or different objects by "glueing connection strings either functions". Turn on lamp on teapot and lamp in place you store broad. It looks like magic. In direct meaning. You can execute teapot and start warming up of car. Or say something to car of your neigbour and not known person blocking your one. Through your car. 😏
@l0st12
@l0st12 11 ай бұрын
How much infill did you use for the keyboard
@MadModLabs
@MadModLabs 11 ай бұрын
20% is enough. Increasing the infill density and wall thickness will change the weight and sound of the finished product slightly. So feel free to experiment.
@l0st12
@l0st12 11 ай бұрын
@@MadModLabs thanks you so much for the answer
@akunin417
@akunin417 Жыл бұрын
Right thumbing the space... what sort of travesty is this?
@MadModLabs
@MadModLabs Жыл бұрын
Right thumb gang rise up 🤣
@smd824
@smd824 5 ай бұрын
i thought this was normal , ive been doing it all my life 😭😭
@denismilic1878
@denismilic1878 14 күн бұрын
My old new Amiga 1200 will get a new keyboard
@Treychik
@Treychik Жыл бұрын
-wanna design a keyboard?! *I watched a video - ... ... ... nope
@AndehX
@AndehX Жыл бұрын
"Oh crap, there's an emergency! I better shut this game down quick! I'll just press Alt+F..... oh."
@MadModLabs
@MadModLabs Жыл бұрын
Haha! Fn+Esc makes a pretty good alternative to Alt+F4. It just depends on what you set in the firmware. Thanks for watching!
@badmanPL
@badmanPL Ай бұрын
The sound is awful, but shoutout for the video in general. Is it possible to create a hotswap custom board instead of wiring and soldering?
@mascio7195
@mascio7195 Жыл бұрын
*Promosm* 😍
I 3D Printed a Custom Keyboard... (So you don't have to)
12:57
Hipyo Tech
Рет қаралды 241 М.
How Many Balloons Does It Take To Fly?
00:18
MrBeast
Рет қаралды 159 МЛН
КАК ДУМАЕТЕ КТО ВЫЙГРАЕТ😂
00:29
МЯТНАЯ ФАНТА
Рет қаралды 9 МЛН
How to Design Mechanical Keyboard PCBs with Kicad
20:19
Joe Scotto
Рет қаралды 77 М.
Making a mechanical keyboard case from scratch
15:10
kevin
Рет қаралды 21 М.
Ever Wanted to Design Your Own Mechanical Keyboard?
8:01
Creating a Keyboard PCB with Diodes (Kicad 6.0)
46:31
Noah Kiser
Рет қаралды 43 М.
Design and Fabrication of a Custom All-Metal Keyboard | banoa102
19:53
Conor Archdeacon
Рет қаралды 60 М.
3D Print & laser cut keyboard in 1 Day(ish).
8:11
cam shand
Рет қаралды 10 М.
The coolest robot I've ever built!
19:40
Thomas Burns
Рет қаралды 4,5 МЛН
Top Fifteen Mistakes People Make When Designing Prototype PCBs
12:26
Cosplay Light and Sound
Рет қаралды 137 М.
Samsung laughing on iPhone #techbyakram
0:12
Tech by Akram
Рет қаралды 669 М.
Как распознать поддельный iPhone
0:44
PEREKUPILO
Рет қаралды 2 МЛН
Klavye İle Trafik Işığını Yönetmek #shorts
0:18
Osman Kabadayı
Рет қаралды 6 МЛН
АЙФОН 20 С ФУНКЦИЕЙ ВИДЕНИЯ ОГНЯ
0:59
КиноХост
Рет қаралды 1,1 МЛН
Собери ПК и Получи 10,000₽
1:00
build monsters
Рет қаралды 2,8 МЛН
Смартфон УЛУЧШАЕТ ЗРЕНИЕ!?
0:41
ÉЖИ АКСЁНОВ
Рет қаралды 1,1 МЛН