스플릿 키보드를 제작하다.

Joshua_Kim·2023년 1월 24일
81

🤖만들어볼래요

목록 보기
1/1
post-thumbnail

0. 여러분 제 키보드좀 보고가세요 ⌨️

  • 완성된 키보드 모습 (영롱하다..🪄)

  • 내 방 데스크 모습. 매일 방에 앉아서 데스크셋을 봐도 질리지 않는다.

1. 서론 🌱

문제의 시작 🍊

  • 개발자라는 직종은 평생 컴퓨터를 보면서 키보드를 사용하는 사람들이다.
  • 특히, 키보드를 사용하게 되면 어깨가 말리고 손목은 꺾이게 되는 자세를 할 수 밖에 없다.
  • 내가 어깨가 넓은 편이 절대 아님에도 불구하고, 키보드를 사용하게 되면 어깨를 모을 수 밖에 없고, 팔을 모은 후에 키보드를 치게 된다면 손목이 밖으로 꺾일 수밖에 없다.
  • 나는 특히 어깨 말림 현상이 커서 목까지 통증이오게 되었다. 흑흑.. 😢
  • 평생 개발을 하면서 살아야할텐데, 문제를 해결 해야했다.

스플릿 키보드 ..? 😯

  • 고통을 받고 있던 차에, 스플릿 키보드 라는 녀석의 존재를 알게 되었고, 눈이 휘둥그레 해졌다.

  • 데스크셋을 꾸미기 좋아하고, 무조건 이쁜걸 추구하는 나로서는 그냥 쪼개진 키보드가 아니라, 이쁜녀석이 필요했다. 🤔

  • Moonlander, Dygma Defy 등의 기성품이 딱 내 스타일이었는데, 문제는 절망적인 가격이었다.. 대략 40~50만원..

  • 이것 저것 찾던중, 스플릿 키보드라는 것을 만드는 사람들이 있다는 것을 알게 되었고, 뭐가 뭔지 아무것도 모르는 백지 상태로 무작정 만들어 보겠다고 덤볐다.

  • 지성이면 감천이라고 했나,

  • Velog 를 통해 스플릿 키보드를 제작했던 한 분과 이메일로 소통을 하게 되었고, 너무나 감사하게도 정말 친절히 차근차근 필요한 부품과, 정보를 알려주셨다. 게다가 직접 만나서 한 번 만나서 만들어보자는 제안까지 해주셨다. (무한 감사..🙏🏻)

2. 사전 작업 🔧

키보드 배열 선택하기 🍎

  • 키보드를 만들기 전, 어떤 키보드를 만들지 선택을 해야한다.

  • 생각보다 정말 엄청난 키보드 덕후들이 많았고.. 😳 스플릿 키보드 해외 커뮤니티도 꽤나 활발했다.
    - 해외 스플릿 키보드 커뮤니티 : https://golem.hu/

  • 내가 선택한 키보드는 ErgoDash 라는 모델이었다.
    - https://golem.hu/board/ErgoDash-45.html

  • 오픈소스로 본인이 만든 키보드 정보를 Github 에 공유를 하고 있고, 리소스를 통해 기판 정보와 키보드 바디 정보, 키매핑 정보, 그리고 제작 가이드등 제작에 필요한 모든 정보를 확인 할 수 있다.


부품 모으기 ⚙️

키보드를 제작하기 위해서는 다음과 같은 부품들이 필요하다.

1) 아두이노 프로 마이크로 (5v) 2개
- 대략 5천 ~ 6천원
- 만약, USB C 타입으로 하길 원한다면 개당 12000원 정도다.
- 지금 만든 키보드는 마이크로 5핀으로 제작하였는데, 다음에 만들 녀석은 C 타입으로 제작할 예정이다.

2) 스위치 70알
- 대략 3 ~ 4만원
- 3핀, 5핀 상관 없음
- 핫스왑이 아니므로 (핫스왑으로 만드는 방법도 있지만 내가 만든 방법은 납땜으로 박아버리는 방법) 스위치 배열을 잘 생각해야한다.

3) 이쁜 (중요!!) 키캡 1세트
- 키캡은 무조건 이쁜걸로 준비한다.
- 키보드 배열이 일반 키보드와 다르므로, 1u 키가 넉넉하게 있어야한다. 다 네모난걸루 !!

4) 아크릴 키보드 바디 1세트
- 아크릴 제작업체에 맡기게 되면 대략 1세트가 15000원 정도 나온다.
- 해당 키보드 바디는 공유된 Github 에 일러스트파일로 공유되어있다.

5) PCB 도면 2장
- 중국에 맡기는게 가장 저렴한데, 배송비가 좀 든다.
- 배송비 포함해서 대략 2 ~ 3만원 이라고 생각하면 된다.
- 마찬가지로, 해당 도면 역시 Github 에 파일이 공유되어있다.

6) PJ320D 단자 2개
- 양쪽 키보드는 aux 케이블로 통신을 하는데, 해당 단자를 통해 aux 케이블을 연결한다.
- 대략 3000원 정도다

7) 1N4148 다이오드 70개
- 키보드 구성에 반드시 필요한 다이오드다.
- 대략 2000원 정도다.

8) 케이블
- Aux 케이블 1개 - 가격이 천차만별 (이쁜거 사게되면 좀 비싸다)
- 키보드 케이블 - 나는 코일케이블이 로망이라.. 비싼걸로 샀다..ㅋㅋ...🤖

👉🏻 나만의 키보드를 만드는 소요 비용 : 대략 10만원


메이커 스페이스 섭외 🔧

  • 본격적으로 납땜을 하기 위해서는 장소를 섭외를 해야한다.

  • 메이커 스페이스라는 곳을 섭외해서 작업을 하면 좋다.

  • 나는 지인 찬스를 활용해서 상대적으로 손쉽게(?) 메이커 스페이스를 섭외할 수 있었다.

  • 역시 인생은 인맥이다. 🥹
    - 메이커 스페이스 한 곳을 직접 구상하고 만드신 분이 내 은사님이라니...ㅋㅋㅋㅋㅋ

3. 키보드 조립

자, 이제 시작해볼까 😄

납땜 !! 땜땜

  • 납땜을 해야할 것은 4가지다
    - aux 단자, 다이오드, 아두이노, 키보드 스위치

aux 단자 및 다이오드 납땜

aux 단자를 납땜한다.
다이오드를 납땜하는데, 주의할 점은 네모난 구멍에 검은색 다이오드 단자 방향이 향하도록 납땜해야한다.


아두이노 및 키보드 스위치 납땜

빨간색이 아두이노, 파란색이 스위치를 납땜한 부분이다.
아두이노는 납땜 후에 다리를 자르지 않은 사진이다.
반드시, 아두이노 납땜을 완료 한 후에 다리를 잘라주어야 한다.
키보드 스위치 납땜 시에는 아크릴 바디와 함께 위쪽 기판을 합친 채로 조립해서 납땜을 해야한다.


납땜 후 전면 모습


하강판을 맞춰서 나사로 조립을 하고 키캡을 조립하면 키보드는 완성이 된다.

👉🏻 키보드 본체 완성 !!

4. 펌웨어 업로드 및 키 매핑

본체로 끝이 아닙니다. 😳

  • 키보드 본체를 완성했다고 끝이 아니다.

  • 아두이노에 펌웨어를 업로드를 해야하고, 키매핑 설정을 해줘야 제대로 작동한다. 🤖


QMK


$ brew install qmk/qmk/qmk
  • qmk 를 인스톨 한다.


$ qmk setup
$ qmk new-keymap -kb omkbd/ergodash/rev1 -km ${키맵이름}
  • qmk 명령어를 통해 새로운 키매핑을 생성한다.
  • 내가 사용할 키보드는 ergodash 이고, 이 키보드에 생성할 키맵 네임을 지정하여 생성해준다.


$ cd /Users/joshua/qmk_firmware/keyboards/omkbd/ergodash/rev1/keymaps/${키맵이름}
  • 키맵을 생성하면, 키맵이 생성된 경로가 출력이 되는데, 해당 경로로 이동한다.
  • 해당 경로로 이동하면 파일들이 나오는데 VSC 를 열어서 키매핑을 설정하자.

config.h 설정 (스플릿 키보드 설정)

config.h

#pragma once

/* Select hand configuration */

#define USE_SERIAL

#define SPLIT_USB_DETECT
#define MASTER_LEFT
// #define MASTER_RIGHT
// #define EE_HANDS
  • config.h 파일은 업로드할 펌웨어의 설정이 담겨있다.
  • 만약 키보드와 컴퓨터를 연결할 케이블이 우측이라면 MASTER_LEFTMASTER_RIGHT 로 설정하면된다.

keymap.c 설정 (키매핑)

  • keymap.c 파일을 열면 키매핑을 할 수가있다.

키코드 : https://github.com/qmk/qmk_firmware/blob/master/docs/keycodes.md
- 위의 주소에서 매핑할 키코드를 찾아 매핑해주면 된다.

  • _QWERTY 는 기본 키, _LOWER 는 왼쪽 펑션키를, _RAISE 는 오른쪽 펑션키를 누르면 출력되는 키

키보드에 펌웨어 컴파일

1. 키맵 컴파일

- qmk compile -kb omkbd/ergodash/rev1 -km ${키맵 이름}

2. qmk Toolbox 실행시키고 위에서 compile한 .hex파일 열기

3. 키보드를 연결하여 업로드

  • 키보드를 컴퓨터와 연결 한 후, 아두이노에 점퍼로 전류를 통과시키면 QMK Toolbox 가 인지한다.
  • 키보드 연결 후 점퍼로 연결 시킨후에 FLASH 버튼 클릭 후에 다시 점퍼로 연결해서 disconnected 시킨다.
  • 같은 과정을 남은 한 짝에도 똑같이 진행한다.

⚠️ 주의 : 키보드 하나씩 연결 할 것.

⚠️ 주의 : 키보드 업로드 후, disconnected 된 후에 확인 하고 키보드 연결 끊을 것 ! 박살난다..🙋🏻‍♂️

5. 마무리 🍉

부품 주문과 메이커스페이스 섭외 등 신경 쓸 부분이 많았다.
특히, 제작하는 시간은 대략 7시간 정도.. (납땜도 꽤 걸렸지만 펌웨어를 업로드하는 것에서 꽤나 삽질을 했다. config 파일때문에 부들부들..)

정말 생각보다 더 할게 많고, 힘이들고, 어려웠지만, 결과는 정말 대만족이다. 🎉
일단은 어깨 통증이 사라졌고, 업무 피로도가 정말 많이 줄어들었다.
키보드 배열에 익숙해지는데 1주일 정도가 걸렸고, 이젠 기성 키보드를 사용하는 것이 너무나 어색하다.

장점 🌱

  • 개이쁘다

  • 어깨통증, 손목통증의 근본적인 원인을 해결 할 수 있다.

  • 아주 저렴한 가격대로 본인이 원하는 스펙의 스플릿 키보드를 만들 수 있다.

  • 찐개발자 스멜로 개발할 수 있다.

단점 ⚓️

  • 시간, 노력, 공수가 많이 필요하다.

  • 적응하는데 시간이 꽤나 걸린다.

  • 기성 키보드 사용할 때 심히 불편함을 느낄 수 있다.

앞으로..

  • 다음 키보드 제작을 준비하고 있다.

  • 다음에 만들 키보드는 LED 도 넣고, C 타입 아두이노로 만들 생각이다.

  • 키보드 스위치는 지금 쓰는 녀석은 저소음 적축인데, 다음에 만들녀석은 백축과 청축을 섞어 쓸 예정이다. (만들게 되면 아마 또 키보드 제작글 올릴듯..? )

profile
인문학 하는 개발자 💻

34개의 댓글

comment-user-thumbnail
2023년 1월 25일

우와 너무 멋져요.. 저도 다음 키보드는 DIY 도전해봐야겠습니다!

1개의 답글
comment-user-thumbnail
2023년 1월 25일

최고입니다...!! 저도 만들어 주세요

1개의 답글
comment-user-thumbnail
2023년 1월 26일

와...저도 분리형 키보드가 가지고 싶었지만
기본 가격 최소 50만 이상이라 미루고 있는데 진짜 멋지십니다!
현재 가격 10만원이라니 저도 욕심나요 :)

1개의 답글
comment-user-thumbnail
2023년 1월 27일

이야... 키보드의 끝은 커스텀이었군여..

1개의 답글
comment-user-thumbnail
2023년 1월 29일

완전 멋있습니다...👍🏼

1개의 답글
comment-user-thumbnail
2023년 1월 29일

오빠 너무 멋져요

1개의 답글
comment-user-thumbnail
2023년 1월 31일

This works really well for me

1개의 답글
comment-user-thumbnail
2023년 2월 1일

와우 최고십니다..! 개발자는 키보드가 중요하단 걸 알고 있었는데 DIY라니..ㄷㄷ 잘 봤습니다!

1개의 답글
comment-user-thumbnail
2023년 2월 2일

너무 멋집니다!

1개의 답글
comment-user-thumbnail
2023년 3월 7일

와 너무 멋있는데요? 그런데 'ㅠ' 칠때는 왼손으로 치시나요?!

1개의 답글
comment-user-thumbnail
2023년 4월 6일

안녕하세요!! 이번에 제작하려고 하는데 PCB 도면은 어떻게 제작의뢰를 맡기셨을까요?

1개의 답글
comment-user-thumbnail
2023년 5월 4일

혹시 아크릴 재단업체를 알수 있을까요? 제가 견적을 받아보니 6만원 이상 들어서요

1개의 답글
comment-user-thumbnail
2023년 5월 19일

저랑 비슷한 시기에 만드셨군요. 저는 제품은 아니고. 다른 분이 제공하는 가이드를 따라서 만들었는데 키보드를 의자에 붙였어요. 그랬더니 선이 불편해서 이제는 무선 구현 알아보고 있네요. 똑같이 QMK 하시는 분은 처음 봐요. 종종 들를께요.

1개의 답글
comment-user-thumbnail
2023년 5월 23일

와...멋있습니다.. 저는 손재주가 없어 중고물품 보고있는데 매물이 없네요.. 혹시 판매계획 있으시면 구매의향있습니다ㅜㅜ

1개의 답글
comment-user-thumbnail
2023년 6월 17일

안녕하세요! 이 글 보고 저도 ergodash 제작하고있는데요..! 여쭤보고싶은게 있습니다!
1. reset 스위치는 달지 않으셨나요?? 필요없는 부품인가요?
2. qmk 펌웨어 설치할때 키보드 pc 연결시 점퍼를 이용해서 연결하신다고 하셨는데.. 혹시 점퍼라는게 뭔지 알려주실수 있나요..?

1개의 답글
comment-user-thumbnail
2023년 7월 17일

언제 한 번 커스텀 키보드 만드는 소모임 열어주세요~ 저도 만들고 싶은데 엄두가 안나네요 ㅠ

1개의 답글
comment-user-thumbnail
2023년 12월 18일

와. 이쁜 키보드네요. 저도 만들어보고 싶은데 도움 주실 수 있으세요?

답글 달기