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

joshuara7235·6일 전
47

🤖만들어볼래요

목록 보기
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
인문학 하는 개발자 💻

12개의 댓글

comment-user-thumbnail
5일 전

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

1개의 답글
comment-user-thumbnail
5일 전

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

1개의 답글
comment-user-thumbnail
4일 전

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

1개의 답글
comment-user-thumbnail
3일 전

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

1개의 답글
comment-user-thumbnail
약 24시간 전

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

1개의 답글
comment-user-thumbnail
약 21시간 전

오빠 너무 멋져요

1개의 답글