How to access SPARKFUN SIMULTANEOUS RFID READER - M6E NANO other than UART

Hi,

I brought this module due to it has support for arduino rails.

but my UART line Tx and Rx is already occupied for some other functionality.

How I can get the RFID data other than this line?

SPI or I2C to access M6E NANO chip.

If I have to use UART only. I can use other Digital lines other than D0 and D1. is it possible to configure other digital input for UART data?

The Sparkfun driver supports the usage of SoftSerial to connect the RFID reader. Setting the switch to SW, pin 8 and 9 are used.

Hello manas.

This is a serial only board and you can not access it via I2C or SPI. On a lot of our boards we use pins D8 and D9 for software serial, but it looks like we’re using pins D2 and D3 on this board.

You can use a different pair of pins but you will need to change the line in your sketch that says:

SoftwareSerial softSerial(2, 3); //RX, TX

to a different pair of free pin and then disconnect pins 2 and 3 between the shield and Arduino and jumper shield pins 2 and 3 to your new set of pins. Pins D4-D8 are free as well as pins D11-D13 and pins A0-A5.

We recommend you test the shield with pins D2 and D3 intact, the switch in the SW-UART position and the original example code. If that’s working, then try reassigning the pins in Arduino and making your jumpers.

Hi,

I am okay to use the PIN 2 & 3 as I need PIN TX and RX for other purpose.

When I use your code without any changes on my Arduino UNO board.

I mean keeping

SoftwareSerial softSerial(2, 3); //RX, TX

Keep the switch at SW UART enable.

Still its not working. I get following logs if I enable the logs

sendCommand: [FF] [00] [03] [1D] [0C]

response: [FF] [14] [03] [00] [00] [14] [12] [08] [00] [30] [00] [00] [02] [20] [18] [07] [18] [01] [09] [00] [1B] [00] [00] [00] [00]

sendCommand: [FF] [04] [06] [00] [00] [96] [00] [E0] [41]

sendCommand: [FF] [00] [03] [1D] [0C]

response: [FF] [14] [03] [00] [00] [14] [12] [08] [00] [30] [00] [00] [02] [20] [18] [07] [18] [01] [09] [00] [1B] [00] [00] [00] [00]

sendCommand: [FF] [02] [93] [00] [05] [51] [7D]

response: [FF] [00] [93] [01] [01]

sendCommand: [FF] [02] [91] [01] [01] [70] [3B]

response: [FF] [00] [91] [01] [01]

sendCommand: [FF] [01] [97] [04] [4B] [B9]

response: [FF] [00] [97] [01] [01]

sendCommand: [FF] [02] [92] [05] [DC] [44] [85]

response: [FF] [00] [92] [01] [01]

Press a key to begin scanning for tags.

sendComman: [FF] [03] [9A] [01] [0C] [00] [A3] [5D]

response: [FF] [00] [9A] [01] [01]

sendCommand: [FF] [10] [2F] [00] [00] [01] [22] [00] [00] [05] [07] [22] [10] [00] [1B] [03] [E8] [01] [FF] [DD] [2B]

response: [FF] [00] [2F] [01] [01]

I’m not sure what logs you’re enabling? None of our arduino code generates logs.

What exactly is your setup and where are you enabling logs? What example sketch are you loading on the Arduino?

Hi,

I have called

nano.enableDebugging();

and I got the logs which I shared.

I am using Example1_Constant_Read …

The error code you get returned is TMR_ERROR_INVALID_OPCODE (0x0101). It does not seem to recognise the (valid) command that is being sent. The speed seems to be OK (given the response can be read) . However some command has to be sent twice and one command is not responded to. I think you have a hardware connection error to the board and something is interfering with the data that is being sent to the SRTR. How did you wire the board to the Arduino ? Is there any other hardware connected to the Arduino?

Currently I have not connected any other board along with SRTR and arduino.

when I connect the SRTR board FTDI Breakout with USB UART board.

and the run the Universal Reader Assistant SW at my PC.

I am able to read the EPC.

but when I run the arduino UNO + SRTR board I cant get any response at my Tera Term.

maybe a weak power supply. The Nano is very sensetive to that. Depending on the USB connection on your PC (USB 2 or USB 3.x) it provides enough power/current for the Nano to function. I assume you have connected the VCC to +5V. If you have an external power source (like Lipo battery) try to connect that to the seperate connector. All the trace shows is that it reads the version information from the Nano, which it gets, set a new speed and read the version info again, which it gets again. Than the Arduino is setting the GEN2 protocol, then that (and the rest) is getting a negative response. (01 01)

Hi,

I have try that also I have given external supply of power to my arduino UNO board.

find the snap of the same.

I am getting exactly same response.

I have had little to no success with an external power supply in the same way as you connected. On the Nano board, next to the serial connection, you will find an option to add a connector for 3.7V to 5v ( PLUS and MINUS clearly indicated). Using that THAT connection works for me . I normally use a loaded LIPO 2200maH, 3.7V battery, with JP1 still closed. That connection has an on-board rectifier, so it will/can only add power from that connection to the VCC from Arduino (it will not try to “charge” your battery).

Honestly, I am still not completly convinced this is your issue. The power sensetivity normally happened when started reading tags, not when setting the GEN2 protocol. Hence my first thought was hardware connection and interference with another board. What you COULD try as well is remove the Nano shield from the Uno and connect with loose wires. Set the switch on the Nano to HW UART. On the serial connection : GND to GND, VCC to +5V, NANO-TX to 2, NANO-RX to 3. Now try again. I expect it will not work. Then change SoftwareSerial softSerial(2, 3); //RX, TX to SoftwareSerial softSerial(8, 9); //RX, TX and NANO-TX to 8, NANO-RX to 9. Of course recompile and upload. I wonder what happens it is now using pin 8 and 9

Hi, I have try using 8 and 9 instead of 2 and 3.

I got following response …

sendCommand: [FF] [00] [03] [1D] [0C]

Time out 1: No response from module

sendCommand: [FF] [04] [06] [00] [00] [96] [00] [E0] [41]

sendCommand: [FF] [00] [03] [1D] [0C]

Time out 1: No response from module

Module failed to respond. Please check wiring.

As you suggested for connecting power differently I have to buy battery and connector.

Once that done i’ll update the status.

In your picture, I notice you have headers soldered to the edge of the board. Are those touching the USB connector on the Arduino? If they are, that will definitely cause you trouble.

Using pin 8 and 9 will only work if you have removed the board from the Arduino, switch to HW and connected with loose wires on the serial connector . Maybe switch TX and RX to pin 8 and 9. The log shows NO response from the Nano. BTW good point by TS-Chris, I have added by default isolation tape across the USB connector as some plug-on board connect to the USB housing