본문 바로가기
제작기/ETC

3D프린팅(SLA) 돌치 자작 매크로패드 #3 RP2040 zero에 KMK 펌웨어 올리기

by sohke 2023. 2. 22.

 

 

3D프린팅(SLA) 돌치 자작 매크로패드 #1 설계 / 주문

돌치 플랭크를 만들려고 했는데, 어떤 기판을 기준으로 만들어야 할지 좀처럼 감이 잡히지 않아서 일단 매크로패드부터 만들기로 했습니다. GB에 참여한 보이스 미니 매크로 패드가 오기 전까지

kbddiary.tistory.com

↑↑↑모델링파일 링크

 

3D프린팅(SLA) 돌치 자작 매크로패드 #2 조립

3D프린팅(SLA) 돌치 자작 매크로패드 #1 설계 돌치 플랭크를 만들려고 했는데, 어떤 기판을 기준으로 만들어야 할지 좀처럼 감이 잡히지 않아서 일단 매크로패드부터 만들기로 했습니다. GB에 참여

kbddiary.tistory.com

↑↑↑조립

와이어링까지 마무리되었다면 이제 보드에 펌웨어를 올려야 합니다. 

 

보통은 qmk를 사용하지만 rp2040에 circuitpython을 이용해 쉽게 kmk를 올리는 방법이 있어 저는 kmk를 이용했습니다.

 

https://circuitpython.org/board/waveshare_rp2040_zero/

adafruit-circuitpython-waveshare_rp2040_zero-en_US-8.0.2.uf2
1.38MB

 먼저 위 링크에서 UF2파일을 받거나 혹은 제가 올린 파일을 다운로드합니다.

다운로드를 하셨다면 파일을 보드에 옮기기 위해 부트로더 모드에 들어가야 합니다.

부트로더 모드에 진입하기 위해 보드를 USB선을 이용해 컴퓨터와 연결합니다.

 

 그다음, RP2040 zero에 있는 BOOT버튼을 누른 채로 RESET 버튼을 한번 눌러줍니다. 그러면 rp2040 zero가 재연결되면서 컴퓨터에 폴더가 하나 열립니다.

방금 다운로드하신 파일을 '잘라내기/붙여 넣기' 혹은 '드래그'하는 방법으로 보드 폴더에 옮겨줍니다.

파일이  정상적으로 옮겨지면 Circuitpython이 자동으로 설치되고 다시 한번 재부팅됩니다.

 

pad.zip
0.07MB

 다음으로 위 압축파일을 압축해제해서 파일들을 보드에 옮겨줍니다.

중복되는 파일이 있다고 나오더라도 무시하고 덮어씌워줍니다.

 

 

보드에 옮긴 파일 중 code.py라는 파일을 코드 편집기 혹은 메모장으로 열어줍니다.

 

keyboard.col_pins = (board.GP8, board.GP9, board.GP10, board.GP11, board.GP26)
keyboard.row_pins = (board.GP5, board.GP6)
keyboard.diode_orientation = DiodeOrientation.COL2ROW

쭈욱 코드들이 작성되어 있는데, 이 파일은 제가 와이어링한 것을 기준으로 작성되었기 때문에 약간의 수정이 필요합니다.

저는 0열부터 4열까지 순서대로 8,9,10,11,26번 핀을, 0행과 1행에 각각 5,6번 핀을 사용했기 때문에 위의 코드블록과 같이 작성되어 있습니다. 자신이 각 행과 열을 몇 번 핀에 연결해 줬는지에 따라 위 내용에서 숫자 부분만 바꿔주면 됩니다.

 

ex) 0열-1번핀, 1열-2번핀, 2열-3번핀, 3열-8번핀, 4열-9번핀

      0행-10번핀, 1행-17번핀   에 와이어링했다고 가정했을 땐 아래처럼 코드를 수정해 주시면 됩니다.

keyboard.col_pins = (board.GP1, board.GP2, board.GP3, board.GP8, board.GP9)
keyboard.row_pins = (board.GP10, board.GP17)
keyboard.diode_orientation = DiodeOrientation.COL2ROW

 

이렇게 해서 각 키가 정상적으로 인식되게끔 만들어 주었습니다.

 

이제 각 키를 세팅해 주셔야 원하시는 용도로 매크로패드를 사용할 수 있습니다.

방금 수정한 부분의 아래쪽을 보시면 키들이 입력되어 있습니다.

keyboard.keymap = [

    [
		KC.Q, KC.W, KC.E, KC.R, KC.T,
		KC.A, KC.S, KC.D, KC.F, KC.G,
    ],

    [
		KC.TRNS, KC.TRNS, KC.TRNS, KC.UP, KC.TRNS,
		KC.TRNS, KC.QUOT, KC.LEFT, KC.DOWN, KC.RGHT,
		
    ],

    [
		KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS,
		KC.TRNS, KC.TRNS, KC.TRNS, KC.INS, KC.TRNS,

    ],

    [
		KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS,
		KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS,

    ],

    [
		KC.RESET, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS,
		KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS,

    ],
]

이전에 만들었던 파일을 배열만 수정해서 바로 사용한 거라 조금 지저분한 흔적들이 있네요.

위에서부터 0레이어(기본레이어) 1레이어 2레이어 3, 4 순서입니다.

 

 

 

 

 

Keys Overview | KMK

[Basic Keys]

kmkfw.io

위 링크에 들어가 보시면 키코드들이 쫙 나와있습니다.

키코드를 보시고 원하는 키를 알맞은 자리에 넣어주시면 됩니다.

 

원하는 세팅을 마치셨다면 파일을 저장하고 닫아줍니다.

매크로패드를 눌러보시면 따로 재부팅이나 리셋할 필요 없이 바로 수정된 키들이 입력되는 것을 확인하실 수 있으실 겁니다.

 

이렇게 해서 매크로패드를 완성했습니다.

저는 전부 방향키가 없는 키보드만 보유하고 있어서 방향키와 딜리트 엔터 볼륨업다운 등을 매핑해두었습니다.

혹시라도 제 글을 보고 매크로패드를 만드신분이 계신다면 어떤 용도로 사용하시는지, 어떻게 매핑해야 더 유용하고 편한지 공유부탁드립니다~

 

 

 

자작 키보드 QMK 펌웨어 (RP2040)

RP2040에 QMK를 올리는 방법을 까먹지 않기 위해 글을 작성해놓으려고 합니다. 윈도우 사용자 기준으로 작성하였습니다. 제가 이전에 만들었던 돌치매크로패드를 기준으로 작성하였습니다. 1. 윈

kbddiary.tistory.com

 

 

 

 

 

 

자작 키보드 QMK 펌웨어 (RP2040)

RP2040에 QMK를 올리는 방법을 까먹지 않기 위해 글을 작성해놓으려고 합니다. 윈도우 사용자 기준으로 작성하였습니다. 제가 이전에 만들었던 돌치매크로패드를 기준으로 작성하였습니다. 1. 윈

kbddiary.tistory.com

 

반응형