Help with animal (FDX-B) RFID reader

Hi!

Happy New Year! I was wondering if someone might be able to help me since I'm very new with electronics and C++. I am trying to build an automated animal RFID reader using a Photon 2 and an RFIDRW-E-TTL module (Priority1Design). The ultimate goal is to use the Photon 2 to publish reads which are then collected via webhook. That setup is already done and functional, as a previous (long gone) team member set it up a few years ago using Photon microcontrollers and the same reader module. I'm trying to update the system to the Photon 2 to make more automated readers and I'm currently having trouble making the connection between the Photon 2 UART pins and RFID reader module's UART pins. I currently have the reader's TX pin connected to the Photon 2's RX pin. But I'm unable to get reads transferred from the reader to the microcontroller. I know the module is reading because the reader's LED changes color when the transponder is within reading range, but nothing seems to get transferred to the microcontroller. I wrote a quick app to test it, but I can't even get the Serial1 to receive more than 0 bits.

// Include Particle Device OS APIs
#include "Particle.h"

// Let Device OS manage the connection to the Particle Cloud
SYSTEM_MODE(AUTOMATIC);

// Define the serial ports
#define RFID_SERIAL Serial1
#define OUTPUT_SERIAL Serial

void setup() {
    // Start the serial communication for RFID reader and output
    RFID_SERIAL.begin(9600); // Assuming RFID reader baud rate is 9600
    OUTPUT_SERIAL.begin(9600); // Baud rate for the output serial
}

void loop() {
    // Check if data is available from the RFID reader
        OUTPUT_SERIAL.println( RFID_SERIAL.available() );
        delay(500);
}

Do you have any advice on what could be going on? Does it matter which set of UART pins in the Photon 2 I use?

Thanks in advance for any help you can provide!

Are you using J2, the 3.3V logic output? The Photon 1 was 5V tolerant but the Photon 2 is not. If you connected to J1, you may have damaged the Photon 2 serial port input pin.

Hi, thank you, I've been using J2 the entire time.

You also connected the system ground on J2 to GND on the Photon 2, correct?

If so, it's not clear why it's not working. It should be crossed TX to RX, and the code looks like it should be printing something other than 0 if there's data available. The default mode is 8N1 so that looks right.

Ah it works now! I see my mistake now.

I didn't have the system ground on J2 connected to GND on photon 2. I had the RFID reader module connected to a separate power source (because it requires 5.5–12V) and I was concerned it could damage the Photon 2.

Thank you!