mfrc522 RFID module level conversion voltage question (MRF-522)

These are available online all over the place. I bought several readers and some spare tokens, and it's working nicely. I did pay attention to hooking the "+3.3v" to 3.3 on the arduino, but I just now noticed I don't see any level conversion chip on this module to convert the miso/mosi/sck/ss pins ,and I have those pins wired directly to my uno. (there are a scattering of resistors on the module but they don't appear to be in series with those digital lines)

It's been in use for several hours and is still working fine , and I haven't appeared to have fried it. (yet) Is level conversion not a problem for this IC? I believe this is the data sheet: http://www.nxp.com/documents/data_sheet/MFRC522.pdf
This is the specific module I purchased: http://cgi.ebay.com/itm/310674271250

Your chip seems to be more tolerant than the datasheet specifies. There the maximum tolerable voltage on the interface pins is defined as Vcc + 0.5V which is slightly below 4V in your case. To be on the save side you should use level converters for MOSI, SCKL and SS.

(there are a scattering of resistors on the module but they don't appear to be in series with those digital lines)

That don't help much in most situations as it only limits the current but you still have a higher voltage on the pins.

I've done the math and also asked a local engineer about using resistors to drop levels, and as it was explained, as long as they have a clamping diode on the input, a 10k resistor should drop the current to well within safe levels, while providing enough signal to operate the port.

Whatever the case, I just tried to drop in five 10k resistors on the spi (and reset) lines, and the module stopped working. Removed the resistors and it's working again. shrug Either I bruised it and it needs 5v on the lines now, (I've done that a time or two in the past) or there's something on the module I'm not seeing. The module is marked "RFID-RC522"

(clearly I'm not the only one wiring it directly... http://i1.ytimg.com/vi/rC9k-dSmrQs/maxresdefault.jpg)

http://www.electrodragon.com/w/index.php?title=RFID_Card_Reader/Detector_Module

http://i01.i.aliimg.com/img/pb/653/894/593/593894653_779.jpg <-- most specific

I must be overlooking something. Everyone is wring it direct.

Whatever the case, I just tried to drop in five 10k resistors on the spi (and reset) lines, and the module stopped working. Removed the resistors and it's working again. shrug Either I bruised it and it needs 5v on the lines now, (I've done that a time or two in the past) or there's something on the module I'm not seeing. The module is marked "RFID-RC522"

A 10k resistor in series will not drop the voltage level directly but will act as a filter together with the input capacity at the operating frequency of 4MHz. Take a look at that signal in a scope and you'll see why it stopped working. Either use a correct level converter or leave it as it is (never touch a running system :slight_smile: ).

From what I've read, it's more of a voltage/current drop, and activates the ESD protection diode on the 3.3v sidel which has no problems clamping the voltage down to a safe level when pulled through a 10k or so resistor. (value suggestions vary between 10 and 47k). Several sources, including one here from arduino, suggest that the weak pull-ups on the arduino cpu can held in check by these protection diodes alone... as long as the slave has them of course. So the resistor may not even be necessary in many cases. That's looking to be the story here anyway.

Wish I could find the link, I ran into a long analysis someone did on this subject, and he did a very good job of considering the different hardware on both ends, and looked at a variety of different level-shifting strategies. He used a storage scope to monitor voltages, and kept an eye on current also. iirc, his tests indiated as long as a 10k resistor was in series, the current going through the protection diode was down in the microamps, well within safety limits. (he actually didn't address the weak pullups much though) I'll post that up here later if I run into it again, good reading.