요술고양이의 Digital Life


티스토리에서 새해에 시작하는 첫 주제는..
바로 자작 MP3 플레이어 입니다.

실은 운영하는 카페에 회로도를 제외한 소스 및 원리까지 공개된 강좌가 있긴 합니다만..
그게 해당 전공자 아니면 보기 어려운 면이 있어서..

그것들을 다시 정리하는 겸해서.. 누구든? 부담없이 볼 수 있는 자료로 남기려고 합니다.

물론 누구나 보기 쉽게 쓰자하면.. 밑도 끝도 없이 길어 질 것 같고..
어렵게 쓰자하면.. 보는이로 하여금.. 흥미 감소와 함께 스트레스로 작용할 수 있는 바~
쉽게 이해할 수 있는 내용과 전문적인 내용을 잘 비비고 섞어서 작성하려고 합니다.

어쨌든 제가 현역에서 활동하는 전문가도 아니고 뜬 구름 강좌이기 때문에 너무 고수준을 바라진 마시구요 ^^;

그럼 시작하도록 하겠습니다.

그리고 혹시 틀린내용이나 수정할 내용이 보이시면 언제든 말씀해주세요~
정당한 비판과 요구는 모두 반영하여 수정하겠습니다 ^^

1. 국내 MP3 자작 현황


 아시는 분만 아는 이야기겠지만 최근 국내 커뮤니티에서도 자작 MP3 플레이어에 대한 관심 증폭과 더불어 작품이 많이 제작되었습니다.(이런 부분이야 전자쪽 커뮤니티에서만 돌고도는 이야기라 모르는 분이 많으시겠지요?) 하지만 대부분은 3~4년전 해외사이트에서 공개된 MP3의 클론(복제, 답습)이었습니다.

많은 사람들이 해외사이트를 참고한 MP3를 제작 및 공개하기에 이르렀고, 저도 그 중에 한 사람이었습니다~

대부분은 마이크로프로세서 스터디 또는 단순 흥미의 일환으로 시작한 자작이었기에 실용성이나 디자인을 강조한 자작 MP3 플레이어는 거의 없었구요 그렇기 때문에 완성도가 우수한 작품도 드물었던 것 같습니다.

하지만 나름 노하우가 쌓이자, 나름 기술적으로 훌륭한 MP3 플레이어가 제작되기 시작하였고..
디자인과 부피 부분만 제외하고는 훌륭한 작품들이 속속들이 공개가 되었습니다.

한때 저는 실용성을 강조한 MP3 플레이어를 제작해보고자 마음 먹었는데..
디자인 및 부피를 자작으로 감당할 수 없기에 일단 잠정 중단을 하였습니다. 그래서 최근에는 MP3 플레이어 제작에 열을 올리는 것은 아니지만.. MP3 플레이어 제작은 하드웨어, 소프트웨어 양 분야로 많은 공부가 되고 있기에 스터디 명목으로 MP3 플레이어의 완성도를 높이는 측면으로 접근을 하려고 하고 있습니다.
 
쓰다 보니 개인적 이야기가 너무 길어져 버렸네요.. 그럼 넘어가도록 하겠습니다. 

일단 알려진 해외 자작 MP3 플레이어가 꽤 많지만..
제가 아는 작품중 대단한 작품을 하나 꼽자면 다음과 같습니다.



[그림 1] 일본의 한 개인이 만든 Timpy MP3 모음


출처 : http://www.chiaki.cc/
네이버 번역 : http://j2k.naver.com/j2k_frame.php/korean/www.chiaki.cc/

이름은 Timpy라고 하구요.. 개인이 만든  세상에 하나밖에 없는 MP3 입니다.
사진으로 봐서는 잘 모르겠지만 단순 자작을 뛰어 넘어서.. 디자인, 실용성 어느것 하나 뒤지지 않습니다.

참고로 사진 순서는 버젼업 단계 별로 나열 한 것인데.. 처음에는 소형 MP3에서 시작하여, 점점 부피를 줄여 헤드폰에 실장을 하였고, 차후에는 TFT-LCD를 채용하여 시각화를 시도 그리고 SD카드를 MP3 자체에서 읽고 쓰기위해 USB를 추가하는 등.. 기능상 발전을 거듭한 작품입니다.

이 개인작품에 대해 정말 대단하다고 밖에 할 수 없지만  
그중 가장 인상깊은 것은 회로도, 소스, PCB 거버파일까지 모두 공개하고 있다는 점 입니다.
(우리나라에서는 눈을 씻고도 찾아보기 힘든 부분입니다..)

여튼 해외에는 이런 대단한 사람들이 많이 있는데.. 특히 일본과 유럽에 많이 분포?해 있습니다.

그럼 이번엔 국내쪽으로 눈을 돌려보도록 하겠습니다.
(여기서 부터는 개인적으로 느낀 부분이라 오류가 많을 수 있습니다. 양해바라고 변경할 사항이 있다면 수정을 요청바랍니다.)

국내에서 자작 MP3 플레이어는 MP3 자체보다는 다양한 멀티미디어 기능 확장쪽으로 발전을 거듭하였습니다.

초창기에는 당근이의 AVR 갖구 놀기(http://cafe.naver.com/carroty) 라는(이하 당근이 카페) 거대한 전자 커뮤니티에서 많은 정보공유가 이루어 졌습니다.

처음에는 기본적인 정보 공유 이루어졌었는데..
어느날  당근이 카페에서 kkamcneko 아이디를 쓰시는 분이 해당 소스와 회로도를 공개하면서..

1차적으로 MP3 자작에 많은 사람들이 자극을 받았습니다.

물론 kkamcneko님의 작품은 순수 창작품이 아닌 이미 해외 자작 사이트를 참고하여 만든 작품이라고 밝히고 있지만..
최소한 해당 자료를 공개한 것만으로 많은 이들에게 도움이 되었음은 분명했습니다.



[그림 2] kkamcneko님 자작 MP3 플레이어 


동작화면은 http://cafe.naver.com/carroty/6217에서 볼 수있습니다. (아마 회원 가입 필요?)

이후 kkamcneko님 작품을 참고하여 네이버 유리한(yurikhan)님이 작품을 제작하셨는데.. 
유리한님 또한 소스와 회로도 및 FAT 관련 기초 강좌 글을 게시하셨습니다.
가 MP3 제작을 결심한 것은 유리한님이 소스와 회로도를 공개한 당시였는데.. 기본 베이스는 일본사이트 등을 돌아다니면서 습득을 했고.. 파일시스템 관련하여 유리한님의 강좌와 소스에 많은 도움을 받았습니다.

개인적으론 이 때 부터 자작 MP3에 관련하여 많은 정보가 오고 가면서..
자작 열풍이 크게 불었던 시기가 아닌가 합니다.

아직도 해당 커뮤니티를 찾아가면 유리한님의 소스에 대한 질문이 넘쳐나고 있는데..  
일례로 유리한님 7초 코드라는 말이 생겨났습니다~ ( 이 이야기는 나중에.. ) 




[그림 3] 유리한님의 자작 MP3 플레이어



kkamcneko, 유리한님 및 많은 분들의 정보 공유로 인해 당근이 카페를 중심으로 지금은 많은 작품들이 나오게 되었고..
성능도 뛰어난 작품이 많이 나오게 되었습니다.



[그림 4] 유리한님의 최근 마지막으로 공개한 자작 MP3 플레이어


그래서 현재는 MP3 구현자체는 성숙기에 이르렀고, 현재 추세는 인터넷 커뮤니티 및 전자 쇼핑몰에 소형 TFT-LCD가 풀리면서(개인이 구하기 어려운 물건입니다.) TFT-LCD 및 터치스크린 기반 MP3 및 멀티미디어(동영상은 불가.. 이유는 뒤에..) 플레이어 제작이 일반화 되고 있습니다.

다양한 작품은 당근이 카페의 작품 게시판에서 MP3로 검색하시면 확인하실 수 있습니다.

참고!
 위의 작품을 보시다시피.. 위의 작품은 일반적으로 알고 있는 arm, mips 보드에 linux 및 windows ce 기반의 보드를 사용한 것이 아닙니다. 위의 작품들은 회로부품 선정 및 회로 설계, 펌웨어, 드라이버와 같은 소프트웨어 모두 개인 또는 다수가 작업한 결과물 입니다. 그리고 메인으로 사용된 마이크로프로세서는 8비트 ~ 32비트(현재 컴퓨터나 임베디드 보드는 최소 32비트 급 이상이지요?)에 4k ~ 30k 바이트라는 극악한? 환경에서 제작된 작품입니다. 그러니 현재 소위 말하는 arm 보드랑 비교에는 무리가 있습니다. 요 참고글은 가끔 밑도 끝도없이 모르고 의심하시는 분이 생길까봐 노파심에 적은 글이니까.. 너무 신경쓰지 않으셔도 됩니다 ^^;



2. 요술고양이의 MP3 플레이어 자작기

 제가 MP3를 제작하기로 한 것은 졸업작품을 위해서였습니다. 그래서 저도 8비트 MCU(Micro Controller Unit: 그냥 요 세계에서 소형 마이크로프로세서를 부르는 통칭정도로 일단 이해해주세요.. 자세한 설명은 나중에 드리겠습니다.)를 기반으로 제작을 하기로 마음을 먹었지요..

그 당시(2007년 여름)는 워낙 지식도 얇팍했고(지금은 지식이 두껍다는 말은 아닙니다.) 솔직히 말해서..
당장 제작할 능력은 안되고.. 스터디를 하면서 시작해야 할 시절이었는데..

나름 졸업전에 도전을 해보자 맘으로 시작을 했습니다.

그래서 단순 음악 플레이를 목표로 해서 스터디를 시작했습니다.
MCU + 디코더 + CLCD(Character LCD: 영문자만 출력가능한 기초적인 LCD 입니다.)의 구성을 가진 Olny 음악 플레이 목적만 갖는 간단한 MP3 플레이어였지요..

그래서 일단 일본사이트를 중심으로 투어를 시작했습니다.
가장 큰 이유는 사이트 번역기로 번역!이 되어서 자료 습득이 용이했기 때문입니다.
그리고 우리나라와 달리 일본에선 전자공작에 사용하는 프로세서가 PIC를 많이 사용하고 있었기 때문입니다.
즉, 국내 학생들이 AVR MCU를 활용하고 있을 때 저는 PIC MCU를 한참 사용하고 있었습니다.
(PIC와 AVR을 모르시는 분은 그냥 쉽게 인텔용 프로세서냐 VIA 프로세서냐 정도로 이해해주세요.. 요것도 자세한 설명은 나중에 기회가 되면 설명드리겠습니다.) 

여튼.. 자료를 입수해서.. 스터디를 시작했습니다.
그런데 그 당시.. PIC 생산업체인 Microchip에서 16비트 MCU가 나오더군요.. 이전에 작업하려던 MCU보다 속도는 2.5배나 더 빠르고 16비트 연산에 ROM과 RAM이 월등히? 큰 녀석이었습니다.

그리고 거기에다가 TFT-LCD를 어느 한 커뮤니티에서 공구를 하기 시작했습니다.
그래서 기왕 목표를 갖는것을 더 크게 갖기로 마음먹고
단순 음악플레이기기에서 간단한 이미지 출력이 가능한 멀티미디어 기기 구현에 목표를 갖게 되었습니다.

그래서 약 3개월간 스터디와 시행착오를 거쳐서.. 1차 버젼을 완성했습니다.
나름 심혈을 기울여 만들었기 때문에 그 당시까진 저의 최대 역작(?)이었습니다.
(자잘한 버그도 참 많았습니다.)

그 당시 읽고 스터디 한 영문문서 및 기술노트가 상당했구요 인터넷에 나름대로 강좌 글을 게시했습니다.

개인적으로 가장 애를 먹인 부분이 있다고한다면..
FAT32 드라이버를 내 입맛에 맞게 수정하고 직접 구현해본다고 도전 한 것이 가장 오래 디버깅을 하게 만드는 요인이었습니다. (실은 외국에 공개된 것도 많았지만.. 도전하고 싶었어요~)

사진은 아쉽지만 생략?하기로 하구요..

저는 새 버젼을 제작하기로 마음먹었습니다.
대학원을 진학하면서 삼성소프트웨어 멤버십을 한번 지원해보기로 했거든요..

그래서.. 리비전을 거쳐..
자취방에서 3일간 땜질하고 펌웨어 수정 및 안정화 그리고..
블루투스로 음악전송 및 PS2 패드를 장착한 -_-; 테트리스를 추가하여

제 인생? 최대 역작이 탄생합니다.
그 이름은 Magic Cat Player이며, 차후 제가 운영하는 카페에서 진행하는 mPIC3 Player 프로젝트의 베이스가 되었습니다.

그리고 요 녀석 덕분에 삼성소프트웨어 멤버십 18기가 되었습니다.
최근에는 이렇게 불태우며 작업을 못해서.. 몸이 근질근질 합니다.
사진은 전에 사용하던 네이버 블로그에서 가져왔습니다.



[사진 5] Magic Cat Player 1.0


마지막으로 플레이 동영상입니다.


 


[동영상 1] Magic Cat Player 1.0 시연 영상

# 위 화면에 나오는 해당 텍스트 파일(txt)은 이래저래 웹에서 돌아다니는 소설? 텍스트인데..
아무래도 이래저래 위법성?이 있어 테스트용으로 확인 후 삭제하였습니다. :-)


 


[동영상 2] 블루투스 시연 영상


이번 포스트는 여기까지 하고.. 다음 포스트 부터는 MP3 자작에 관련된 이런저런 썰을 본격적으로 풀어보도록 하겠습니다.


3. 부록
참고할만한 MP3 제작 사이트
http://www.project-hf.net/ehobby/Projects/Mp3_Jukebox/jukebox_main.htm
http://www.pjrc.com/tech/8051/ide/fat32.html
http://www.pjrc.com/tech/mp3/sta013.html
http://hubbard.engr.scu.edu/embedded/procyonmp3/index.html
http://www.chiaki.cc/
http://www.mars.dti.ne.jp/~m7030/

참고자료
[1] http://www.chiaki.cc/
[2] 당근이의 AVR 갖구 놀기 네이버 카페, http://cafe.naver.com/carroty
[3] Microchip PIC 사용자 커뮤니티 네이버 카페, http://cafe.naver.com/micropic



 
1

Comment +38

  • 이전 댓글 더보기
  • 홍홍 2009.01.01 20:46 신고

    대단하시군요. 현재 mp3 회사에서 펌웨어 업무를 맡고 있습니다. 3개월에 하드웨어, 펌웨어까지 다 하셨다니 놀랍습니다. 펌웨어작업에 보통 6개월은 걸리는데 개인이 이정도의 실력을 가지고 있다면 님의 앞길이 밝아 보입니다.
    한국 IT를 이끌어가는 훌륭한 개발자 분이 되실길 빕니다. 새해 복 많이 받으세요.

    • 과찬의 말씀이십니다. 주변의 여러분들과 많은 분들의 도움이 없이는 가능하지 못했을 것입니다. 좋은 말씀 해주셔서 너무 감사합니다.

  • 대학다닐 때 디지털클락 만든 적이 있었는데, 뭐 워낙 단순해서 키보드에 lcd창으로 되어있는 시계였습니다. 처음에는 단순 시계만 하다가 달력이다가 알람까지... 처음 할때는 정말 재미있었는데 프로그램 짠답시고 밤도 세고 그랬죠. 지금생각해보면 아무것도 아니지만 그 때는 정말 했다는 성취감도 굉장했습니다. 사실 전자공학을 해도 이런 것을 경험 해보지 못하고 졸업하는 사람도 많습니다.

    지금은 어떻게 직접적으로 개발하는 일은 하고 있지는 않지만... 대학 때 많은 것을 해보면 사회에서는 분명 도움이 많이 됩니다. 새해 복많이 받으세요.

    • 네 맞습니다. 성취감 없이 이런일을 하는게 쉽지 않은 것 같습니다. 계속해서 이런일을 할 수 있을지 모르겠지만.. 아직까진 재미가 있네요^^

  • 전 이런쪽엔 정말로 정말로 정말로 문외한입니다.

    이런것 하시는분들 보면 그저 부럽기 짝이 없습니다..^^

    • 관심있으니까 다 하게됩니다.
      제가 운영하는 카페에는 치과의사분께서 전자를 취미로 하시는 분이 계십니다. 소위 엄치아!(엄마 친구 아들)이시죠 -_-;

  • 으아 대단하시네요. 오픈프레임의 mp3버전인가요. 글 잘보고 갑니다.

  • 이정도면 2009.01.01 21:15 신고

    아무리 여러면에서 생각해봐도 사는게...

  • 이다님 2009.01.01 22:02 신고

    역시 저는 이런쪽으로는 꽝이라 봐도 잘 모르겠네요...
    하지만 정말 대단하신거 같습니다.
    대충 눈으로 보면서 MP3의 구조가 약간 이해되기도 한듯한 느낌...
    수고하셨습니다.

  • 전자공학도 2009.01.01 22:07 신고

    전자공학 전공중인 학생입니다. 완성 후 느끼셨을 성취감을 생각하니 제가 다 뿌듯하네요~ 설계부터 제작까지 혼자서~!^^ 그리고 위에 '이정도면'님..당연히 아무리 생각해도 제품을 사는것이 훠~~~~얼씬 남는것이지여^^ 하지만 이런 분들이 입사하고 계발에 참여하여 신제품이 나오고 그 물건을 접할수 있는것이 아닐까요? ^^

  • 우와 2009.01.01 22:30 신고

    새해에 좋은 글 보고 갑니다. 계측공학이란 과목 들을 때 몇가지 센서를 이용한 계수기 만든 적이 있었는데 그것도 4일 내내 힘들었었거든요. 성공하긴 했지만 기계과라 전자는 처음이라 고생했다는.. ㅜㅜ 도대체 저 정도를 만드려면.. 우와.. 당신 같은 분이 있어 한국 IT산업의 미래가 밝아보입니다. 새해 복 많이 받으세요 ㅋㅋ

  • 초코푸딩 2009.01.01 22:47 신고

    예전에 같이 운동하던 외국인중에 한분이 mp3를 실비아(시큼한맛의 가루 군것질거리) 플라스틱 케이스에 만들었더라구요. 신기하다고 생각했는데, 여긴 더 대단한 자작mp3가 많네요ㅎㅎ

  • 한울 2009.01.01 23:48 신고

    훌륭하십니다. 앞으로도 계속 좋은 글 올려 주세요. 지켜 보겠습니다.

  • 90년대 초반에 같이 자취하던 전파공학과 다니던 친구가 있었는데..
    삐삐 하나 만들어 달했더니..
    "만들수는 있는데 등에 지고다닐수 있냐?" 하는 겁니다. ㅎㅎㅎ
    님도 파이팅~ 입니다.~!!!!

  • 컴전공학생 2009.01.02 01:33 신고

    안녕하세요. 저는 생각만 해보고 접근도 못해봤는데 많은 감명을 받았고 느낀점도 많습니다. 저같은경우는 전자전공이아니고 컴퓨터전공이라서 전자쪽 지식이 많이 취약해요. 보드 이런거에 ㅠㅠ 저도 고양이님처럼 직접 자작한번 해보는게 소원입니다. 앞으로 자주 들를게요. 가급적 전자쪽 기초내용도 쉽게 쉽게 설명해 주세요ㅠㅠ 나중에 궁금한것좀 여쭤봐도 될까 모르겠네요. 안녕히 계세요.

  • 멋지군요. 저도 이쪽으로 관심이 많은데..
    열심히 해봐야겠군요.
    꼭 MP3가 아닌..
    디스플레이+프로그래밍 에 관심이 많아서요..^^;;

    좋은자료 감사합니다.

    P.S.
    처음 이런 자료를 접하는 사람에게
    어디서부터 시작할지 조언좀 부탁드립니다.
    (완전 초보라고 생각하셔도 되요.)

    • 이런자료는 인터넷 커뮤니티(카페, 동호회)를 이용하시는게 가장 빠를 듯 합니다. 추천카페로는 네이버 카페 검색에서 지니의 LCD 라고 검색해보시던가 또는 너굴팬더의 마이크로하우스 카페를 찾아보세요~

  • 삼성소프트웨어 멤버십분이셨군요. 18기(.2 아니고)시면 OT때 스쳐지나갔을 수도 있겠네요~ 혹은 함께 이야기했을 수도~? ㅎㅎ
    훌륭한 글 잘 보다 갑니다^^

  • 천하장사 2009.01.02 07:23 신고

    재미있을 것 같네요. 한동안 일이 바빠서 이런 일들을 할 틈이 없었네요. 지금 junk box에서 잠자고 있는 Weller soldering station을 꺼내서 한번 해봐야 겠습니다. 좋은 정보 감사합니다.

  • 아이비의 꽃 브라운대 2009.01.02 08:23 신고

    예전에 도전했었는데 상당히 어렵더라고요,,,
    뭐,, 기능면은 아이팟을 그냥이용했더니 쓸만은 하던데,,,
    전 플라스틱을 이용해서 커버했더니 가벼워서 좋더라고요??
    지금은 떨어뜨려서 망가지긴했지만요,,
    좋은정보 ㄳ요

  • 조성철 2009.01.02 09:06 신고

    우와.... 멋져요 멋져.

    어쩌면..........아이팟을 넘나드는 셰계적인 기업을 차리실 수도...ㅎㄷㄷㄷ

    어쨋든.. 근데 궁금한데요.. 보통 아이팟 터치같은건 인터넷도 되잖아요.. 그런것도 연결할 수 있나요??

  • 지금도 파는지는 모르겠는데, 예전에 펀샵에서 DIY mp3를 팔았었는데, 하지만 용량에 비해 가격에 GG를 치고 말았다는...

    그놈의 가격을 보니 나의 선택은 그냥 하나 사는 것이 낳다는 생각?

  • 우와~ 엠피3도 직접 만들 수 있는 거로군요!!
    대단하십니다. ^^

  • 흙흙 ㅠㅜ 내 닉네임도 유리한인데;; 당근이 카페측의 유리한(yurikhan) 님과는 다른 사람입니다;;
    그래서 당근이에서는 활동을 거의 못했죠. 사람들이 헷갈려들하셔서..
    kkamcneko 소스 활용해서는 2006년 말경에 만들어보기는 했는데
    그때 소스는 거의 그대로 사용.. 땜질한 기억밖에 없네요.