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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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
Ses testi:
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.
İ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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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
Ses testi:
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.