| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
AutoProber is the hardware hacker's flying probe automation stack for giving your agent everything it needs to go from "there's a new target on the plate" to probing individual pins in a safe way.
Demo video: https://gainsec.com/autoprober-demo-mp4/
All hardware can be controlled through the web dashboard, Python scripts, or by the agent itself.
This repo is a self-contained source-available release candidate. It contains the Python control code, dashboard, CAD files, and documentation needed to create your own AutoProber.
This project can move physical hardware. Treat it as a machine-control system, not a normal web app.
The required safety design is:
Read docs/safety.md and docs/operations.md before running hardware.
apps/ Operator-facing scripts and Flask dashboard entrypoint
autoprober/ Reusable Python package for CNC, scope, microscope, logging, safety
dashboard/ Single-page web dashboard
docs/ Architecture, device references, operations, and safety guidance
cad/ Printable STL files for the current custom toolhead
config/ Example environment/configuration files
AGENTS.md Agent/operator safety rules
LICENSE PolyForm Noncommercial 1.0.0 license and commercial contact
pyproject.toml Python project metadata
uv.lock Locked Python dependency resolution
The tested project architecture uses:
Default runtime assumptions are documented in the device docs. Replace them with your own lab settings before use.
For a shopping-oriented hardware list, see docs/BOM.md.
These are the specific parts or part classes used for the prototype release. Verify current listings, dimensions, voltage, and connector compatibility before buying.
My build:
Optional / interchangeable:
flowchart LR
Operator[Operator] --> Dashboard[Web Dashboard]
Dashboard --> Apps[Python Apps]
Apps --> CNC[GRBL CNC over USB serial]
Apps --> Microscope[USB Microscope via mjpg-streamer]
Apps --> Scope[Oscilloscope over LAN / SCPI]
Apps --> Outlet[Optional LAN Power Outlet]
Endstop[Optical Endstop] --> ScopeC4[Scope C4 Safety Voltage]
Pogo[Pogo Measurement] --> ScopeC1[Scope C1 Measurement]
ScopeC4 --> Apps
ScopeC1 --> Apps
flowchart TD
Preflight[Preflight] --> SafetyCheck{Channel 4 clear?}
SafetyCheck -- no --> Stop[STOP State]
SafetyCheck -- yes --> Motion[Monitored Motion]
Motion --> Monitor[EndstopMonitor thread >= 10 Hz]
Monitor --> C4{C4 clear?}
C4 -- yes --> Capture[Microscope Capture]
C4 -- no --> FeedHold[Immediate feed hold]
FeedHold --> Stop
Capture --> Stitch[Stitch / Map]
Stitch --> Review[Manual Probe Review]
Review --> Approved{Approved target and measured probe offset?}
Approved -- no --> Stop
Approved -- yes --> Probe[Bounded probe motion]
stateDiagram-v2
[*] --> Running
Running --> STOP: C4 triggered / C4 fault / CNC alarm / real limit pin
STOP --> Report: log voltage, status, action
Report --> WaitForOperator: no automatic recovery motion
WaitForOperator --> Running: operator explicitly clears condition
Install dependencies:
uv syncStart the dashboard on a configured hardware host:
PYTHONPATH=. python3 apps/dashboard.pyThe dashboard defaults to port 5000.
Start from config/autoprober.example.env. Do not publish lab-specific IPs, hostnames, credentials, calibration files, or captured target images unless you intend to release them.
Important runtime values are configurable:
Do not commit local environment files that contain lab-specific hosts, paths, or target data.
This release candidate intentionally excludes:
See RELEASE_MANIFEST.md for details.
This project is source-available under the PolyForm Noncommercial License 1.0.0.
You may use, modify, and share this project for noncommercial purposes.
Commercial use requires a separate paid commercial license.
For commercial licensing, contact: autoprober@gainsecmail.com
This project is intended for controlled lab work on equipment and targets you are authorized to test. Do not use it to probe, damage, or analyze systems without permission.
| Back | FazBrowse Home | New Git URL |