Huny's Dev Blog
huny.dev

GitHub Universe 2026 해커블 배지 해부: RP2350B 하드웨어와 MicroPython 앱 구조

GitHub과 Pimoroni가 공개한 GitHub Universe 2026 해커블 컨퍼런스 배지의 제조 공정과 하드웨어 사양을 정리한다. RP2350B 기반의 정전식 터치·자이로 센서 확장 구조와 MicroPython 앱 배포 방식을 살펴본다.

Hun Jang
Hun Jang Oct 28, 2026

GitHub이 공개한 Pimoroni의 GitHub Universe 2026 배지 제작 영상과 공식 펌웨어 저장소(badger/home)는 컨퍼런스용 하드웨어 배지가 단순한 전자 명찰을 넘어 어떻게 독립된 휴대용 게임기이자 임베디드 개발 플랫폼으로 설계되었는지를 보여준다. 영국 셰필드에 위치한 하드웨어 제조사 Pimoroni는 기판 표면실장(SMT)부터 GitHub Copilot을 활용한 커스텀 소프트웨어 개발까지 전 과정을 자체 라인에서 진행했다.

결론부터 말하면, 2026년형 배지는 기존 Tufty 2350(RP2350B) 플랫폼을 바탕으로 정전식 터치 패드, 자이로스코프·가속도계, 적외선(IR) 송수신기를 추가해 배지 간 상호작용과 방향 전환 UI를 지원하도록 확장된 MicroPython 기기다. 다만 이 글은 GitHub이 공개한 제조 영상과 공식 저장소 문서를 바탕으로 하드웨어 사양과 앱 배포 구조를 정리한 것이며, 실물 기기에서의 전력 소모나 무선 성능을 직접 측정한 결과는 아니다.

목에 걸린 명찰을 뒤집으면 휴대용 콘솔이 되는 설계

컨퍼런스 배지를 착용한 상태에서 본인의 화면을 직접 내려다보려면 배지를 손으로 잡고 위아래를 뒤집어야 한다. 기존 배지들은 화면 방향이 고정되어 있어 착용자가 직접 조작하기 불편했다.

이번 2026년 배지는 온보드 가속도계·자이로스코프(LSM6DS3TR-C)와 정전식 터치(capacitive touch) 컨트롤을 결합해 이 문제를 풀었다. 목에 걸고 있을 때는 상대방에게 정방향으로 보이지만, 착용자가 배지를 들어 위로 뒤집으면 별도의 조작 없이도 전체 UI가 180도 회전하며 하단의 방향 패드(D-pad)와 버튼이 손가락 위치에 오도록 설계됐다.

If you wear the badge and then flip it, the whole user interface can turn upside down without any interaction.

펌웨어 계층에서 방향을 인식하는 논리적 입력 API(orientation-aware logical input API)를 제공하기 때문에, 애플리케이션 개발자는 배지가 어느 방향으로 들려 있는지 매번 계산하지 않고도 물리 버튼 5개와 정전식 터치 패드 8개의 입력을 일관되게 처리할 수 있다. 공식 저장소 하드웨어 설명

기본 Tufty 2350과 Universe 2026 배지의 사양 차이

이번 배지는 Pimoroni의 상용 보드인 Tufty 2350을 기반으로 하되, 컨퍼런스 현장에서의 게임 및 배지 간 통신을 위해 센서와 입력부가 추가된 커스텀 파생 모델이다. Adafruit의 하드웨어 요약과 공식 문서를 기준으로 정리한 사양은 다음과 같다.

구분
세부 사양 및 구성
비고
마이크로컨트롤러
Raspberry Pi RP2350B
기본 Tufty 2350과 동일
메모리 및 스토리지
8 MB PSRAM, 16 MB Flash
기본 Tufty 2350과 동일
디스플레이
320×240 컬러 IPS LCD
전면 케이스 조명 및 조도 센서 포함
모션 센서
온보드 LSM6DS3TR-C (가속도계 + 자이로스코프)
2026 커스텀 추가 (화면 자동 회전 및 모션 입력)
근거리 통신
적외선(IR) 송수신 하드웨어 + 무선 모듈(Wi-Fi/BT)
2026 커스텀 추가 (배지 간 상호작용 및 비콘 탐색)
입력 인터페이스
정전식 터치 8개(D-pad, Select, Back, Menu, Home) + 전면 물리 버튼 5개
방향 인식 논리 입력 API 연동
확장 포트
Qw/ST (Qwiic/STEMMA QT) 커넥터, USB-C
외부 I2C 센서 연결 및 디스크 모드 지원

영상에서는 이 보드를 생산하는 SMT 라인의 3단계 공정도 함께 공개됐다. 솔더 페이스트를 도포하는 스텐실 프린팅(stencil printing), 시간당 최대 5만 개의 부품을 릴에서 뽑아 기판에 올리는 픽앤플레이스(pick and place), 그리고 오븐을 통과하며 납땜을 완성하는 리플로(reflow) 공정이다.

MicroPython 앱 배포 구조와 읽기 전용 파티션 주의점

배지의 전체 런타임과 기본 앱 코드는 badger/home 저장소의 badge/ 디렉터리에 공개되어 있다(이전 2025년형 코드는 badge25/로 분리). 기기 내부의 /system 파티션이 이 구조를 그대로 사용한다.

새로운 커스텀 앱을 추가하거나 테스트할 때의 파일 배치 규칙은 다음과 같다.

여기서 개발 시 주의할 점은 일반적인 MicroPython REPL 연결 상태에서는 /system 파티션이 읽기 전용(read-only)으로 마운트된다는 것이다.

  • 영구 설치(Persistent Deployment): 배지를 USB 대용량 저장장치 모드(USB mass-storage mode)로 전환한 뒤 /system/apps/<app_name>/ 경로에 디렉터리를 복사한다.
  • 임시 하드웨어 테스트(Transient Test): 파일을 매번 복사하지 않고 PC에서 바로 실행해 보려면 mpremote mount badge 명령을 사용해 로컬 디렉터리를 마운트한다.

또한 저장소에는 hyb26-skill이라는 GitHub Copilot 스킬이 포함되어 있어, 로컬 OS(macOS, Linux, Windows)에서 mpremote 연결, 디스크 모드 전환, 시뮬레이터 실행 및 앱 디버깅 과정을 보조하도록 구성되어 있다.

커스텀 앱을 작성할 때 확인할 점

실물 배지나 시뮬레이터 환경에서 커스텀 앱을 개발할 때는 다음 경계를 먼저 확인해야 한다.

  • 시뮬레이터와 실물 하드웨어의 차이: 웹 기반 시뮬레이터(badger.github.io)나 상류(upstream) Tufty 문서는 기본 화면 확인에는 유용하지만, 2026년형에 추가된 커스텀 가속도계(LSM6DS3TR-C), 적외선(IR) 송수신, 정전식 터치 API를 완벽히 모사하지는 않는다. 센서 의존 기능은 실물 기기에서 검증해야 한다.
  • 자격 증명 파일 분리: Wi-Fi 설정을 담는 badge/secrets.py는 코드에 직접 하드코딩해 커밋하지 말고, 기기 내부에만 값을 채워 넣어야 한다.
  • 방향 전환(Orientation) 대응: 사용자가 배지를 뒤집어 조작할 때 물리 버튼과 터치 패드의 매핑이 펌웨어의 논리 입력 API를 통해 의도대로 동작하는지 확인한다.

소규모 하드웨어 팀이 시간당 5만 개 부품을 실장하는 제조 라인을 직접 운영하면서, 동시에 이벤트용 커스텀 펌웨어와 앱 생태계를 AI 코딩 도구와 오픈소스 저장소로 빠르게 구축하는 흐름을 잘 보여주는 사례다.

참고 자료

발표 내용과 저장소 구조는 October 28, 2026 공개 자료 확인 기준이다.

추천 글