절연 테이프와 구형 CNC로 만든 AI 하드웨어 해킹 로봇 팔
해커가 일상적인 잡동사니와 AI를 결합하여 기판의 핀과 패드를 자동으로 탐지하고 프로빙(Probing)하는 'AutoProber' 시스템을 구축했습니다. 이 시스템은 USB 현미경으로 기판을 스캔해 지도를 생성하고, 오실로스코프를 통해 안전 장치를 모니터링하며, AI 에이전트가 웹 대시보드를 통해 물리적 하드웨어를 제어할 수 있게 해줍니다. 오픈소스 형태로 공개되어 누구나 자체 실습 환경에 맞춰 하드웨어 해킹 및 테스트 자동화 환경을 구축할 수 있다는 점이 핵심입니다.
AutoProber는 하드웨어 해커를 위한 플라잉 프로브(Flying Probe) 자동화 스택입니다. 에이전트에게 테스트할 새로운 타겟이 준비되었다는 것을 알리는 것부터 시작하여, 개별 핀을 안전하게 프로빙(Probing)하는 데 필요한 모든 기능을 제공합니다.
데모 영상: https://gainsec.com/autoprober-demo-mp4/
동작 흐름
- 에이전트에게 프로젝트를 분석(ingest)하도록 지시합니다.
- 모든 하드웨어를 연결합니다.
- 에이전트에게 모든 부품이 정상 작동하는지 확인하도록 지시합니다.
- 기준점 복귀(Homing) 및 캘리브레이션을 실행합니다.
- 커스텀 프로브와 현미경 헤더를 부착합니다.
- 에이전트에게 플레이트 위에 새로운 타겟이 있음을 알립니다.
- 에이전트가 타겟의 위치를 찾고, 개별 프레임을 캡처하며 XYZ 좌표를 기록하면서 패드, 핀, 칩 및 기타 주요 특징들을 파악합니다.
- 캡처된 프레임들을 이어 붙여 지도를 생성하고, 식별된 핀과 주요 부품들을 주석(Annotation)으로 표시합니다.
- 웹 대시보드에 프로브 타겟을 추가하여 사용자의 승인 또는 거절을 기다립니다.
- 승인된 타겟을 프로빙하고 그 결과를 보고합니다.
모든 하드웨어는 웹 대시보드, 파이썬(Python) 스크립트 또는 에이전트 자체를 통해 제어할 수 있습니다. 이 리포지토리는 소스 코드가 공개된 독립적인 릴리즈 후보(RC) 버전으로, 직접 AutoProber를 구축하는 데 필요한 파이썬 제어 코드, 대시보드, CAD 파일 및 문서가 포함되어 있습니다.
안전 모델 이 프로젝트는 물리적 하드웨어를 움직이는 시스템입니다. 일반적인 웹 앱이 아닌 기계 제어 시스템으로 취급해야 합니다. 요구되는 안전 설계는 다음과 같습니다: GRBL의 Pn:P 명령은 무시됩니다. CNC 프로브 핀은 신뢰할 수 있는 엔드스톱(Endstop)으로 간주하지 않습니다. 독립적인 안전용 엔드스톱은 오실로스코프의 채널 4(CH4)에서 읽어옵니다. 모터 구동 중 채널 4의 상태를 지속적으로 모니터링해야 합니다. 채널 4의 트리거, 불분명한 전압, CNC 알람 또는 실제 X/Y/Z 리밋(Limit) 핀 작동은 모두 즉각적인 정지 조건입니다. 에이전트나 조작자는 작동을 멈추고 상황을 보고해야 합니다. 복구 동작은 자동으로 수행되지 않습니다. 하드웨어를 작동하기 전에 반드시 docs/safety.md와 docs/operations.md를 읽어야 합니다.
리포지토리 구조 apps/: 조작자용 스크립트 및 Flask 대시보드 진입점 autoprober/: CNC, 오실로스코프, 현미경, 로깅, 안전 기능을 위한 재사용 가능한 파이썬 패키지 dashboard/: 싱글 페이지 웹 대시보드 docs/: 아키텍처, 장비 참조, 작동 및 안전 가이드 cad/: 현재 커스텀 툴헤드용 3D 프린팅(STL) 파일 config/: 환경/설정 파일 예시 AGENTS.md: 에이전트/조작자 안전 규칙 LICENSE: PolyForm 비상업적 라이선스 1.0.0 (상업적 이용은 별도 문의) pyproject.toml: 파이썬 프로젝트 메타데이터 uv.lock: 고정된 파이썬 종속성 해상도(버전 정보)
하드웨어 스택 테스트된 프로젝트 아키텍처는 다음과 같습니다:
- USB 시리얼을 통한 GRBL 호환 3018 타입 CNC 컨트롤러
- mjpg_streamer를 통해 제공되는 USB 현미경
- 채널 4 안전 모니터링 및 채널 1 측정을 위한 LAN/SCPI 연결 Siglent 오실로스코프
- 외부 5V 전원 및 오실로스코프 채널 4에 연결된 광학식 엔드스톱
- 실험실 전원 제어를 위한 선택적 네트워크 제어 콘센트
- cad/ 폴더에 있는 현재 3D 프린팅 가능한 커스텀 툴헤드 부품
- 기본 런타임 설정은 장비 문서에 명시되어 있으며, 사용하기 전에 자체 실험실 환경에 맞게 변경해야 합니다. 쇼핑 목록 중심의 하드웨어 목록은 docs/BOM.md를 참조하십시오.
참고 부품 프로토타입 릴리즈에 사용된 특정 부품 또는 부품 클래스입니다. 구매 전에 현재 판매 여부, 치수, 전압 및 커넥터 호환성을 확인하십시오.
내 빌드 구성:
- 광학식 엔드스톱 (Optical End Stop)
- USB 현미경
- SainSmart Genmitsu 3018-PROVer V2
- Matter 스마트 전원 탭 (개별 제어 가능한 AC 콘센트 2개와 USB-A 2개, USB-C 2개 포함)
- Siglent SDS1104X-E 오실로스코프
- 듀폰트(Dupont) 와이어
- 펜 스프링 또는 유사한 경량 압축 스프링
- cad/ 폴더의 출력물을 출력할 3D 프린터
선택 사항 / 교체 가능:
- 범용 오실로스코프 프로브
- 5V USB 전원 어댑터, USB 2.0 피그테일(Pigtail) 케이블
하드웨어 아키텍처 흐름도 Operator(조작자) --> Dashboard(웹 대시보드) Dashboard --> Apps(파이썬 앱) Apps --> CNC(USB 시리얼을 통한 GRBL CNC) Apps --> Microscope(mjpg-streamer를 통한 USB 현미경) Apps --> Scope(LAN/SCPI를 통한 오실로스코프) Apps --> Outlet(선택적 LAN 전원 콘센트) Endstop(광학식 엔드스톱) --> ScopeC4(오실로스코프 CH4 안전 전압) Pogo(포고 핀 측정) --> ScopeC1(오실로스코프 CH1 측정) ScopeC4 --> Apps ScopeC1 --> Apps