
하드웨어 해커의 플라잉 프로브 자동화 스택: 에이전트 기반 대상 발견, 현미경 매핑, 안전 모니터링 CNC 모션, 프로브 검토 및 제어된 핀 프로빙.
AutoProber는 하드웨어 해커를 위한 플라잉 프로브 자동화 스택으로, 에이전트가 "새로운 타깃이 등장했다"라는 상황에서 개별 핀을 안전하게 프로빙하는 데 필요한 모든 것을 제공합니다.

데모 비디오: https://gainsec.com/autoprober-demo-mp4/




모든 하드웨어는 웹 대시보드, Python 스크립트 또는 에이전트 자체를 통해 제어할 수 있습니다.

이 리포지토리는 자체 포함된 소스 공개 릴리스 후보입니다. Python 제어 코드, 대시보드, CAD 파일 및 자체 AutoProber를 만드는 데 필요한 문서가 포함되어 있습니다.
이 프로젝트는 실제 하드웨어를 움직일 수 있습니다. 일반 웹 앱이 아닌 기계 제어 시스템으로 취급하십시오.
필수 안전 설계는 다음과 같습니다.
Pn:P는 무시됩니다. CNC 프로브 핀은 신뢰할 수 있는 엔드스탑이 아닙니다.하드웨어를 실행하기 전에 docs/safety.md 및 docs/operations.md를 읽으십시오.
apps/ 운영자용 스크립트 및 Flask 대시보드 진입점
autoprober/ CNC, 스코프, 현미경, 로깅, 안전을 위한 재사용 가능 Python 패키지
dashboard/ 단일 페이지 웹 대시보드
docs/ 아키텍처, 장치 참조, 운영 및 안전 지침
cad/ 현재 맞춤형 툴헤드용 출력 가능 STL 파일
config/ 예제 환경/구성 파일
AGENTS.md 에이전트/운영자 안전 규칙
LICENSE PolyForm Noncommercial 1.0.0 라이선스 및 상업적 연락처
pyproject.toml Python 프로젝트 메타데이터
uv.lock 잠긴 Python 종속성 해상도
테스트된 프로젝트 아키텍처는 다음을 사용합니다.
mjpg_streamer로 제공되는 USB 현미경cad/에 있는 현재 출력 가능한 맞춤형 툴헤드 부품기본 런타임 가정은 장치 문서에 설명되어 있습니다. 사용하기 전에 자신의 실험실 설정으로 교체하십시오.
쇼핑 지향 하드웨어 목록은 docs/BOM.md를 참조하십시오.
프로토타입 릴리스에 사용된 특정 부품 또는 부품 클래스입니다. 구매 전 현재 목록, 치수, 전압 및 커넥터 호환성을 확인하십시오.
내 빌드:
cad/에 있는 출력 가능한 툴헤드 부품용 3D 프린터선택 사항/대체 가능:
flowchart LR
Operator[운영자] --> Dashboard[웹 대시보드]
Dashboard --> Apps[Python 앱]
Apps --> CNC[GRBL CNC (USB 직렬)]
Apps --> Microscope[USB 현미경 (mjpg-streamer)]
Apps --> Scope[오실로스코프 (LAN / SCPI)]
Apps --> Outlet[선택적 LAN 전원 콘센트]
Endstop[광학 엔드스탑] --> ScopeC4[스코프 C4 안전 전압]
Pogo[포고 측정] --> ScopeC1[스코프 C1 측정]
ScopeC4 --> Apps
ScopeC1 --> Apps
flowchart TD
Preflight[사전 점검] --> SafetyCheck{채널 4가 클리어한가?}
SafetyCheck -- 아니오 --> Stop[STOP 상태]
SafetyCheck -- 예 --> Motion[모니터링된 이동]
Motion --> Monitor[EndstopMonitor 스레드 (>= 10 Hz)]
Monitor --> C4{C4가 클리어한가?}
C4 -- 예 --> Capture[현미경 캡처]
C4 -- 아니오 --> FeedHold[즉시 피드 홀드]
FeedHold --> Stop
Capture --> Stitch[스티치 / 맵]
Stitch --> Review[수동 프로브 검토]
Review --> Approved{승인된 타깃 및 측정된 프로브 오프셋?}
Approved -- 아니오 --> Stop
Approved -- 예 --> Probe[제한된 프로브 이동]
stateDiagram-v2
[*] --> Running
Running --> STOP: C4 트리거 / C4 오류 / CNC 알람 / 실제 리미트 핀
STOP --> Report: 전압, 상태, 작업 기록
Report --> WaitForOperator: 자동 복구 이동 없음
WaitForOperator --> Running: 운영자가 명시적으로 조건 해제
의존성 설치:
uv sync
구성된 하드웨어 호스트에서 대시보드 시작:
PYTHONPATH=. python3 apps/dashboard.py
대시보드 기본 포트는 5000입니다.
config/autoprober.example.env에서 시작하십시오. 실험실별 IP, 호스트 이름, 자격 증명, 캘리브레이션 파일 또는 캡처된 타깃 이미지를 공개하지 마십시오. (의도적으로 공개하려는 경우는 제외)
중요한 런타임 값은 구성 가능합니다.
AUTOPROBER_LOG_PATH: 런타임 로그 경로AUTOPROBER_RUNTIME_ROOT: 캘리브레이션, 플랫필드 및 런타임 상태 디렉터리AUTOPROBER_MICROSCOPE_SNAPSHOT_URL: 현미경 스냅샷 엔드포인트AUTOPROBER_SCOPE_HOST / AUTOPROBER_SCOPE_PORT: 오실로스코프 SCPI 엔드포인트5000실험실별 호스트, 경로 또는 타깃 데이터가 포함된 로컬 환경 파일을 커밋하지 마십시오.
이 릴리스 후보는 의도적으로 다음을 제외합니다.
.venv, __pycache__, Playwright 아티팩트자세한 내용은 RELEASE_MANIFEST.md를 참조하십시오.
이 프로젝트는 PolyForm Noncommercial License 1.0.0에 따라 소스 공개됩니다.
비상업적 목적으로 이 프로젝트를 사용, 수정 및 공유할 수 있습니다.
상업적 사용에는 별도의 유료 상업 라이선스가 필요합니다.
상업 라이선스 문의: [email protected]
이 프로젝트는 귀하가 테스트할 권한이 있는 장비 및 타깃에 대한 통제된 실험실 작업을 위한 것입니다. 허가 없이 시스템을 프로빙, 손상 또는 분석하는 데 사용하지 마십시오.