디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

[스압] 60배열 오쏘리니어 키보드 제작

ㅇㅇ(220.72) 2023.04.09 23:10:01
조회 9825 추천 50 댓글 100

지난번 만든 넘패드에 이어, 오쏘리니어 60% 레이아웃 키보드도 제작 완료했습니다.

넘패드 + 적층식 아크릴 케이스 제작 후기 : https://gall.dcinside.com/mechanicalkeyboard/1375614

미리 스압임을 알려드리며, 제작기를 적어 볼까 합니다.


1. PCB 디자인 및 주문


a15714ab041eb360be3335625683746f0753452dd6a6ef89d63061f8991dcd6e79262f28a52573756323841a3f


회로도는 Kicad 7.0으로 그렸습니다.

처음 회로도를 그리기 전에, 회로도는 키보드의 여러 스위치를 mcu에서 구분하여 인식할 수 있도록 하는 설계라는 것을 공부했습니다.

그 후 설계를 진행하며 모자란 지식은 구글링으로 보충했습니다

깃헙에서 keyboard kicad design 뭐 이런 키워드로 검색하면 굉장히 많은 kicad project가 나오는데, 그런 프로젝트들을 많이 참고했습니다.

키 스캐닝 방식은 넘패드에 사용한 것과 같은 시프트 레지스터 방식을 채택했습니다.

펌웨어가 시프트 레지스터 스캐닝 방식을 지원한다면, 키가 몇개든 mcu에 핀을 3개만 연결하면 됩니다.

vcc/gnd 포함 5개의 핀만으로 모든 키 스캐닝이 가능하므로, 제가 선택한 xiao rp2040같은 지원 핀 수가 적은 mcu를 사용할 수 있습니다.


Kicad에서 해야 하는 일은 다음과 같습니다.

1. 논리 회로도 그리기

2. 심볼에 풋프린트 할당

3. 풋프린트 배치

4. 배선 연결

5. 엣지컷 설정

6. 나머지 부분 GND로 채우기 (채움 영역 설정)

7. pcb 주문용 gerber 파일 생성


viewimage.php?id=20b8d32ee4dc31a56fb3ddb00fd32b3c99ba&no=24b0d769e1d32ca73cea83fa11d0283194e703ddecc64e07c2355c5f7036f0bd410bce863b8753378868993ac63d067346e5e2c5b18c4652e7111ee534b114b239572fcc7901f0175a8d460a3d

먼저 논리 회로도를 이렇게 그리고, 풋프린트를 할당하여 풋프린트 배치를 진행하였습니다.

풋프린트를 배치할 때 오차 없게 예쁘게 배치하는 방법이 있습니다.

기본적으로 1u 는 19.05기 때문에, 사용자 그리드의 크기를 19.05의 1/8인 2.38125로 해주면 됩니다.

그러면 0.25 단위로 끊어지는 키의 풋프린트도 예쁘게 배치할 수 있습니다.


a15714ab041eb360be3335625683746f0753452dd6a6e389d53467f39d11cd6e04450288420b68927a4eefd4ce

엣지컷(pcb의 외곽선)은 키보드 풋프린트를 딱 맞게 감싸는 사각형으로 그린 다음, 0.5mm씩 안으로 오프셋을 주었습니다.

이론적으로 딱 맞게 구성하면 나중에 하우징과 간섭이 생길 수 있기 때문입니다.



a15714ab041eb360be3335625683746f0753452dd6a6e389d53467f39811cd6e3921a5e7a9aa84efa2848f46cf71

채움 영역을 그릴때 채우기 유형을 해치 패턴으로 하고 너비와 간격을 잘 지정하면 요렇게 이쁜 사선 모양으로 채워집니다.

완성된 키보드에서는 안 보이는 영역이지만, 추가금이 드는 것도 아니고 자기만족으로 해봤어요.


거버 파일을 생성할 때는 직접 설정해도 되지만, 유저 플러그인을 사용해도 됩니다. 

kicad에서 pcb 주문에 필요한 파일을 자동 생성해주는 플러그인을 다운받아 사용했습니다.

보통 대부분의 pcb 제작 업체가 zip 거버 파일과 bom/cpl 파일을 필요로 하는데, 이것들을 자동 생성해 줘서 굉장히 편합니다.


주문할때, SMT 포지션이 잘 안맞을 때가 발생합니다. 잘 확인하여 살짝살짝 움직여 줘도 되고, CPL 파일에서 직접 수치를 수정해 줘도 됩니다.

저는 이것도 수치를 수정하는 파이썬 파일을 찾아서 살짝 수정하여 이용했는데, 부품마다 다를 수 있으므로 잘 확인하여 직접 움직여 주는게 편할수도 있습니다.


2. 보강판 및 하우징 제작


비용과 편의성 등의 문제로, 적층식 아크릴 구조로 보강판 및 하우징을 제작했습니다.

무료 2D 캐드 디자인 프로그램인 Nanocad 5.0 버전을 사용했습니다.

마찬가지로 하나도 모르는 백지 상태에서 시작했기 때문에, 유튜브에서 키보드 보강판 설계라고 검색하면 나오는 영상을 참고했습니다.

키보드 하우징을 설계하는데 필수적으로 알아야 할 지식 등이 많아 안 보면 큰일날 뻔 했네요.


적층식 아크릴 케이스를 설계할때 주의했던 점이 있습니다.

아크릴 보강판은 5T가 기본인데, 5T 보강판의 경우는 pcb 결합 방식의 스테빌을 사용하여야 하고,

그때 스테빌 결합이 보강판과 간섭이 없도록 해야 합니다.

이런 디자인을 직접 그릴 수도 있겠지만, https://plate.keeb.io/ 에서 쉽게 뽑을 수 있는 방법이 있습니다.

keyboard-layout-editor의 레이아웃 raw data를 위 사이트에 넣어주고, 스테빌라이저 컷아웃 타입을 5mm plate로 넣어주면 5T 두께에 맞는 보강판 디자인을 쉽게 뽑을 수 있습니다.

이것을 Download DXF 버튼을 눌러 dxf 파일로 저장한 다음, nanocad에서 불러와서 철심 방향 바꿀 스테빌은 바꾸고, 테두리만 그려주면 보강판이 완성됩니다.


a15714ab041eb360be3335625683746f0753452dd6a6e389d53760f69d13cd6e84527c206be1c17b96965ec954

저는 5T 통 아크릴 보강판을 할까 하다가, mcu 납땜부분 확보 등으로 인해 상단보강판 2T + 하단보강판 3T로 나누었습니다.

하단 보강판 3T는 위에서 말한 대로 5mm plate로 받았고, 상단보강판은 3mm plate로 지정했습니다.

컷아웃은 모두 1mm로 하여 꼭지점을 부드럽게 처리했습니다.


plate.keeb.io가 그려주는 보강판은 스테빌 철심 방향이 반대인 경우에 대한 디자인은 포함하고 있지 않습니다.

그래서 dxf로 내려받은 도면을 수정해야 할 일이 생길 수도 있습니다.

저는 하단 스플릿 스페이스바 두개는 모두 철심 방향을 하단에서 상단으로 바꾸었습니다. 그래서 완성된 nanocad 보강판을 보면


a15714ab041eb360be3335625683746f0753452dd6a6e289d63460f19d12cd6e6b6e9b21cd2cedeadbd15da5

이렇게 생겼습니다.


아크릴 적층식 하우징의 디자인을 구글링해 보면, 레이어별로 계단식으로 한 구조가 있고, 일자로 떨어지는 구조가 있습니다.

개인 취향인 것 같은데, 저는 그냥 일자로 떨어지도록 깔끔하게 설계했고, 상단 여백은 15mm, 그 외 여백은 모두 10mm로 설정했습니다.

M3 스페이서가 들어갈 구멍을 확보해야 하기 때문에 최소 10mm 정도는 주어야 할 것 같았습니다.


viewimage.php?id=20b8d32ee4dc31a56fb3ddb00fd32b3c99ba&no=24b0d769e1d32ca73cea83fa11d0283194e703ddecc64e07c2355c5f7036f0bd410bce863b8753378868993ac63d067346e5e2c5b1e12a57e81d1ce337b414bc03369bf0183045656546422cd5bb

키보드 본체의 하우징은 총 6레이어로,

보강판 레이어 2개를 중심으로, 상판 3T 하나, 5T 하나, 하판 3T 하나, 5T 하나로 구성했습니다.

보강판 레이어는 투명, 상/하판의 3T짜리는 아스텔(불투명), 5T는 반투명 아크릴로 선택했습니다.


키보드의 세로 길이를 계산하여 자경을 5.5도 정도로 주려고 하니, 9mm 정도의 뒷굽 높이를 주면 되는 것으로 계산이 나오더라구요.

그래서 3T 두께의 뒷굽 3장을 붙였습니다. 총 아크릴 판은 9장이 나오도록 디자인했네요.



a15714ab041eb360be3335625683746f0753452dd6a6e389d53660f69d1ccd6ee52ec44fc0c565294f287e143c64

주문하기 전에 fusion360(무료버전이 있음) 등으로 dxf 파일을 3D로 변환한 다음 조립 기능을 활용하여 스페이서 삽입부 등이 잘 맞는지, 

생각하던 레이아웃대로 잘 나오는지를 확인했습니다.

이상한 점은 딱히 발견되지 않아, 그대로 주문.



3. 펌웨어 적용


펌웨어는 kmk를 선택했습니다. kmk는 시프트 레지스터 스캐닝 방식을 지원하는데, 이미 pcb 설계시에 어느 정도 염두를 하고 설계를 진행한 것도 있습니다.

kmk 펌웨어로 레이어별 키매핑을 프로그래밍한 다음 펌웨어 documents의 설치 가이드를 따라 펌웨어를 rp2040에 설치했습니다.

그다음 역시 공식 문서를 참고하여 boot.py와 main.py를 생성하여 키매핑을 구성한 다음 rp2040에 넣어주었습니다.


a15714ab041eb360be3335625683746f0753452dd6a6e389d53667f79815cd6eb76e00ca773bb0564ff51218ec

저는 개발자라서 그렇게 어렵지는 않았는데, 그래도 여기저기 찾아보면 또 샘플 코드가 많으니 참고해서 빠르게 진행했습니다.

qmk/via 매핑이 아직까지는 안 되는 것 같은데, 키 매핑을 수시로 변경하는 것도 아니고, 그냥 조금 불편함을 감수하기로 했습니다.



4. 빌드



06bcdb27eae639aa658084e544827469d168cc211e967e5f7a0e79051703eaa4e52ce40a28a9092e27c6ee77

PCB에 MCU를 납땜하기 위해 핀 헤더가 필요하고,

하우징을 제작할 때에 하우징 결합용/자경용 뒷굽 결합용으로 뚫어둔 구멍을 채우기 위해 M3 육각 스페이서 8개, M4 육각 스페이서 3개, M3 나사 16개, M4 나사 6개가 필요했습니다.

스페이서의 길이는 예를 들어 스페이스가 연결할 하우징의 두께가 20mm면 18mm 정도로 1~2mm 짧은 길이를 가진 것을 선택했습니다. 아크릴 재단의 두께가 딱 맞춰 떨어지지 않기 때문입니다. 

딱 맞게 했다가 아크릴 두께보다 길이가 더 길면 줄톱으로 갈아내야 하는 등 귀찮습니다.

딱 맞춘 갯수로 주문하려다가, 불량품 끼어 있으면 또 주문해야 하는 번거로움이 있어 그냥 넉넉하게 1.5배수로 주문했습니다.

그리고 아크릴이 바닥에 바로 닿으면 소리도 시끄럽고 덜그럭거리므로 충격흡수 3M 범폰도 주문했습니다.

스위치는 물왕, 스테빌라이저는 줄테빌, 키캡은 Ghost Judges Botanical Garden을 선택했습니다.



06bcdb27eae639aa658084e544827469d168cc211e967e5f7a0e79056659a8edddbf4a3234a89433834c4e80c5d740

먼저 PCB에 mcu를 납땜해 주었습니다. 원형 핀 헤더를 PCB에 납땜한 다음, MCU를 핀헤더에 납땜했습니다.

납땜할 땐 몰랐는데, 지금 보니 수평이 정확히 맞지는 않네요. 어차피 안 보이는 부분이니까 잊어버리기로 했습니다.



06bcdb27eae639aa658084e544827469d168cc211e967e5f7a0e79056659afed8209caa2bf6825ff51a5255bd909c8


그다음 PCB에 스테빌을 결합하고, 보강판에 PCB와 스위치를 결합했습니다.

보강판 상단/하단을 주의하여 조립하고, 먼저 네 귀퉁이의 키캡을 조립하여 PCB를 고정해 주었습니다.

스위치를 결합할 때 카일 핫스왑 소켓을 눌러서 혹시나 PCB에서 떨어지지 않도록 하는게 좋습니다.



06bcdb27eae639aa658084e544827469d168cc211e967e5f7a0e79056659adedea748f766b6a9569ac2556cc4e2b61

물왕도 투명하고 보강판도 투명해서 예쁘네요.

이제 뒷굽부터 쌓으면서 올라옵니다. 적층식 아크릴 하우징은 쌓는 맛이 있어 알루하우징과는 또 다른 재미가 있습니다.

모두 쌓은 다음 키캡을 결합하면 완성.


06bcdb27eae639aa658084e544827469d168cc211e967e5f7a0e79056659a3edfb64923be0ad891bf0ef9e4c03be98



5. 후기




06bcdb27eae639aa658084e544827469d168cc211e967e5f7a0e79056658a9edfbba93caf4a6e973d8db67b89ec6bc

첫 오쏘리니어라 오타가 엄청 나는데, 손가락이 꺾이는 것은 훨씬 덜 해서, 적응하면 기존 키보드보다 손가락에 가는 부담이 좀 더 줄어들 것으로 기대하고 있습니다.

눈에 나사가 결합된 것도 그대로 보이고, 아무래도 공동제작하는 여러 커키보다는 부족한 점이 많지만, 그래도 직접 만든 거라 제 눈에는 되게 예뻐보이네요.


06bcdb27eae639aa658084e544827469d168cc211e967e5f7a0e79056658aeeda358f60985ac2a02a967c0be54471c

이건 먼저 만들었던 넘패드와 나란히 배치한 것입니다. 하우징 높이 규격등은 같아서 딱 맞게 잘 떨어지네요.


첫 목표로 했던 60배열 키보드 제작이 끝났습니다.

백지 상태에서 1년 정도면 만들수 있지 않을까? 했는데, 생각보다 그렇게 어렵지 않고 참고할 만한 자료들이 워낙 많아서 금방 만들 수 있었던 것 같습니다.

1년 목표로 잡은 거라 시간이 많이 남았는데, 남은 올해동안 또 다른 키보드를 만들어 볼까 합니다.

다음번에는 앨리스 배열을 만들어 볼까 하는 생각만 하고 있습니다.


긴글 읽어주셔서 감사합니다.



출처: 기계식키보드 갤러리 [원본 보기]

추천 비추천

50

고정닉 25

18

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 시세차익 부러워 부동산 보는 눈 배우고 싶은 스타는? 운영자 24/05/27 - -
217487
썸네일
[국갤] 개버린 문재인 "반려동물 끝까지 돌봐야" 논란
[667]
헬기탄재매이갤로그로 이동합니다. 03.23 28084 742
217485
썸네일
[이갤] 스압) 로스트미디어 1층을 알아보자...jpg
[55]
정복자캉갤로그로 이동합니다. 03.23 13820 19
217483
썸네일
[싱갤] 모스크바에서 IS 총격테러 노러시안 진행중!!
[739]
굿바이마리아갤로그로 이동합니다. 03.23 52109 317
217482
썸네일
[국갤] 뭔 이건 ㄹㅇ 말하는거마다 살벌함이 느껴지노
[472]
홍앵두갤로그로 이동합니다. 03.23 47395 692
217478
썸네일
[싱갤] 의외로 불법인것들
[384]
97갤로그로 이동합니다. 03.23 45502 254
217477
썸네일
[카연] 옆자리 여자애가 엘프가 된 만화 59~61화.manhwa
[41]
토끼귀남자갤로그로 이동합니다. 03.23 13977 52
217475
썸네일
[발갤] 한편... 한국에서의 D&D (TRPG)는... (털 주의)
[104]
ROTARING갤로그로 이동합니다. 03.23 19618 114
217473
썸네일
[의갤] 의사단체가 텔레그램 채팅방서 파업 전공의 구직 알선-비밀 후원
[251]
의갤러(223.38) 03.23 25157 319
217472
썸네일
[디갤] 봉은사의 동박새
[55]
ㅇUㅇ갤로그로 이동합니다. 03.23 7337 57
217470
썸네일
[싱갤] 훌쩍훌쩍 돌아가신 할머니를 2년간 찾는 진돌이
[220]
InsideOut갤로그로 이동합니다. 03.23 23759 240
217468
썸네일
[이갤] 스압) 대한민국 축구 국대의 미스터리...jpg
[314]
정복자캉갤로그로 이동합니다. 03.23 26593 66
217466
썸네일
[디갤] 새로운 앱 테스트 겸 오랜만에 사진
[15]
자바시티갤로그로 이동합니다. 03.23 10410 11
217464
썸네일
[싱갤] 싱글벙글 기안84 본가에 있는 포메라니안.jpg
[194]
수인갤러리갤로그로 이동합니다. 03.23 34318 250
217460
썸네일
[이갤] 의사가 말해주는 간헐적 단식
[327]
당돌갤로그로 이동합니다. 03.23 38886 154
217458
썸네일
[인갤] <스펠봄버> 개발일지 #1 - 신작 기획
[28]
Boofer갤로그로 이동합니다. 03.23 7099 44
217456
썸네일
[F갤] RB20은 어떻게 F1을 지배하고있나 (feat.사이드포드)
[59]
ㅇㅇ갤로그로 이동합니다. 03.23 10702 123
217454
썸네일
[키갤] 대충 2차전 후기
[42]
킹갓화분갤로그로 이동합니다. 03.23 12541 98
217452
썸네일
[싱갤] 싱글벙글 국장 역대급 사태 발생
[254]
치킨트레이더갤로그로 이동합니다. 03.23 47999 416
217450
썸네일
[기갤] 힐링되고 유익했던 놀면뭐하니 제주한끼편
[95]
긷갤러(211.234) 03.23 15992 43
217448
썸네일
[일갤] 그간 일본에서 찍은 사진들
[30]
쌍화탕갤로그로 이동합니다. 03.23 10358 42
217446
썸네일
[카연] 복학생 만화.manhwa
[36]
0빈빈0갤로그로 이동합니다. 03.23 13164 18
217444
썸네일
[싱갤] 싱글벙글 한남 양준혁 레전드...jpg
[199]
ㅇㅇ갤로그로 이동합니다. 03.23 58676 407
217440
썸네일
[디갤] 여행사진 마지막(17pic)
[31]
수선갤로그로 이동합니다. 03.23 8643 20
217438
썸네일
[군갤] (스압) 눈팅군붕이 러시아 중앙해군박물관 갔다옴.
[50]
bolby갤로그로 이동합니다. 03.23 15763 68
217436
썸네일
[카연] (약스포) 스파이패밀리 극장판 본 만화
[89]
주똥구리갤로그로 이동합니다. 03.23 25231 60
217434
썸네일
[싱갤] 싱글벙글 쏘가리..jpg
[157]
ㅇㅇ(211.177) 03.23 39283 173
217432
썸네일
[S갤] 뉴비 데나노 버튼 만들기
[39]
mansu갤로그로 이동합니다. 03.23 12534 23
217430
썸네일
[야갤] 신축되는 KBO 프로야구 경기장 4개
[241]
ㅇㅇ갤로그로 이동합니다. 03.23 24072 95
217428
썸네일
[이갤] 일화 하나하나가 레전드인 야구선수...jpg
[140]
정복자캉갤로그로 이동합니다. 03.23 32150 268
217426
썸네일
[싱갤] 싱글벙글 여자인지 남자인지 몰랐다는 부산 돌려차기남
[552]
ㅇㅇ(110.76) 03.23 67239 341
217422
썸네일
[부갤] 찢재명, "중국 건드리지말라" ㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷ
[2222]
ㅇㅇ(106.102) 03.23 48950 1881
217418
썸네일
[필갤] [WEBP] 켄트미어 400 리버설
[23]
ND4갤로그로 이동합니다. 03.22 6277 13
217416
썸네일
[싱갤] 싱글벙글 의협 "현정부 , 대한민국 정부로 인정 않겠다"
[991]
ㅇㅇ갤로그로 이동합니다. 03.22 37628 705
217414
썸네일
[식갤] 당근 미스테리 후기
[149]
ㅈㅉ(211.227) 03.22 40185 219
217412
썸네일
[야갤] 조선총독부(중앙청) 위치가 문제없는이유.jpg
[903]
ㅇㅇ.(210.124) 03.22 24789 520
217410
썸네일
[유갤] 에일리언 시리즈 신작...근황......jpg
[487]
ㅇㅇ(175.119) 03.22 41071 278
217408
썸네일
[야갤] 트럭 아래로 휙…눈물 쏙 빠지게 혼난 악동.jpg
[99]
ㅇㅇ갤로그로 이동합니다. 03.22 23314 87
217406
썸네일
[싱갤] 훌쩍훌쩍 늑대아이 명장면.jpg
[431]
ㅇㅇ(112.144) 03.22 33432 163
217404
썸네일
[보갤] 배우 이재윤 신체능력 jpg gif
[444]
보갤러(106.101) 03.22 47269 502
217402
썸네일
[카연] 나이 먹는게 싫은 만화.manhwa
[248]
김여우갤로그로 이동합니다. 03.22 30084 319
217400
썸네일
[유갤] 인간은 45도 이상의 언덕을 걸을 수 없다.jpg
[518]
ㅇㅇ(45.12) 03.22 50427 487
217398
썸네일
[싱갤] 안싱글벙글 국자이크가 생긴 이유...jpg
[269]
ㅇㅇ(110.12) 03.22 59474 1041
217394
썸네일
[야갤] 강둑 위 아슬아슬 주택…결국 물 속으로 와르르.jpg
[81]
ㅇㅇ갤로그로 이동합니다. 03.22 23801 31
217392
썸네일
[주갤] [은희뉴스] 돈벌고 싶은자는 여시로!!(웃음벨)
[109]
나단갤로그로 이동합니다. 03.22 20084 197
217391
썸네일
[이갤] 이천수 앞에서 02세대 비판하는 박문성ㅋㅋㅋ
[112]
정복자캉갤로그로 이동합니다. 03.22 24973 36
217388
썸네일
[이갤] 영화계 최고의 몸매로 평가받는 여자배우..gif
[337]
leeloo갤로그로 이동합니다. 03.22 71081 326
217386
썸네일
[싱갤] 싱글벙글 주식,코인으로 돈버는거 좋게 생각 안해요.jpg
[308]
Secretpie갤로그로 이동합니다. 03.22 54241 708
217384
썸네일
[기음] 호불호 갈리는 떡볶이 국물 가격 4000원.JPG
[366]
기갤러(146.70) 03.22 41177 169
217382
썸네일
[부갤] 서서히 죽어가는 텍사스의 마을.jpg
[262]
ㅇㅇ(185.114) 03.22 40696 226
217380
썸네일
[블갤] 진짜 우주비행사는 술을 어떻게 마셨을까.space
[183]
정신병아리갤로그로 이동합니다. 03.22 34648 401
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2