I wrote multiple posts on my blog and on various community forums about mechanical keyboard making but the information is scattered, often outdated and unstructured.
Initially I wanted to release a full book, but it would take ages and I believe it would be somewhat limited. Being able to feature a video or download the source code of a firmware is crucial so I came up with a system that would let me publish my articles in a more organic way.
All chapters of the manual will be published on my blog at matt3o.com as soon as I write them. A post could cover some theory or be more practical and tutorial-like. Everything will be structured and easily accessible from the Table of Content at the top of each post so you can quickly navigate through the content.
Whenever possible I’ll add videos, source code, DWG and STL files in what I hope will become a valuable and ever growing source of information for custom keyboard makers. Even better, everything is free and released under a very permissive Creative Commons license.
If you wish to link or share this work please use https://matt3o.com/book.
About this manual
This series of tutorials are intended for makers. We will cover some theory but you’ll learn mostly by getting your hands dirty. After a few introductory chapters we’ll jump right into keyboard modding and building.
We will follow a project-based approach: each chapter will guide you through building something new from the ground up and by the end of this adventure you’ll be able to plan, design, solder, program your own custom computer keyboard from scratch.
It might seem overwhelming but I’ll guide you on each step. I won’t leave no stone unturned: you’ll know exactly what tools and components are needed, how to design a switch plate and where to get it laser cut, how to pick the right switches, how to solder, how to program the firmware, how to build the case and how to make it look professional even by DIY standards.
There’s a lot of ground to cover, let me just introduce myself before we begin.
About the author
My Name is Matteo “matt3o” Spinelli and I’m a mechanical keyboard addict. If you are into mechanical keyboards too, chances are that you own or at least came by one of my creations (being keycaps or keyboards).
I always felt this craving for building and fixing things. When I was a kid I remember this urge to disassemble expensive electronic devices; if there was something moving, lighting, beeping I had to see what was the magic inside.
I ended up studying art. I know, it doesn’t make sense but I couldn’t bear waiting 4-5 years in engineering; I wanted to jump right into it and build stuff. I consequently turned into a self taught generalist. I have a very basic understanding of electronics, I can vaguely hold a soldering iron, I can work my head around CAD and CAM software, I handle CNC routers and 3D printers, but I’m really not an expert in any of that.
What I’m trying to say is that if I can build a keyboard from scratch, nothing stops you from doing the same. I have no superpowers and I haven’t studied anything that makes this task easier. I’m writing this manual to share my experience in building keyboards and to hopefully spare you some of the mistakes I made.
I have a lenovo laptop keyboard (25214540). I try to run it on my desktop. I also find out which key on which pin. example : key (A) pin (5,7). I use “atmega32a” microcontroller but I don’t know any code to burn atmega32a. I also don’t know how to write it. plz help me.
atmega32a doesn’t support USB hid natively you have to use V-USB. try to google “TMK V-USB”.
I just discovered your website here, and I’m feeling inspired. There’s a project I’ve been wanting to explore for years and just never felt like I was capable of finishing it. What you are creating is exactly what I need, and I’m looking forward to following your guides. Thank you!
I also have always had this urge to take things apart, figure out what makes them work and how; and as an additional step in the process: thoroughly clean them. I started off with fans when I was 3 y/o; I grew up in a commune-like environment and my mom would take me to the other family’s houses and supply me with a bucket of soapy water, wash clothes, sponges & brushes as well as the screwdrivers/tools needed to take the fans apart.
My interest in writing systems and linguistics led to an interest in keyboard layouts and input methods for complex and non-Latin scripts. I was rarely satisfied by the existing implementations because they are generally merely quick-made adaptations of the technique and layout used for Latin-based text input. While many are not “bad”, I always imagined solutions which would be much more intuitive and adapted to text input from the perspective and logic of the script and languages it evolved with. However, most of my ideas were impossible for me to implement because they relied on simple, yet fundamental features missing from operating systems (such as additional/reconfigured modifier keys and other altered behavior of several keys). Many of my designs also included, and relied upon, several additional keys.
Over the years I have come up with work-arounds and hacks by employing precarious combinations of software, low-level OS hacks/mods/hidden or unused/obsolete settings along with unique keyboards that feature extra keys which I re-purpose or reconfigure in some manner.
However, the idea solutions would always require a custom keyboard. But this has remained elusive and somewhat “out of reach” for various reasons. Finally though, resources such as this site provide inspiration and information that is helping me move to the next level!
thanks for taking the time to write and you are most welcome!
i neeeeeeeeeeeeeeeeeeeeeed a way to build a KEYBOARD not a TYPING KEYBOARD im talking like that piano stuff u feel me? so pls make a vid on how to build a PIANO KEYBOARD THANK U
lol, that might be interesting
Thank you, this clarifies a *lot* of questions I had. I’m currently considering trying to make a 100% layout, just with a numpad on the left side. That would be purely for gaming though, so I may try and make it have a detachable numpad on the right side, like what this guy did: https://geekhack.org/index.php?topic=75880.0
Sadly, that leaves me without any sort of PCBs I could buy and use, so thank you for this amazing guide!
its called a southpaw layout. ive been looking to build one for along time but I couldnt find any cases or plates. you might have to make your own cases and plates. hand wiring is a must unless you can make your own pcbs
Hello, and thanks for making this site. Love those retro but AWESOME keycaps!!! My thing is … I can’t get what I need. The Havit KB390L is basically exactly what I want (and I have two): low-profile (great for traveling and short-throw), tactile clickly keys for touch-typists like me, TKL for space … BUT … now I’m learning Russian and I have to have the real deal, not stickers on keycaps. There IS a version KB390L(Russian), but it’s sold out worldwide. Cannot find it. So … now I’m thinking of just going with the Massdrop to GMMK barebones … but I thought you might be able to tell me before I even do that: Do you have English PLUS CYRILLIC (Russian) MT3 keycaps for TKL layout? How do I order that plus a keyboard if you do?
we had something in the past but there are no plans for future sets that include cyrillic at the moment
Sorry, comments are closed but you can still get in touch with the contact form.