惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
S
SegmentFault 最新的问题
V
Visual Studio Blog
人人都是产品经理
人人都是产品经理
阮一峰的网络日志
阮一峰的网络日志
腾讯CDC
Stack Overflow Blog
Stack Overflow Blog
博客园 - 【当耐特】
Recent Announcements
Recent Announcements
I
InfoQ
U
Unit 42
博客园_首页
GbyAI
GbyAI
Hugging Face - Blog
Hugging Face - Blog
罗磊的独立博客
博客园 - 叶小钗
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
D
DataBreaches.Net
aimingoo的专栏
aimingoo的专栏
月光博客
月光博客
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 聂微东
T
Tailwind CSS Blog
量子位

Hacker News - Newest: "AI"

AI can't read an investor deck AI as an attorney? Student uses ChatGPT, Gemini to sue UW over alleged racial discrimination Hacking MCP Servers in AI Systems – The Rug Pull: Tool Changes After Approval GitHub - MeepCastana/KubeezCut: Free Web based video editor Can AI judge journalism? A Thiel-backed startup says yes, even if it risks chilling whistleblowers Coming soon: 10 Things That Matter in AI Right Now DARPA built an AI to fact-check enemy weapons claims What explains heterogeneity in AI adoption? When AI Meets Muscle: Context-Aware Electrical Stimulation Promises a New Way to Guide Human Movements - Department of Computer Science AI Changed How We Build. It Did Not Change What Matters. Linux rules on using AI-generated code - Copilot is OK, but humans must take 'full responsibility for the… Meta spins up AI version of Mark Zuckerberg to engage with employees Code Mode: Let Your AI Write Programs, Not Just Call Tools | TanStack Blog GitHub - Delavalom/graft: Go framework for building AI agents. Type-safe tools, multi-provider (OpenAI, Anthropic, Gemini, Bedrock), zero vendor SDKs. India's TCS tops estimates, says new AI models did not dent services demand Gen Z's fading AI hype Strong feeling: we are in a folded AI reality GitHub - machinarii/total-recall-catalog: A reference catalog of latest knowledge retrieval, memory & RAG systems GitHub - mensfeld/code-on-incus: Give each AI agent its own isolated machine with root, Docker, and systemd. Active defense detects and stops threats automatically.. Quantization, LoRA, and the 8% Problem: Benchmarking Local LLMs for Production AI Iran war: We spoke to the man making Lego-style AI videos that experts say are powerful propaganda Powell, Bessent discussed Anthropic's Mythos AI cyber threat with major U.S. banks GitHub - immartian/bellamem: Persistent belief-graph memory for AI agents. Retrieves decisive context by importance — not recency, not RAG, not /compact. recursive-mode: The Repo-Native Operating System for AI Engineering After the attack on Sam Altman's home, will AI CEO's go on the offensive? The biggest advance in AI since the LLM Opus 4.6 vs GPT 5.4 One Prompt Unity World Generation Test “AI polls” are fake polls Client Challenge Can AI be a 'child of God'? Inside Anthropic's meeting with Christian leaders
GitHub - GainSec/AutoProber: Hardware hacker’s flying pro...
scaredpelica · 2026-04-17 · via Hacker News - Newest: "AI"

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.

AutoProber assembly

Demo video: https://gainsec.com/autoprober-demo-mp4/

Flow

  1. Tell the agent to ingest the project.
  2. Connect all the hardware.
  3. Tell the agent to confirm that all parts are functioning.

Top of the AutoProber web dashboard

  1. Have it run homing and then calibration.
  2. Attach the custom probe and microscope header.
  3. Tell the agent that there is a new target on the plate.
  4. It will find where the target is on the plate, then take individual frames, keeping a record of the XYZ while noting pads, pins, chips, and other interesting features.

Detected labels and target features

  1. It will stitch the frames together and annotate the map, including pins and interesting components it identified.

Annotated map view

  1. It will add probe targets to the web dashboard for you to approve or deny.

Probe review dashboard section

  1. It will probe the approved targets and report back.

All hardware can be controlled through the web dashboard, Python scripts, or by the agent itself.

Manual controls and hardware panels

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.

Safety Model

This project can move physical hardware. Treat it as a machine-control system, not a normal web app.

The required safety design is:

  • GRBL Pn:P is ignored. The CNC probe pin is not a trusted endstop.
  • The independent safety endstop is read from oscilloscope Channel 4.
  • Channel 4 must be continuously monitored during any motion.
  • Any Channel 4 trigger, ambiguous voltage, CNC alarm, or real X/Y/Z limit pin is a stop condition.
  • The agent/operator must stop and report. Recovery motion is not automatic.

Read docs/safety.md and docs/operations.md before running hardware.

Repository Layout

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

Hardware Stack

The tested project architecture uses:

  • GRBL-compatible 3018-style CNC controller over USB serial
  • USB microscope served by mjpg_streamer
  • Siglent oscilloscope over LAN/SCPI for Channel 4 safety monitoring and Channel 1 measurement
  • Optical endstop wired to an external 5V supply and oscilloscope Channel 4
  • Optional network-controlled outlet for lab power control
  • Current printable custom toolhead parts in cad/

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.

Reference Parts

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:

Hardware Architecture

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
Loading

Runtime Architecture

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]
Loading

STOP State

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
Loading

Quick Start

Install dependencies:

Start the dashboard on a configured hardware host:

PYTHONPATH=. python3 apps/dashboard.py

The dashboard defaults to port 5000.

Configuration

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:

  • AUTOPROBER_LOG_PATH: runtime log path
  • AUTOPROBER_RUNTIME_ROOT: calibration, flat-field, and runtime state directory
  • AUTOPROBER_MICROSCOPE_SNAPSHOT_URL: microscope snapshot endpoint
  • AUTOPROBER_SCOPE_HOST / AUTOPROBER_SCOPE_PORT: oscilloscope SCPI endpoint
  • Dashboard: Flask on port 5000

Do not commit local environment files that contain lab-specific hosts, paths, or target data.

Main Workflows

  1. Run preflight checks.
  2. Verify Channel 4 is clear.
  3. Home and calibrate only when the physical setup is ready.
  4. Capture microscope frames with monitored motion.
  5. Import or generate target map artifacts for review.
  6. Approve probe candidates manually.
  7. Execute any probe motion only after microscope-to-probe offset is measured and stored.

What Is Excluded

This release candidate intentionally excludes:

  • Trial microscope captures and stitched target images
  • Uploaded reference images
  • Local backups and archives
  • .venv, __pycache__, Playwright artifacts
  • Runtime logs, calibration cache, flat-field images
  • Machine-specific SSH/deploy state

See RELEASE_MANIFEST.md for details.

License

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

Current Limitations

  • The microscope-to-pogo XY offset must be measured before real probing.
  • Calibration must not be fabricated; the runtime calibration file should be generated on the machine that will move.
  • The dashboard is a lab-control tool and should not be exposed to untrusted networks.

Responsible Use

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.

Authors

Jon 'GainSec' Gaines