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

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 회로


오픈소스 커뮤니티에 대해…

아래 기사는 삼성전자의 모바일 플랫폼인 ‘바다’에 대한 조언이지만, 크게 보면 오픈 소스 커뮤니티를 구성을 할때 어떻게 해야하는지에 대한 전문가의 의견이다.
중요한 이슈는 “오픈 소스 커뮤니티에 개발 과정을 전부 공개하고, 개발자들이 참여를 할 수 있도록 하는 것”

“바다 성공하려면 제3의 조직에서 운영해야”

“삼성전자 자체 모바일 플랫폼 ‘바다’가 성공하려면 삼성에서 분리된 별도 조직에서 바다를 운영해야 합니다.”
헤럴드 웰테(Harald Welte) GPL바이올레이션스 설립자는 바다 성공의 전제 조건을 제3의 비영리조직 설립이라고 제안했다. 웰테는 2004년 오픈소스 지식재산권 감시 비영리 조직 GPL바이올레이션스를 설립했으며 오픈소스 관련 컨설팅 대가다. 그는 또, 리눅스 커널 방화벽 엔진 넷파일러·아이피테이블(Netfiller/iptables)과 리눅스 커널 패킷 필터 서비스 시스템 핵심 개발자다.
웰테는 “삼성이 바다를 공개한 것이 오픈소스화하는 것인지 휴대폰 제조사에게만 주는 것인지 명확하지 않다”며 “바다가 노키아 심비안의 전철을 밟지 않으려면 오픈소스 커뮤니티에 개발 과정 전체를 공개해야 한다”고 설명했다. 그는 “노키아 심비안은 오픈소스 SW지만 개발과정에 외부 개발자를 참여시키지 않았다”며 “그냥 웹 사이트에 공개한 오픈소스는 의미가 없다”고 지적했다. 웰테는 “바다가 오픈소스 전략으로 성공하려면 삼성으로부터 완전히 분리해야 한다”며 “바다 파운데이션과 같은 별도의 조직에서 다른 기업과 개발자가 참여할 수 있게 해야 한다”고 설명했다. 삼성은 초기 바다 파운데이션 설립에 힘을 보태고 꾸준한 지원을 하며 개발자는 물론이고 대학, 다른 기업을 참여시키는 형태다.
웰테는 “모바일 플랫폼의 성공 여부는 서드파트 애플리케이션 확보에 달려있다”고 덧붙였다. – 출처: 전자신문


Visual diffs

오픈 소스 소프트웨어의 버젼관리는 SourceForge, GitHub, Google Code등을 이용가능하다.
하지만 오픈 소스 하드웨어의 경우는 아직 이런 툴들이 없다.
물론 버전관리는 하지만 회로도나 거버파일같은 CAD 자료의 경우 text로 적어 놓은 버젼을 관리하는게 이제까지의 방법이다.
만약 이런 CAD자료들이 plain text로 저장이 가능하다면 diff를 써서 바뀐 정보를 알수가 있는데,
다른 방법은 imageMagic utility를 사용을해서 바뀐 정보를 확인하는 것이다.
또 다른 방법은 자료를 PDF로 만든후 DiffPDF를 사용하는 방법
구체적인 방법은

Improving open source hardware: Visual diffs

를 참고


Fritzing

독일의 오픈 소스툴.
http://fritzing.org/

Fritzing is an open-source initiative to support designers, artists, researchers and hobbyists to work creatively with interactive electronics. We are creating a software and website in the spirit of Processing and Arduino, developing a tool that allows users to document their prototypes, share them with others, teach electronics in a classroom, and to create a pcb layout for professional manufacturing.


가상의 부품을 보드에 올릴수 있도록 해주고, 서킷을 만들어 준다. 이 내용을 가지고 문서를 만들기 편하게 해준다.
또한 Auto routing으로 PCB까지 제작을 할 수 있도록 해주는 툴이다.

오픈소스툴들은 초보자를 대상으로 점점 쉬워지고 강력해지고 있네요..


아두이노의 미래


What’s Ahead Of Arduino – Part 1 – Massimo [email protected] 2011

What’s Ahead Of Arduino – Part 2 – Massimo [email protected] 2011
결국 아두이노의 힘은 커뮤니티!!

아래 사진은 Make Fair에서 나눠준 아두이노의 리플렛인데 신제품만 모았다.
각각의 제품마다 밑에 이 보드로 무엇을 할 수 있는지 설명이 있다.
가령 WiFi의 경우 Fully Hackable!
ADK의 경우 Develop your own android accessory !


아래 슬라이드는 아두이노가 OSHW 서밋에서 발표한 자료..


아두이노의 신제품


For the second year in a row we decided to announce our new products at Maker Faire in NYC.

Tomorrow morning, if you come to the Arduino tent, you will be able to see:


Arduino 1.0, we finally froze the Arduino API, the IDE and the layout of the boards. We’ve made some minor additions to the Arduino connectors to make them more flexible. Tomorrow you will be able to download the release candidate and in 1 month of frantic testing with the community, the platform will be ready and stable.


Arduino Leonardo, a low cost Arduino board with the Atmega32u4. It has the same shape and connectors as the UNO but it has a simpler circuit. On the software side it has a nifty USB driver able to simulate a mouse , a keyboard, a serial port (with more drivers coming later). As usual for Arduino, everything will be released as open source (Core, Bootloader, Hardware).


Arduino Due, a major breakthrough for Arduino because we’re launching an Arduino board with a 32bit Cortex-M3 ARM processor on it. We’re using the SAM3U processor from ATMEL running at 96MHz with 256Kb of Flash, 50Kb of Sram, 5 SPI buses, 2 I2C interfaces, 5 UARTS, 16 Analog Inputs at 12Bit resolution and much more.


Instead of just releasing the finished platform we are opening the process to the community early on. We’re going to be demoing the board and giving away some boards to a selected group of developers who will be invited to shape the platform while it’s been created. After Maker Faire, we will begin selling a small batch of Developer Edition boards on the Arduino store (store.arduino,cc) for members of the community who want to be join the development effort. We plan a final and tested release by the end of 2011


Arduino Wifi Shield. It adds Wi-Fi communication capabilities to any Arduino. Instead of using any of the classic WiFi modules on the market we wanted to have something that will provide the maximum level of hackability to the user. The shield is based on a wifi micro module made by H&D Wireless coupled with a powerful AVR32 processor that carries the full TCP-IP stack leaving room to add your own protocols and customisations. We’ve also worked hard to make sure that you will be able to migrate your code from the Ethernet Shield with minor changes.


We’re also going to show some prototypes of new platforms we’ve been working on: We have robots, new IDEs and more.


It has been a crazy few months and we want to thank ATMEL very much the support that we got on all the new products.


Come over to Maker Faire and have a look for yourself!


지난 9월 17, 18일 뉴욕의 Make Fair에서 아두이노는 자신들의 신제품 출시 계획을 발표했다.
Arduino 1.0
API, IDE가 드리어 1.0버젼을 달았다. 커뮤니티에서 1달여간의 추가적인 테스트를 거쳐 최종적으로 fix될 예정
http://code.google.com/p/arduino/wiki/Arduino1 에서 다운로드 가능하다.

Arduino Leonardo
Atmega32u4를 사용한 저가 보드. Atmega32u4는 32KB의 작은 용량의 MCU이나 USB device기능을 가지고 있다. 따라서 USB host 에 연결하여 여러가지 응용제품이 만들어 질 것 같다.

Arduino Due
이번 발표에서 가장 큰 변화이고 비중이 높은 내용이다. 즉 기존의 AVR 8bit를 뛰어넘어 CortexM3 코아인 SAM3U를 채택했는데, SAM3U 계열중 가장 고사양 파트인 SAM4U4E를 사용한다. 그리고 최종 제품을 다 만들기 전에 제품화의 과정을 커뮤니티와 공유하고 함께 만들어갈 것을 얘기하고 있다. 위 사진에서 처럼 보드는 기존 아두이노 Mega2560 보드의 형태이다.

역시 아두이노의 최대 강점은 그들이 쌓아놓은 커뮤니티의 힘인데 이것을 100%활용하겠다는 의지이다. 더불어 최근 Open Hardware 트랜드에 뛰어든 Microchip의 ChipKit을 견제하고 임 STM32로 Open Hardware보드를 만든 Leaflab을 견제하는 측면이 있다. 사실 그동안 8 비트 AVR의 한계로 개발자들의 많은 요구가 있었을 것 같은데, 이런 요구에 부응하는 전략이 될 것 같다.
그렇다면 기존 Arduino의 개발환경에서 CortexM3 계열까지 지원을 하겠다는 의미이고, 기존의 AVR 기반의 소프트웨어 라이브러리들이 CortexM3로 포팅이 될 것 이다.

그렇다면 쉴드들은?
아두이노의 Ethernet 쉴드 및 클론들의 아두이노 호환 쉴드들은 당분간 사용이 되겠고 관련 라이브러리들이 마찬가지로 SAM3U에 맞게 포팅이 되겠다. 하지만 Ethetnet의 경우 SAM3U의 performance로 볼때 충분히 software stack을 돌릴 수 있으므로 W5100을 사용하지 않는 MAC/PHY로만 구성된 쉴드가 나올수 있겠다. 왜냐면 이 분야의 엔지니어들의 습성상 자기가 모든 부분을 건드릴 수 있는 플랫폼을 좋아하기 때문이다.

Arduino WiFi shield
스웨덴 업체인 H&D wireless의 제품은 AVR32를 기반으로 하는 무선랜 솔루션이다. 즉 이미 AVR에 익숙한 아두이노 사용자들은 AVR32를 마음대로 수정해서 자기가 원하는 형태의 무선랜 모듈 쉴드를 가질 수 있다. 즉 좀 전에 위에서 언급한 대로 사용자가 최대한 제품을 건드릴 수 있는 여지를 만들어 놓았다. maximum level of hackability to the user.


임베디드보드에서 트위터하기 2 – 아두이노를 이용한 트위터

이전에 올린 임베디드보드에서 트위터하기의 2번째 버젼으로 아두이노를 이용해서 트위터하는 방법에 대한 분석자료입니다.
관련 자료: http://www.arduino.cc/playground/Code/TwitterLibrary
역시 proxy 사용해서 구현을 하고있는데 이전의 Supertweet.net 보다는 간단한 것 같지만, 테스트를 해보니 단점은 같은 내용의 메시지를 연속해서 보내면 에러가 난다. 아마도 스팸성 트윗을 걸러내기 위한 조치 같네요.

먼저 http://arduino-tweet.appspot.com/ 에 접속을 해서 사용하는 트위터 아이디의 토큰을 받는다.
이 토큰은 아래 소스에서 사용이 된다.

트위터 라이브러리 소스

#define LIB_DOMAIN “arduino-tweet.appspot.com”

bool Twitter::post(const char *msg)
{
 DNSError err = EthernetDNS.resolveHostName(LIB_DOMAIN, server);
 if (err != DNSSuccess) {
  return false;
 }
 parseStatus = 0;
 statusCode = 0;
 if (client.connect()) {
  client.println(“POST http://” LIB_DOMAIN “/update HTTP/1.0”);
  client.print(“Content-Length: “);
  client.println(strlen(msg)+strlen(token)+14);
  client.println();
  client.print(“token=”);
  client.print(token);
  client.print(“&status=”);
  client.println(msg);
 } else {
  return false;
 }
 return true;
}

위 소스에서 보듯이 먼저 arduino-tweet.appspot.com에 80 port로 접속을 한후 메시지를 보내는 형태인데, 실제 보내지게 되는 메시지는 다음과 같다. (* 아래 토큰은 남용을 방지하기 위해 임의로 바꿈)

POST http://arduino-tweet.appspot.com/update HTTP/1.0
Content-Length: 79

token=3737638B3-rfAUaR3oPmUZdhVXwpK3xSqBON6BBMVNWgsoqUaD&status=Hello, World 1!
Content-Length는 token의 길이 + 메시지의 길이 + 나머지 문자 14 바이트의 문자(token=과 &status=)이며, 실제 메시지는 &status=이후에 들어간다. 여기서는 Hello, World 1!


문제는 이런 트윗의 내용이 암호화가 되지 않고 전송이 되므로 Wireshark같은 스니퍼로 패킷을 잡으면 내용이 그대로 노출이 된다. 아무튼 임베디드 보드에서도 간단히 트위터를 사용이 가능하다.