본문 바로가기
Hardware/MCU(Arduino,ESP8266)

새로운 Fritzing 부품 만들기 - Nextion Display for Fritzing

by lovey25 2019. 3. 15.

개요

아두이노등을 활용한 나만의 프로젝트를 진행할때 회로도를 그려야 할일이 있습니다. 기본적으로는 아두이노와 각종 부품들의 배선을 알아보기 쉽게 표현하기 위해서 회로도로 그려보기도 합니다. 그리고 가끔은 장기간 사용하기위한 회로를 만들기 위해서 만능기판에 납땜질을 하기도 하는데 이때 회로도를 그려서 최적화된 배선을 찾는등 작업이 필요할 때도 있습니다.

회로도를 그리는 프로그램은 매우 다양한 프로그램들이 있습니다. 전문가용 상용프로그램들은 기능도 참 많고 좋은데 그만큼 가격도 비싸서 저처럼 단순취미인들에게는 돼지목에 진주목걸이입니다. 전통적 강자인 OrCad같은 경우는 패키지별로 수십에서 수백정도 하는것 같더라구요. 

하지만 요즘이 어떤시대입니까? 개방의 시대(?) 아니겠습니다. 상용프로그램 못지않는 기능을 제공해주면서도 무료로 사용할 수 있는 솔루션들이 많이 있습니다. 그중에서 제 개인적으로 괜찮다고 생각하는 솔루션으로는 AUTODESK사의 Eagle이라는 프로그램과 오픈소스기반의 Fritzing이라는 프로그램입니다.

Eagle은 완전 무료 프로그램은 아니지만 무료버전이 개인 사용자가 사용하기에 부족함은 없다고 합니다. 그리고 찾아봐도 가장 많은 사람들이 사용하고 있는 프로그램인것 같습니다. 무료버전의 제약사항이 레이어 수 2개와 스케매틱 시트 2개이고 보드 싸이즈도 제한이 있네요. 그렇지만 부품 몇개 사용하는게 고작인 제가 사용하기에는 전~혀 무리가 없겠죠. 

그럼에도 불구하고 저는 주료 Fritzing이라는 프로그램을 더 자주 사용합니다. 완전 무료인데다가 실제로 빵판에다가 와이어링을 하는 감성적 디자인과 직관적인 인터페이스때문입니다. 그리고 이런 매력때문에 역시 많은 사람들이 사용하고 있는 프로그램이라서 라이브러리도 잘 되어 있고 사용자들이 만든 부품들도 많아서 쉽게 찾아볼수 있습니다. 사실 Eagle은 PCB설계용 전문툴이라고 할 수 있고 이건 취미용에 더 가깝다고 봐야할까요. 아무튼 제품 목표층 자체가 다르긴 합니다.

단한가지 단점이라면, 2016년이후로 프로그램 업데이트가 없었다는 점입니다. 커뮤니티에 이에관한 의견들도 많이 있는데 사망 선고일 만 기다린다는 얘기도 있고, 아직 개발자가 포기하지 않았고, 새로운 플랫폼으로 출시될거란 얘기도 있고 합니다. 아무튼 최신버전이 0.9.2b로 아직 베타딱지도 때지 못했습니다. 하지만, 전 계속 사용할랍니다. 이게 엄청 편하거든요. ㅎ

Fritzing Part Editing

오늘은 서론이 너무 길었네요. 아무튼 이번에 제가 Nextion이라는 HMI LCD를 하나 마련했습니다. 이걸 아두이노와 연결해서 사용할 계획이라 결선도를 하나 그려두고 싶은데 아무리 찾아봐도 Nextion LCD의 Fritzing 파일을 찾지 못했습니다. 부품자체는 PCB에 직접연결되는 타입이 아니라서 정형화된 Footprint가 필요하진 않지만, Fritzing에 같이 그려두고 싶었습니다. 그래서 이참에 부품파일 만드는 방법을 알아보고 제가 직접 한번 만들어 보기로 했습니다. 

Nextion LCD Fritzing Part 만들기

에디터 열기

Fritzing에는 자체적으로 부품파일을 편집하는 툴인 Fritzing Editor가 내장되어 있습니다. 그런데 특이한것이, 아무것도 없는 백지상태에서 완전히 새로운 부품을 그릴 수 있는 메뉴는 없습니다. 이 Fritzing Editor라는 프로그램의 실행파일도 찾을 수가 없네요. 그래서 유일한 방법은 라이브러리에 있는 기존 부품파일을 편집해서 새로운 파일로 저장하는 하는 것입니다.

Fritzing 을 실행하고 내가 새로이 만들고자 하는 부품과 가장~ 비슷하게 생긴 부품을 찾아서 마우스 우클릭을 하고 "Edit Part (new parts editor)... 메뉴를 선택합니다. 

그러면 다음과 같이 부품파일을 편집할 수 있는 에디터가 열립니다. 저는 그냥 Nextion과 유사도는 신경쓰지 않고 아무부품이나 열었습니다. 

자이제 편집을~ 어?! 그런데 이상한점이 있습니다. 

이름은 에디터인데 아무리 프로그램을 뒤져봐도 그려져 있는 부품을 수정할 수 있는 방법이 없습니다. 할 수 있는건 핀 맵핑정보를 수정하고 메타데이터를 바꾸는 것만 할 수 있습니다. 그렇습니다. 새로 만들고자 하는 부품의 외형도, Schematics, 그리고 Footprint를 다른 이미지 프로그램을 이용해서 만들어서 불러와야 합니다.

폰트와 템플릿 다운받기

공식홈피에 이와 관련해서 가이드라인 및 예제 파일이 올라와 있습니다. 가이드에는 사용해야할 권장 글꼴, 색상 등등 이 있고 예제 파일에는 샘플 탬플릿과 글꼴파일이 들어 있습니다. (https://github.com/fritzing/fritzing-app/wiki/2.1-part-file-format)

FontsAndTemplates.zip
다운로드

 (언제 없어질지 몰라서 다운받아두었습니다. ㅡ.,ㅡ)

그런데, 파일이 svg파일입니다. (이건 뭐지?) Fritzing은 벡터이미지를 사용하는데 벡터이미지 형식의 한가지라고 하네요. 그럼 일러스트를 깔아야 하나 싶었는데 다행히 무료 벡터이미지 편집프로그램이 있었습니다.

잉크스케이프 설치 및 벡터이미지 작업

https://inkscape.org

잉크스케이프라는 프로그램인데, 여기서 다운받을 수 있습니다. 무료프로그램이니 부담없이 받아줍니다.

그리고, 여느 이미지 편집툴과 사용법이 별반 다를게 없었습니다. 메뉴들이 생소하시만 꾸역꾸역 그려봤습니다.

이제부터 우리가 만들어줘야 하는 파일은 다음의 3가지 입니다. 


(Tip; Fritzing의 빵판간격과 핀 간격을 일치시키기 위해서는 핀폭: 1.375pt(0.019inch); 핀간격: 5.4pt(0.075inch)으로 작업해야 함. 권장규격과 상이함)

Fritzing에서 권장하는 표준을 따르도록 최대한 노력을 했지만 이게 은근히 손많이 가는 작업이라 100% 정확한 파일은 아닙니다. 특히, PCB footprint로 쓰실분은 안계시겠지만 이부분도 실사이즈와 다를 수 있습니다.

그래픽 소스가 완성되었으니 이제 Fritzing Editor로 다시 돌아가서 작업을 진행합니다.

잉크스케이프에서 작업한 벡터이미지 Fritzing Editor에서 불러오기

Inkscape에서 만들었던 3가지를 아래 탭에 하나씩 불러오기해서 열어줍니다. (파일 >> load image for view)

브레드보드, 스케메틱탭, PCB탭에서 각각 아까 만들어둔 svg파일을 불러옵니다. 아이콘용으로 별도 이미지를 만들어도 되지만 대부문 브레드보드 이미지를 같이 사용더라구요.

그런데 여기서 한가지 문제가 발생합니다. PCB뷰 탭에서 svg파일을 불러오면 “copper”레이어가 없어서 파일을 불러올 수 없다는 에러가 뜹니다. 응?! 홈페이지에서 그런얘기는 못봤었는데 이상하네요. 또 구글링 해야겠죠.

PCB 이미지에 copper 레이어 설정하기

찾아보니 PCB 뷰에서는 레이어 이름을 엄격하게 따지도록 되어 있다고 하네요. 그런데 제가 작업한 Inkscape라는 프로그램의 레이어는 Fritzing에서 인식하지 못해서 Inkscape의 개체라는 매뉴를 통해서 개체 이름을 copper라고 정해주어야 했습니다.

사용되는 개체는 copper0, copper1, silkscreen이라는 3개의 개체인데 이중에서 copper0, copepr1만 제대로 있으면 사용할 수 있는것 같습니다. copper1레이어는 금색으로 표시되는 부품핀홀을 위한 레이어이고 silkscreen은 그외 나머지를 위한걸로 생각하면 될것 같습니다. 

그래서 저는 다시 PCB용 이미지 파일을 Inkscape에서 다시 불러온다음 다음과 같이 개체 작업을 하였습니다.

보시는 것처럼 copper0라는 개체를 먼저만들고 그하위에 copper1개체를 만들었습니다. 그리고 Nextion pin 4개에 해당하는 금색 동그라미 4개를 coppper1개체아래에 위치하도록 조정했습니다.

silkscreen에 대해서는 특별한 제약사항은 없는것 같았습니다.

이제 만들어진 파일을 다시 PCB view로 불러와보면 이제는 에러없이 잘 들어오는걸 볼 수 있습니다.

핀 맵핑 및 메타데이터 입력

이제 마무리만 남았습니다. 각 핀 이름을 지정해 주고  지정된 이름을 서로서로 열결시켜주는 매핑작업만 해주면 됩니다.

먼저 Metadata입니다. 만들어준 부품에 대한 정보가 들어가는 공간입니다. 최대한 자세히 적어준다면 사용하는 다른 사람들에게 도움이 되겠죠. 그리고 켄넥터 탭으로 이동해서 핀정보를 적어줍니다. 먼제 핀의 개수를 먼저 적어주면 아래 리스트가 숫자에 맞게 변하는데 각 핀의 특성을 적어주시면 됩니다.

마지막으로 매핑입니다. 

브레드보드, 스케메틱, PCB탭 화면에서 우측은 아래 그림처럼 컨넥터에 대한 정보를 입력하는 부분입니다. 우측 리스트에 VCC부터 GND까지 위의 컨넥터탭에서 작업한 내용이 그대로 보여지는데요. 이 각 핀들이 우리가 그렸던 이미지 파일의 어느부분에 해당하는지를 연결시켜주는 작업입니다. 

아래그림에서 VCC와 Tx는 체크 표시가 있는데 매핑이 되었다는 표시입니다. 그리고 매핑을 하는 방법은 매핑하고자 하는 핀을 리스트에서 먼저 선택을 하면 "Select graphic"이라는 버튼이 나오는데 이버튼을 먼저 누르고 이미지에서 핀에 해당하는 부분을 클릭해 주면 매핑이 완료됩니다.

이제 메뉴에서 "파일 >> Save as new part"로 이동해서 저장을 해 주면, 길고 길었던 Fritzing 부품만들기 작업이 완료됩니다. 후~

결과

이제 지금까지 작업이 완료되었다면, Fritzing 프로그램에 Mine이라는 라이브러리를 살펴보시면 만들었던 부품을 확인 하실 수 있습니다. 이렇게 와이어링도 잘 인식하네요. ^^

완벽한 파일은 아니지만 혹시나 필요하신분들이 계실까 하여 파일 공유합니다.

Nextion LCD.fzpz
다운로드

 

끝!

728x90

댓글2

  • skswb 2021.09.19 22:30

    벡터 이미지까지 만들고 업로드 하려는데
    Error reading file /private/var/folders/x_/l_l_5b0n21xbwng4ngry9p3h0000gn/T/fritzing_pe_df930064900f8ecb651d4e8c940e53c7/prefix0000_df930064900f8ecb651d4e8c940e53c7_4.fzp: unable to create renderer for svg /Users/kimseonggwan/Documents/Fritzing/parts/svg/user/breadboard/prefix0000_df930064900f8ecb651d4e8c940e53c7_4_breadboard.svg.
    이런 에러가 뜨는데... 어떻게 해야할까요?? ㅠㅠ
    답글

    • Favicon of https://kwonkyo.tistory.com BlogIcon lovey25 2021.09.19 23:22 신고

      처음 드는생각이 권한 문제인것 같아서 관리자 권한으로 다시 해보세요라고 썼다가 저도 궁금해서 찾아보니 포럼에 이런 글이 있어서 댓글 수정합니다.
      아마 svg파일의 내부구조 문제로 발생하는것 같아요. 아래 링크 참고해 보세요.
      https://forum.fritzing.org/t/error-loading-svg-files-to-parts-editor/963