본문에서 어깨번호가 달린 낱말(예: 펌웨어주)은 문서 맨 아래 용어 풀이에 쉬운 설명이 있습니다. 모든 수치 중 실제로 재보지 않은 것은 "추정"이라고 적었습니다.
바닷가에서 줍는 쓰레기의 대부분은 강을 타고 내려온 것입니다. 그런데 그 쓰레기가 강의 어느 길로 흘러 어디에 쌓이는지를 실제로 측정한 자료는 거의 없습니다. 저희는 페트병 크기의 작은 추적기를 시민이 직접 만들어 하천에 띄우고, 추적기가 보내오는 위치 신호로 그 길을 지도에 그립니다. 장치는 반드시 회수하며, 도면·프로그램·데이터를 전부 공개해 전 세계 누구나 같은 것을 만들 수 있게 합니다.
읽기 전에 세 가지를 밝혀 둡니다. 첫째, 이 장치는 한자리에 묶어 두는 부표가 아닙니다. 쓰레기와 같은 속도로 떠내려가면서 지나온 길을 기록하는 표류 추적기(드리프터)입니다. 둘째, 통신은 휴대전화망(LTE)1을 씁니다. 인공위성은 쓰지 않습니다. 셋째, 위치 예측은 물리 법칙으로 계산하고 실제 측정으로 보정합니다. 인공지능이 알아서 맞히는 방식이 아닙니다. 이 세 가지는 저희가 바깥에 약속한 정직 원칙입니다.
아래 여덟 단계가 이 문서 전체의 뼈대입니다. 각 단계는 뒤 장에서 하나씩 자세히 다룹니다.
| 단계 | 하는 일 | 관련 장 |
|---|---|---|
| ① 조달 | 보드, 배터리, 유심, 병, 폼 등 부품을 삽니다 | 3장 |
| ② 기구 제작 | 3D 프린트 3부품과 폼 재단으로 몸통을 만듭니다 | 4장 |
| ③ 전자 준비 | 보드에 유심, 배터리, 안테나를 달고 통신 설정을 합니다 | 5장 |
| ④ 펌웨어 굽기 | 장치의 행동 규칙 프로그램을 보드에 넣습니다 | 6장 |
| ⑤ 벤치 검증 | 책상 위에서 5개 관문 G0~G4를 통과시킵니다 | 7장 |
| ⑥ 조립·밀봉·수조시험 | 병에 넣고 봉한 뒤 6개 시험 T1~T6을 통과시킵니다 | 8장 |
| ⑦ 방류·추적·회수 | 체크리스트대로 띄우고 지도로 보고 전량 회수합니다 | 9장 |
| ⑧ 데이터·분석 | 궤적이 쌓여 "어디를 먼저 치울지"가 나옵니다 | 10장 |
| 구분 | 품목 | 수량 | 어디서 | 상태·예상 도착 |
|---|---|---|---|---|
| 선발대 | LILYGO T-A7670G R2 + 분리형 GPS | 1 | AliExpress | 주문 진행 중 · 약 5~10일 |
| 본대 | LILYGO T-A7670G R2 With GPS [Q425] (일체형) | 5 | lilygo.cc 공식몰 · DHL | 주문 진행 중 · 약 10~17일 |
| 국내 | 보호회로 18650 배터리3(연속 3A 이상) | 6 | 쿠팡/디바이스마트 | 1~2일 |
| 국내 | 데이터 유심 — 기기마다 1장씩(KT·SKT 망 계열만, 5-3장 설명 참조) | 6 (우선 1) | 편의점 선불 유심 가능 | 당일 |
| 국내 | 18650 충전기(2~4구) — 회수-재충전 운영의 필수 장비 | 1 | 쿠팡 | 1~2일 · 역검수에서 발견된 누락분 |
| 국내 | USB 데이터 케이블(충전전용 아님 — 펌웨어 굽기용) | 1+ | 보유 확인 | 충전전용 케이블은 G0에서 인식 불가 |
| 국내 | EVA 폼 10mm(폐쇄셀)4, 페트 1L 병, 무연 낚시봉돌 ~40g, 중성 실리콘, 실리카겔, 형광 테이프, 파라코드, 방수 QR 라벨 | 각 6세트분 | 다이소·낚시점·철물점·재활용 | 당일~2일 |
| 제작 (선택) | 3D 프린트 3부품(전자부 받침대·무게추 킬·회수 고리) | 6세트 | 자체/출력소 | 도면 공개, 인필5 60% 이하. 프린터가 없으면 4-3장의 무프린트 조립법으로 대체 가능 |
선발대 1기는 GPS가 케이블로 분리된 변형이고 본대 5기는 GPS가 보드에 붙은 일체형입니다. 두 구성 모두 같은 프로그램이 그대로 돌아가며, 오히려 두 구성의 위치 수신 품질을 비교하는 작은 실험이 됩니다 13장 참조.
몸통은 재활용 1리터 페트병입니다. 병을 쓰는 이유는 세 가지입니다: 세계 어디에나 있고, 공짜이며, 전파가 잘 통과합니다(금속 통은 GPS·LTE 신호를 막습니다). 다만 일반 생수병 입구(지름 약 28mm)로는 안의 부품(폭 최대 86mm)이 들어가지 않습니다 — 그래서 8장의 절단·재밀봉 공정을 쓰거나, 입구가 넓은 용기를 고릅니다.
| 부품 | 재료 | 역할 (쉬운 말) |
|---|---|---|
| ① 무게추 킬 | 3D 프린트 + 무연 봉돌 ~40g | 배 바닥의 무게추입니다. 병이 뒤집혀도 오뚝이처럼 안테나가 위로 돌아오게 합니다 |
| ② 전자부 받침대 | 3D 프린트 | 보드와 배터리를 병 안에 흔들리지 않게 고정하는 선반 |
| ③ 폼 칼라 ×2 | EVA 폼 160cm³ | 이 설계의 핵심 안전장치. 물이 새어 병 안이 침수되어도 장치가 가라앉지 않게 하는 구명조끼 |
| ④ 안테나 2개 | 보드 동봉품 | 병 안쪽 맨 위 하늘 쪽에 테이프로 부착합니다. 물에 잠기면 통신이 끊깁니다 |
| ⑤ 회수 고리 | 3D 프린트 | 뜰채·장대로 건져 올리는 손잡이. 동물이 걸리지 않게 매끈한 폐곡선 |
밀봉된 1리터 병은 물을 약 1,000cm³ 밀어내는데 장치 전체 무게는 약 207g(추정)이라, 정상 상태에서는 뜨는 힘이 무게의 약 4.8배입니다. 진짜 위험은 밀봉이 새서 병에 물이 찼을 때인데, 이때 부품만 남으면 약 97g만큼 가라앉는 힘이 남습니다(추정). 그래서 물을 거의 먹지 않는(24시간 담가도 5% 미만) 폐쇄셀 폼을 160cm³ 넣어, 침수 상태에서도 약 27% 여유로 뜨게 뒤집어 놓았습니다. 요약하면: 4.8배 → −97g → 폼 160cm³로 역전. 폼 재단용 실물 크기 종이 본과 두께별 장수 표는 이미 인쇄용으로 공개되어 있습니다.
3D 프린터는 세계 어디에나 있는 도구가 아닙니다. 그래서 프린트 부품 세 가지는 모두 칼과 접착만으로 대신 만들 수 있습니다. 원칙은 간단합니다. 부품의 모양이 아니라 부품이 하는 일을 만들면 됩니다.
| 프린트 부품 | 하는 일 | 무프린트 대안 (칼·접착만으로) |
|---|---|---|
| 전자부 받침대 | 보드·배터리를 흔들리지 않게 고정 | 폼 칼라의 가운데 구멍에 보드를 끼우고 케이블타이로 묶는다. 더 튼튼하게 하려면 플라스틱 골판지(단프라)를 재단해 ㄷ자로 접어 받침을 만든다 |
| 무게추 킬 | 무게추를 배 바닥 한가운데에 고정 | 봉돌 ~40g을 지퍼백이나 수축튜브에 싸서 병 바닥 안쪽 중앙에 글루건으로 붙이고 케이블타이로 보강합니다. 움직이지만 않으면 됩니다 |
| 회수 고리 | 뜰채·장대로 건질 손잡이 | 병목(뚜껑 아래 잘록한 곳)에 파라코드를 짧고 팽팽하게 매듭지어 고리를 만듭니다. 느슨한 올가미 모양은 금지합니다. 동물이 걸릴 수 있습니다 |
이렇게 만들면 프린트 부품 약 35g이 빠져 장치가 오히려 가벼워지고, 부력 여유는 늘어납니다. 다만 시험은 똑같이 통과해야 합니다 — 특히 뒤집으면 스스로 일어서는지(T4)와 물을 채워도 떠 있는지(T2)를 꼭 확인합니다.
LILYGO T-A7670G R2 한 장에 두뇌(ESP32)6, 통신 모뎀(A7670G, LTE), 위치 수신기(GPS)7, 배터리 소켓이 모두 실려 있습니다. 납땜이 전혀 필요 없고, 조립은 "유심 꽂기 → 안테나 2개 딸깍 → 배터리 끼우기"가 전부입니다. 안테나는 길쭉한 것이 LTE(모뎀 옆 MAIN 단자), 네모난 것이 GPS(GPS 단자)입니다. 배터리는 홀더의 +/− 각인과 셀 표기를 대조한 뒤 끼웁니다 — 거꾸로 끼우면 보드가 즉시 망가질 수 있습니다. 보호회로가 달린 18650은 일반 셀보다 길어(약 69mm) 홀더에 안 맞을 수 있으니 구매 전 홀더 대응 길이를 확인합니다.
첫째, USB 케이블만 꽂고 시험하면 안 됩니다. 모뎀이 전파를 쏘는 순간 순간적으로 큰 전류(약 2A)를 당기는데 USB만으로는 부족해서, 장치가 픽 꺼졌다 켜지며 마치 고장처럼 보입니다. 반드시 배터리를 끼운 상태로 시험합니다. 둘째, 배터리는 연속 3A 이상을 견디는 보호회로가 달린 18650이어야 합니다. 값싼 저전류 보호회로는 그 순간 전류에 스스로 전원을 차단해 버립니다.
| 설정 | 뜻 (쉬운 말) | 우리 값 |
|---|---|---|
| APN8 | 유심이 어느 통신사 문으로 들어갈지 적는 주소 | KT 알뜰폰이면 lte.ktfwing.com, SKT면 lte.sktelecom.com (유심 안내지에 적혀 있음) |
| 서버 주소 | 위치 신호를 보낼 우리 컴퓨터의 주소 | 벤치: 서버는 사무실 PC에서 켜지지만 장치는 휴대전화망을 거쳐 들어오므로 내부 주소인 192.168.…로는 닿지 않습니다18 — ngrok 터널 주소 또는 포트포워딩한 공인 주소를 적습니다(7장 참조). 운영: openc.caresea.kr |
| 전송 주기 | 몇 분마다 깨어나 위치를 보낼지 | 벤치 5분, 운영 30분(배터리 수명과 맞바꾸는 값 — 13장) |
펌웨어9는 보드에 심어 두는 행동 규칙입니다. 우리 장치의 하루는 이 다섯 동작의 반복입니다.
깨어난다 → 하늘에서 위치를 받는다(GPS) → 수첩에 적는다(버퍼) → 전화망으로 서버에 보낸다 → 다시 잠든다
하천에는 다리 밑처럼 전파가 안 터지는 구간이 있습니다. 예전 방식은 전송에 실패하면 그 위치 기록이 사라졌지만, 지금은 위치를 먼저 장치 안 수첩(버퍼, 16칸)에 적어 두고, 전파가 다시 터지는 순간 밀린 기록을 한꺼번에 보냅니다(store-and-forward10). 기록마다 일련번호 seq와 관측 시각 ts_fix가 함께 붙어 있어서, 서버는 늦게 도착한 기록도 올바른 순서로 궤적을 짜 맞춥니다. 이 방식은 갠지스강, 아르노강, 제주 하구의 선행 연구 세 곳이 공통으로 채택했던 검증된 교훈입니다. 수첩은 16칸입니다. 다 차면 가장 오래된 장을 찢어 최신을 지키고, 배터리가 완전히 빠지면 수첩이 비워집니다. 두 경우 모두 일련번호의 빈틈으로 서버가 결측을 알아챕니다.
장치 고유 이름(DEVICE_ID, 유닛마다 다르게), 사이트 태그(SITE_ID), APN, 서버 주소, 전송 주기(벤치는 5분) — 다섯 가지를 파일 상단에서 고쳐 넣고, Arduino IDE11로 보드에 굽습니다. 파일 맨 위의 벤치/운영 스위치(BENCH_HTTP)가 1이면 벤치용 평문, 0이면 운영용 암호화로 서버 주소 블록이 자동으로 바뀝니다 — 7장의 G4가 바로 이 스위치를 0으로 바꿔 다시 굽는 시험입니다. 필요한 부속 프로그램(라이브러리) 세 가지와 주의점은 조립 가이드에 적혀 있으며, 특히 기본 TinyGSM19이 아니라 LILYGO 전용 포크를 써야 한다는 점이 초심자가 가장 자주 걸리는 함정입니다.
보드가 도착하면 조립보다 먼저, 책상 위에서 아래 관문을 차례로 통과시킵니다. 수신 서버는 사무실 PC에서 명령 한 줄(python ingest_server.py 8770 0.0.0.0)로 켭니다. 뒤의 숫자와 0.0.0.0을 빼먹으면 서버가 자기 컴퓨터 안 127.0.0.1에서만 열려 장치가 붙지 못합니다. 서버 자체는 모의 신호로 정상 동작을 확인했습니다.
ngrok tcp 8770) ② 공유기 포트포워딩. 이 항목은 QA 검수에서 발견되어 벤치 체크리스트에 반영되었습니다.| 관문 | 무엇을 확인하나 (쉬운 말) | 합격 기준 |
|---|---|---|
| G0 굽기 | 프로그램이 보드에 들어가고 켜지는가 (배터리 장착 상태로!) | 시리얼 창에 로그가 뜹니다 |
| G1 GPS 전원 | 모뎀을 켜기 전에 GPS가 혼자 켜지는가 — 설계 전제 중 유일하게 미확정인 지점 | 창가에서 위치 잡힘, 또는 실패해도 "NMEA chars > 0" |
| G2 한 바퀴 | 위치→전송→잠들기→깨어나기가 3회 연속 도는가 | 서버에 seq가 1씩 증가하며 도착 |
| G3 수첩 | 안테나를 뽑아 전파를 끊었다 다시 이으면 밀린 기록이 몰아서 오는가 | 궤적이 올바른 순서로 복원됨 |
| G4 암호화 전송 | 운영용(HTTPS) 빌드가 컴파일·전송되는가 (대표 1기만) | 암호화 빌드 컴파일 + 443 접속·전송 시도 성공 (운영 서버의 v1.1 수신부 이식 전에는 서버의 오류 응답 수신까지를 통과로 봄 — 15장 #7) |
전 유닛은 G0~G3 네 관문을 통과해야 조립 단계로 넘어갑니다. G4(암호화 빌드)는 대표 1기로 한 번만 확인하고 벤치 설정으로 되돌립니다. 이후 8장의 수조 시험(T1~T6)까지 통과한 장치가 "검증된 조립품(verified build)"으로 기록되며, 이 기록이 있어야 그 장치의 데이터가 공식 데이터로 인정됩니다. 인쇄해서 체크하는 5기용 표가 저장소에 있습니다.
벤치를 통과한 전자부를 4장의 몸통에 넣습니다. 순서는 아래에서 위로: 무게추(킬) → 배터리 → 폼 칼라 → 보드 → 안테나(맨 위). 무거운 것은 아래 가운데, 뜨는 것과 전파 쓰는 것은 위 — 이 한 줄이 배치 원칙의 전부입니다. 무게추는 킬 포켓 안에 실리콘이나 글루건으로 반드시 붙여 고정합니다. 무게추가 움직이면 오뚝이 복원력이 사라집니다(무게추를 늘리면 폼도 늘려야 합니다: +10g당 폼 약 +12cm³).
밀봉은 병뚜껑 나사산에 실리콘을 얇게 바르고 잠그는 것이 기본이며 재사용할 수 있습니다. 병 안에 실리카겔 습기 제거제를 한 포 넣습니다. 여름 직사광선 아래 밀폐 병 안의 배터리가 부풀 수 있으므로 압력 관리가 필요한데, 방법은 둘 중 하나입니다. 고어텍스 패치 같은 통기벤트를 달거나, 차광 테이프와 단기 회수 운용으로 관리합니다. 우리 파일럿은 후자를 채택합니다. 밀봉이 끝나면 주방저울로 총 무게를 재어 목표 약 205g인지 기록합니다. 이 실측값이 4장 부력 계산의 추정을 실제 값으로 바꿉니다.
조립이 끝나면 물에 넣기 전 6가지 시험을 합니다. T1 24시간 물에 담가 누수 확인 · T2 일부러 물을 채워도 72시간 똑바로 떠 있는지(폼 검증) · T3 1m 낙하 · T4 뒤집어 놓으면 스스로 일어서는지 · T5 얼음물에서도 전송이 유지되는지 · T6 담갔다 꺼내도 GPS와 LTE가 다시 잡히는지 확인합니다. 전부 대야, 주방저울, 아이스팩 같은 가정용 도구로 할 수 있습니다. 앞 장들의 T1, T2, T4 표기가 모두 이 목록을 가리킵니다.
방류 전 점검표는 네 묶음으로 되어 있습니다. A 회수 계획, B 장치 상태, C 환경·법규, D 안전 — 네 묶음을 전부 확인해야 방류할 수 있습니다. 첫 묶음이 회수 계획인 데는 이유가 있습니다. 이 프로젝트에서 회수는 선택이 아니라 방류의 조건이기 때문입니다. 현장을 접근성에 따라 세 등급으로 나누고, 등급에 맞는 회수 수단이 확보된 경우에만 방류합니다. 방류 전에 회수 마감 시각(T+몇 시간)도 함께 정합니다.
| 등급 | 현장 | 회수 수단 |
|---|---|---|
| A 직접 접근 | 둔치·얕은 여울 | 뜰채·도보·카약 (자원봉사) |
| B 제한 접근 | 콘크리트 급경사·수심 깊음 | 드론(유상 운용자) 또는 하류에 미리 친 회수 라인 |
| C 접근 불가 | 홍수 위험·외해 유출 우려·허가 없는 보호구역 | 방류 금지 (짧은 줄 묶기·폐폰 방식만 허용) |
사람의 안전이 장치보다 먼저입니다. 수변 작업은 반드시 2인 1조로 구명조끼, 미끄럼방지 장화, 구조 로프를 착용하며, 강우 예보나 수위 상승 시에는 방류를 취소합니다. 학생 등 미성년 참여 시 보호자 동의와 인솔 체계를 갖추고, 자원봉사자 상해보험 가입을 확인합니다. 자세한 내용은 구멍 목록 B4, B5를 참조하십시오.
방류한 수와 회수한 수를 장부로 대조합니다(count-in = count-out). 회수 마감 후 남은 장치는 장치 번호, 마지막 위치, 추정 경로, 수색 이력을 담은 유실 보고서를 작성해 공개 기록으로 남깁니다. 취수구나 보호구역 같은 민감 구간으로 흘러들면 관할기관에 즉시 알리고, 침몰한 장치는 밀봉 시험 T1을 재검토해 원인을 설계에 되먹입니다. 부산 파일럿은 A등급과 B등급 구간에서, 유상 드론 운용자를 우리가 직접 수배해 당일 합류하는 방식으로 진행합니다.
법규 확인은 두 갈래입니다. 하천 쪽 — 방류 구간의 관할을 확인하고(소하천은 구청이 관리청, 지방하천은 하천법 적용) 협조공문 또는 신고를 마치며, 보호구역·상수원보호구역 해당 여부와 어로·항행·취수시설 구간 회피를 확인합니다. 전파 쪽 — 방류 전에 면제확인 신청(연구·기술개발용, 1,500대 이하)이 필요합니다. 수량이 면제 상한 안에 있는 것과 절차를 밟은 것은 다르며, 확인서를 받기 전에는 수량과 관계없이 방류하지 않습니다. 두 갈래 모두 방류 전 점검표(C 묶음)에 들어 있습니다.
장치(위치 1점) → 수신 서버(궤적으로 조립) → 공개 지도(실시간) → 누적 분석(이동장·핫스팟)
장치는 좌표 한 점만 보내는 단순한 존재이고, 똑똑한 일은 전부 서버와 분석이 맡습니다. 이 분업 덕분에 장치가 싸고 단순해집니다.
| 층 | 무엇을 하나 | 정직한 실체 |
|---|---|---|
| ① 데이터 품질 | 이상한 좌표 걸러내기, 좌초 판정 | 통계 규칙(전·후진 4σ 속도 검사12) — 40년 된 해양 관측 표준(NOAA) 채택 |
| ② 물리 모델 보정 | "이 물체는 바람과 물살에 이만큼 밀린다"는 계수를 실측으로 맞추기 | OpenDrift13라는 공개 물리 시뮬레이터 + windage14 계수. 제주 실측 연구값(0.012~0.014)을 출발점으로 사용 |
| ③ 패턴 발견 | 궤적이 쌓이면 반복해서 멈추는 지점(핫스팟)을 자동으로 묶기 | 군집화 알고리즘(DBSCAN15) — 수거 우선순위가 여기서 나온다 |
즉 "Physical AI"의 현재 형상은 물리 시뮬레이터를 실측 궤적으로 보정하는 폐루프입니다. 학습형 신경망이 미래를 예측한다고 말하지 않으며, 정확도 몇 %라는 숫자도 실측 전에는 쓰지 않습니다. 중요한 자산은 ②의 보정계수인데, 이것은 강이 아니라 물체(우리 병)의 성질이라 다른 나라 하천으로 그대로 이전됩니다. 새 지역은 훨씬 적은 방류로 보정을 끝낼 수 있고, 이것이 글로벌 확산의 과학적 근거입니다.
모든 장치가 같은 형식 FF-ID v1.1로 보고하기 때문에, 전 세계 어느 커뮤니티가 만든 장치든 데이터가 한 상에 모입니다. 형식에는 관측 시각, 일련번호, 수신 품질 HDOP16)·장치 이력·회수 결과까지 들어가며, 검증 시험을 통과하고 회수 정산까지 마친 장치의 데이터만 공식 데이터셋에 포함됩니다. 규칙을 감시로 강제하는 대신, "제대로 만든 데이터만 인정받는" 구조로 강제하는 것입니다.
같은 일을 먼저 한 국내 연구가 둘 있습니다. 우리는 이들에게서 배우되, 결정적으로 다른 길을 갑니다.
| 구분 | 제주 4하구(Kang, 2025) | 한강하구(Do 외, 2026) | 우리(Friendly Floaty) |
|---|---|---|---|
| 규모·성과 | 11대·2회차. windage 계수 α 0.012~0.014 실측 | 49대·6개월. 쓰레기의 ~12%만 외해 유출·대부분 하구에 1달+ 잔류 | 파일럿 5대(아직 미실시) |
| 전자·통신 | 오픈 MCU + 다중망 셀룰러(NB-IoT/LTE-M/GPRS) + 리튬 — 우리와 사실상 같은 계열 | 기기 설계 미공개(논문 유료) | 셀룰러 Cat.1(A7670) — 시판 유심으로 국내 확실 접속 |
| 데이터 | 1시간 측위·store-and-forward·시간정렬. OpenDrift 미사용(자체 계산) | GPS 라그랑주(상세 미공개) | 1시간·store-and-forward·FF-ID 스키마·QC 오픈 |
| 회수 | ❌ 미회수(1-1호 9시간 뒤 송신중단) | ❌ 미회수(추정) | ✅ 회수-우선(전량 회수) |
| 개방 | ❌ 원가·하우징·밸러스트 미공개 | ❌ 유료 논문 | ✅ 도면·코드·데이터 전면 공개 |
| 화면 | 누가 쓰나 | 하는 일 |
|---|---|---|
| 실시간 표류 지도 | 모두 | 지금 떠 있는 장치들의 궤적을 지도에서 봅니다 |
| 참여자 앱(마이 플로티) | 시민·학생 | 휴대폰만으로 추적 참여·쓰레기 기록(개인정보 없이 팀 코드로만) |
| 3D 조립 뷰어·재단 템플릿 | 만드는 사람 | 브라우저에서 장치를 돌려보고 분해해 보고, 폼 본을 인쇄합니다 |
| 여정 게임(개념 검증됨) | 커뮤니티 | 표류가 며칠 걸리는 특성을 살려, 한 장치의 여정을 여럿이 함께 따라가고 회수 미션으로 끝맺는다 — 100% 회수를 문화로 만드는 장치 |
철학은 한 줄입니다: 회수까지가 게임의 완성. 재미가 규범(전량 회수)을 지키게 만듭니다.
FMEA17는 "무엇이, 왜 고장 나고, 그러면 어떻게 되며, 우리는 그걸 어떻게 미리 알아채고 막는가"를 표 하나로 관리하는 제조업의 표준 기법입니다. 저희는 신뢰성 문서에서 고장 모드 7가지(F1~F7)를 이미 도출했으므로, 이를 FMEA 형식으로 정리하면 아래와 같습니다. 점수는 1~5이며, 심각도와 빈도가 높고 시험으로 잡기 어려운 모드부터 우선 관리합니다. 빈도는 현장 실측 전 추정치이며 벤치와 파일럿 기록으로 갱신합니다.
| 모드 | 고장 | 원인 | 결과 | 심각 | 빈도 | 검출(어느 시험이 잡나) | 대책 |
|---|---|---|---|---|---|---|---|
| F1 | 밀봉 누수 → 침수 | 실리콘 노화·체결 불량 | 침몰 위험 | 5 | 3 | T1 소크, T2 침수부양 | 폼 160cm³(침수해도 뜸) + 재밀봉 |
| F2 | 배터리 과열·벤팅 | 직사광 밀폐 가압 | 파열·화재(최악) | 5 | 3↑ | 조립 전 예방 검사(차광·통기) | 차광, 통기 경로, 보호셀, 단기 운용 (여름 방류 시기라 빈도 상향) |
| F3 | 생물 부착 | 장기 계류 | 무게 증가·부력 잠식 | 2 | 2 | 회수 시 육안 | 단기 회수 원칙 |
| F4 | 내부 결로 | 주야 온도차 | 전자부 오작동 | 3 | 3 | T1 후 내부 확인 | 실리카겔, 통기 |
| F5 | 동결 팽창 | 겨울 결빙 | 밀봉 균열 | 3 | 1(계절) | 저온 노출 후 T1 소크 재시험 | 결빙기 방류 회피(예방) |
| F6 | 전복 → 안테나 수몰 | 무게중심 높음 | 통신 두절 | 4 | 3 | T4 자기복원 | 킬 40g 저중심, 폼 상부 배치 |
| F7 | 자외선 열화 | 장기 노출 | 병·폼 취화 | 2 | 2 | 재사용 검수 | 회수-우선, 로트 재검수 |
| F8* | 통신 음영 데이터 유실 | 다리 밑·협곡 | 궤적 구멍 | 3 | 4 | G3 수첩 시험 | store-and-forward 버퍼(v1.1 구현 · G3 벤치 검증 대기) — 수첩 16칸 한계·완전 방전 시 소실, 일련번호 빈틈으로 서버가 결측을 인지 |
| F9* | 회수 실패 | 유속·접근 불가 | 환경 투기가 됨 | 5 | 2 | 정산 로그(유실 수)·회수 마감 초과 | 방류 전 A/B/C 판정(예방), 회수 없으면 방류 금지, QR 시민 제보 |
| F10* | 습득·도난(사람이 주워감) | 도시 하천 특성 | 장치·데이터 유실 | 4 | 3 | 궤적이 물길을 벗어나 육지로 이동 | QR "주우신 분 연락 주세요" 보상 안내 — 습득을 회수의 한 형태로 전환 |
* F8 및 F9는 기구 고장이 아니라 운영 고장이지만 같은 표에서 관리하는 것이 실용적이라 추가했습니다.
이 표의 "빈도" 열은 지금 전부 추정입니다. 벤치와 파일럿에서 실제로 일어난 고장을 이 표에 기록해 빈도를 실측치로 바꾸는 것이 FMEA 운용의 핵심이며, 위험도 순위가 바뀌면 시험(T1~T6)의 강도와 설계 개선의 우선순위가 따라 바뀝니다. 또한 이 표 자체를 공개 저장소에 두면, 전 세계 DIY 제작자가 자기 지역의 고장 사례(예: 열대 하천의 생물 부착)를 보태는 공동 신뢰성 데이터베이스로 자랍니다 — 오픈소스 하드웨어에서 FMEA를 공개하는 것 자체가 드물어, 차별점이 됩니다.
| 순번 | 측정할 것 | 알게 되는 것 | 개선으로 이어지는 길 |
|---|---|---|---|
| 1 | 잠자는 동안의 전류(벤치) | 배터리 수명의 지배 변수 | 전송 주기 최적화 — 문서 추정치는 60분 주기 기준 약 6~19일, 운영 기본값 30분 주기는 같은 계산식 내삽으로 약 5~12일(전부 추정, 벤치 실측으로 확정. 냉수에서는 더 짧아짐) |
| 2 | 분리형 vs 일체형 GPS의 수신 품질(HDOP) | GPS 배치가 성능에 주는 이득 | 이득이 크면 "상단 분리 배치"를 공식 업그레이드 경로로 |
| 3 | 실제 병·부품 무게(저울) | 부력 계산의 추정치 제거 | 폼 크기·무게추 미세 조정 |
| 4 | 파일럿 궤적으로 windage 계수 | 우리 병의 물리 성질(전이 자산) | OpenDrift 보정 → 수거 우선순위 정밀화 → 보정계수 커먼즈에 공개 |
| 5 | 회수율·고장 사례 | FMEA 빈도의 실측화 | 설계 개정판(v2)의 근거 |
이 프로젝트는 장치 하나가 아니라 여섯 층이 맞물린 시스템입니다. 각 층은 이미 만들어져 있고, 남은 것은 실물 검증뿐입니다.
| 층 | 구성물 | 상태 |
|---|---|---|
| ① 하드웨어 | 보드 + 3D 부품 + 폼 + 병 (실치수 3D 조립 공개) | 설계 완료 · 실물 대기 |
| ② 펌웨어 | v1.1 (수첩 방식, 검증 리뷰 완료) | 벤치 대기 |
| ③ 서버·데이터 규격 | 수신 서버 v1.1 + FF-ID 스키마 (모의 검증 완료) | 가동 준비 완료 |
| ④ 분석·지능 | 품질검사 → 물리보정 → 핫스팟 (10장) | 파일럿 데이터 대기 |
| ⑤ 시민 층 | 지도·앱·게임·재단 템플릿·조립 가이드 | 공개 운영 중 |
| ⑥ 개방·확산 층 | GitHub 저장소(라이선스 3종), DIY 다양성 규칙, 회수 규범, ChangeX 지원 | 공개 운영 중 |
흐름으로 읽으면: 시민이 ⑤의 가이드로 ①을 만들고, ②가 ③으로 보고하며, ④가 수거 지점을 찾고, 그 전 과정이 ⑥으로 세계에 복제됩니다. ChangeX 심사위원이 어느 링크를 눌러도 이 여섯 층 중 하나에 닿도록 세부 링크를 배선했습니다.
거꾸로 짚어보실 수 있도록, 지금 시점에 비어 있는 곳을 숨김없이 적습니다.
| # | 구멍 | 메워지는 시점·방법 |
|---|---|---|
| 1 | 실물 검증이 0건 — 모든 수치가 계산·추정 | 선발대 도착 → 벤치 G0~G4 → 수조 T1~T6 |
| 2 | G1 전제 미확정 — GPS가 모뎀 없이 혼자 켜지는지는 회로 확인이 안 됨 | 선발대 1호기 첫 시험이 바로 이것. 실패 시 펌웨어 순서 수정(방법 준비됨) |
| 3 | 전력 수치가 넓은 추정(6~19일) | 벤치에서 전류 실측 후 문서 갱신 |
| 4 | 병 규격·부품 무게가 도면 기본값 | 실물 도착 후 실측 → 파라미터 갱신 → 폼 재계산 |
| 5 | 전파 면제확인 미신청 (방류 전 필수) | 1기 벤치 접속시험은 유심으로 가능. 방류는 수량과 관계없이 발급 뒤 |
| 6 | 부산 방류지 현장 미확인 (부유쓰레기 실존 확인) | 파일럿 1~10일차 현장 답사 항목 |
| 7 | 운영 서버(openc)의 v1.1 수신부 이식 | 벤치는 로컬 서버로 충분. 운영 전환 시 Next.js API에 반영 |
| 8 | ChangeX 가림본 폴더(구글 드라이브) 미생성 | 대표 액션 — 예산·협의기록 가림본 업로드 |
| 9 | 배터리 잔량 표시가 분압 보정 전(추정치) | 벤치에서 실전압과 대조·보정 |
| 10 | FMEA 빈도 열이 전부 추정 | 파일럿 고장 기록으로 실측화(12장) |
| 11 | ★ChangeX 지원서 최종 제출 | 제출을 마쳤습니다(2026-08-17). 심사 결과는 2026-09-28 에 나옵니다 |
| 12 | 자원봉사자 상해보험·안전 교육 체계 미확정 | 파일럿 전 보험 가입 확인, 방류 브리핑에 안전 항목 포함(9장) |
| 13 | 학교 워크숍의 미성년 보호 절차(보호자 동의·인솔) 미작성 | 워크숍 확정 전 동의서 양식 작성 |
| 14 | QR 라벨 연락처 정책 미정 — 개인 번호 노출 금지, 법인 대표번호 또는 전용 폼으로 | 라벨 인쇄 전 결정 |
| 15 | 3D 프린트 출력 경로 미확정(자체 프린터 vs 출력소) | 조립 주간 전에 확정합니다. 벤치 작업에는 필요하지 않습니다. 무프린트 조립법(4-3장)이 있어 프린터 없이도 진행 가능 |
| 16 | 위치정보법 검토 기록이 없습니다. 기기 위치에 해당하여 개인위치정보가 아닐 가능성이 높으나 확인 문서를 작성할 필요가 있습니다 | 파일럿 전 한 쪽짜리 검토 메모 |