2025년 7월 6일 일요일

[EZ Ardule MIDI controller] 마이크로SD카드에 담긴 MIDI 파일의 단순 재생부터 시작해 보다

시작은 무식(?)과의 싸움, 그리고 다음으로는 제한된 메모리와 싸움...

기본부터 공부하지 않은 상태로 챗GPT에게 물어 가면서 안일하게 자작을 해 나가려고 생각한 것이 잘못된 선택일지도 모른다. 알리익스프레스에서 주문한 OLEVO라는 브랜드의 32G 마이크로SD카드가 제대로 인식조차 되지 않으리라고 어떻게 생각할 수 있었겠는가. 


무난한 SanDisk 제품을 사러 다이소에 다녀오는 길.

라이브러리에 딸린 유용한 예제는 무시한 채로 챗GPT에게 모든 것을 물어 보는 것도 옳지 않은 자세였다. 카드 인식이라든가 카드에 수록된 MIDI 파일을 재생하는 코드는 이미 라이브러리에 딸려 온 예제 코드로 충분하게 구현 가능하였다. 다음은 예제 코드를 이용하여 카드 인식을 테스트한 결과이다. 시리얼 모니터로 나온 출력을 복사하였다.

Initializing SD card...Wiring is correct and a card is present.

Card type:         SDHC
Clusters:          973584
Blocks x Cluster:  64
Total Blocks:      62309376

Volume type is:    FAT32
Volume size (KB):  31154688
Volume size (MB):  30424
Volume size (GB):  29.71

Initializing SD card...Wiring is correct and a card is present.

Card type:         SDHC
Clusters:          973584
Blocks x Cluster:  64
Total Blocks:      62309376

Volume type is:    FAT32
Volume size (KB):  31154688
Volume size (MB):  30424
Volume size (GB):  29.71
SYSTEM~1/     2025-07-06 12:23:42
  WPSETT~1.DAT  2025-07-06 12:23:42 12
  INDEXE~1      2025-07-06 12:23:44 76
PASSPORT.MID  2025-04-13 15:58:20 23165
CANYON.MID    2025-02-20 20:12:18 33876
FLOURI~1.MID  2025-07-05 19:08:44 24253
NORMAL~1.MID  2025-05-06 20:07:26 33282

프로토타입 구현 방법도 고민거리였다. 아두이노 나노를 브레드보드에 꽂은 뒤 모든 것을 점퍼선으로 연결하는 전형적인 방법을 쓰려 하다가 위 사진과 같은 기이한 형태를 취하기로 했다. 중간에 분기할 필요가 없다면, 아두이노 나노의 핀과 부품의 핀을 female-to-female 점퍼선으로 연결하는 것이 가장 확실한 접속을 보장할 것이기 때문이다. 버튼, 로터리 인코더 및 LED 등의 부품이 추가되면 연결 상태는 더욱 복잡해질 것이다.

컴퓨터에서 USB 케이블로 전원을 공급하면 SAM9703 출력으로 잡음이 들린다. 이것은 나중에 최종 작품을 만들 때에는 반주기의 SMPS에서 전원을 따로 연결하면 해결될 것이다.

아직도 연결할 부품이 하나 가득... 

긴 브레드보드 하나에 모든 부품을 꽂으려던 계획은 실현 불가능. 버튼 스위치의 GND 연결은 어떻게 하는게 좋을까? 차라리 만능기판에 납땜을 하는 것이 더 나을 수도 있다. 최종판에서는 패널에 구멍을 뚫고 고정하는 제법 큰 크기의 버튼 스위치를 쓰려고 구입해 놓은 상태이다. 

오늘은 마이크로SD카드에 저장한 type 0 MIDI 파일을 순차적으로 재생하는 아주 단순한 기능부터 구현하였다. 파일 목록과 순서는 코드 내에 지정해 두었고, 메모리 부족 때문에 LCD 표시도 16x2로 제한하였다. 버튼, LED, 로터리 인코더 등의 입출력 장치는 아직 하나도 연결하지 않은 단순한 상태이니, 기획했던 기능을 전부 구현하려면 2KB의 내장 메모리로는 턱도 없이 부족할 것이다.

7월 중에 프로토타입을 완성해 보리라.


2025년 7월 5일 토요일

METEX 함수발생기(function generator)의 폭발한 필름 커패시터를 교체하다

지난 5월 하순, 알리익스프레스에서 구입한 초저가 오실로스코프를 테스트하는 도중 낡은 함수발생기(MXG-9802) 내부의 커패시터가 폭발한 일이 있다. 흔히 겪는 전원부의 대용량 전해 커패시터가 아니라 X2 안전 커패시터가 터진 것이었다.

윗면에 0.1uF X2라고 인쇄된 것이 문제의 부품. 왼쪽에 두꺼운 리드가 삐져나온 것이 보인다. 

SCO2 오실로스코프를 테스트하다 함수발생기에서 폭발 사고를 겪다

이 작은 사건은 30년이 넘는 전자기기에 대한 나의 생각을 근본적으로 바꿀 수 있을 정도로 큰 충격을 주었다. 계속 유지 보수를 해 나가면서 낡은 기기를 소유하는 것이 과연 가능할까? 항상 새롭고 건강한 상태의 물건을 사들이고 낡은 것은 문제가 발생하기 전에 처분하는 것이 더 현명하지 않을까? 더군다나 올해 상반기는 낡은 신시사이저(KORG X2)를 잡음 문제를 해결한답시고 꽤 많은 자가 수리를 한 터라 마음이 계속 편하지 않았다. 안전 커패시터와 신시사이저 모두 X2라는 단어가 공통으로 들어간다. 묘한 우연의 일치이다.

알리익스프레스 주문한 X2 안전 커패시터 10개 들이 묶음을 다른 부품과 함께 받았다. 함수발생기를 분해하면서 오래 되어 탄성이 없어진 이동 손잡이 겸 스탠드는 부서져 버렸고, 다리 또한 다시 사용하기 곤란한 상태가 되었다. 다음 사진과 같은 다리를 구해다가 달아야 되겠다.



챗GPT에게 물어보니 폭발한 RIFA PME271M 커패시터의 내부 물질에는 특별히 해로운 것은 없다고 한다. 빈티지 부품의 경우 유해한 PCB(폴리염화비페닐)이 포함된 경우가 있어서 주의를 요한다.

오염된 주변부를 닦아내고 새 커패시터로 교체하였다. 같은 용도로 사용하는 동일 용량의 안전 커패시터인데 크기는 훨씬 작았다. X2 커패시터는 자기회복 기능이 있어서 내부에서 절연 파괴가 발생해도 손상된 부위를 스스로 절연 상태로 복구한다고 한다. 정말 놀라운 기능이다.

커넥터가 적재적소에 쓰여서 문제가 발생한 보드만 꺼내기가 매우 수월하였다. 



케이스를 닫기 전에 내부 전체를 사진으로 찍어 보았다.


과연 전원부의 안전 커패시터를 교체한 것만으로 함수 발생기가 제 기능을 되찾을 것인가? 


수리는 성공적이었다. 정상적인 파형이 발생하였으며, 조정에 따라서 잘 변화한다. 다만 10X 단위로 주파수를 바꾸는 누름 스위치의 걸림이 일부 스위치에서 원활하지 않아서 아주 기술적으로 눌러야만 고정이 된다. 이는 참을 수 있는 수준이다.

오늘의 수리를 통해서 낡은 전자제품을 '반려'용으로 계속 손보아 가면서 쓰는 일에 아주 조금의 자신감을 더하기로 하였다. 취미의 세계에서 쓸데없는 경험이란 없는 것이다. X2 안전 커패시터와 함께 구입한 자잘한 부품들은 MIDI 컨트롤러 자작에 들어가게 될 것이다. 

2025년 7월 3일 목요일

국가 바이오 데이터 스테이션(K-BDS)에 다소 엉뚱해 보이는 자료 등록하기

일을 하다 보면 데이터관리계획(Data Management Plan, DMP)의 사전 작성 여부와는 관계없이 데이터가 생기기도 한다. 국내 생명과학 연구 분야에서 과제 신청 시 DMP를 제출하고 이에 따라서 K-BDS에 연구 데이터를 등록하는 제도가 본격적으로 시행되기 전에 만들어진 데이터는 아마도 제도 시행 이후보다 더 많을 것이다.

코로나바이러스감염증-19가 여전히 맹위를 떨치던 2021년, 이를 진단하기 위한 작은 연구 프로젝트를 진행한 일이 있다. 되도록 다양한 변이체를 검출하기 위하여 알려진 SARS-CoV-2 유전체를 전부 받아서 다중서열정렬을 한 다음, 보존 서열(conserved sequence)의 영역을 추출하였다. 2021년 여름이에 데이터를 다운로드하여 분석 작업에 착수하였고, 논문으로 출판된 것은 이듬해였다. 나는 원본 염기서열 데이터와 중간 단계의 데이터(trimming & dereplication), 그리고 다중서열정렬(MSA) 결과 파일까지를 K-BDS의 기타('GeNA') 항목으로 등록해 보려고 한다.

NCBI의 SARS-CoV-2 Data Hub에는 오늘 기준으로 확인해 보니 9백만 건이 넘는 유전체 염기서열이 등록되어 있다. 내가 2021년에 데이터를 수집할 때에는 등록 기간(2021.12.31.~2021.07.01.), full length 여부 등의 필터를 적용하여 218,799건의 염기서열을 선택했었다. 더불어 GISAID(Global Initiative for Sharing All Influenza Data, 국제인플루엔자정보공유기구)에서는 한국에서 유래한 유전체 정보 4,931개를 다운로드하였다. 두 종류의 데이터 저장소는 무료로 접근하여 데이터를 내려받아 사용할 수 있지만 상당히 많은 차이가 있다. NCBI는 open access이고 GISAID는 free access로서 후자의 경우 사용에 대한 제한이 좀 더 많다. 다음 슬라이드를 보라.


자료 출처: 내가 직접 만든 발표용 슬라이드.


GISAID의 자료를 연구에 활용한 뒤 이를 논문에 발표할 때에는 정보 제공자에 대한 크레딧을 반드시 표시해야 한다. 환자가 아니라 이 유전체 정보를 등록한 연구자를 말한다. 따라서 약 5천 건의 유전체에 대한 감사의 글은 PDF 문서로 무려 8쪽에 이른다! 반면 NCBI의 자료는 특별히 그럴 필요가 없고, 내려받았던 원본 자료를 그대로 다른 곳에 올려도(물론 accession number는 표기해야 될 것이지만) 상관이 없다.

따라서 등록하고 싶은 자료에서 GISAID 유래 염기서열은 전부 빼야 한다. 사용했던 accession number라도 공개하고 싶었으나 ChatGPT에 물어보니 그것도 곤란하다고 한다. 대량(수천 건)의 accession number를 공개하는 것은 Terms of Use의 위배 사항이란다. 단, 데이터를 다운로드하면서 자동 생성되었던 감사의 글 형태로 공개하는 것은 괜찮은 것 같다.

어쨌든 데이터 뭉치에서 GISAID의 것을 제외하려니 이게 생각만큼 간단하지가 않다. 중간에 dereplication을 거치면서 어떤 서열들은 하나의 클러스터로 뭉쳤다. 예를 들어 NCBI의 서열 하나와 GISAID 서열 하나가 완전히 동일하여 하나의 클러스터가 되었다고 하자. 물론 host는 다를 것이다. 이러한 경우에는 특별히 손을 대지 않아도 된다. 그러나 GISAID의 것으로만 이루어진 cluster라면 재배포 금지 원칙에 따라 이를 제거해야 한다.

그런데 2021년 분석 당시에 UC file을 만들지 않은 것이 실수였다. Dereplicated sequence가 모인 FASTA 파일의 sequence description 항목에 cluster size를 기록하게는 만들었지만(dP: >MZ706206.1;size=10), 어떤 서열이 모였는지는 따로 파일로 기록하게 만들지 않았기 때문이다. 번거롭지만 데이터 정리 후 VSEARCH를 다시 돌려야 한다! 실은 22만개 가까운 바이러스 게놈 서열이라 해도 많은 시간이 걸리지는 않는다.

$ vsearch --derep_fulllength Korea_plus_Delta.trimmed --uc cluster --output derep.fa --sizeout
vsearch v2.21.1_linu  x_x86_64, 125.7GB RAM, 32 cores
https://github.com/tognes/vsearch

Dereplicating file Korea_plus_Delta.trimmed 100%  
339644176 nt in 11552 seqs, min 29097, max 29796, avg 29401
Sorting 100%
8530 unique sequences, avg cluster 1.4, median 1, max 205
Writing FASTA output file 100% 
Writing uc file, first part 100% 
Writing uc file, second part 100% 

K-BDS에 등록하기 위해 데이터를 재가공하는 것은 어제 오늘의 일이 아니다. GISAID의 것을 제외하여 데이터셋을 다시 만든 뒤, dereplication과 MSA를 다시 실행해서 올려야 되겠다. README 파일에 구구절절한 설명(변명?)을 올리는 수밖에는...

2025년 6월 30일 월요일

2004 I2C LCD에 처음으로 글씨를 표시하다

오늘 한 것이라고는 점퍼선 네 개 연결하고 실습용 코드를 돌린 것이 전부이다.  아두이노 나노에 인쇄된 핀 번호 글씨가 너무 작아서 휴대폰 카메라를 작동시고 화면을 확대해 가면서 점퍼선을 꽂았다.

몇 차례에 걸쳐서 필요한 부품을 알리익스프레스에서 주문하였는데, 또 실수로 로터리 엔코더를 빼먹었다. 본격적으로 MIDI controller의 제작에 착수하게 되면 납땜과 케이스 가공으로 한바탕 생쇼를 치르게 될 것이다. 차라리 브레드보드에 점퍼를 꽂을 때가 편하면 편했지...

LCD의 한 줄을 이용하여 LED 표시를 대신하고자 하였으나, 응답속도가 느려서 보기에 불편하다. 74HC595 시프트 레지스터를 이용해야 될 것이다. 아무리 철저히 계획을 해도 그보다 몇 배는 더 예기치 못한 고생을 하게 될 것이다. 감수하자!

AI에게 봉사하는 삶을 살 것인가, 또는 AI를 활용하는 삶을 살 것인가?

OpenAI의 CEO인 Sam Altman이 X에서 이런 말을 했다고 한다. ChatGPT에게 'please'나 'thank you'와 같은 말을 하지 말라고. 이는 단지 컴퓨팅 비용을 증가시킬 뿐이기 때문이므로.

출처: ndtvprofit.com


나는 ChatGPT와 대화할 때 비교적 예의를 갖추어서 완성된 형태의 문장으로 질문을 던지기 위해 애쓰는 편이다. 우리가 인간과 대화할 때 단지 정보만을 담고 있는 최소한의 것만을 말하나? 그렇지 않다. ChatGPT는 필요가 없다고 느끼는 '군더더기' 낱말과 분위기, 심지어 시각으로 전달되는 효과까지 전부 최선의 의사소통을 위해 필요하다. 문자보다는 음성, 음성보다는 직접 대면을 통한 대화가 더욱 낫다고 느끼는 것에는 다 이유가 있다. 비록 대화할 상대를 찾아가는 데에는 에너지가 들지만 말이다. 그리고 이렇게 자연스러운 인간의 언어와 유사한 형태로 대화할 때, ChatGPT도 가장 정확한 대답을 줄 것이라고 믿고 있다. 위 그림을 가지고 온 ndtvprofit.com의 원문 기사 "Is Saying ‘Please,’ ‘Thank You’ To ChatGPT Worth It, Despite Sam Altman’s Claims They Cost Millions?"에서도 비록 이런 방식으로 질문을 하면 추가적인 토큰을 발생시켜 그 처리를 위해 더 많은 비용(전기 및 냉각 등)이 드는 것은 사실이지만, 정중한 표현이 AI 응답의 품질과 톤을 향상시킨다고 하였다. 설문 조사에 따르면 응답자의 절반 이상이 AI와 대화할 때 정중한 표현을 즐겨 쓰고 있으며, 더 나은 응답을 얻기 위한 전략으로 여기고 있다고 한다.

디지털 커뮤니티에서 잦은 소통을 하기 위해 짧은 표현을 하다 보니 소위 '음슴체'가 유행하는 것처럼, 이제는 GPU에게 맞춤형 질문을 제공하기 위해 사용하는 언어까지 갈고 닦아야 하는가? 문득 인간은 좋은 '데이터'를 생산하거나 선별하여 AI에게 학습용으로 제공하고, 이를 돌릴 전기와 냉각설비를 돌리기 위해 일하는 위치로 전락한 것이 아닌가 하는 생각이 들었다. 

얼마 전 영국에서 열린 제38차 International Nuclotide Sequence Database Collaboration 정례 회의에 다녀온 동료가 작성한 자료를 보았다. 각 기관이 AI를 도입하기 위해 어떤 준비를 하고 있는지 이번 회의에서 공유했다고 한다. 그러나 우리는 어떤 입장인가? 순전히 나의 개인적인 느낌일 수도 있지만, 'AI를 어떻게 잘 이용해 볼까'가 아니라 'AI 학습에 더욱 알맞은 양질의 데이터를 어떻게 만들어 (심지어 국가적 차원에서 무상으로) 제공할까'에 더욱 집중하고 있는 것 같다. 좋은 데이터가 AI에게 학습 자료로 주어지면 결과적으로는 사용자에게 이득을 주겠지만, 여기에서 가장 많은 이득을 취하는 것은 플랫폼 제공자가 아닐까 하는 생각이 들었다. 

ChatGPT가 그려 준 그림.


원래 빅 데이터란 지저분한 것도 적당히 섞여 있어야 한다. 신약 개발과 관련된 분야에서는 성공한 데이터만 모아서는 AI가 완벽한 학습을 하기 어렵다고 최근의 강연에서 들은 기억이 난다. 

최근 로런스 레시그 하버드대 로스쿨 교수가 제4회 사람과디지털포럼에서 '인공지능과 민주주의: 새로운 위협과 우리의 선택'을 주제로 강연을 하였다(관련 한겨레 기사 링크). 그는 크리에이티브 커먼즈를 설립한 인물이기도 하다. 그는 인공지능 시스템, 특히 소셜미디어 알고리즘이 민주주의에 위협이 되고 있다고 경고하였다. 빅테크의 인공지능 알고리즘이 목표하는 "참여 기반 비즈니스 모델"은 사람들의 주의력을 조작하고 극단적인 게시물에 더욱 노출되게 만든다고 하였다.

인공지능은 이용자가 좋아하는 제품을 제안하는 것이 아니라 사람들의 선호를 바꾸는 작업을 통해 이용자를 예측 가능하게 만드는 역할을 한다.

마치 자기가 관심을 갖고 있는 것으로 세상이 가득 차 있는 것과 같은 착각에 빠지게 만드는 것이다. 이는 급진적 사고의 증가로 이어진다. 지난 6개월 동안 한국 사회의 시민들은 이를 뼈저리게 느끼지 않았는가. 그는 참여기반 비즈니스 모델을 이길 방법이 없다고 하였다. 

GPU를 먹여 살려야 하니 일반 시민들은 전기를 좀 덜 쓰자는 캠페인이 벌어지지 말라는 법은 없다. AI는 인간에게 봉사하는 도구가 되어야 한다. 그러나 요즘과 같은 상황에서는 도대체 어느 수준까지 발전하게 될지 상상하는 것 조차 어렵다. 거기다 휴머노이드 로봇까지! 과연 우리가 위험에 직면할 것을 알게 되어 스스로 스위치를 내릴 수 있을까? 당장은 재미와 업무 효율을 위해 AI를 이용하겠지만, 그것이 사회를 얼마나 바꾸게 될지 진지하게 고민하지 않으면 곤란할 것이다.


2025년 6월 27일 금요일

쉬지 않고 10km를 달렸다

하루에 두 차례 나누어서 5km를 달린 적은 있었다. 아마 작년이었을 것이다. 요즘 들어서는 잦은 출장으로 저녁 달리기를 하기가 곤란하였고, 장마에 접어들면서 뛰지 못하는 날도 많았다. 기록도 별로 나아지질 않는다. 

그래서 페이스는 염두에 두지 않고 10km 달리기에 도전하였다. 평균 페이스는 7분 이내를 달성한다는 생각으로 뛰었다. 그랬더니 뛰어 지기는 하였다. 페이스는 6분 49초. 

뛰는 동안 본의 아니게 몇 마리의 날벌레를 섭취하였다. 





전혀 운동을 하지 않은 내 나이의 남성이 한번에 10km를 뛰겠다고 목표를 삼으면 3~4개월 훈련하면 된다고 챗GPT는 말하였다. 나는 이것을 달리기 입문 11개월차가 다 끝나가는 시점에 달성하였다. 솔직하게 말하자면 6~7km를 뛰게 되면서 그 이상으로 거리를 늘리려는 시도를 별로 하지 않았다. 아주 드물게 8km를 뛰었을 뿐이다. 

하루가 지난 지금, 특별히 뻐근하거나 당기는 곳은 없다. 과신은 절대 금물이겠지만, 아직 무릎 관절에서 비명을 지르지 않는다는 것은 감사할 일이다. 7월 중에 종합건강검진을 받을 예정이니 과연 11개월 동안의 운동이 어떤 결과를 가져왔을지 매우 궁금하다. 

 


2025년 6월 25일 수요일

세상의 모든 커넥터

페놀 수지로 만든 만능기판은 아직도 나를 월간지 『라디오와 모형』을 탐독하던 1980년대 초반 중학생 시절로 데려가서 가슴을 설레게 만든다. 늘 용돈이 궁했던 나는 이 잡지를 사서 모으지는 못했다. 동네 형이 주었던 세 권의 책 - 두 권의 『라디오와 모형』, 같은 출판사에서 나온 『516회로집』(419회로집 또는 815회로집이었나?) - 을 표지가 닳도록 보았던 기억이 난다. 어쩌다가 세운상가 또는 근처 장사동 전자부품상가에 가 보면 제작기사와 현실은 너무나 달랐다. 그도 그럴 것이, 일본에서 발간되는 잡지를 거의 그대로 베껴서 만든 것이기 때문이다. 그렇지만 당시에는 정말로 귀중한 정보의 보고였다. 오디오퍼브의 글 편집인 김병진, 수많은 학생들의 미래를 바꾼 사람을 소개해 둔다. 

부품을 올리고 납땜울 하기 전의 만능기판(perfboard)은 무한한 가능성을 내포하고 있다. 구멍 사이의 간격, 즉 피치는 0.1인치 = 2.54mm로서 IC의 다리 간격과 같다.


한 장의 만능기판으로 만든 자작 회로가 모든 것을 다 갖추어서 완벽하게 동작하는 일은 별로 없다. 전원이나 스위치 또는 디스플레이 등 기판 외부에 자리잡은 부품과 어떤 방식으로든 전기적 접속을 이루어야 하며, 유지 보수 등을 위해 종종 연결을 끊었다가 다시 이어야 한다. 이 기능을 하는 부품을 통틀어서 커넥터(connector)라고 부른다. 영구적인 접속을 원한다면 납땜으로 이어버리는 것이 가장 좋을 것이다. 커넥터를 쓰는 이유는 정확하게 끼우고(핀이 많으면 이 일은 매우 중요하다) 필요할 때에는 힘들이지 않고 쉽게 빼도록 하면서도 의도하지 않은 상황에서는 함부로 빠지지 않게 하기 위함이다. 빼는 방법을 정확히 알지 못하면, 무리하게 빼다가 커넥터를 망가뜨리는 일도 생길 수 있다. 오디오퍼브에서 무릎을 탁! 치게 만드는 글을 인용해 본다(Molex와 연호전자).

커넥터 내지 커넥터 구성 부품의 가격이 싸다고 해서 무시하면 안 되는데… 빈티지 오디오와 기타 전자장치에서 모든 근심의 원천이기 때문이다. 

무릇 좋은 커넥터는, 1) 특수 원소를 집어 넣든 특수 코팅을 하든, 알아서 잘 만들어서 절대로 접점불량이 없어야 하고, 2) 쉽게 빠지지 않아야 하고, 2) 빼려고 할 때는 무조건 쉽게 뺄 수 있어야 한다.

가만히 생각하면, 세상이 그런 모순이 따로 없음. 기술적으로는 대단히 어려운 산업 분야. 그러니까 사소해 보여도… 신중한 제품 선택이 필수.

커넥터는 그 종류가 엄청나게 많은데, 기판(board)과 도선(wire)의 자체 연결 또는 상호 연결이라는 용도에 따라 구분하는 것이 일반적이다. DIYer에게 가장 익숙한 것은 두 번째의 wire-to-board connector일 것이다.

  • Board-to-board connector
  • Wire-to-board connector
  • Wire-to-wire connector

다음 사진은 몰렉스(Molex)라는 미국 회사의 wire-to-board connector 사례이다. 워낙 유명한 회사라서 상표명 molex는 사각 커넥터의 대명사가 되었다. IDE 하드디스크드라이브를 연결하는 4핀 커넥터의 원조가 바로 Molex 8981 시리즈 0.093인치(2.36mm) 피치 전원 커넥터이다.

그림 출처: Molex mini-lock connectors

위 그림에서는 와이어 다발, 기판, 그리고 서로 맞물리게 되어 있는 두 개의 사각 합성수지 부품(서로 맞물리도록 하는 구조물이 존재) 외에는 보이는 것이 없다.  그러나 합성수지 부품 안에는 서로 전기적 접속을 이루에 하는 최소한 두 가지의 금속 부품이 있다. DIYer가 주로 만나게 되는 저전력 커넥터 시스템에서 보드 쪽에는 보통 정사각형 단면인 핀 형태의 것이 쓰인다. 이는 보통 플라스틱 부품과 일체를 이루며, header 또는 wafer라고도 부른디. 와이어 쪽에는 얇은 금속판을 복잡하게 구부려서 만든 것을 사용한다. 이 두 부품을 체결하면 탄성 때문에서 서로 강하게 접촉하게 된다. 압착 공구(IWISS SN-2549와 같은 crimping tool)를 이용하여 와이어에 이 '터미널(단자)' 부품을 꽉 집어서 만들기 때문에 금속 파트를 crimp terminal이라고 부른다. 크림핑 툴이 없으면 연결 작업을 미리 해 놓은 하네스 케이블을 구입해야 한다. 어떤 케이블이 있는지 일렉클라우드에서 확인해 보라. 

터미널과 커넥터는 무엇이 다른가? 터미널은 전기적 접점을 만드는 금속 부품이고, 커넥터는 플라스틱 하우징 + 터미널로 구성된다고 기억하면 된다.

'크림프 터미널'에는 정말 많은 종류가 있다.


커넥터를 이루는 각 부품을 무엇이라 부르며, 어떤 제품이 있고, 정격은 어떠한지를 DIYer 입장에서 정리하기 위해 야심차게 이 글을 시작하였다. 그러나... 엘레파츠 블로그의 Molex사 커넥터 간편정리라는 글을 본 뒤에는 내가 이 세상에 새로운 지식을 얼마나 더할 수 있을지 자신이 없어졌다. 그래서 내가 실제로 만져 본 소형 커넥터에 대해서만 이야기를 풀어 나가기로 한다.

두 개의 플라스틱 부품 중 와이어 쪽은 Molex의 제품 카테고리에 의하면 'Connector Housing', 기판 쪽은 'PCB Header and Receptacle'이라고 부른다. 별도의 잠금장치가 없는 다음과 같은 것을 보통 핀 헤더라고 한다. 이것도 커넥터의 한 형태라고 볼 수 있다. 잠금장치는 없지만 핀과 소켓 접속부위(금속)의 마찰에 의해 체결된다.


볼트를 돌려서 와이어를 기판에 고정하게 만드는 터미널 블록도 넓은 의미에서는 커넥터의 한 종류라고 볼 수 있다. 그러나 일반적인 커넥터보다는 훨씬 적은 빈도로 착탈을 할 때에 사용한다.

4P 터미널 블록의 사례. 피치는 5mm인가, 또는 5.08mm인가(=1/5인치)? 5mm일 것으로 추정된다. 사진이 매우 아름답게 찍혀서 마음이 든다. 구멍 뒤의 배경이 아래로 내려갈수록 자연스럽게 어두워진다. 


Molex 5051 - 단종!

오늘 이 문서를 쓰면서 몰렉스 5051은 단종되었음을 알게 되었다. 아직도 엄청난 수량의 재고가 전 세계적으로 존재하고 여러 회사에서 호환품을 여전히 생산하는데 단종이라니...

1990년대 후반 포스트닥 연구원으로 모교에서 근무하던 시절, DNA microarray 관련 장비를 만든답시고 여러 과를 돌아다녔던 일이 있다. 스테핑 모터를 제어하기 위하여 애를 쓰던 중에 화학과 전기화학연구실에서 몰렉스 커넥터를 얻어서 쓴 것이 나와 몰렉스와의 첫 인연이었다. 아주 최근까지 크림핑 툴이라는 공구가 있는줄도 몰랐다. 당연히 그 당시에는 납땜을 하여 전선과 터미널을 연결했었다.

Molex 5051-03과 그 식구들의 호환품.


Molex 5051은 핀 간격이 2.5mm인 몰렉스의 커넥터 시스템 중에서 크림프 터미널에 대하여 쓰는 시리즈 번호이다. 만약 스테레오 신호와 같이 세 포지션(L, R, ground)을 연결하려면 커넥터 하우징은 5051-03을, 헤더는 5045-03(straight)과 5046-03(right angled) 중에서 고르면 된다. 이 시스템이 허용하는 최대 전압은 250V, 전류는 3A까지이므로 상당히 높은 수준이다. 그래서 제이앨범에서 제공한 진공관 앰프 PCB는 이 커넥터를 이용하여 히터/신호/B 전원을 전부 공급하게 만들었다. 좀 복잡하지만 5051은 Series Number, 5051-03은 Engineering Number, 그리고 실제 Part Number는 22011032이다! 

5051 터미널에 맞는 와이어의 규격은 22-30 AWG이다. 절연 외경은 최대 약 1.6mm이다. 사실 AWG는 연선이 아니라 단선에 대한 것이다. 내가 즐겨 사용하는 10색 PVC 와이어(구리 연선, 0.3SQ × 12C)는 약간 두꺼운 감이 있다. 위 사진에서 보인 검정색 전선은 외경이 약간 더 가늘고 심선은 주석도금선이다.

Molex 웹사이트에서 5051-03을 찾으면 다음과 같은 설명이 나온다(링크). 간혹 피치가 0.1인치(2.54mm)라는 자료도 있는데, 공식 웹사이트에서 2.5mm라고 하니 믿어야 한다.

2.50mm Pitch KK Wire-to-Board Housing, Female, Friction Lock, for 2059/5159 Crimp Terminals, 3 Circuits

KK 커넥터를 설명하는 현재의 웹사이트에서는 2.5mm 또는 3mm 피치의 경우 KK Plus라는 명칭을 사용한다. 5051-03은 현재 MINI-SPOX Connector 프로덕트 패밀리의 일원인 5264(Series Number), 50375033(Part Number)로 대체되었다(링크). 핀의 단면은 사각에서 원형으로 바뀌었으며, 기판용 PCB 패턴은 같을 수 있으나 단자와 하우징은 서로 맞지 않는다.


Molex 5051(-03)과 호환되는 한림전자 커넥터

  • 5051(crimp termnal): CT0640
  • 5051-03(housing): CHW0640-03
  • 5045-03(straight): LW0640-03
  • 5046-03(angled): LA0640-03

준비한 사진은 5051-02(2 positions, 즉 2핀)와 호환되는 한림 제품이다. 제이앨범의 진공관 앰프 PCB에서는 직각 형태의 것을 사용하였다. 높이를 낮추기 위함이리라.




연호전자의 2.5mm pitch wire-to-board connector

  • 5051(crimp termnal): YST025
  • 5051-03(housing): SMH250-03
  • 5045-03(straight): SMP250-03
  • 5046-03(angled): SMAW250-03

연호전자의 커넥터에 대한 짧은 경험은 삼일 전에 게시한 글 비 내리는 주말의 잡다한 기록에 남겨 두었다.

세 회사 커넥터의 호환 가능성은? 몰렉스와 한림의 것은 외형이 동등해 보이지만, 연호의 제품은 나머지 회사의 PCB 헤더와 하우징의 체결 부위가 달라서 불가능하다.



 

JST wire-to-board connector

JST는 Japan Solderless Terminal이라는 회사명의 약자이다. XH 시리즈는 2.5mm 피치의 소형화 버전으로 앞서 논한 커넥터 종류와 피치가 동일하다. 3핀 제품의 경우 하우징은 XHP-3, 헤더는 B3B0XH-A(straight), S3B-XH-A(angled)가 있다.

알리익스프레스에서 구입한 JST-XH 커넥터의 호환품. 와이어는 매우 얇아서 피복을 벗길 때 주의해야 한다. 위키피디아에서는 0.1인치 피치가 아니라고 했는데 알리익스프레스에서 파는 것은 2.54mm라고 당당히 밝히고 있다.

KORG X2의 수리를 준비하면서 EH 시리즈의 5핀 헤더(여기에 맞는 하우징 형번은 EHR-5) 호환품을 샀던 경험도 있다. JST XH와 EH의 전압 및 전류 최대 정격은 각각 3A와 250V로서 동일하다.

JST B5B-EH-A 호환품. 그림 출처: AliExpress


나도 세상의 커넥터가 되면 좋겠다. 다만 '신호'를 가감 없이 그대로 전달하는 것이 아니라 나의 색채를 가미해서 전달할 수 있으면 좋겠다. 마치 진공관 앰프의 듣기 좋은 왜곡처럼 말이다.

이틀 전에 쿠팡에서 주문한 SN-2549 크림핑 툴이 드디어 도착하였다. 이제 꽉 집어 보자!