:::: MENU ::::
Browsing posts in: Open Source Hardware

아두이노 IDE 빌드 환경 만들기

아두이노 IDE의 한글화를 진행하기 위해 윈도우즈 환경에 아두이노 IDE 빌드 환경을 세팅을 했다. 

1. 개발툴 설치

필요한 사항: Cygwin, Java JDK, ant가 필요하다.

1) Cygwin : Cygwin 은 윈도우즈 환경에서 리눅스를 쓰기위한 툴이다. 이걸 다운로드 한다. http://www.cygwin.com/setup.exe

    다운받은 파일을 실행시키고, 필요한 패키지만 선택을 해서 다운로드 받는다.

    필요한 패키지는 git, make, gcc-mingw, g++, perl, unzip, zip, coreutils, gzip, tar 이다.

    각각의 이름을 search해서 바이너리만 받는다. 

    국내 미러사이트가 없는데, 위치상으로 가까운 일본쪽 미러사이트를 선택을 하면 빨리 다운로드 받을 수 있다.

2) ant :아파치 Ant는 자바라이브러리 및 command-line 툴인데 빌드할때 필요하다.  http://ant.apache.org/bindownload.cgi 에서 

   다운로드하고 설치를 한 다음에, apache-ant-xxx\bin 를 PATH에 추가한다.

3) Java JDK: 오라클 홈페이지에 가서 다운로드하고 설치한다.

    http://www.oracle.com/technetwork/java/javase/downloads/index.html

   시스템 환경 변수에  다음 그림과 같이 JAVA_HOME를 추가하고 설치한 JDK의 위치를 설정한다.

   만약 이 설정이 제대로 되지 않으면 빌드를 할때 “Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar” 이런 에러메시지가 뜬다.

    

2. Github에서 코드 가져오기

   Cygwin Terminal을 열고 다음과 같이소스를 가져온다.

   git clone git://github.com/arduino/Arduino.git

  위와 같이하면 Cygwin의 home 폴더 (따로 HOME을 지정을 하지 않았으면)에 Arduino라는 폴더 아래에 소스를 가져올 것이다. 

3. 빌드하기

  Cygwin Terminal에서 Arduino/build 로 이동한후 ant 라고 치면 빌드를 한다.    

  Arduino/build/windows/work 아래에 arduino.exe 파일이 생겼을 것이다.


Eagle CAD

Open Hardware를 위해 Eagel CAD를 많이 사용을 하지만 정작 사용법에 대한 한글 안내는 많지 않다.
유일한 것이 http://nohau.com.ne.kr/eagle.htm 의 링크에 있는 내용이다.
이 링크는 일본 자료를 번역한 것 같은데, 실제 툴이라는 것이 각각의 기능에 대한 알기보다는 실제로 자기가 사용을 해가면서 왜 기능이 필요한 가를 터득하는 것이 중요하다. 툴의 모든 기능이 다 필요로 하지는 않으니까…
이 링크가 별로 마음에 안드는 것은 웹사이트의 모든 키를 막아놔서 copy가 안되는데, Evernote같은 툴로 페이지를 스크랩하는 것은 가능하다. ^^*

간단히 Eagle CAD의 사용법을 정리하면..

1. Tool 받고 설치하기
http://www.cadsoftusa.com/ 사이트에서 다운로드 받는다.
정식버젼과 fress version과 s/w는 동일하지만 정식버젼은 key값을 입력을 해여하며, free version의 경우 다음과 같은 제약이 있다. 이 정도면 웬만한 작업은 거의 다 가능한 수준이다.

  • PCB의 크기는 100 x 80mm(4 x 3.2인치)까지 지원
  • 2 layer(Top과 Bottom)만 가능
  • Schematic은 sheet 1개만 가능

Free 버젼의 경우 툴을 받고 설치시 마지막에 라이센스를 물어보는 창이 있는데, 이때 “Don’t license now”를 선택하면 된다.

Control Panel
프로그램을 실행시키면 Control Panel이 뜬다.

Libraries 
Part들의 Schematic library와 PCB library가 등록되어 있다. 기호를 클릭할 때 등록된 내용들을 볼 수 있는데, 사용할 라이브러리를 개별적으로 선택이 가능하며 선택된 라이브러리는 초록색 원 모양이 표시된다.
그냥 전부 다 사용으로 한다. Use all 을 선택.. 처음 사용하는데 내가 필요한게 뭔지 어떻게 알 수 있는가?
참고로 라이브러리의 확장자는 lbr.

User Language Programs
 ULP라고 부르며, 아직 직접이런 것을 만들 필요는 없고, 나중에 PCB 작업이 끝나고 drill정보를 export하기위해 drillcfg.ulp정도만 사용이 된다.
Projects
이 폴더에 작업한 내용이 저장이 된다.

http://nohau.com.ne.kr/eagle.htm 이 사이트에서 다음의 2 항목을 참고해서 한번 회로도 및 PCB를 만들어 본다.
2. 프로젝트 만들기 : http://nohau.com.ne.kr/eagle09/eagle03.htm 참고

3.우선 사용하고 봅시다. : http://nohau.com.ne.kr/eagle09/eagle09.htm 참고

4. 라이브러리 만들기
회로도나 PCB작업의 경우 어려운 것은 내가 필요한 심볼 및 PCB footprint를 찾는 것과 만약에 이게 없으면 만들 수 있는 능력이다. 따라서 라이브러리를 만드는 방법은 반드시 알아야 한다. Schematic 라이브러리는 상대적으로 만들기가 쉽고, PCB footprint는 수치를 정확하게 맞추어야 하기 때문에 좀 까다로운 편이다.
라이브러리를 만드는 방법은 다음 링크의 글이 잘 정리가 되어 있다. HOW-TO: Make parts in Cadsoft Eagle 

Instructables에 소개된 회로도에서 PCB까지 만드는 방법에 대한 자료
Turn your EAGLE schematic into a PCB

PDF파일로 저장된 버젼

cfile26.uf.114A5E344F6ADF76136C61.pdf

5. 거버 만들기
Board 파일(*.brd)을 연다.
Drill Rack 파일의 작성: 명령 바에 “run drillcfg” 라고 입력하고 엔터 키를 누르거나, 메뉴 “File” → “Run”을 선택하여 “drillcfg”를 선택.
단위를 선택한 다이얼로그가 표시되면 인치(inch)를 선택하고,OK 버튼을 누른다.

현재 사용되고 있는 드릴(drill) 크기(size)들이 표시되는데, OK 버튼을 누르고 저장을 한다.

Excellon drill 파일의 작성
보드에서 CAM을 선택을 한다.

CAM Procesor 창이 뜨는데, “File > Open > Job…” 을 선택을 하고 표시된 파일중에 “excellon.cam“을 오픈한다.
그리고 좌측 하단의 Process Job을 선택한다.

거버 파일 작성
위 Excellon drill 파일의 작성과 마찬가지로 “File > Open > Job…”을 선택하고, 이번에는 “gerb274x.cam” 을 오픈한다.
그리고 좌측 하단의 Process Job을 선택한다.
이상으로 거버파일이 완성이 되었다. 완성된 거버파일은 gerbv같은 프로그램으로 확인을 한다.

6. 거버 확인하기
gerbv – A Free/Open Source Gerber Viewer :
http://gerbv.gpleda.org/


Fritzing에 Wiz820io 라이브러리 공식 등록

Fritzing 툴의이 최근 버젼(0.6.4)버젼부터 지난번에 제가 만든 Wiz820io가 공식 라이브러리도 등록이 되었습니다.
이번 버젼에서 눈에 띄게 달라진 점은 part 라이브러리가 각 제조사별로 브랜딩되어 있습니다.
즉 Arduino, Parallax, Sparkfun등의 탭들이 생겨서 각 제조사 별로 부품을 찾을 수 있게 되어 있네요.
제가 만든 Wiz820io는 Core Parts에 Connection 항목에 들어가 있습니다.


Raspberry Pi

저가의 리눅스 박스를 기치로 내건 Raspberry Pi
관련 자료: http://www.raspberrypi.org/


An ARM GNU/Linux box for $25. Take a byte!
위키피디아에 자세한 자료가 있다.
http://en.wikipedia.org/wiki/Raspberry_Pi#cite_note-Broadcom-BCM2835-Website-3


Specifications
































































Model A Model B
Target price: [1] USD $25 (GBP £16) USD $35 (GBP £22)
SoC: [1] Broadcom BCM2835 (CPU + GPU + DSP + SDRAM) [4]
CPU: 700 MHz ARM1176JZF-S core (ARM11 family) [4]
GPU: Broadcom VideoCore IV,[26] OpenGL ES 2.0, 1080p30 H.264 high-profile decode [4]
Memory (SDRAM): 128 MiB 256 MiB
USB 2.0 ports: [9] 1 2 (via integrated USB hub) [25]
Video outputs: [1] Composite RCA, HDMI
Audio outputs: [1] 3.5 mm jack, HDMI
Onboard storage: [9] SD / MMC / SDIO card slot
Onboard network: [1][9] None 10/100 Ethernet (RJ45) [25]
Low-level peripherals: 2×13 header pins for GPIO, SPI, I²C, UART, +3.3 Volt, +5 Volt [26][27]
Real-time clock: [1] No clock or battery
Power ratings: 500 mA, (2.5 Watt) [1] 700 mA, (3.5 Watt)
Power source: [1] Volt via MicroUSB or GPIO header
Size: 85.60mm × 53.98mm[28] (3.370 inch × 2.125 inch)
Supported operating systems: Debian GNU/Linux, Fedora, Arch Linux[2]
Unsupported operating systems: RISC OS[3] (shared source)

관련기사도 떳네요


$25 computers sell for over $3,000, money goes to charity



First run of ultra-cheap Raspberry Pi computers hits eBay for a good 
http://www.tecca.com/news/2012/01/05/raspberry-pi-ebay/


 


Fast Company의 기사
TO REDEFINE COMPUTING, HAVE A COUPLE BEERS: THE RASPBERRY PI CREATION STORY

http://www.fastcocreate.com/1679342/to-redefine-computing-have-a-couple-beers-the-raspberry-pi-creation-story?partner=best_of_newsletter


BeagleBone



TI사의 Beagleboard의 장점만을 가져온 저가형 오픈 하드웨어 플랫폼인 BeageBone
보드사이즈도 작고 TI사의 AM3358 ARM Cortex-A8 기반의 칩이 사용되었고, 물론 Linux 기반이다.
Rascal과 비슷하게 웹서버 내장형 개발 환경을 제공한다.

오픈 하드웨어이므로 관련 정보는 모두 오픈되어 있다. http://beagleboard.org/hardware/design/

BeagleBone에 대한 설명
The BeagleBone is the low-cost, high-expansion hardware-hacker focused BeagleBoard. It is a bare-bones BeagleBoard that acts as a USB or Ethernet connected expansion companion for your current BeagleBoard and BeagleBoard-xM or works stand-alone. The BeagleBone is small even by BeagleBoard standards and with the high-performance ARM capabilities you expect from a BeagleBoard, the BeagleBone brings full-featured Linux to places it has never gone before.

하드웨어



  • Board size: 3.4″ x 2.1″

  • Shipped with 2GB microSD card with the Angstrom Distribution with node.js and Cloud9 IDE

  • Single cable development environment with built-in FTDI-based serial/JTAG and on-board hub to give the same cable simultaneous access to a USB device port on the target processor

  • Industry standard 3.3V I/Os on the expansion headers with easy-to-use 0.1″ spacing

  • On-chip Ethernet, not off of USB

  • Easier to clone thanks to larger pitch on BGA devices (0.8mm vs. 0.4mm), no package-on-package memories, standard DDR2 vs. LPDDR, integrated USB PHYs and more.


관련 정보: http://beagleboard.org/bone

왜 확장 헤더들이 Arduino와 호환이 안되느냐는 FAQ도 있다.

Why aren’t the BeagleBone expansion headers compatible with the Arduino?
We set out to enable something different than the Arduino, though certainly having the breadth of add-on boards available to the Arduino is in our goals. While it would have been possible to make this happen and it is still possible to make an add-on board that would adapt to that interface, the performance and cost of interfacing to Arduino shields as-is would under-utilize the capabilities of the underlying Linux-based system and compete in places where an Arduino is really the right solution.


We are anxious to work with open hardware partners looking to generate and sell add-on boards and microSD card images (or Linux kernel patches or node.js libraries) that make hardware support transparent. Availability on the BeagleBone will be at least as high as the current BeagleBoard and BeagleBoard-xM, so the audience for your add-on hardware will be extensive. Direct links on the BeagleBone purchase page are welcome, as long as the key Linux distribution and hardware test developers are provided with early hardware to ensure quality interoperability. Open software collaboration through the BeagleBoard mailing list is highly encouraged.


Rascal 오픈 하드웨어 플랫폼


위 사진에 보이는 보드가 Rascal이다. Rascal은 아두이노와 같은 오픈하드웨어 플랫폼이다.
특징은 아두이노보다 파워풀한 하드웨어 스펙이라서 아두이노 보다 높은 성능을 요구하는 응용에 알맞다. 

하드웨어



그리고 아두이노의 쉴드들을 활용할 수 있게 보드사이즈를 맞추었다.

가장 특징적인 것은 기본적으로 네트워크가 지원이 되고 Phyton을 이용해서 프로그래밍을 한다.
즉 보드에 자체 웹서버가 있고 웹 에디터가 내장이 되어 있어서 PC에서 보드에 접속을 해서 웹 환경에서 Phyton으로 프로그래밍을 하는 형태이다.

Rascal의 특징



  • Open source computer that works with Arduino shields

  • Programmable in Python

  • Serves webpages

  • Web server includes an editor

가격은 $175 로 좀 비싼편..

관련 동영상: http://rascalmicro.com/docs/basic-tutorial-getting-started.html
관련 정보: http://rascalmicro.com/

Postscapes(http://postscapes.com/)의 Trevor가 Rascal의 Brandon을 인터뷰한 내용
http://postscapes.com/iot-open-source-computers-a-conversation-with-rascal-creator-brandon-stafford


IRON HACK 참가기

지난 목요일(12/22) 저녁 8시 플라툰 쿤스트할래에서 개최된 IRON HACK 행사에 참석했습니다. 

아래 내용은 Hacker Space Seoul에 있는 행사에 대한 소개 내용입니다. 
아이언 핵
 
아이언 핵 (해킹 철인) 은 아이언 세프 (요리 철인 ) 이라는 세계적인 TV 프로그램을 패러디한 디자인 대회이다. 대회 참가자들에게는 대회 당일날 엄청난 양의 비밀스런 재료가 공개된다. 주어진 시간은 단 2시간. 참가자들은 그 재료를 자신만의 방식으로 해킹하여, 유용하거나 혹은 흥미로운 무언가를 만들어 내야 된다. 현장에는 심사위원들이 있으며, 최고의 해킹 철인을 위한 소정의 상이 마련되어 있다.
 
해킹, 누구나 할수 있다. 할아버지도, 며느리도,  울 강아지도!. …이번 해커스페이스 서울은 이번 경연에서 기존의 틀을 깨어내는 창의적인 마인드에 집중하고자 한다. 일상속에 갇혀있는 일탈의 기운을 흔들고 싶으신 분, 자신만의 아이디어를 실현하고 싶으신 분들의 참여를 환영합니다.

이 경연에 참가하시고 싶으신 분은 [email protected] 로 이메일로 신청해주십시오. 지금!
시간: 12월 22일 목요일 8시

장소: 플라툰 쿤스트할래

대회 참가비: 10000 원

조기 예약자 할인: 5000 원 (12/18일까지)


일단 참가를 하게된 동기는 London Hacksace를 다녀와서 한국에 있는 hack space를 찾다보니 Hacker Space Seoul를 찾게 되었고, 여기서 주관하는 행사에 참석을 하게됐습니다. 예상과는 달리 많은 사람들이 참석을 했으며, 제가 앉은 테이블에는 수능을 본 학생, 대전에서 대학을 졸업하고 창업을 한 분, 모바일 마케팅쪽에 종사하시는 분등 다양한 분들이 참석을 했습니다.
참고로 한국의 Hacker Space는 런던의 HackSpace와는 사뭇다른 bar 분위기 입니다.


행사의 주제인 스카치테이프가 수북히 쌓여 있습니다.



이날 행사의 주제는 스카치테이프를 가지고, 2시간 동안 창의적인 작품을 만드는 것인데, 전 고작 위 사진같이 해파리 같은 모자를 만들었는데, 다른 분들은 아래 사진처럼 정말 잘 만들더라구요. 그런데 전공을 물어보니 대부분 미술쪽 전공… 홍대 출신.. -_-;; 역쉬….


Speak



롤러코스터


스카치페이프로 옷을 만드신 분과 공룡 모양의 공연의상을 만드신 분


거미줄에 걸린 루돌프 (1등)




위 작품은 정면에서 봤을때는 Iron hack 이라는 글자가 보이는 작품

이날 행사는 채널 IT라는 방송에서 취재도 나왔었습니다. 어쩐지 좀 예쁘장하신 분이 있었는데, 리포터 였습습니다. ^^*
http://www.channelit.co.kr/tv/program/episode/68?episodeSeq=125
방송의 마지막 부분에 소개가 되는데, 후반 47분 경 부터 나옵니다.


LeafLabs의 Maple mini, Maple Ret 5 보드 사용기

Arduino가 AVR을 기반으로 하여 오픈하드웨어 플랫폼을 주도하고 있는데, Leaflabs은 STM32시리즈를 기반으로 하는 오픈하드웨어 플랫폼을 만들고 있다. Leaflabs의 보드들의 이름은 Maple이다.
Leaflabs사의 홈페이지에서 주문을 하니 한 일주일만에 배송이 되었다. Arduino가 요즘에는 브랜딩 작업을 하고 있고, 포장 및 디자인까지 신경을 쓰는 반면 역시 후발 주자답게 포장이 좀 허접하다. 대신 사탕을 같이 넣어서 주네..ㅋㅋ



아두이노와 같은 모습의 IDE를 사용하는데, 일단 처음 부터 막힌다. IDE 다운로드


몇시간의 삽질끝과 bootloader 소스까지 받아서 bootloader 가 어떻게 동작을 하는지 알아낸 후에야 이해가 된다.
Windows 환경의 경우 드라이버를 수동으로 설치를 해야 하는데 2 종류의 드라이버를 설치를 해야한다.
 -. Maple R3 COM port 드라이버
 -. LibUSB-Win32 Devices 드라이버
만약 위 2번째 드라이버가 설치가 안되어 있으면, 다운로드시

Couldn’t find the DFU device: [1EAF:0003]


라는 메시지가 뜬다.

설치를 하는 방법이 좀 까다로운데, 리셋을 누르면 LED가 6번 빨리 깜박인다.
이 다음에 BUT 버튼을 누른후 장지관리자에서 설치가 되지 않은 드라이버를 수동으로 설치를 한다.
즉 Perpetual bootloader mode에서 설치를 해야 한다.
설치 파일은 IDE를 인스톨한 폴더 아래 drivers\mapleDrv 아래 dfu, serial 폴더에 각각 있다.

LeafLabs에 있는 Andrew가 알려준 유튜브에 있는 동영상



http://leaflabs.com/docs/maple-ide-install.html#id4 에 있는 설치 정보.


First, install DFU drivers (for uploading code to your Maple) using the following steps.



  1. Plug your Maple into the USB port.

  2. Hit the reset button on your Maple (it’s the small button at the bottom left, labeled RESET). Notice that it blinks quickly 6 times, then blinks slowly a few more times.

  3. Hit reset again, and this time push and hold the other button during the 6 fast blinks (the button is on the top right; it is labeled BUT). You can release it once the slow blinks start.

  4. Your Maple is now in perpetual bootloader mode. This should give you a chance to install the DFU drivers.

  5. Windows should now prompt you for some drivers. In the top level directory of the Maple IDE, point Windows to drivers/mapleDrv/dfu/.

Next, install serial drivers (for communicating with your Maple using serial over USB).



  1. Reset your Maple and allow it to exit the bootloader (wait for the slow blinking to stop). The Maple will next start running whatever program was uploaded to it last. (New Maples will start running the test program we upload to them before shipping them to you).

  2. Once Maple is running some user code, Windows should prompt you for more drivers. Point windows to driver/mapleDrv/serial.

일단 각각의 드라이버가 설치가 잘 되면 그 다음은 Arduino에서 작업을 하듯 할 수 있다.


 


Footprint를 살짝 변경함으로 생산의 에러를 줄이는 방법

핀헤더를 PCB보드에 직각으로 제대로 솔더링하기 위해서 PCB footprint를 변경하는 아이디어


기존의 라이브러리



화살표 방향으로 센터를 옮긴 라이브러리


양방향으로 조금 벌어진 구멍때문에 핀헤더를 지지하게 되어, PCB 보드에 핀헤더가 직각으로 장착이 된다.

관련 자료: http://www.sparkfun.com/tutorials/114



SparkFun의 EagleCAD Footprint 라이브러리 : http://www.opencircuits.com/SFE_Footprint_Library_Eagle


Fritzing 라이브러리 만들기

Frtizing이라는 툴을 지난번에 소개한 적이 있다.  독일의 오픈 소스툴
이 툴을 직접 사용을 해봤는데, 실제 피지컬한 보드를 가지고 설계를 하는 듯한 느낌이 있고 이것을 다시 회로로 변환을 해주는 것이 흥미롭다. 전자공학을 하는 초보자들에게는 좋은 툴인 동시에 이미 많이 개발된 파트 라이브러리 덕에 문서 작업에 유용하게 쓰일 수 있다.
이미 아두이노, 아두이노 이더넷 쉴드, Xbee, mbed…등등의 파트들이 제작이 되어 있다.

 



자신만의 라이브러리를 만들여면 이미지 작업을 해야하는데, 이미 만들어 놓은 라이브러리를 수정해서 사용하면 좀 편하다. 이미지 파일은 벡터기반의 SVG포맷으로 만들어야 한다. 따라서 오픈 소스 툴인 InkScape를 사용하던지 상용툴인 어도비사의 일러스트레이터를 사용해야 한다. 구체적인 정보: http://fritzing.org/learning/tutorials/creating-custom-parts/

필자가 만들어본 WIZ820io Fritzing 라이브러리


아두이노 보드와 연결된 WIZ820io 회로