julky demonstrated a USB->serial bridge for the Parallax RFID reader with the Bus Pirate.

The Parallax board reads passive RFID EM4100 type RFID tags, and outputs the tag ID as simple serial data at 2400bps. It’s the first inexpensive RFID reader to catch on with hobbyists.

Demo: is a weekly series that demonstrates devices with the Bus Pirate. Come back next Monday for another new demo.

Device: Parallax RFID reader
Bus: UART (asynchronous serial)
Power requirements: 5 volts
References: datasheet [PDF].

Pin Name Type Function
1 VCC Power System power, +5V DC input.
2 /ENABLE Input Module enable pin. Active LOW digital input. Bring this pin LOW to enable the RFID reader and activate the antenna.
3 SOUT Output Serial Out. TTL-level interface, 2400bps, 8 data bits, no parity, 1 stop bit.
4 GND Ground System ground. Connect to power supply’s ground (GND) terminal.

The reader is powered with the Bus Pirate’s on-board 5volt power supply. The serial output levels from the RFID reader will be 5volts, but that’s OK because the Bus Pirate pins are 5.5volt tolerant.

Bus Pirate setup

1. HiZ
2. 1-WIRE

10. LCD
(1) >3 <<< UART mode
Mode selected
Set serial port speed: (bps)
1. 300
2. 1200
3. 2400

9. 115200
10. 31250 (MIDI)
(1) >3<<< 2400bps
<<< 8N1, idle high (default settings)
Select output type:
1. Open drain (H=Hi-Z, L=GND)
2. Normal (H=3.3V, L=GND)
(1) >2 <<<normal output (doesn’t matter)

Put the Bus Pirate in serial UART mode (m). Setup the UART for the Parallax RFID reader serial output speed (2400bps, 8N1). It doesn’t matter if you choose normal or Hi-Z style outputs because we’re only using the input pin.


UART>W <<< power supplies on
UART>a <<< AUX low to activate the reader

First enable the power supply (W). Next take the AUX pin low (a), this enables the reader antenna.

UART>(2) <<< live UART monitor
Raw UART input. Space to exit.

julky used the live UART monitor to bridge raw data from the RFID reader to a computer over USB. Turn off the terminal, then start an RFID decoding application that reads from the Bus Pirate virtual serial port.

Remember that the Bus Pirate virtual serial port operates at 115200/8N1, even though the bridge to the  RFID reader runs at 2400bps. If your application opens the virtual serial port at 2400bps, the data will appear to be garbage. If you can’t force the application to open the port at 115200bps, you can reconfigure the Bus Pirate terminal interface for 2400bps with the baud rate configuration menu (b).

Taking it further

Check the Bus Pirate manual for a complete list of chip demonstrations. Requests or demo contributions are always appreciated.