Rehber Sıfırdan Handwired Klavye Yapmak - CRS-88

Merhaba, bugün size yaklaşık 2 ay süren klavye yapma projemi anlatacağım. Hazır PCB'li ve kasalı klavyelerden ziyade bu proje, kasa ve elektronik kısım dahil sıfırdan dizayn edilip yapılmış olduğu için bence çok daha özel.

İlk olarak proje kağıt üzerinde kendi dizilimimi (layout) nasıl yapardım diye düşünüp çizmemle başladı. İstediğim klavye TKL diziliminde fakat en az 2 makro tuşu, 1 adet knob ve mümkünse 1 adet fare tekeri olacak şekildeydi. Böylece istediğim tuşları ve eklentileri TKL dizilimine eklemeye başladım ve en çok kullandığım tuşlardan numpad enter tuşunu da en sağa ekledim.

Kağıttaki taslaktan sonra kasanın kuş bakışı görünümünde duvar kalınlıklarının kalınlıkları ve oranlarını ayarlamak için keyboard layout editor kullandım, burada az çok tuş arası mesafeler nasıl olacak görmüş oldum.

1720810711860.png


Artık elimde oranlar olduğu için figma üzerinde mockup şeklinde bir çizim yapmaya başladım, bu çizimde her standart tuş 1u=100x100px olacak şekilde ayarlandı, 6.25u tuş 625x100px, 2.75u tuşlar 275x100px vs. Mockup bittikten sonra bu retro stil dizaynda kullanabileceğim en güzel keycap seti olduğunu düşündüğüm MV EXPO keycaplerini teker teker kırptım ve tuşların olduğu yere yapıştırdım ve sonuç aşağıda göreceğiniz gibi.

1720811132578.png


Genel olarak ahşap+granit/beton tarzı endüstriyel ve retro bir görüntü olmasını istediğimden renk seçimi bu şekilde. Metal aksanlar ise pirinç veya alternatif olarak çelik olabilir diye düşündüm ama pirinç olan daha hoşuma gittiği için prototipi o şekilde yapmaya karar verdim.

Artık çoğu şey görsel olarak netleştiği için klavyeyi AutoCAD'de çizmeye başladım. Taban olarak keyboard layout editor'den tuş diziliminin çıktısını almıştım, böylece switchlerin oturacağı plate'in çizimi elimde vardı ve geriye sadece bu plate için kasa yapmak kalmıştı. Alttaki fotoğrafta da görüldüğü gibi plate'e az da olsa flex cut ekledim ve yana 2 adet diş ekledim çünkü o tarafta görselliği bozmamak için hiç vida kullanmadım o yüzden o tarafı geçmeli şekilde takılıyor kasaya.

1720810991944.png


Kasa, eski "retro" ürünlerde de çokça kullanılan hatlara sahip olacak şekilde tasarlandı. Üst kısımdaki ızgara görünümü commodore 64'te göreceğiniz hatların biraz daha sadeleştirilip modernleştirilmiş hali gibi düşünebilirsiniz. Kasa malzemesi olarak da alışılmışın dışına çıkıp marble filament kullanmak istedim.

1720811398566.png

1720811235307.png


Geriye kalan tek şey bu çizimleri 2D'den 3D'ye aktarmaktı bu yüzden Fusion360 kullandım. Bu programın en güzel tarafı CAD çizimlerinizi içeriye aktarabilmek, böylece çiziminizi extrude ederek ve sonradan modifiye ederek istediğiniz görüntüyü elde edebiliyorsunuz. Fakat parça sayısı arttıkça sorunlar da artıyor o yüzden yaklaşık 100 tane revizyon ile ancak final dizayna gelebildim. Knob ve fare tekeri yüksekliklerinin switchlerinkinden farklı olması içeride 3 farklı yükseklikte tabla olmasını gerektiriyordu, en çok bu zorladı diyebilirim. Bunun dışında güzel görünecek bir kutudan ibaret bir kasa yapmak yetiyor zaten.

1720811196958.png

1720811328624.png

1720811355032.png

1720811487889.png

1720812352436.png


Diğer sorunlardan birisi de plastik parçaya nasıl vida atılacağı. Biliyorsunuz, plastik kolayca aşınabildiği için takılıp çıkartılabilen civata gibi elemanlar zamanla plastiği yıpratacağından buna bir çözüm bulmak gerekiyor. Ve çözümün adı insert somun, fakat istediğim boyutlardakileri çinden getirtmem gerekeceğinden ben bildiğiniz düz somun kullandım, bunlar için kasada yuvalar açtım ve sonradan somunları havyayla plastiğe gömdüm. Böylece civataları somunlara atabiliyorsunuz.

1720812032553.png


Kasa bittikten sonra plate'e geçtim, normalde 1.5mm kalınlığında iki parça olarak 3d yazıcıda basılacaktı fakat tek parça olmasını istediğimden lazer kesim ile çelik sacdan kestirdim. Böylece switchlerin takılabileceği katman bitmiş oldu.

1720812301506.png

1720812141665.png


Dizaynda gövde iki farklı malzeme kullandığı için bunları ayrı yaptırmam gerekti, iki adet ahşap desenli MDF ve çeşitli boyutlarda altın görünümlü pleksiglasstan plakalar kestirdim. Gerçek ahşap ve pirinç plakalar prototip için fazla olacağından en ucuz yoldan hallettim. MDF plakalar ise görsellik için sadece tek taraftan vidalı olduğundan diğer tarafta bir yuvaya oturup sabitleniyor, çok beğenmesem de iş gören bir çözüm oldu.

1720812208220.png

1720812242393.png

1720812379713.png


Ve en önemli kısım olan elektronik kısmı... Burada bir çok farklı seçenek var elbette ama ben pin sayısı fazla olduğu için Teensy 2.0++ kullandım. Switchler ise diyot matrisi şeklinde birbirlerine bağlı, teensy'ye bağlantıda ise dikeyde kolon başına 1, yatayda ise satır başına 1 adet kablo gerekiyor. Eğer diyotlar olmadan tek tek bağlamak isterseniz kablo sayısı 150 civarında oluyor, bu yöntemle yaklaşık 24-25 adet yetiyor ve daha verimli. Tek kötü tarafı micro usb olması, ben dişi usb-c soketi alıp lehimleyerek klavye kablosu çıkarılıp takılabilen usb-c olacak şekilde ayarladım.

1720810855497.jpeg

1720810815657.png

1720812319141.jpeg


QMK ile uyumlu işlemcisi olduğu sürece her geliştirme kartı kullanılabiliyor. Alternatifleri var ama ben en bilinen programlardan olan QMK kullanarak klavyenin kod kısmını tamamladım. Handwired klavyelerde her pinden gelen elektrik sinyalinin ne yapacağını tanımlamanız gerekiyor, matris sistemi varsa da pinleri ve dizilimdeki konumlarını kod içinde koordinat olarak belirtmelisiniz.

1720812465962.png

1720812544492.png


Sadece switch kullanıyorsanız burada iş bitiyor fakat bende hem knob hem de fare tekeri olduğundan biraz daha uğraştırdı, ayrıca caps lock için de kod yazmak gerekiyor. Knob için aım hassasiyeti ve her adımda ne kadar output vereceğini, teker için de mesafeyi aynı şekilde ayarlayabiliyorsunuz kod içinde. Caps lock için ise belirli koşula bağlı olarak ledleri toggle olarak açıp kapatabiliyorsunuz, ben ARGB led kullandım ama ışık beyaz renk oşacak şekilde ayarlı, buna efektler de verilebiliyor elbette (breathing, rainbow vs.)

Elbette kodun çalışması için çok uğraştım çünkü bu konuda pek tutorial yok, standart layoutlar için otomatik kod oluşturan bir site var ama hem eski hem de caps lock ledi veya knob gibi şeyleri ekleyemiyorsunuz orada. Ben de mecbur uğraşarak deneme yanılma ile çözdüm, artık sıkıntısız şekilde her gün kullandığım bir klavyem var ve bir prototip olarak bence gayet başarılı oldu. Elimdeki hissiyat ve ses olarak bence en güzel klavye bu, GMK-87, GMK-67, AK680, AK992 arasından kullanım keyfi olarak bunu seçtim her ne kadar pozitif ayrımcılık yapıyor gibi görünsem de :D

Ve işte karşınızda CRS-88 V1

-Outemu Maple Leaf Tactile Switchler
-Özelleştirilebilir makro tuşları
-NKRO desteği
-Çelik plate
-Modüler, değiştirilebilir üst panel
-Tamamen fonksiyonel knob (switchli) + fare tekeri

1720812711903.png

1720812736755.png

1720812755557.png

1720812820882.png

1720812793191.png


Ses testi:

Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.


Evet, son söz olarak söyleyeceklerim şunlar; bu bir prototip o yüzden görselde elbette eksikler var. Mesela 3d yazıcı için fazla büyük oldupundan kasa iki parça ve birleşim yeri kötü görünüyor, veya pleksi plakaların vidalandığında çatlaması gibi durumlar da görselliği etkiliyor. Fakat işlevsel olarak her şeyi tam olduğu için ben mutluyum, ileride kağıdımdaki farklı dizaynları da hayata geçirirsem burada paylaşacağım.

Okuduğunuz için teşekkürler.

Ayrıca 3d baskı hizmeti konusunda ilgisi ve yönlendirmesi için @Hamza Ensar Sağlam arkadaşımıza teşekkür ediyorum, kendisi sorduğum onca soruya yanıt verdi ve beklentimin üstünde gerçekten kaliteli ve özenli bir ürün gönderdi, kendisini bu konuda tavsiye ederim.
 
Merhaba, bugün size yaklaşık 2 ay süren klavye yapma projemi anlatacağım. Hazır PCB'li ve kasalı klavyelerden ziyade bu proje, kasa ve elektronik kısım dahil sıfırdan dizayn edilip yapılmış olduğu için bence çok daha özel.

İlk olarak proje kağıt üzerinde kendi dizilimimi (layout) nasıl yapardım diye düşünüp çizmemle başladı. İstediğim klavye TKL diziliminde fakat en az 2 makro tuşu, 1 adet knob ve mümkünse 1 adet fare tekeri olacak şekildeydi. Böylece istediğim tuşları ve eklentileri TKL dizilimine eklemeye başladım ve en çok kullandığım tuşlardan numpad enter tuşunu da en sağa ekledim.

Kağıttaki taslaktan sonra kasanın kuş bakışı görünümünde duvar kalınlıklarının kalınlıkları ve oranlarını ayarlamak için keyboard layout editor kullandım, burada az çok tuş arası mesafeler nasıl olacak görmüş oldum.

Eki Görüntüle 2250670

Artık elimde oranlar olduğu için figma üzerinde mockup şeklinde bir çizim yapmaya başladım, bu çizimde her standart tuş 1U = 100x100px olacak şekilde ayarlandı, 6.25u tuş 625x100px, 2.75u tuşlar 275x100px vs. mockup bittikten sonra bu retro stil dizaynda kullanabileceğim en güzel keycap seti olduğunu düşündüğüm mv EXPO keycaplerini teker teker kırptım ve tuşların olduğu yere yapıştırdım ve sonuç aşağıda göreceğiniz gibi.

Eki Görüntüle 2250684

Genel olarak ahşap+granit/beton tarzı endüstriyel ve retro bir görüntü olmasını istediğimden renk seçimi bu şekilde. Metal aksanlar ise pirinç veya alternatif olarak çelik olabilir diye düşündüm ama pirinç olan daha hoşuma gittiği için prototipi o şekilde yapmaya karar verdim.

Artık çoğu şey görsel olarak netleştiği için klavyeyi AutoCAD'de çizmeye başladım. Taban olarak keyboard layout Editor'den tuş diziliminin çıktısını almıştım, böylece switchlerin oturacağı Plate'in çizimi elimde vardı ve geriye sadece bu plate için kasa yapmak kalmıştı. Alttaki fotoğrafta da görüldüğü gibi Plate'e az da olsa Flex cut ekledim ve yana 2 adet diş ekledim çünkü o tarafta görselliği bozmamak için hiç vida kullanmadım o yüzden o tarafı geçmeli şekilde takılıyor kasaya.

Eki Görüntüle 2250680

Kasa, eski "retro" ürünlerde de çokça kullanılan hatlara sahip olacak şekilde tasarlandı. Üst kısımdaki ızgara görünümü commodore 64'te göreceğiniz hatların biraz daha sadeleştirilip modernleştirilmiş hali gibi düşünebilirsiniz. Kasa malzemesi olarak da alışılmışın dışına çıkıp marble filament kullanmak istedim.

Eki Görüntüle 2250707
Eki Görüntüle 2250700

Geriye kalan tek şey bu çizimleri 2D'den 3D'ye aktarmaktı bu yüzden Fusion360 kullandım. Bu programın en güzel tarafı CAD çizimlerinizi içeriye aktarabilmek, böylece çiziminizi extrude ederek ve sonradan modifiye ederek istediğiniz görüntüyü elde edebiliyorsunuz. Fakat parça sayısı arttıkça sorunlar da artıyor o yüzden yaklaşık 100 tane revizyon ile ancak final dizayna gelebildim. Knob ve fare tekeri yüksekliklerinin switchlerinkinden farklı olması içeride 3 farklı yükseklikte tabla olmasını gerektiriyordu, en çok bu zorladı diyebilirim. Bunun dışında güzel görünecek bir kutudan ibaret bir kasa yapmak yetiyor zaten.

Eki Görüntüle 2250690
Eki Görüntüle 2250704
Eki Görüntüle 2250705
Eki Görüntüle 2250711
Eki Görüntüle 2250738

Diğer sorunlardan birisi de plastik parçaya nasıl vida atılacağı. Biliyorsunuz, plastik kolayca aşınabildiği için takılıp çıkartılabilen cıvata gibi elemanlar zamanla plastiği yıpratacağından buna bir çözüm bulmak gerekiyor. Ve çözümün adı insert somun, fakat istediğim boyutlardakileri Çin'den getirtmem gerekeceğinden ben bildiğiniz düz somun kullandım, bunlar için kasada yuvalar açtım ve sonradan somunları havyayla plastiğe gömdüm. Böylece civataları somunlara atabiliyorsunuz.

Eki Görüntüle 2250728

Kasa bittikten sonra Plate'e geçtim, normalde 1.5mm kalınlığında iki parça olarak 3D yazıcıda basılacaktı fakat tek parça olmasını istediğimden lazer kesim ile çelik sacdan kestirdim. Böylece switchlerin takılabileceği katman bitmiş oldu.

Eki Görüntüle 2250735
Eki Görüntüle 2250730

Dizaynda gövde iki farklı malzeme kullandığı için bunları ayrı yaptırmam gerekti, iki adet ahşap desenli mdf ve çeşitli boyutlarda altın görünümlü pleksiglasstan plakalar kestirdim. Gerçek ahşap ve pirinç plakalar prototip için fazla olacağından en ucuz yoldan hallettim. Mdf plakalar ise görsellik için sadece tek taraftan vidalı olduğundan diğer tarafta bir yuvaya oturup sabitleniyor, çok beğenmesem de iş gören bir çözüm oldu.

Eki Görüntüle 2250733
Eki Görüntüle 2250734
Eki Görüntüle 2250740

Ve en önemli kısım olan elektronik kısmı... Burada birçok farklı seçenek var elbette ama ben pin sayısı fazla olduğu için teensy 2.0++ kullandım. Switchler ise diyot matrisi şeklinde birbirlerine bağlı, Teensy'ye bağlantıda ise dikeyde kolon başına 1, yatayda ise satır başına 1 adet kablo gerekiyor. Eğer diyotlar olmadan tek tek bağlamak isterseniz kablo sayısı 150 civarında oluyor, bu yöntemle yaklaşık 24-25 adet yetiyor ve daha verimli. Tek kötü tarafı Micro USB olması, ben dişi USB-C soketi alıp lehimleyerek klavye kablosu çıkarılıp takılabilen USB-C olacak şekilde ayarladım.

Eki Görüntüle 2250678
Eki Görüntüle 2250676
Eki Görüntüle 2250736

Qmk ile uyumlu işlemcisi olduğu sürece her geliştirme kartı kullanılabiliyor. Alternatifleri var ama ben en bilinen programlardan olan qmk kullanarak klavyenin kod kısmını tamamladım. Handwired klavyelerde her pinden gelen elektrik sinyalinin ne yapacağını tanımlamanız gerekiyor, matris sistemi varsa da pinleri ve dizilimdeki konumlarını kod içinde koordinat olarak belirtmelisiniz.

Eki Görüntüle 2250745
Eki Görüntüle 2250749

Sadece switch kullanıyorsanız burada iş bitiyor fakat bende hem knob hem de fare tekeri olduğundan biraz daha uğraştırdı, ayrıca Caps Lock için de kod yazmak gerekiyor. Knob için aım hassasiyeti ve her adımda ne kadar output vereceğini, teker için de mesafeyi aynı şekilde ayarlayabiliyorsunuz kod içinde. Caps Lock için ise belirli koşula bağlı olarak LED'leri toggle olarak açıp kapatabiliyorsunuz, ben ARGB LED kullandım ama ışık beyaz renk oşacak şekilde ayarlı, buna efektler de verilebiliyor elbette (breathing, Rainbow vs.)

Elbette kodun çalışması için çok uğraştım çünkü bu konuda pek tutorial yok, standart layoutlar için otomatik kod oluşturan bir site var ama hem eski hem de Caps Lock LED'i veya knob gibi şeyleri ekleyemiyorsunuz orada. Ben de mecbur uğraşarak deneme yanılma ile çözdüm, artık sıkıntısız şekilde her gün kullandığım bir klavyem var ve bir prototip olarak bence gayet başarılı oldu. Elimdeki hissiyat ve ses olarak bence en güzel klavye bu, GMK-87, GMK-67, AK680, AK992 arasından kullanım keyfi olarak bunu seçtim her ne kadar pozitif ayrımcılık yapıyor gibi görünsem de :D

Ve işte karşınızda CRS-88 v1.

-Outemu maple leaf tactile switchler.
-Özelleştirilebilir makro tuşları.
-Nkro desteği.
-Çelik plate.
-Modüler, değiştirilebilir üst panel.
-Tamamen fonksiyonel knob (switchli) + fare tekeri.

Eki Görüntüle 2250750
Eki Görüntüle 2250751
Eki Görüntüle 2250752
Eki Görüntüle 2250754
Eki Görüntüle 2250753

Ses testi:

Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.


Evet, son söz olarak söyleyeceklerim şunlar; bu bir prototip o yüzden görselde elbette eksikler var. Mesela 3D yazıcı için fazla büyük oldupundan kasa iki parça ve birleşim yeri kötü görünüyor, veya pleksi plakaların vidalandığında çatlaması gibi durumlar da görselliği etkiliyor. Fakat işlevsel olarak her şeyi tam olduğu için ben mutluyum, ileride kağıdımdaki farklı dizaynları da hayata geçirirsem burada paylaşacağım.

Okuduğunuz için teşekkürler.

Ayrıca 3D baskı hizmeti konusunda ilgisi ve yönlendirmesi için @Hamza Ensar Sağlam arkadaşımıza teşekkür ediyorum, kendisi sorduğum onca soruya yanıt verdi ve beklentimin üstünde gerçekten kaliteli ve özenli bir ürün gönderdi, kendisini bu konuda tavsiye ederim.


Çok güzel olmuş elinize sağlık, konuyu tam okuyamadım da size kaç TL'ye mal oldu?
 
Elinize sağlık. Gayet güzel olmuş klavye.

Sağ olun.

Bunun globale yayılması lazım. Gerçekten çok güzel olmuş, Custom klavye işini bambaşka seviyeye taşımışsınız.

Teşekkürler, ileride PCB'sini yaparsam kit olarak satmayı düşünüyorum farklı renk ve plakalar ile.

Çok güzel olmuş elinize sağlık, konuyu tam okuyamadım da size kaç TL'ye mal oldu?

Yaklaşık 4-4.5k civarında tuttu diyebilirim, malzemeler yurt dışı olmasa daha az olurdu ama çoğu dışarıdan olunca kargo ve vergi masrafı çok oluyor.
 
Gerçekten güzel olmuş. Klavyenizi gördükten sonra benim de bir tane yapasım geldi açıkçası.

Bu arada aklıma birkaç soru takıldı; knob ve fare tekerleğini ne için kullanıyorsunuz; Teensy 2.0++'ı nereden aldınız ve kaça geldi? Bir de QMK kodunuzu paylaşma imkanınız var mı?
 
Gerçekten güzel olmuş. Klavyenizi gördükten sonra benim de bir tane yapasım geldi açıkçası.

Bu arada aklıma birkaç soru takıldı; knob ve fare tekerleğini ne için kullanıyorsunuz; Teensy 2.0++'ı nereden aldınız ve kaça geldi? Bir de QMK kodunuzu paylaşma imkanınız var mı?
Knob ses açma ve kısma için, switch fonksiyonu da var ama ona bir fonksiyon atamadım, normalde mute için kullanıyorlar fakat zaten yndaki iki makro tuşum mute ve stop/play.

Tekerlek bildiğin fare tekerleği, kahve içerken falan bir yazı okuyorsam scrollamak için kullanıyorum sol elimle.

Teensy zaten klon çünkü artık üretilmeyen bir kart, aliexpressten almıştım yaklaşık 1k tuttu vergiyle.

Qmk kodunu paylaşmadım çünkü zaten tutorialden bakarak yapmıştım base tuşlar için, knob, scroll ve caps lock ledi kodları da deneme yanılma ile online dökümanlardan araştırarak yazdığım kodlar, pek verimli de değiller muhtemelen. Zaten bir sürü hazır şablon var QMK içinde, oradaki kodlar çok daha iyi eğer kullanmayı düşünürseniz.
 

Technopat Haberler

Geri
Yukarı