6년 동안 나무 픽셀 디스플레이를 만든 이야기
(benholmen.com)- Kilopixel은 6년에 걸쳐 개발된, 누구나 인터넷으로 그림을 그릴 수 있는 1000개의 나무 픽셀 기반 대형 디스플레이임
- 이 프로젝트는 다양한 물리적 프로토타입 설계, 재료 시험, 픽셀 형태 전환 등의 시행착오를 거치며 완성됨
- CNC 머신 및 Raspberry Pi, 웹 앱, 센서 등이 활용되어 온라인과 오프라인을 연결하는 독특한 구조를 가짐
- 사용자는 웹사이트를 통해 그림 직접 제출 또는 투표로 참여 가능하며, 실시간 스트리밍과 타임랩스 영상 제공 환경도 마련됨
- 향후 다른 사람에게 디스플레이 제어권 이양이나 다양한 활용 방안이 모색되는, 창의적이고 오픈한 프로젝트임
프로젝트 개요
- Kilopixel은 6년 동안 개발된 세상에서 가장 비효율적인 1000픽셀 나무 디스플레이임
- 누구나 웹사이트(kilopx.com)를 통해 해당 화면에 그림을 그릴 수 있는 인터랙티브 시스템으로 설계됨
- 프로젝트는 웹 앱, 물리적 컨트롤러, CNC 가공, G코드 생성, 3D 모델링과 프린팅 등 다양한 IT·메이커 요소가 집약된 결과물임
초기 아이디어와 동기
- Danny Rozin의 비전통적 미러 작품들과 eInk 기반 초저속 무비 플레이어에서 아이디어를 얻음
- 현대의 고해상도 디스플레이와 달리, 픽셀을 분당 10회만 바꾸는 극도로 느리고 비효율적인 방식을 선택
- 40×25 그리드로 정확히 1,000픽셀을 표현, 기억하기 쉬운 ‘kilopx.com’ 도메인으로 이름 지음
첫 번째 프로토타입(21x3 픽셀) 제작
- 목재 가니를 기본으로 하면서, 곧바로 Openbuilds 키트의 알루미늄 부품(3D프린터와 유사한 구조)으로 전환
- Raspberry Pi, CNC 컨트롤러, 스테퍼 모터 등 기본적인 자동화 조립으로 시험 가동
- 픽셀 선택 및 조작 메커니즘의 여러 한계 및 기술적 이슈 발견
적합한 픽셀 찾기의 어려움
- 탁구공, 스티로폼, 나무 볼 등 다양한 구형 재료 시험 진행
- 비용, 중량, 재료 구입 난이도, 크기 불균일 등 현실적 문제 직면
- 예) 50센트짜리 공 1,000개면 500달러 소요
- 탁구공은 구멍을 뚫으면 쉽게 변형되고, 크기 편차로 인해 실패
- 네프볼, 바운스볼, 나무공, 스티로폼 등도 구멍 내기, 도색, 내구성, 무게 문제로 부적합 판정
픽셀 회전 메커니즘 실험
- 레고 휠과 모터, 센서 결합해 픽셀 회전 시도
- 솔레노이드·서보모터 등 다양한 동작 방식 테스트, 모두 긴밀한 제어 어려움으로 무산
구체형 픽셀에서 입방체 픽셀로 전환
- 팟캐스트 대화 후 입방체 나무 픽셀로 전면 전환, 직접 제작에 착수
- 대량 생산 특성상 상당한 시간 소요, 하지만 시각 및 동작 완성도에 만족
픽셀 그리드 제작
- 픽셀 자체가 아닌 고정된 그리드 구조 설계로 40×25 배열 정확성 확보
- 40홀 뚫린 얇은 선반 25개 가공, 픽셀을 금속 와이어에 꿰어 일관된 간격 유지
- 각 픽셀이 주변에 영향받지 않고 완전 독립적으로 동작하도록 설계
CNC 및 시스템 제어
- 기본적인 CNC 원리와 G코드 활용법에 대한 설명 포함
- Raspberry Pi와 CNC 컨트롤러, Python 스크립트, light sensor, pigpio 라이브러리 등 활용
- 웹 API와 연동해 다음 변경 픽셀을 선택, G코드로 제어, 조작 결과 센서 체크 후 API로 피드백 순환
픽셀 조작(픽셀 포킹) 메커니즘
- 픽셀은 90° 마다 맞춤 홈이 있고, 유연한 스틱(글루스틱) 으로 가장자리를 밀며 회전
- 이 모든 동작은 G코드를 통해 자동화되어 있음
이미지 출력 모드 및 웹 인터페이스
-
API는 웹 앱에서 제어, 디스플레이 모드는 세 가지
- 사용자 제출: 누구나 40×25 이미지 제출 및 투표, 인기작 순차 출력
- 실시간 협업: 참여자가 픽셀을 실시간 변경(참여 인원 많으면 부적합)
- 아이들 모드: 시계, 도형 등 알고리듬 기반 변형 출력
- 웹앱 스택은 Node/Socket.IO, Laravel+Livewire, 최종적으로 Laravel+InertiaJS+VueJS로 진화
실시간 스트리밍 및 타임랩스
- 2대의 웹캠(근접, 와이드샷)으로 OBS와 ffmpeg 활용** 디스플레이 실시간 유튜브 스트리밍
- API 상태 체크 후, 완성작 타임랩스 영상 생성 및 게시 기능도 제공
오픈 시스템의 보안 및 운영
- 남용 방지 위한 최소한의 검사, 필요시 빠른 작품 삭제 지원 기능 구축
- 기본적으로 매우 개방적인 참여 구조 유지, Bluesky OAuth 로그인 등 적용
앞으로의 계획
- 사용자의 다양한 참여를 기대하며, 이후에는 다른 유저에게 API로 제어권 이양 고려
- 궁극적으로는 자신의 웹캠 배경으로 사용하거나, 사무실, 카페 등 다양한 공간에서 활용 구상
- 누구나 웹사이트에서 실시간 참여와 감상이 가능함
결론
- Kilopixel은 온라인의 상호작용성과 오프라인의 물리성을 융합한 독창적 프로젝트임
- 제작 과정의 많은 시행착오와 기술적 노력이 흥미로운 사례로, 메이커와 개발자 모두에게 영감을 줄 수 있음
Hacker News 의견
-
멋진 프로젝트임을 느끼며, 나도 예전에 30픽셀 디스플레이를 만들어본 경험이 있음 PixelWeaver 프로젝트 참고 기계식 방식으로 펀치 카드와 손잡이를 사용해 모든 픽셀이 동시에 바뀌는 구조였음, 메커니즘 개발 과정이 매우 익숙하게 느껴짐
- 정말 놀라운 작업임을 느끼며, 이렇게 완성하기까지 많은 노력이 필요했음을 인정함 최근 1800년대 Linotype 기계를 실제로 보면서, 이전 세대 사람들의 성취에 감탄하게 되었음 기계가 매우 복잡해서 어떻게 제조했을지 상상이 잘 안됐음 방직기(loom)에 대한 이야기를 들으니 그런 느낌이 떠오름
-
Mumbo Jumbo가 Hermitcraft에서 trap door를 사용해 비슷한 컨셉을 구현한 적 있음 현재 "buildstone"이라는 혁명이 일어나고 있는데, redstone으로 미적인 요소를 만드는 흐름임 Mumbot 2.0 영상 참고 가능 Grian은 디스펜서, 눈 입자, 포션 화살을 활용해 애니메이션 폭포도 만든 적 있음 Grian의 waterfall 영상
-
정말 멋진 프로젝트임 "고양이가 'hi'라고 말하는" 부분까지 시청했음 최근 9일 동안 Bluesky의 @kilopx.com에 새로운 포스트가 없는 것 같음 개선 사항을 몇 가지 제안하자면, 제출이 끝난 후 "펜"을 최대한 이동시켜서 완성된 작품을 깔끔하게 촬영할 수 있도록 하는 것과, 사이트에 현재 진행 중인 제출자의 정보를 표시해주면 좋겠음 그리고 완성된 작품은 "history" 갤러리로 따로 보여주면 좋음 현재는 대기 중인 제출물에만 "Timelapse will be available after this is drawn" 같은 퍼머링크가 제공되는데, 완료된 결과나 진행 중인 결과는 쉽게 찾을 수 있는 방법이 없는 것 같음
-
370 마이크로헤르츠라는 리프레시 레이트가 "Calm Technology"라는 개념에 완전히 새로운 의미를 더해줌, 너무 좋음 Calm Technology에 대한 위키 설명
-
이 주제가 정말 흥미로움 Amber Case의 "Calm Technology" 책을 읽어본 적이 있다면 추천할 만한지 궁금함
-
유튜브 스트림 메인 카메라의 프레임레이트도 우연히 같은 수치임, OP가 이 부분을 고쳐줬으면 하는 바람임
-
-
내 경험상, 이 디스플레이는 픽셀당 비용이 가장 비쌀 것 같음 그런데 이렇게 매력적인 디스플레이는 처음임, 최고의 의미로 정말 엄청난 "터무니없음"임
-
또 다른 아이디어로, 큐브가 정면을 향하게 할 때 면이 아니라 모서리가 바로 앞을 향하도록 각도를 맞춰보는 방법이 있음 각 큐브에 인접한 어두운 면 2개와 밝은 면 2개가 있다면, 하나는 45° 왼쪽에서 보고 또 다른 하나는 오른쪽에서 볼 수 있게 ‘동시에’ 두 이미지를 설정할 수 있음 (픽셀 하나에 총 4가지 상태)
-
색 중 하나를 포기한다면 삼각형 프리즘 모양을 사용해서 각 면이 가상으로 인접하게 두고 따로 회전시킬 수 있겠음 도식 이미지
-
각 면을 RGBK 또는 CYMK 등으로 페인팅해 컬러 디스플레이로 확장해볼 수도 있을 것 같음
-
비슷하게, 카메라를 정면에 두고도 기존 하드웨어로 픽셀 수를 두 배로 늘릴 수 있겠음
-
-
이 프로젝트도 멋지지만, 속도를 올릴 수 있는 다양한 방법을 계속 떠올리게 됨(속도가 핵심 포인트는 아니라는 걸 알지만...) 블록을 회전시키는 장치가 x축 정렬을 계속 바꿔줄 필요 없이 동작하면 한 컬럼 전체를 빠르게 처리할 수 있을 듯함, 혹은 y축 정렬이 필요 없는 구조라면 로우(가로)로도 처리 가능할 것 같음 블록 회전 장치 자체를 계속 리셋하지 않아도 되는 방식(예: 회전식 구조)으로 만들면 더 빠를 것 같음, 제조업 자동화 전문가에게 의뢰하면 정말 빠르게 구현될 것 같은 상상임 참고로 초기에는 볼을 사용한 아날로그 e-ink 방식을 채택했다는 점이 매우 인상적임
-
“이미지 업데이트 시에만 전력을 쓰는 도트 매트릭스 대안"을 언급하자면 지금까지 상상해본 적 없는 방식인데, 박스 한쪽에는 써멀 프린터가 있고 반대편에는 감기 스풀+장력 스프링이 숨겨져 있어서 써멀 페이퍼 스크롤이 [UV차단] 유리 뒤에 펼쳐져 디스플레이되고, 새로운 이미지를 출력해서 디스플레이를 “리프레시"하는 방식의 디스플레이가 만들어질 수 있지 않을까 궁금함
-
여기서 더 나아간다면, Pilot Frixion 펜에 쓰이는 열 지우개 잉크로 디스플레이 표면을 커버할 수도 있음 이 잉크는 60도에서는 사라지고, -10도에서는 다시 어두워짐, 그 중간 온도에서는 안정적임 그래서 한 루프를 계속 재사용할 수 있지만, 잉크가 몇 번이나 견딜 수 있을지는 미지수임
-
팩스기 중 일부는 써멀 페이퍼를 사용해서 최소한 8.5인치까지 확장 가능함
-
이미지를 바꿀 때마다 페이퍼를 버려야 한다면, 그걸 ‘디스플레이’라고 부를 수 있을지 애매하다고 생각함
-
박스 구조를 활용하면 디스플레이를 4면으로 늘릴 수도 있을 것 같음, 메커니즘만 잘 만들면 됨 주 디스플레이 이미지를 바꾸면서 나머지 이미지가 2차, 3차, 4차 디스플레이로 넘어가게 할 수 있고, 각 모서리에는 프레임에 감춰진 롤러를 두고 베젤에 틈을 두는 식으로 설계하면 흥미롭겠음
-
-
매우 멋지다고 생각함, 글도 정말 재미있게 읽었음 이 프로젝트가 steampunk 소설에서 읽었던 내용이 떠오르게 했음 구글로 검색해서 자세한 내용을 찾아봤고, Gibson & Sterling의 Difference Engine에 나오는 kinotrope임 누군가는 여기 픽셀마다 서보를 단 것을 만들었더라, 정말 비쌌을 것 같음 관련 블로그 포스트
- Breakfast design에서 Rozin의 작업에 영감을 받아 다양한 “매체”로 비슷한 패널을 다수 제작한 바 있음 breakfaststudio 패널
-
계속해서 "더 빠른" 변형방식을 상상하게 됨 예를 들어 각 스캔 라인별로 목제 구슬을 튜브나 채널에 발사해 색상에 맞는 구슬을 공급하는 시스템을 떠올려 볼 수 있음, 중력 또는 공압 시스템을 조합해 한 줄을 리셋/재충전하는 방식을 쓰면 됨, 그리고 이걸 경기장 크기로 확장해 볼링공 픽셀로도 구현할 수 있다고 상상함 도전이 될 부분은 각 색을 다시 공급 채널로 제대로 분배하는 타이밍과 구슬 충격을 완충해 소음, 마모를 줄이는 장치로 보임 반대편은 액티브 매트릭스 방식으로, 각 블록이 솔레노이드/서보로 자리에서 회전하며 여러 색상을 표현하게 할 수도 있음
- 이 아이디어는 marble pixel art machine과도 상당히 비슷함 marble pixel art machine 영상