원문 캡처 · raspberrypi.com
원문 캡처 · raspberrypi.com

마이클 뉴턴(Michael Newton)이 이끄는 오픈소스 프로젝트 Recreate Apollo는 라즈베리 파이와 Virtual AGC 에뮬레이터로 아폴로 우주비행사가 사용한 DSKY를 재현한다. 3D 프린터로 만든 실물 크기 장치에서 아폴로 13호 사령선 소프트웨어를 직접 조작할 수 있다.

1966년 매사추세츠공과대학교(MIT)의 찰스 스타크 드레이퍼 연구소는 아폴로 유도 컴퓨터(AGC)를 선보였다. 이 컴퓨터는 각 아폴로 사령선과 달 착륙선에 탑재됐다. 메모리는 100kB 미만이고 클럭 속도는 1.024MHz였지만, 우주비행사는 이를 이용해 항법 절차와 자동 조종, 로켓 분사, 궤도 랑데부, 지구 대기권 진입을 수행했다. AGC는 실리콘 집적회로를 기반으로 한 최초의 컴퓨터이기도 했다.

캘거리에서 항공전자 엔지니어로 일하는 뉴턴은 현대 기술과 제작 기법으로 역사적인 항공기·우주선 하드웨어를 재현해왔다. 프로젝트는 라즈베리 파이에서 Virtual AGC 에뮬레이터를 실행해 아폴로 우주비행사의 디스플레이·키보드 장치인 DSKY를 구동한다. 케이스는 원본에 최대한 충실하게 설계했으며, 뉴턴은 외관이 원본과 약 90% 일치한다고 설명한다.

뉴턴은 코로나19 팬데믹 기간 아폴로 애호가들이 MIT 계측연구소의 옛 설계 문서를 현대 CAD 파일로 옮기기 시작한 데서 프로젝트의 계기를 얻었다. 공개 기록 요청을 거쳐 공개된 문서는 Virtual AGC 그룹이 보관했다. 뉴턴은 GitHub 저장소와 다른 오픈소스 프로젝트에서 모델 파일을 찾고, 일부 부품을 다듬거나 직접 모델링해 출력용 파일을 완성했다.

그는 케이스를 출력하고 마감·도색한 뒤 하드웨어를 배선하고 소프트웨어를 작성했다. 초보자도 제작할 수 있도록 문서화하는 것을 주요 목표로 삼았으며, CAD 모델과 회로도, 100페이지 분량의 제작 안내서를 GitHub에서 무료로 공개했다.

원본과 달라진 부분도 있다. 마이크로컨트롤러와 라즈베리 파이를 위한 내부 고정 지점을 바꿨고, 원래 부품보다 큰 화면 회로기판에 맞춰 클립형 거치대를 설계했다. 원본 글씨체를 재현한 키캡은 글자를 선명하게 출력할 수 있도록 글자 크기를 조금 키웠다.

뉴턴은 라즈베리 파이가 마이크로컨트롤러와 USB로 연결되고 전력 소모가 적으며, 무선 LAN과 낮은 발열을 지원해 프로젝트에 적합하다고 설명한다. 라즈베리 파이 OS를 설치하기 쉽고, 맞춤형 배포판을 만들어 다른 사용자에게 운영체제 환경을 전달할 수 있다는 점도 제작을 간편하게 한다고 덧붙였다.

라즈베리 파이에서는 Virtual AGC의 프로그램 yaAGC도 실행할 수 있다. 뉴턴에 따르면 이 프로그램은 아폴로 11호에서 발생한 1201·1202 경보와 관련된 비동기식 타이밍, 패리티 비트를 포함한 15비트 워드 길이, 1.024MHz 클럭 속도 등 실제 AGC의 특성을 재현한다. 그는 에뮬레이션이 원본과 같은 논리와 타이밍을 보존하며, 컴퓨터가 읽는 메모리도 실제 코드의 가상화라고 설명했다.

DSKY의 키패드에는 시중에서 구할 수 있는 기계식 키 스위치 Kailh Box Navy를 사용했다. 뉴턴은 현재 알루미늄 본체와 개선된 표시등, 실제 전계발광 디스플레이를 적용한 고급형 DSKY도 구상하고 있다. 장치의 주변기기 모드를 켜면 로컬 네트워크를 통해 PC용 우주비행 시뮬레이터 Orbiter의 애드온 Project Apollo – NASSP와 연결할 수 있다. 이 애드온은 아폴로 임무를 시뮬레이션한다.

프로젝트는 AGC의 작동 원리와 설계에 관해 배우는 계기가 됐다. 뉴턴은 AGC가 3입력 NOR 게이트 한 종류만 사용해 수학 연산과 데이터 이동, 항법, 자동 조종, 로켓 분사를 처리했다는 점을 강조했다.

아폴로 유도 컴퓨터에 대한 위키백과 자료

제작 과정과 파일은 프로젝트의 GitHub 안내서에서 확인할 수 있다.