Recently I purchased a Simultaneous RFID reader setup including the UHF RFID Antenna, but I am experiencing terrible read ranges. With the antenna, I can read tags at about 6in away and without it the read range is less than an inch - and this is at full power. At lower power levels I can’t even read the tags even if they are touching the reader. I have set everything up according to the sparkfun guide, running it on an arduino uno with a deadicated power supply and using sparkfun’s UHF RFID stickers. Would anyone be able to provide and tips or help with this? I am usually pretty good with electronics, but I can’t figure out why this isn’t performing as it should.
Some thoughts :
Did you switch over de antenna solder blob?
Did you connect the dedicated power supply directly to the M6E Nano ?
What is power is the dedicated supply providing?
Do you install the M6E Nano directly on a Arduino Uno or on the FTDI connection?
Is the M6ENano getting hot?
Which antenna do you use?
Maybe some pictures…
I did switch to the antenna mode with the solder blob.
Right now I have the dedicated power supply connected to the arduino, not the M6E, but the header pins are providing the M6E Nano power.
The power supply is rated for 5V 12A. I have checked this voltage with a multimeter.
The M6E is mounted directly above the uno, see pictures.
The M6E does get warm, but never too hot to touch.
I am using the WRL-14131 antenna.
See pictures for the setup. I think its pretty simple, but I might be missing something.
I think the problem is related to the power connection to the UNO instead of directly on the M6e. When connecting to the UNO the power is regulated with an LDO NCP1117ST50T3G (or alike), which can handle 5V 1A. Also the Diode that is used can only have 1A, same as for the print-track.
To test: remove the M6E from the UNO, connect the 5V/12A directly to the separate battery connection on the M6ENano board, and connect wires between gnd /tx/rx M6E and UNO. Power the Uno and see what happens.
I tried that, see attached pictures, and everything seemed to power up properly but when I went to run it the arduino gave me a “Module failed to respond. Please check wiring.” message. Any ideas on what to try?
it is hard to see how you connected. Assuming you use a standard example, it will use
SoftwareSerial softSerial(2, 3); //RX, TX
So connect
M6E nano Uno power supply
RX D3
TX D2
GND GND
- -
+ +
Make sure to set the switch on M6E Nano to SW-UART
Ah I see. I mace the changes and made sure all my connections were correct now, but it still gave me the same error. Any other guesses?
check your wiring again… the “Module failed to respond. Please check wiring” error is what it is. No RFID session happened yet, this is caused by incorrect /missing basic connection.
is the power led on ?
Are the wire connections correct? share how you made them, where connected, make multiple pictures.
What Sketch do you use ?
Sorry if the pictures weren’t clear enough. I have included three different pictures. One is the configuration exactly how you told me, the second is flipping the TX/RX wires (just to try something) and the third is the board still powered by the power supply, but now hooked up to USB and using the Universal Reader Assistant. The first two configurations unfortunately gave me another error, and the third worked but still had poor performance. For the arduino, I was just using Example Sketch 1, Constant Read. Thank you once again for all the help.
if you have put the switch to SW-UART, the M6ENano will expect RX on D2 and TX on D3. You look to have connected to D0 and D1. In that case put the switch to HW-UART.
Wow, I’m so sorry for my misunderstanding here. I tried that configuration (see picture) and it gave me these error codes:
Sketch uses 6512 bytes (20%) of program storage space. Maximum is 32256 bytes.
Global variables use 642 bytes (31%) of dynamic memory, leaving 1406 bytes for local variables. Maximum is 2048 bytes.
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x4d
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x6f
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x64
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x75
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x6c
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x65
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x66
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x61
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x69
Failed uploading: uploading error: exit status 1
Picture: [/https://imgur.com/a/J4PjeRG]
D0 and D1 on an UNO are connected to USB. so you now interfere with the PC connection
Do the following:
Connect D2 from UNO with D2 from M6E
Connect D3 from Uno with D3 from M6E
Connect GND from UNO with GND from M6E
set the switch to SW-UART.
Connect the power supply
Use the default sketch.
Thank you so much for your help, that seemed to have worked. It is now giving me readings at least up to a few feet. However, when it place the tag on an object, say, a plastic container, it can only read it if it is a few inches away. why is this?
good progress
RFID works with back-scattering. In short, that means it is changing the signal, that was received, back by the M6E. The stronger the signal, the stronger the change(s) can be applied. Anything that impacts the strangeness of the receiving signal or reflection back has an impact. The background material, the antenna, the angle of the antenna, the quality/sensitivity of the tag, the RFID power, the whole environment etc. If your background is iron… very low chance of receiving a signal back.