3P by GN⁺ | ★ favorite | 댓글 1개
  • 2008년식 득점 시스템을 그대로 교체하면 8만~12만 달러가 필요해, ESP32와 범용 부품으로 레인 한 쌍당 약 200달러부터 구현하는 OpenLaneLink를 개발함
  • 센서 이벤트와 제어 명령은 ESPNow 스타 토폴로지 메시로 주고받고, 무선 간섭이 심한 환경에서는 RS485 유선 연결을 예비 수단으로 사용함
  • Raspberry Pi 레인 컴퓨터가 ESP32 게이트웨이의 패킷을 Redis 이벤트로 변환하며, 상태 머신과 WebSocket·발행/구독 구조를 거쳐 React UI와 애니메이션에 연결됨
  • 릴레이·옵토커플러·IR 빔 차단 센서 같은 기성 부품을 사용해 고장 난 장치는 약 5분, 레인 한 쌍의 장비는 10분 이내에 교체할 수 있음
  • 하드웨어·펌웨어·소프트웨어 전체를 오픈소스로 공개해 벤더 종속과 기능별 추가 비용을 줄이고, 운영자가 UI와 데이터를 직접 통제하도록 할 계획임

고가의 기존 시스템을 직접 교체한 이유

  • 가족과 함께 미국 중서부 시골의 버려진 8레인 볼링장을 10만5천 달러에 인수함
    • 지붕 누수와 반복적인 전기 서지가 있었고, 70년 된 볼링 장비도 완벽하게 작동하지 않았음
    • 2008년에 설치된 득점 시스템은 당시 여섯 자릿수 비용이 들었음
  • 기존 시스템은 공의 속도와 궤적 계산, 카메라 기반 핀 감지, 파울 판정, 애니메이션, 핀 세팅 장치와 볼 리턴 제어를 담당함
  • 같은 수준의 시스템으로 일괄 교체하려면 기능·벤더·장비 연식에 따라 8만~12만 달러가 들고, 업그레이드와 서비스 계약은 포함되지 않음
    • 기능과 맞춤 설정마다 별도 비용이 추가됨
    • 교체 부품만으로도 레인 한 쌍당 4천 달러가 필요함
  • 전자 시스템이 70년 된 기계 장치에서 담당하는 핵심 작업은 단일 릴레이 작동이며, 나머지 과정은 기계적으로 처리됨
  • 오픈 하드웨어와 컴퓨터 비전, 실시간 이벤트 스트리밍, 오픈소스를 활용해 기존 기능을 직접 구현할 수 있다고 판단함

OpenLaneLink의 구성과 운영 방식

  • 프로토타입 비용은 레인 한 쌍당 약 200달러이며, 고급 구성도 약 400달러 수준임
  • ESP32 기반 제어 계층

    • 각 노드는 센서 이벤트를 내보내고 제어 명령을 받음
    • ESPNow 스타 토폴로지 메시의 게이트웨이 노드는 UART를 통해 Raspberry Pi와 연결됨
    • 수신 패킷은 Redis로 전달되고, 필요한 명령은 다시 메시 네트워크로 전송됨
    • RF 잡음이 많은 환경에서는 RS485가 유선 예비 연결로 동작함
  • 범용 부품과 펌웨어

    • 하드웨어는 릴레이·옵토커플러·IR 빔 차단 센서에 연결된 범용 마이크로컨트롤러로 구성되며, 각 장치는 역할에 맞는 펌웨어를 실행함
    • 구현 과정에서 가장 어려운 부분은 펌웨어와 프로토콜 작성
    • 예비 ESP32를 미리 플래싱하거나 즉시 준비할 수 있어 수리가 간단함
  • 웹 기술 기반 소프트웨어

    • Redis 이후 계층에는 상태 머신, 미들웨어, React, WebSocket, 발행/구독 같은 일반적인 웹 기술을 사용함
    • React 개발자가 자체 UI와 볼링 애니메이션을 만들 수 있음
    • 운영자는 모든 데이터를 소유하고 원하는 기능과 테마를 직접 적용할 수 있음
    • 수리는 약 5분, 레인 한 쌍의 장비 교체는 10분 이내에 가능함
    • 비슷한 볼링장이라면 처음부터 1~2시간 안에 가동할 수 있을 것으로 봄
    • OpenLaneLink가 준비되면 하드웨어·펌웨어·소프트웨어 전체를 오픈소스로 공개할 계획임
    • 폐쇄형 시스템, 사소한 문제에도 필요한 고객 지원, 자체 장비의 화이트 라벨 비용에서 비롯되는 벤더 종속을 피하려는 목적임
    • 저렴하고 자유롭게 맞춤 설정할 수 있는 시스템으로 소규모 볼링장의 운영을 돕고자 함

댓글과 토론

Hacker News 의견들
  • 완전 기계식 자동 미니 볼링 레인을 샀는데, 점수 표시 장치의 1970년대 Intel D8749H(MCS-48)를 제외하면 CPU 없이 작동함
    전원은 릴레이 하나로 켜지며, 핀 상태와 공 수신 신호를 받아 점수 계산을 시작할 수 있음. 펌웨어를 추출한 뒤 표시용 PCB를 Arduino 기반 자작 PCB로 교체해 현대적인 공개 프로토콜과 ScoreMore를 지원하도록 만들었음. 사진과 자세한 정보는 https://www.bowltech.com/forum/small-scale-bowling/small-sca...에 있으며 Discord에서는 @vik8로 연락 가능함

    • 나도 ScoreMore 연동을 알아봤지만 하드웨어 영역에 들어가자 파울 감지 장치가 대당 750달러나 하고, 심지어 아주 오래된 제품이라는 점을 받아들이기 어려웠음
      Bowltech에도 올릴 예정이지만 OpenLaneLink를 공개하기엔 아직 초보자 특유의 부담이 큼. 그곳 사람들은 이 분야를 정말 속속들이 알고 있음
    • 나도 어떻게든 이 모임의 세 번째 사람이 되고 싶을 만큼 멋짐
    • 릴레이 하나가 특별한 이유가 궁금함. 자동차도 솔레노이드 하나로 시동이 걸림
  • 아버지가 중서부 여러 지역에서 볼링 기계를 수리해 어린 시절을 기계 뒤편에서 보냈음. 리그 경기 날 당직 정비를 맡을 때면 함께 따라가곤 했음
    지역의 16레인 볼링장은 오래된 AMF 기계를 썼고, 각 기계의 섀시가 전부 릴레이 논리 회로로 구성돼 있었음. 릴레이가 고장 나면 핀과 공이 엉뚱한 곳으로 가거나 이용자가 스위프 장치에 공을 굴려 넣는 등 온갖 일이 벌어졌음. 핀세터는 진정한 루브 골드버그 장치였고, 아마 내가 엔지니어가 되는 데도 영향을 줬을 것임
    1980년대에도 작은 마을의 볼링장을 살 기회가 몇 번 있었지만 경제성이 좋지 않았음. 영업이익 대부분이 주류 판매에서 나왔고, 이는 완전히 다른 사업임. 최근 볼링 콘텐츠가 자주 보이는데 실제 부활로 이어지면 좋겠음

  • 오래된 각종 시스템을 저비용 임베디드 기술로 개조할 기회가 많다는 생각을 다시 확인시켜 줌
    2019년경 대형 선반과 평삭기 같은 오래된 공작기계를 현대식 모션 제어 장치로 개조하던 엔지니어를 만났음. 새 제어 장치에 맞추려면 축 모터까지 손대는 비싼 작업이 필요했지만, 기존 아날로그 위치 신호를 현대식 제어기가 읽을 수 있게 바꾸면 거의 플러그 앤 플레이로 만들 수 있었음
    부품비 50달러 미만과 개발 50시간 이내로 첫 변환기를 만들었음. 비슷한 기회를 더 찾았지만 대부분 일회성이라 유사 제품을 이미 만드는 상황이 아니면 시간 대비 가치가 낮았음

    • 프로그래밍 경력이 없는 친구가 오래된 땅콩버터·뮤즐리 생산 설비를 자동화했음. 초음파로 땅콩버터 수위를 재고, 로스팅 온도와 회전 속도 등을 측정하도록 기계를 연결했음
      버전 관리가 전혀 없고 구현 방식도 놀라웠지만 안전성과 처리량은 크게 개선돼 인상적이었음
  • LED와 DMX 조명 제어를 추가해 공이 레인을 내려가거나 반환 장치로 올라올 때 LED 스트립이 따라가도록 만들고 싶음. DMX 제어기로 레이저 쇼도 실행할 계획임
    장기적으로는 고객이 레인 앞에서 비접촉 결제 후 바로 게임을 시작하는 무인 볼링장을 만들고 싶음. 시도할 거리가 정말 많아 신남

    • 레인을 위아래로 쌓아 수제 2층 레인을 만들고, 소중한 레인에 사람들이 공을 문지르지 못하게 해야 함. 레이저 쇼와 주류 면허까지 더하면 Bowling Alley Wine Mixer가 완성됨
    • 조명 섬광을 공의 회전과 동기화하면 공이 멈췄거나 역회전하는 것처럼 보이게 할 수 있음. 측면 회전 등도 시각화해 학습에 도움을 줄 수 있으며, 공에 점이나 띠를 표시하면 회전 판독이 쉬워질 수 있음
    • 비접촉 결제는 신규 방문을 늘리기보다 한 게임 더 결제하게 만드는 데 유용할 듯함. 초보자는 어차피 신발을 받으러 와야 하고, 7시에 예약된 레인을 6시 30분에 배정하지 않도록 안내도 필요함
    • 재미있는 기술을 깊이 파면서 다른 사람도 결과물을 즐길 수 있는 훌륭한 프로젝트임. 덕분에 볼링장 매물을 찾아보게 됨
    • 디지털 사이니지 시절 쌓은 DMX·DJ 경험으로 도울 수 있음
  • 이제 남은 일은 1990년대판 LightWave를 구해 기묘한 스트라이크 애니메이션을 더 만드는 것뿐임

  • 오래된 레인에서 볼링을 치는데 점수 외 통계는 공 속도뿐이고, 그마저도 절반 정도의 레인에서만 제대로 작동함. 볼링장이 임의 제작 장치를 설치해 줄 것 같지는 않지만 제작 과정에는 큰 관심이 있음
    블로그나 사진, 구현 정보를 공개한다면 더 읽어보고 싶음. 지붕 수리부터 고객 유치까지 새 사업이 잘되길 바람

    • 공에 전략적으로 줄무늬를 넣으면 각속도 같은 멋진 통계도 얻을 수 있음. 더 나아가 모든 공에 가속도계와 자이로가 달린 마이크로칩을 넣을 수도 있음
  • 다른 사람에게 보낼 수 있는 URL이 필요함. 같은 문제 때문에 볼링장 인수와 현대화를 망설이는 프로 선수 출신 지인에게 보여주고 싶음
    사회에는 제3의 공간이 절실하며 볼링장은 이에 아주 잘 맞음

    • 낡은 볼링장을 산 엔지니어가 문제를 영리하게 해결하는 과정은 인터넷에 꼭 필요한 콘텐츠이니 Substack을 시작하면 좋겠음
  • Boston 지역의 캔들핀 볼링장 Needham Bowlaway에서도 비슷한 작업을 했음. New England 밖에서는 점수 계산법을 아는 사람이 드물어 소유주가 자동 점수 시스템을 만들었고 꽤 잘 작동함
    Java로 화면의 특정 픽셀이 흰색이면 핀이 있고 아니면 없는 것으로 판별하는 기본적인 방식으로 보임. 갈 때마다 비디오 게임도 개발하고 있었음. 볼링장 운영자와 소프트웨어 엔지니어의 교집합이 생각보다 클 수 있음

  • 최근 Texas Monthly의 나인핀 볼링장 기사 https://www.texasmonthly.com/being-texan/ninepin-bowling-end...가 떠오름. 이런 현대화가 신규 고객 유치에 도움이 될 수 있음
    Texas 중부에서 자랄 때 볼링은 큰 가족 행사였음. 아버지는 지역 리그와 프로암 대회에 참가했고 프로 전향도 고민했지만 이직으로 그만뒀으며, 자녀들도 주니어 리그에서 활동했음. 비디오 게임이 없던 시절에는 볼링장에서 핀볼과 당구를 즐겼고, 음식과 음료도 팔아 가족이 하루 종일 머물 수 있었음
    볼링은 배우기 쉽지만 숙달하려면 절제가 필요한 기술 스포츠

  • 고등학교 때 Brunswick A2를 다루는 볼링장 정비사로 일하며 교체 장비가 터무니없이 비싸다는 걸 알게 됐음
    누군가 점수 시스템 제어용 키보드에 커피를 쏟자 교체 비용이 약 400달러였음. 그 값에 받은 특별한 전용 키보드란 키보드 케이블을 전화 플러그로 바꾼 제품이었음