Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.

Yes—an HID Prox credential can be integrated with an Arduino, but normally not by connecting the Arduino to the card’s 125 kHz radio signal. The practical path is HID Prox card → HID reader → Wiegand D0/D1 → Arduino. The reader handles RF communication; the Arduino listens for digital pulses, captures the complete frame, and then decodes it according to the reader’s configured card format.

Use only readers and credentials you own or are authorized to administer. HID Prox and Wiegand are legacy technologies, so this guide focuses on authorized, read-only bench integration—not credential cloning or access-control bypass.

What HID Prox is—and what it is not

HID Prox is a legacy low-frequency proximity credential technology generally operating at 125 kHz. ProxCard II, ProxKey, ISOProx, MicroProx and ProxPass are physical credential products that may use it. HID iCLASS, Seos, MIFARE, NFC and BLE are different technologies; an HID-branded card is not automatically compatible with every HID reader.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Wiegand is the wired reader-to-controller interface, not the card’s RF protocol. Many HID readers provide Wiegand D0 and D1 outputs, although some models use Clock-and-Data, RS-232, USB or another interface. Check the exact reader documentation, such as HID’s model-specific installation guide.

#1 Best Overall
SunFounder Reader Module Kit Mifare RC522 Reader Module with S50 White Card and Key Ring Compatible with Arduino Raspberry Pi
  • The RF IC Card module design the circuit of card read by using the original Philips MFRC522 chip
  • Easy to use, with pin header. The module can be directly loaded into the various reader molds.
  • Applicable for the user who need to design or manufacture the RF card terminal.
  • Module Interface: SPI, Data transfer rate: Maximum 10Mbit/s.
  • Power Voltage : 3.3V,Operating frequency: 13.56MHz.

A generic 125 kHz EM4100 reader is not necessarily an HID Prox reader. Likewise, common RC522 and many PN532 boards target 13.56 MHz NFC/MIFARE technologies and are not drop-in replacements for HID Prox.

Before wiring: verify the reader

  • Confirm that the model explicitly supports HID Prox credentials.
  • Confirm that it exposes Wiegand D0/D1, rather than only another interface.
  • Read the supply-voltage and current specifications. For example, HID EntryProx documentation lists 10–15 VDC and approximately 150 mA at 12 V for that product; a reader with such requirements must not be powered from an Arduino 5 V pin.
  • Determine the output electrical levels, pull-up arrangement, pulse timing and grounding requirements.
  • Find out which credential format the reader is configured to emit. “HID Prox” does not mean every card produces 26 bits.

Parts for a safe bench test

  • Arduino Uno or another board with suitable interrupt-capable GPIOs.
  • HID Prox-compatible reader and an authorized credential.
  • Regulated power supply matching the reader manual.
  • Multimeter; a logic analyzer or oscilloscope is useful for uncertain signals.
  • Level shifting, transistor buffering or optocoupling if the reader output is not directly safe for the Arduino input.
  • USB cable and Serial Monitor.

Wiegand wiring

Reader signal Uno connection Purpose
GND Arduino GND Common signal reference
D0 Digital pin 2 Falling pulse represents binary 0
D1 Digital pin 3 Falling pulse represents binary 1
Reader power Separate suitable supply Follow the model manual

Do not generalize wire colors: they differ by reader model. A 12 V D0/D1 signal must never be connected directly to an Arduino GPIO. Verify whether outputs are open-collector, whether external pull-ups are needed, and whether the selected board is 5 V tolerant. For ESP32 and other 3.3 V boards, use an appropriate level interface or isolation when required.

Capture raw Wiegand data first

The first firmware milestone should be a raw frame and bit count. This avoids incorrectly treating a 34-, 35- or 37-bit credential as 26-bit data.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
const byte D0_PIN = 2;
const byte D1_PIN = 3;
const uint32_t FRAME_TIMEOUT_US = 25000UL;

volatile uint32_t frame = 0;
volatile uint8_t bitCount = 0;
volatile uint32_t lastPulseMicros = 0;

void pulseD0() {
  if (bitCount < 32) { frame <<= 1; bitCount++; }
  lastPulseMicros = micros();
}

void pulseD1() {
  if (bitCount < 32) { frame = (frame << 1) | 1; bitCount++; }
  lastPulseMicros = micros();
}

void setup() {
  Serial.begin(115200);
  pinMode(D0_PIN, INPUT_PULLUP);
  pinMode(D1_PIN, INPUT_PULLUP);
  attachInterrupt(digitalPinToInterrupt(D0_PIN), pulseD0, FALLING);
  attachInterrupt(digitalPinToInterrupt(D1_PIN), pulseD1, FALLING);
  Serial.println(F("Waiting for Wiegand data..."));
}

void loop() {
  noInterrupts();
  byte count = bitCount;
  uint32_t value = frame;
  uint32_t last = lastPulseMicros;
  interrupts();

  if (count && (micros() - last > FRAME_TIMEOUT_US)) {
    noInterrupts();
    count = bitCount; value = frame;
    bitCount = 0; frame = 0;
    interrupts();
    Serial.print(F("Received ")); Serial.print(count); Serial.println(F(" bits"));
    Serial.print(F("Raw frame: 0x")); Serial.println(value, HEX);
  }
}

On an Uno, pins 2 and 3 are a convenient choice. On other boards, use digitalPinToInterrupt(pin) and verify the board’s interrupt and voltage rules.

Decoding a conventional 26-bit frame

A common 26-bit H10301-style layout is:

bit 1       leading parity
bits 2–9    8-bit facility code
bits 10–25  16-bit card number
bit 26      trailing parity

The usual ranges are facility code 0–255 and card number 0–65,535. Decode only after repeated captures show exactly 26 bits and the format is documented or otherwise confirmed.

Rank #2
HiLetgo PN532 NFC NXP RFID Module V3 Kit Near Field Communication Reader Module Kit I2C SPI HSU with S50 White Card Key Card for Arduino Raspberry Pi DIY Smart Phone Android Phone
  • Support NFC RFID reading and writing, P2P communication with peers
  • Support I2C, SPI and HSU (High Speed UART), easy to change among these modes
  • On-board level shifter, standard 5V TTL for I2C and UART, 3.3V TTL SPI
  • Arduino Raspberry Pi compatible, Small Size and easy to embed into your project
  • RFID reader/writer supports: Mifare 1k, 4k, Ultralight, and DesFire cards, ISO/IEC 14443-4 cards such as CD97BX, CD light, Desfire, P5CN072 (SMX), Innovision Jewel cards such as IRT5001 card, FeliCa cards such as RCS_860 and RCS_854
bool evenParity(uint32_t value, byte count) {
  byte ones = 0;
  for (byte i = 0; i < count; i++) ones += (value >> i) & 1;
  return (ones % 2) == 0;
}

void decode26(uint32_t value) {
  bool leading = (value >> 25) & 1;
  bool trailing = value & 1;
  uint32_t firstHalf = (value >> 17) & 0x1FF;
  uint32_t secondHalf = (value >> 1) & 0x1FFFF;

  bool leadingOK = (leading == (evenParity(firstHalf, 9) ? 0 : 1));
  bool trailingOK = (trailing == (evenParity(secondHalf, 17) ? 1 : 0));
  uint16_t facility = (value >> 17) & 0xFF;
  uint16_t card = (value >> 1) & 0xFFFF;

  Serial.print(F("Facility code: ")); Serial.println(facility);
  Serial.print(F("Card number: ")); Serial.println(card);
  Serial.print(F("Leading parity: ")); Serial.println(leadingOK ? F("OK") : F("FAIL"));
  Serial.print(F("Trailing parity: ")); Serial.println(trailingOK ? F("OK") : F("FAIL"));
}

Parity failures are valuable diagnostics: they can indicate noise, reversed or incorrectly interfaced signals, or a format that is not the assumed 26-bit layout.

Other formats and libraries

HID readers may emit 34-bit, 35-bit Corporate 1000, 37-bit, 40-bit or site-specific formats. A raw frame can be stable and valid while still having no universal facility/card-number interpretation. The number shown by an existing access-control system may also be converted, truncated, reordered or mapped to a different field.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Libraries such as Wiegand-NG and the Multi-Reader Wiegand library can simplify pulse capture and support variable lengths. They cannot infer an undocumented proprietary format. Capture and print the raw length and frame before applying library-specific field extraction.

Format-identification procedure

  1. Confirm the reader powers up and is configured for Wiegand.
  2. Present one authorized credential and record bit count and raw frame.
  3. Repeat it several times; the frame should remain stable.
  4. Test a second authorized credential, if available, and note which bits change.
  5. Obtain the card format from the issuer, administrator or reader configuration.
  6. Only then implement facility-code, card-number or other field extraction.

Troubleshooting by symptom

No data

Check D0/D1 orientation, common ground, reader power, pull-ups, voltage levels and interrupt-pin selection. The reader may be configured for Clock-and-Data, RS-232 or USB rather than Wiegand, or may not support the presented credential.

Unstable or incomplete counts

Look for floating inputs, long unshielded wires, supply noise and poor grounding. Use a logic analyzer to confirm clean pulses. Increase the frame timeout only after observing actual inter-bit timing.

Rank #3
AITRIP 1PCS PN532 NFC NXP RFID Module V3 Kit Near Field Communication Reader Module Kit I2C SPI HSU with S50 White Card Key Card Compatible with Arduino Raspberry Pi DIY Smart Phone Android Phone
  • RFID reader/writer supports: Mifare 1k, 4k, Ultralight, and DesFire cards, ISO/IEC 14443-4 cards such as CD97BX, CD light, Desfire, P5CN072 (SMX), Innovision Jewel cards such as IRT5001 card, FeliCa cards such as RCS_860 and RCS_854
  • On-board level shifter, standard 5V TTL for I2C and UART, 3.3V TTL SPI
  • Support NFC RFID reading and writing, P2P communication with peers
  • Support I2C, SPI and HSU (High Speed UART), easy to change among these modes
  • The nfc reader is Small Size and easy to embed into your project

Correct card, unexpected number

This is often normal. The access system may display only one field, convert the raw frame to decimal, use a proprietary format or apply a bit-order transformation. Compare the raw frame and configured format rather than assuming the reader is faulty.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Arduino resets

Reader current draw or supply noise may be pulling down the Arduino supply. Use a properly rated separate reader supply, connect grounds correctly, add suitable decoupling and never drive a lock or relay directly from a GPIO.

Uno works but ESP32 does not

Check that the reader’s pull-up voltage is safe for 3.3 V GPIOs, add level shifting or isolation, and avoid ESP32 pins reserved for boot or flash functions.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

When another reader is a better choice

Reuse an HID Prox Wiegand reader when existing authorized credentials must remain usable. For a new design, an Arduino-compatible 13.56 MHz NFC module—such as Arduino’s reader with I²C, SPI and UART interfaces—may be simpler if you can issue new compatible tags. It cannot read HID Prox cards merely because both products are called RFID.

A commercial USB reader from vendors such as rf IDEAS is more suitable when the host is a PC and keyboard or serial behavior is preferred. For a security-sensitive new installation, evaluate modern authenticated credentials and reader-controller protocols with a qualified access-control professional. HID’s own legacy-technology guidance explains why Prox and unprotected Wiegand should not be treated as modern high-security systems.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
hiBCTR 3-Pack PN532 NFC RFID Reader Writer Module V3 Kit
  • FLEXIBLE COMMUNICATION PROTOCOLS: Seamlessly switch between I2C, SPI, and HSU (High Speed UART) communication modes using the convenient onboard DIP switches. This V3 module offers maximum flexibility to integrate into a wide range of embedded systems and microcontroller projects.
  • WIDE COMPATIBILITY & ON-BOARD LEVEL SHIFTER: Designed for hobbyists and professionals alike, this module is fully compatible with popular development platforms like Arduino and Raspberry Pi. It features an on-board level shifter, supporting 5V TTL for I2C and UART interfaces and 3.3V TTL for SPI, ensuring broad, reliable connectivity.
  • GET STARTED IMMEDIATELY: This comprehensive kit includes everything you need to begin testing and development right out of the box. The package contains the PN532 V3 module, one S50 standard white card, and one S50 key fob, allowing you to verify functionality and start prototyping your application without delay.
  • EXTENSIVE RFID/NFC CARD SUPPORT: This powerful reader/writer supports a vast array of 13.56MHz tags and cards. Compatibility includes Mifare 1k, 4k, Ultralight, and DesFire cards, as well as ISO/IEC 14443-4 cards such as CD97BX, CD light, Desfire, P5CN072 (SMX), Innovision Jewel cards like the IRT5001, and FeliCa cards like the RCS860 and RCS854.
  • PEER-TO-PEER COMMUNICATION & SUPPORT: Enable direct P2P communication between the module and other NFC-enabled devices, such as Android smartphones, for versatile data exchange applications. We provide comprehensive after-sales support: complete digital documentation including user guides and technical references is available through our store customer service, and our support team is ready to assist with installation, programming, and troubleshooting to help you get started quickly.

Frequently Asked Questions

Can an RC522 read an HID Prox card?

Usually no. RC522 modules generally target 13.56 MHz NFC/MIFARE technologies, while HID Prox is a different 125 kHz credential technology.

Is every HID Prox card 26-bit?

No. 26-bit is common, but readers can output many other standard or proprietary bit lengths. Capture the raw frame and confirm the configured format first.

Can I power an HID reader from Arduino 5 V?

Not unless the exact reader specification explicitly permits it. Many full-size HID readers require a higher-voltage supply and substantially more current than an Arduino pin or 5 V rail should provide.

The Bottom Line

For an existing HID Prox installation, connect the reader’s correctly interfaced Wiegand D0/D1 outputs to Arduino interrupt inputs, capture raw frames, and decode only the documented format. For a new project, choose the credential technology first; do not assume that any product labeled “RFID” can read HID Prox.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Quick Recap

Bestseller No. 1
SunFounder Reader Module Kit Mifare RC522 Reader Module with S50 White Card and Key Ring Compatible with Arduino Raspberry Pi
SunFounder Reader Module Kit Mifare RC522 Reader Module with S50 White Card and Key Ring Compatible with Arduino Raspberry Pi
Applicable for the user who need to design or manufacture the RF card terminal.; Module Interface: SPI, Data transfer rate: Maximum 10Mbit/s.
$8.99
Bestseller No. 2
HiLetgo PN532 NFC NXP RFID Module V3 Kit Near Field Communication Reader Module Kit I2C SPI HSU with S50 White Card Key Card for Arduino Raspberry Pi DIY Smart Phone Android Phone
HiLetgo PN532 NFC NXP RFID Module V3 Kit Near Field Communication Reader Module Kit I2C SPI HSU with S50 White Card Key Card for Arduino Raspberry Pi DIY Smart Phone Android Phone
Support NFC RFID reading and writing, P2P communication with peers; Support I2C, SPI and HSU (High Speed UART), easy to change among these modes
$8.99
Bestseller No. 3
AITRIP 1PCS PN532 NFC NXP RFID Module V3 Kit Near Field Communication Reader Module Kit I2C SPI HSU with S50 White Card Key Card Compatible with Arduino Raspberry Pi DIY Smart Phone Android Phone
AITRIP 1PCS PN532 NFC NXP RFID Module V3 Kit Near Field Communication Reader Module Kit I2C SPI HSU with S50 White Card Key Card Compatible with Arduino Raspberry Pi DIY Smart Phone Android Phone
On-board level shifter, standard 5V TTL for I2C and UART, 3.3V TTL SPI; Support NFC RFID reading and writing, P2P communication with peers
$7.99

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.