PSPL CMS : rocket developed by the Purdue Space Program liquids team
CMS : rocket developed by the Purdue Space Program liquids team
📌 Overview
CMS Avionics는 Purdue Space Program Liquids의 차세대 액체 로켓 CraterMaker Special(CMS)을 위한 비행 컴퓨터 및 지상 운용 네트워크 프로젝트입니다. 이 프로젝트는 로켓 내부의 여러 비행 컴퓨터가 센서 데이터, 상태 정보, 명령을 안정적으로 주고받아야 하는 문제를 해결하기 위해 RP2040 기반 보드 + WIZnet W5500 Ethernet 컨트롤러 + Ethernet Switch 구조를 사용합니다.
📌 Developer
CMS Avionics 소프트웨어 문서는 Sagar Patil이 작성했습니다. Sagar Patil은 Purdue University에서 Computer Science를 전공했으며, 현재는 SpaceX에서 Starlink Beam Planning 관련 Software Engineer로 일하고 있습니다.
CMS 프로젝트에서는 Purdue Space Program Liquids의 CraterMaker Special 로켓을 위한 flight software와 GSE software 개발 내용을 정리했습니다. 공개 문서 기준으로 그는 RP2040 기반 비행 소프트웨어 구조, CMake 기반 빌드 시스템, FreeRTOS 적용, W5500 기반 네트워크 스택, SensorNet, CommandNet, NTP client, GSE 데이터 처리 구조 등을 설명하고 있습니다.
즉, Sagar Patil은 CMS Avionics에서 단순한 프로젝트 소개자가 아니라, 로켓의 비행 컴퓨터와 지상 운용 소프트웨어 구조를 설계·구현한 핵심 개발자 중 한 명으로 볼 수 있습니다. 다만 CMS는 Purdue Space Program Liquids 팀 프로젝트이므로, 전체 하드웨어와 운용 시스템은 여러 팀원이 함께 개발한 것으로 보는 것이 정확합니다.
📌 Features
Ethernet-based inter-board communication inside a rocket
CMS는 EMU, LFC, UFC 같은 여러 비행 컴퓨터를 사용합니다. 각 보드는 로켓 내부 센서와 제어 영역을 담당하며, Ethernet을 통해 데이터를 공유합니다. 이는 긴 아날로그 배선이나 낮은 대역폭의 CAN 대신, 더 높은 대역폭과 명확한 물리 계층을 가진 네트워크 구조를 선택한 사례입니다.
W5500을 통한 RP2040 Ethernet 확장
RP2040에는 Ethernet MAC이 없기 때문에, W5500이 SPI 기반 Ethernet 컨트롤러 역할을 수행합니다. W5500은 TCP/IP 스택을 하드웨어로 처리하므로, RP2040은 센서 처리, 제어 루프, 상태 머신, 데이터 큐 처리에 집중할 수 있습니다.
SensorNet 기반 UDP telemetry 구조
SensorNet은 센서 ID, 시간, 카운터, 값을 포함한 단순한 바이너리 패킷 구조를 사용합니다. 여러 센서 데이터를 UDP 패킷에 실어 전송하고, 각 비행 보드는 multicast group IP를 통해 필요한 데이터를 수신할 수 있습니다. 이 구조는 로켓 내부와 지상 시스템이 동일한 데이터 스트림을 공유하기에 적합합니다.
CommandNet 기반 TCP command/control 구조
CommandNet은 운영자가 특정 변수 값을 설정하거나, 파라미터 없는 함수를 호출할 수 있도록 설계된 TCP 기반 request-response 프로토콜입니다. MessagePack을 사용해 구조화된 명령을 전달하며, 보안 브랜치에서는 AES-256-CBC 기반 암호화도 고려되었습니다.
Bang Bang Boom Box를 통한 원격 hardware-in-the-loop 개발
Bang Bang Boom Box, B⁴는 CMS avionics 보드 테스트를 위한 이동형 하드웨어 테스트 플랫폼입니다. Raspberry Pi 4, Ethernet switch, 전원 공급 장치, GPIO 기반 BOOTSEL/RESET 제어를 사용해 원격에서 firmware flashing, reset, integrated testing이 가능하도록 구성되었습니다.
📌 System Architecture
위 그림은 CMS Avionics를 Upper, Lower, EMU, GSE로 나누어 보여줍니다. CMS는 하나의 보드가 모든 기능을 처리하는 구조가 아니라, 로켓의 위치와 역할에 따라 여러 flight computer를 분산 배치하고 Ethernet으로 연결한 구조입니다.
핵심 역할은 다음과 같이 정리할 수 있습니다.
| 영역 | 중심 장치 | 주요 역할 |
|---|---|---|
| Upper | UFC | 상부 센서 수집, GPS/IMU, 무선·LTE 통신 연계 |
| Lower | LFC | 하부 센서 수집, 압력·온도·구조 데이터 모니터링 |
| EMU | EMU | 점화기, pyro valve, tank solenoid, 발사 시퀀스 제어 |
| GSE | GSE DAQ / Power | 지상 전원 공급, 데이터 수집, 발사 전 점검 |
Upper는 로켓 상부 동체의 센서와 통신 장치를 담당합니다. UFC, 즉 Upper Flight Computer가 압력 센서, 열전대, 카메라, GPS, VN-210, RFD900, LTE 모듈 등과 연결됩니다.
Upper의 주요 역할은 비행 중 상태 데이터와 위치·자세 정보를 수집하고, 필요한 경우 외부 통신 장치와 연동하는 것입니다.
Upper Sensors / GPS / IMU / Camera
→ UFC
→ W5500 Ethernet Interface
→ GSE or Ground ServerLower는 로켓 하부, 특히 Fin Can 주변의 센서 데이터를 수집하는 영역입니다. LFC, 즉 Lower Flight Computer가 하부 압력 센서, 스트레인 게이지, 열전대 등과 연결됩니다.
Lower는 직접 엔진을 제어하기보다는, 로켓 하부의 구조 상태와 환경 데이터를 수집해 GSE 또는 서버로 전달하는 sensor node 역할을 합니다.
Lower Sensors
→ LFC
→ W5500 Ethernet Interface
→ GSE / SensorNet ServerEMU, Engine Modulation Unit은 CMS Avionics의 핵심 제어 보드입니다. EMU는 igniter, pyro valve, Ethanol bang-bang solenoid, LOx bang-bang solenoid 등 엔진과 탱크 관련 장치를 제어합니다.
즉, Upper와 Lower가 주로 데이터를 수집한다면, EMU는 지상 명령과 발사 시퀀스에 따라 실제 구동 장치를 제어하는 역할을 합니다.
GSE / Operator Command
→ Ethernet Network
→ W5500 Ethernet Interface
→ EMU
→ Igniter / Pyro Valve / Tank SolenoidsGSE, Ground Support Equipment는 지상 지원 장비입니다. 그림에서는 GSE DAQ, GSE 20V, REDS Switch, REDS Power가 포함됩니다.
GSE는 발사 전 로켓에 전원을 공급하고, 센서 데이터를 확인하며, 발사 준비 상태를 점검합니다. 로켓과 GSE는 Electrical QD를 통해 연결되며, 발사 전에는 전원·데이터·제어 신호를 주고받고 발사 시점에는 분리됩니다.
GSE Power / DAQ / Operator System
→ Electrical QD
→ Power Systems / Flight Computers
→ UFC / LFC / EMU📌 Role and Application of the WIZnet's Chip
사용한 칩 : W5500
선정 이유
초기 통신 방식으로는 SPI와 CAN bus가 검토되었습니다. 그러나 SPI는 로켓 길이 방향으로 single-ended 배선을 길게 구성해야 하므로 적합하지 않다고 판단되었습니다. CAN bus는 필요한 대역폭을 충분히 제공하지 못했습니다.
따라서 CMS 팀은 보드 간 통신과 지상 통신 방식으로 Ethernet을 선택했습니다. Ethernet은 명확한 물리 계층 규격이 있고, 저렴하고 검증된 off-the-shelf hardware를 사용할 수 있으며, 필요한 대역폭을 제공할 수 있기 때문입니다.
결과적으로 W5500 + off-the-shelf Ethernet switch 조합은 CMS Avionics의 통신 요구사항을 충족하는 구조가 되었습니다. W5500은 RP2040 기반 비행 컴퓨터가 Ethernet 네트워크에 연결될 수 있도록 하는 핵심 인터페이스 역할을 합니다.
적용과정
https://www.duchinskiprojects.com/cms-avionics
CMS Avionics에서는 W5500 적용을 위해 먼저 별도의 Ethernet test board를 제작해 Ethernet 하드웨어를 검증했습니다. 이 보드는 W5500 Ethernet bridge가 high-density D-sub 커넥터를 통해 동작하는지, W5500이 COTS BotBlox network switch와 연결되는지, magnetic coupling 구조에서도 Ethernet 통신이 가능한지 확인하기 위해 제작되었습니다.
검증 과정에서 REV_2는 외부 Ethernet 장치와 연결하기 위한 W5500 magnetic isolation을 확인했고, REV_4는 W5500과 BotBlox switch 간 동작을 확인했습니다.
이후 EMU 보드는 avionics system의 hub 역할을 하며, network switch를 포함해 로켓 내부 avionics 보드들을 연결하는 중심 구조로 설계되었습니다. 따라서 W5500은 RP2040 기반 EMU가 Ethernet 네트워크에 연결되도록 하는 핵심 인터페이스이며, BotBlox switch와 함께 로켓 내부 보드 간 통신과 GSE 연결을 구성하는 기반이 되었습니다.
📌 Related Existing Contents & Expansion Value
1. W5500-EVB-Pico Powers DLR’s Rocket Simulator
- Link: https://maker.wiznet.io/bruno/projects/w5500-evb-pico-powers-dlrs-rocket-simulator/?serob=rd&serterm=year
- Similarity Point:
이 Maker Site 콘텐츠는 W5500-EVB-Pico가 DLR의 rocket payload simulator 및 mission support system에서 사용된 사례입니다. CMS Avionics와 마찬가지로 항공우주 분야, 로켓 관련 시스템, telemetry/telecommand, Ethernet 기반 control이 핵심입니다. 특히 DLR 사례는 MSMSv3가 power, telemetry, telecommand link를 지상에서 시뮬레이션하는 HIL 장비라는 점에서 CMS의 B⁴ 테스트 환경 및 GSE 운용 개념과 연결됩니다. - Difference:
DLR 콘텐츠는 실제 비행 컴퓨터보다는 지상 기반 payload/service module simulator에 가깝습니다. 반면 CMS Avionics는 로켓 내부 비행 컴퓨터 네트워크와 launch countdown/autosequence를 포함한 flight-side avionics 구조입니다. DLR 사례가 “비행 전 payload 검증 장비”라면, CMS는 “로켓 내부 분산 비행 컴퓨터와 지상 운용 시스템”에 더 가깝습니다. - Connection Value:
두 콘텐츠를 연결하면 WIZnet Maker Site에서 “Aerospace Ethernet Control”이라는 학습 경로를 만들 수 있습니다. DLR 콘텐츠는 W5500-EVB-Pico가 aerospace-grade simulator에 쓰일 수 있음을 보여주고, CMS Avionics는 W5500이 학생 액체 로켓의 실제 avionics network 설계에도 적용될 수 있음을 보여줍니다.
2. BX39_MIRAGE_SED
- Link: https://maker.wiznet.io/TheoIm/projects/bx39-mirage-sed/
- Similarity Point:
BX39_MIRAGE_SED는 WIZ850io, 즉 W5500 기반 Ethernet module을 사용해 stratospheric balloon payload의 science/housekeeping telemetry를 ground station으로 UDP 전송하는 프로젝트입니다. CMS Avionics도 W5500을 사용해 센서 데이터와 상태 정보를 지상으로 전송합니다. 두 사례 모두 aerospace 또는 near-space 환경에서 “로컬 저장만으로는 부족하고, 지상에서 실시간 상태 확인이 필요하다”는 문제를 해결합니다. - Difference:
MIRAGE는 balloon payload의 환경 계측 데이터 전송이 중심이고, W5500은 UDP telemetry path 역할을 수행합니다. CMS Avionics는 로켓 내부의 여러 비행 컴퓨터가 서로 데이터를 공유하고, 지상에서 launch sequence와 command를 제어하는 구조입니다. MIRAGE는 payload telemetry 중심이고, CMS는 telemetry + command + flight control state machine이 결합된 구조입니다. - Connection Value:
MIRAGE는 CMS Avionics의 SensorNet UDP telemetry를 설명하는 데 좋은 비교 사례입니다. 두 프로젝트 모두 sequence number, timestamp, fault/status information, local logging, UDP packet loss 대응 같은 설계 포인트가 중요합니다. CMS 글에서는 MIRAGE 콘텐츠를 연결해 “W5500 기반 UDP telemetry는 로켓, balloon, payload, ground station 등 다양한 aerospace 시스템에 반복 적용 가능하다”고 설명할 수 있습니다.
📌 Market & Application Value
MS Avionics의 1차 적용 분야는 학생 로켓과 aerospace 교육 프로젝트이지만, 실제 확장 가능성은 더 넓습니다.
- Aerospace / Rocketry
액체 로켓, sounding rocket, payload test bench, HIL simulator, ground support equipment에 적용할 수 있습니다. W5500 기반 Ethernet은 여러 보드와 지상 시스템을 연결하는 저비용 유선 backbone이 될 수 있습니다. - Industrial Test & Measurement
CMS의 SensorNet 구조는 산업용 계측 장비의 실시간 데이터 수집 구조와 유사합니다. 센서 ID, timestamp, counter, value를 포함한 단순 binary packet 구조는 장기 로깅, 누락 감지, 다중 장치 수집에 적합합니다. - Remote Control & Safety System
CommandNet과 state machine 구조는 원격 장비 제어, 시험 설비 제어, 자동 시퀀스 실행, abort/hold logic이 필요한 산업 현장에 응용할 수 있습니다. - Education & Open-source Reference Design
RP2040, FreeRTOS, W5500, Pico SDK는 접근성이 좋습니다. 따라서 대학, 연구실, maker community에서 고급 네트워크 임베디드 시스템 교육용으로 활용하기 좋습니다.
📌 External Indicators
YouTube
📌 WIZnet Strategic Value
첫째, W5500의 적용 범위를 일반 IoT 센서, 스마트홈, MQTT 장치에서 aerospace-grade distributed embedded network로 확장합니다. 이는 WIZnet 제품이 단순한 인터넷 연결 부품이 아니라, 신뢰성과 예측 가능성이 중요한 시스템의 network backbone으로 쓰일 수 있음을 보여줍니다.
둘째, RP2040 + W5500 조합의 실전 가치를 강화합니다. WIZnet은 W5500-EVB-Pico, W55RP20, WIZnet-PICO-C 등 RP2040 계열 생태계를 보유하고 있습니다. CMS Avionics는 이 조합이 교육용 예제를 넘어 로켓 avionics 같은 복합 시스템에도 적용될 수 있다는 설득력 있는 사례입니다.
셋째, 오픈소스 커뮤니티 기여가 시장 경쟁력으로 이어집니다. 고객은 칩 스펙만 보고 제품을 선택하지 않습니다. 실제 설계 사례, 코드 구조, 테스트 기록, 유사 프로젝트와의 연결성을 보고 “우리 문제에도 적용 가능하다”고 판단합니다. CMS Avionics 같은 콘텐츠는 WIZnet의 기술 신뢰도를 높이고, 고객의 개발 리스크를 낮추는 역할을 합니다.
📌 Summary
CMS Avionics는 액체 로켓 내부의 여러 flight computer를 Ethernet으로 연결하고, 지상 장비와 함께 센서 데이터 수집, 상태 모니터링, 명령 제어를 수행하는 분산형 avionics 시스템입니다. 이 구조에서 WIZnet W5500은 RP2040 기반 보드들이 안정적으로 Ethernet network에 참여할 수 있도록 하는 핵심 인터페이스 역할을 합니다.
이 프로젝트의 의미는 W5500이 단순히 MCU에 네트워크 기능을 추가하는 수준을 넘어, 로켓과 같은 복합 embedded system에서 telemetry, command, ground test를 연결하는 communication backbone으로 활용될 수 있음을 보여준다는 점입니다. CMS Avionics는 WIZnet 칩이 로켓, 로봇, 차량, 시험 장비와 같은 고신뢰 시스템으로 확장될 수 있는 가능성을 잘 보여주는 사례입니다.
📌 Reference Link
https://sagarpatil.me/projects/cms-avi-sw
https://sagarpatil.me/projects/cms-avi-hw
https://www.duchinskiprojects.com/cms-avionics
https://purdueseds.space/liquids/cms/
📌 FAQ
Q1. CMS Avionics란 무엇인가요?
CMS Avionics는 Purdue Space Program Liquids의 액체 로켓 CraterMaker Special, CMS를 위한 비행 컴퓨터 및 지상 운용 네트워크 시스템입니다. 로켓 내부의 Upper Flight Computer, Lower Flight Computer, Engine Modulation Unit 등 여러 보드가 센서 데이터, 상태 정보, 명령을 Ethernet으로 주고받도록 설계되었습니다.
Q2. CMS Avionics에서 WIZnet W5500은 어떤 역할을 하나요?
WIZnet W5500은 RP2040 기반 비행 컴퓨터가 Ethernet 네트워크에 연결될 수 있도록 하는 Ethernet 컨트롤러 역할을 합니다. RP2040에는 Ethernet MAC이 없기 때문에 W5500이 SPI 인터페이스를 통해 Ethernet 기능을 제공하며, 하드웨어 TCP/IP 스택을 사용해 MCU의 네트워크 처리 부담을 줄여줍니다.
Q3. CMS Avionics는 왜 CAN이나 SPI 대신 Ethernet을 선택했나요?
CMS Avionics에서는 보드 간 통신 방식으로 SPI와 CAN bus도 검토되었습니다. 하지만 SPI는 로켓 내부에서 긴 single-ended 배선을 사용해야 하는 문제가 있었고, CAN bus는 필요한 대역폭을 충분히 제공하지 못했습니다. Ethernet은 명확한 물리 계층, 높은 대역폭, 저렴한 상용 스위치 사용 가능성 때문에 CMS의 분산형 avionics 구조에 적합한 선택이었습니다.
Q4. RP2040과 W5500 조합이 CMS Avionics에 적합한 이유는 무엇인가요?
RP2040은 센서 처리, 제어 루프, 상태 머신, 데이터 큐 처리에 집중할 수 있고, W5500은 Ethernet 통신과 TCP/IP 처리를 담당할 수 있습니다. 이 구조는 저비용 MCU 기반 시스템에서도 안정적인 유선 네트워크를 구성할 수 있게 하며, 로켓 내부의 여러 비행 컴퓨터를 하나의 Ethernet backbone으로 연결하는 데 유리합니다.
Q5. SensorNet은 CMS Avionics에서 어떤 기능을 하나요?
SensorNet은 CMS Avionics의 UDP 기반 telemetry 구조입니다. 센서 ID, 시간, 카운터, 측정값 등을 포함한 단순한 바이너리 패킷을 사용해 여러 센서 데이터를 네트워크로 전송합니다. 각 비행 컴퓨터는 multicast group IP를 통해 필요한 센서 데이터를 수신할 수 있어, 로켓 내부 보드와 지상 시스템이 동일한 telemetry 흐름을 공유할 수 있습니다.
Q6. CommandNet은 SensorNet과 어떻게 다른가요?
SensorNet은 센서 데이터와 상태 정보를 전송하는 UDP 기반 telemetry 구조이고, CommandNet은 운영자가 특정 변수 값을 설정하거나 함수를 호출하기 위한 TCP 기반 command/control 구조입니다. CommandNet은 request-response 방식으로 동작하며 MessagePack을 사용해 명령을 구조화합니다. 즉, SensorNet은 “데이터 수집”, CommandNet은 “명령 제어”에 초점을 둔 프로토콜입니다.
Q7. CMS Avionics에서 EMU는 어떤 역할을 하나요?
EMU, Engine Modulation Unit은 CMS Avionics의 핵심 제어 보드입니다. Upper와 Lower 보드가 주로 센서 데이터를 수집한다면, EMU는 igniter, pyro valve, Ethanol solenoid, LOx solenoid 등 엔진과 탱크 관련 구동 장치를 제어합니다. 지상 명령과 launch sequence에 따라 실제 액추에이터를 제어하는 역할을 수행합니다.
Q8. Bang Bang Boom Box, B⁴는 무엇인가요?
Bang Bang Boom Box, B⁴는 CMS Avionics 보드를 원격으로 개발하고 테스트하기 위한 이동형 hardware-in-the-loop 테스트 플랫폼입니다. Raspberry Pi 4, Ethernet switch, 전원 공급 장치, GPIO 기반 BOOTSEL/RESET 제어를 사용해 원격 firmware flashing, reset, 통합 테스트를 수행할 수 있도록 구성되었습니다.
Q9. CMS Avionics 사례가 WIZnet에 주는 의미는 무엇인가요?
CMS Avionics는 WIZnet W5500이 단순한 IoT Ethernet 연결용 칩을 넘어, 로켓 avionics처럼 여러 보드가 실시간으로 데이터를 주고받는 분산형 embedded network에도 활용될 수 있음을 보여줍니다. 특히 RP2040 + W5500 조합이 교육용 예제뿐 아니라 telemetry, command, ground test가 결합된 복합 시스템에도 적용 가능하다는 점에서 전략적 가치가 큽니다.
Q10. CMS Avionics 구조는 어떤 분야로 확장될 수 있나요?
CMS Avionics의 Ethernet 기반 분산 제어 구조는 액체 로켓, sounding rocket, payload test bench, HIL simulator, ground support equipment뿐 아니라 산업용 계측 장비, 원격 제어 시스템, 자동 시험 설비에도 응용될 수 있습니다. 센서 ID, timestamp, counter, value를 포함한 telemetry 구조와 TCP 기반 command/control 구조는 다양한 고신뢰 임베디드 시스템에 적용하기 좋은 설계 패턴입니다.

