Stavba vlastní mechanické klávesnice je skvělý projekt. Když se ale rozhodnete pro bezdrátovou, dělenou a ergonomickou variantu, otevírá se vám úplně nový svět možností (a výzev). V tomto článku vás provedu procesem návrhu a stavby mé vlastní klávesnice, kde hrál hlavní roli 3D tisk, open-source software a pečlivý výběr komponent.
V tomto článku se nedozvíte základy designu klávesnic, můžete se však nechat inspirovat výsledkem. Také se podělím o své vlastní zkušenosti, protože jako každý dobrý DIY projekt, ani tento build není perfektní a je co zlepšovat. Na konci článku najdete odkaz na můj GitHub, kam jsem nahrál zdrojový kód layoutu klávesnice.
Prototypování a 3D tištěné tělo
Hned na začátku jsem věděl, že chci mít plnou kontrolu nad fyzickým tvarem klávesnice. Pro kompletní návrh jsem použil Onshape. Udělal jsem si fotku své dlaně s nataženými prsty a začal jsem sketchovat column-staggered layout se čtyřmi thumb keys. Dál design postupoval standardně jako každý jiný CAD model. Na samotném těle kromě mnou zvoleného rozložení kláves vlastně nic moc zajímavého není.

Zásadní roli v celém procesu hrál 3D tisk, který nesloužil jen k výrobě finálního těla, ale především k iterativnímu prototypování a validaci. Pomocí 3D tištěných modelů jsem například ověřoval správnost návrhu PCB. Vytiskl jsem si testovací plát, abych před objednáním výroby zvalidoval přesné rozložení nožiček.

Návrh PCB a mikrokontrolér
Jádrem celé klávesnice je populární a kompaktní SoC Seeed XIAO nRF52840, který zpracovává stisky kláves i Bluetooth konektivitu.
Návrh PCB: Desku plošných spojů (PCB) jsem kompletně navrhl v softwaru KiCad. Nepříjemnou vlastností této volby je fakt, že klávesnice musí být rozdělena do dvou samostatných KiCad projektů, jelikož KiCad jako projekt chápe vždy jen jedno PCB. Při návrhu je tak potřeba si dát extra pozor, aby oba tištěné spoje byly správně.

Výroba: O samotnou výrobu desek se postarala společnost JLCPCB.
Kompletace: Celá klávesnice je ručně pájená, což vyžaduje trochu trpělivosti. Rozhodně je taky lepší vybrat si větší diody než jsem si vybral já.

Spínače a klávesy
Zvolil jsem:
- Spínače: Kailh Deep Sea Mini Islet silent switches. Jedná se o tiché lineární spínače s odporem 43 g. Jsou velmi příjemné, ale pro svůj příští projekt bych upřímně sáhl po lehčích lineárních spínačích, případně bych vybral spínače taktilní, jelikož klávesnici používám na psaní a nehraji na ní hry. Moje stará klávesnice, která měla taktilní switche, mi na psaní vyhovovala trochu víc. 43 gramů je pro mě při psaní trochu unavující.
- Keycaps: Keycapy jsem zvolil SMOLO černé bez postisku. Bez psaní všema deseti se stejně neobejdete a klávesy bez popisku podle mě prostě vypadají líp.
Spínače i keycapy pocházejí z Beekeeb.com

Extrémní výdrž na baterii
Nevzhledný vystouplý box v rohu klávesnice ukrývá baterii. Upřímně jsem ji trochu přestřelil a s 1500 mAh mám výdrž přes 3 měsíce na jedno nabití. Cenou za to je ošklivý design. Klávesnice nemá podsvícení, s touto baterií by se o něm ale dalo vážně uvažovat. Možná příště.
Nabíjení i kompletní battery management, včetně monitorování zbývající kapacity, zajišťuje právě nRF52840 čip. Je to jeden z důvodů, proč jsem se rozhodl právě pro něj.

Firmware: ZMK a ZMK Studio
Systém běží na open-source firmwaru ZMK, který je pro bezdrátové dělené klávesnice perfektní. Dvě poloviny klávesnice se po flashnutí automaticky spárují mezi sebou a hlavní (levá) polovina klávesnice pak čeká na spárování s Bluetooth zařízením. ZMK podporuje minimálně 5 Bluetooth profilů, takže klávesnici můžete využít napříč zařízeními - jen se trochu zapotíte s layoutem, který nejspíš budete muset přizpůsobit pro Windows a MacOS zvlášť.
Protože se jedná o vlastní design, je potřeba layout klávesnice definovat od základu. ZMK k tomu nabízí dokumentaci a s pomocí oblíbeného LLMka je to jednohubka. Pro mě bylo na celém procesu nejtěžší zjistit, co vlastně potřebuju, jelikož používám hodně klávesových zkratek.
Jedna feature, o kterou jsem oproti své předchozí drátové klávesnici, běžící na firmwaru QMK, přišel, je emulace myši. Nějak se mi ji nepovedlo rozchodit a tak teď nemám jak pohybovat kurzorem bez uchopení myši. Upřímně mi to ale až tolik nechybí a lepší variantou, než ovládat kurzor šipkami, by stejně bylo do klávesnice zabudovat trackpad nebo trackball. Možná příště :)
Na ZMK je super ZMK Studio. Pro změnu layoutu není potřeba flashovat nový firmware. Místo toho jej můžete upravit za běhu v aplikaci na desktopu. Nevýhodou však je, že všechny změny musíte manuálně synchronizovat zpět do zdrojového kódu vaší klávesnice, pokud jej chcete udržet aktuální.
Závěr
Výsledkem je plně bezdrátová, na míru ušitá ergonomická klávesnice s obrovskou výdrží baterie a tichým psaním. Bez 3D tisku bych neměl možnost nadesignovat tělo, jaké jsem si přál, a rozhodně by nebylo tak snadné prototypovat a validovat. Pokud o podobném projektu uvažujete, rozhodně to stojí za ten čas!
Layout najdete na mém GitHubu (klávesnice se jmenuje Nyx), v době psaní však není 100% aktuální s tím, co mi na klávesnici běží.

Máte zájem o klávesnici? Napište nám a domluvíme se.
Plánujete podobný DIY projekt a potřebujete iterativně tisknout prototypy těla nebo testovací díly? Pošlete nám poptávku a pomůžeme vám dostat se od návrhu k hotovému kusu.
