Category (Click)
개발보드 덕질하기

[Beepy Likely] 4. 키보드&하우징 Board to FPC 커넥터 Breakout 보드 설계

 차완기 - @8/31/2024, 11:43:00 AM
Beepy Likely 프로젝트
작고, 키보드 달렸고, 느리고, 그런데 리눅스가 돌아가는!!! 오픈소스 포터블 리눅스 머신인 Beepy를 레퍼런스로 삼아, 나만의 포터블 리눅스 머신을 만드는 프로젝트입니다.
#HW #PCB Design #FW #Pico SDK #RTOS #TinyUSB #HID #u8g2 #LCD #terminal emulation

키보드 브레이크 아웃 보드

누군가의 삽질 덕분에 BlackBerry Q10 키보드의 커넥터는 쉽게 찾을 수 있었습니다.
블랙베리 키보드는 워낙 유명한 뭔가뭔가(?)였기 때문에 커넥터의 EAGLE 라이브러리는 물론, Pinout까지 상세하게 알 수 있었습니다.
기왕 PCB 주문하는 거, Pinout이 나오면 좋겠죠. 나중에 찐 PCB를 설계할 때 활용하기 편하도록 핀아웃이 포함된 라이브러리를 만들어두었습니다.
마이크..를 쓸 일이 있을지 모르겠지만 들어있으니 핀아웃으로 뽑아뒀습니다. 당시 너무 피곤한 나머지 AGND를 카파가 아닌 네트로 배선해 버려서(...) 잘 작동할지는 모르겠습니다.
브레드보드에서 사용하기 편하도록 일자로 핀을 뽑아두고 핀아웃을 모조리 표시해 뒀습니다.
혹시나 싶어 뒷면에 LCD의 커넥터도 발주 직전에 달아줬습니다.
며칠 후 주문한 PCB가 도착했습니다.
깔끔하게 납땜되어 왔네요. 연결도 잘 됩니다.
예전에 RPi CM4의 Board to Board 커넥터를 납땜하겠다고 덤볐다가 나가떨어졌던 기억이 있는데요, 이런 건 그냥 기계한테 맡겨야겠습니다. 사실 헤더핀도 SMT 맞김
디스플레이 쪽 커넥터도 잘 맞습니다. FPC 플렛 케이블은 피치만 확인하면 규격화가 잘 된 듯한 느낌입니다.
작동에 대한 부분은 다음 포스팅에서 다룰 예정입니다.

하우징 PCB 브레이크 아웃 보드

한편, 하우징(프레임)의 가장자리에는 음량 스위치, 전원 스위치 등이 위치해 있습니다.
떼어내기에는 빈 공간이 썩 마음에 들지 않아 그대로 활용해 보려 했는데요, GitHub를 아무리 뒤져봐도, 그리고 국내 커뮤니티에 질문을 남겨보아도 마땅한 자료가 없었습니다. 뭔가 이쪽의 커넥터들은 JST XH같은 맛집(?)이 없나 봅니다.
머리가 나쁘면 몸이 고생한다 하던가요? 뇌를 잠시 뽑아두고 조건에 맞는 커넥터를 모조리 구매해 보기로 했습니다. 못 찾으면 포기하는 거죠
실측한 치수인 ‘피치 0.4mm’와 ‘핀 수 16핀’을 조건으로 마우저에 검색했을 때 40개 정도가 나왔습니다. 이 중 앞에서 사용한 Hirose는 제외(로고 각인이 없음), 잘 알려진 브랜드만 필터하게 되면 대략 20개 정도로 좁혀졌고, 소량 구매가 가능하면서 형태가 비슷한 것을 찾으니 2가지가 최종적으로 나왔습니다.
그나저나 이런 형태의 커넥터를 “메자닌(mezzanine) 커넥터”라고도 부르네요. PCIe 몇십 레인을 날려 보내는 등 산업산업스러운 고밀도 커넥터가 메자닌 커넥터로 분류되나 봅니다.
배터리 충전 IC 브레이크 아웃 보드도 함께 구매했습니다.
시간이 조금 흘러 커넥터가 도착했습니다.
왼쪽부터 51338-1674와 503552-1622입니다.
그 중 후자인 503552-1622가 맞아 보였습니다.
이런 류의 커넥터의 경험이 적다 보니 이게 맞는 건가..? 끼워진척하는 거 아닌가 싶기는 한데.. 어떻게든 접점이 닿던가 하겠죠 뭐..
마찬가지로 브레이크아웃 보드를 만들었습니다. 이번에는 핀아웃을 알지 못하기 때문에 어디선가 많이 보던(?) 스타일로 만들었습니다.
시간이 조금 흐르고, 브레이크아웃 보드가 도착했습니다. 잘 끼워지는 것 같습니다.

마무리

이렇게 Beepy Likely에 필요한 커넥터를 모두 찾고 프로토타이핑을 위한 보드까지 만들었습니다.
사실 사이드 PCB는 원래 계획에 없었는데요, 키보드 브레이크아웃 보드를 일찌감치 만들어 펌웨어를 만들던 중, 갑자기 “Q10 하드웨어 활용하면 멋질 듯?! → 어? 사이드 PCB가 있네? → 이거 써보자!!” 이런 의식의 흐름으로 끼워 넣어 포스팅이 늦어지게 되었습니다
얼른 다음 포스팅으로 달려보겠습니다!