For the complete documentation index, see llms.txt. This page is also available as Markdown.

Connection and Platform Setup

Use USB for the first connection. Select Mode 0, connect a USB data cable, and identify the serial port.

Choose a Client

Use a client built from the same source revision as the installed firmware whenever possible. A client / firmware mismatch can cause missing commands or communication errors.

Platform
Setup route

Windows

Matching prebuilt client or an RRG client built with ProxSpace

Linux / macOS

Matching client package or a source build

Android

Compatible client in Termux; USB serial bridge or Bluetooth SPP bridge where needed

See the Windows guide, Linux/macOS guide, and Android guide for platform-specific material. Older GUI and Android packages may require older firmware; do not treat their bundled client as universally compatible.

USB Connection

List ports before and after connecting:

# Linux
ls /dev/ttyACM* /dev/ttyUSB* 2>/dev/null

# macOS
ls /dev/cu.*

For a source build, run from the repository root:

./pm3 /dev/ttyACM0

Replace the device path. On Windows, open the matching client with its actual COM port; for a modern client executable:

At the Proxmark3 prompt, check:

Then test one supported tag with hf search or lf search.

Bluetooth

Select Mode 1. The documented Bluetooth name is Proxmark3 X, using Classic SPP with pairing code 1234. This is a Classic serial connection, not BLE.

On Android, pair in system settings and configure a bidirectional Classic Bluetooth-to-TCP bridge if the client requires one. USB can likewise use a serial-to-UDP bridge. Use the transport syntax supported by the installed client and bridge; avoid assuming the USB port name is a network endpoint.

Return to Mode 0 for firmware updates and connection troubleshooting. Close other programs that own the serial port.