Skip to content
Rohith Varma Vegesna
  • Home
  • Work
  • Publications
  • Press
  • About
  • Experience
  • Skills
  • Contact
  • Forecourt payment & IoT platform
  • PXE imaging station for payment hardware
  • SevenlyTravel
  • Fleet observability & silent-device detection
  • GitHub
  • LinkedIn
  • Scholar
  • Copy email address
  • Run a transaction

↑↓ move · ↵ jump · esc close

Hardware automation · side project turned tool

PXE imaging station for payment hardware

A network-boot provisioning rig that turns hand-imaging payment hardware into a plug-in-and-walk-away process, with custom USB-HID devices standing in for human hands.

PXE / TFTP / DHCP · Linux · Python · Custom USB-HID firmware · Shell

POWER ONNETWORK BOOTSET UPREADY

Probe a stage — hover or Tab.

Fig. 1 — Plug in, walk away.

Problem

Payment and kiosk hardware arrives from the vendor generic. Before it can touch a store, each unit needs an OS image, device-specific configuration, and validation — historically a technician with a USB stick, a checklist, and an afternoon.

Manual imaging doesn't scale to fleet refreshes, and every human step is a chance for a unit to reach a site subtly wrong.

Constraints

  • Target devices are sealed appliances: no spare ports for automation, sometimes no keyboard at all.
  • The rig has to be operable by non-engineers — success and failure must be legible at a glance.
  • Images change; the station has to pick the right one from the device's own identity, not an operator's memory.

Architecture

A bench-top station runs the full network-boot chain — DHCP, TFTP, PXE — so a factory-fresh device plugged into the bench boots straight into an imaging environment with no human input. Image selection keys off hardware identity broadcast during boot.

Where devices expect a human at a keyboard, custom USB-HID devices emulate one: purpose-built firmware plays back exact input sequences, turning 'press F12, choose network boot, confirm' into part of the automated chain.

A validation pass runs after imaging and reports pass/fail per unit, so what leaves the bench is known-good, not assumed-good.

Outcome

  • Provisioning a unit went from a technician-hours task to plug in, wait, unplug.
  • Every imaged unit passes an identical validation gate before deployment.