5v Pro Mini and RC 522 RFID

I got a 5v ProMini to which I want to connect several RFIDs. The Rfid module is 3.3v, and it says it's not 5v tolerant. What are my options?

Get a 3V3 regulator and drive it off the 5V supply.

Don't forget you will also have to convert your 5V outputs from the Arduino down to 3V3.

Or get a 3.3V Pro Mini. They're cheap.

The arduino will also have to power a 5v relay for a 12v solenoid, so if I buy a 3.3v one I will have to step that up. What about one of those bidirectional level converters, are those easier to use? Can I run 3 Rfid readers through that? Do all pins of the reader have to go through the converter; if so there may be too many pins to use it.

You can not use logic level converters to power a reader. You need to use a voltage regulator and capacitors to make a supply to drive the reader.

All the signals bar one between the readers and the Arduino can be in parallel. That is how the SPI bus works. Each reader needs its own enable pin but the rest are common.

You can simply use a potential divider circuit with 1K and 510R on the output pins from the Ardino to the reader. The inputs from the reader can be connected directly.

Allright voltage regulator + capacitators to go from 5v to 3.3. Which are the arduino output pins on the spi though?

Chole: The arduino will also have to power a 5v relay for a 12v solenoid.

The Arduino can drive a transistor that can operate the solenoid. No relay needed, unless you want electrical isolation. Leo..

So i am gonna use a 12v supply for the solenoid and the pro mini. Do I connect the power supply to the voltage regulator, bypassing the arduino? Can I use a LM317 regulator?

Wawa: The Arduino can drive a transistor that can operate the solenoid. No relay needed, unless you want electrical isolation. Leo..

I gotta a couple of them laying around doing nothing, to me they seem easier to use.

A relay also needs a transistor, a base resistor, and a flyback diode. Same as a solenoid. Unless you have a relay module with those parts already mounted on the circuit board. Leo..

Wawa:
A relay also needs a transistor, a base resistor, and a flyback diode. Same as a solenoid.
Unless you have a relay module with those parts already mounted on the circuit board.
Leo…

They are those 5v 1 or 2 channel module relay shields.

  1. From the spec I think Pro Mini can take 5-12v, you add a capacitor to VIN and power the pro mini from your 12v source. I am driving a Nano by directly connecting to a 12v source, it's running 24/7 without any issues. It suppose to drive by LM7809 but I removed because of heat it produced.

  2. RFID module, not sure about the current draw. If the current draw is more than Arduino can supply then a regulator is required to convert 12v to 3.3v to power the RFID module. Its better to use a switching regulator, it wont produce much heat.

  3. Use a Resistor Voltage divider to connect Arduino TX to RFID RXD. Check the link https://learn.sparkfun.com/tutorials/voltage-dividers

  4. Never power a relay module from Arduino, always use the external power. Arduino should only send the HIGH/LOW to the input pin of the relay module. You could also take the Wawa's approach of using a transistor to drive the solenoid. I feel it's better to use a Relay module as you are dealing with Inductive load here.

  5. If you are using a 12v relay module then you dont have to stepdown 12 to 5v to power the relay module.

sarouje: 3. Use a Resistor Voltage divider to connect Arduino TX to RFID RXD. Check the link https://learn.sparkfun.com/tutorials/voltage-dividers

This, while not being technically incorrect, is wrong. The RFID reader in question does not use serial to communicate, but SPI.

Chole: Which are the arduino output pins on the spi though?

All of them with the exception of the MISO pin.

Grumpy_Mike:
You can not use logic level converters to power a reader.
You need to use a voltage regulator and capacitors to make a supply to drive the reader.

Actually, that first sentence is not quite right!

This - common - level converter actually includes the voltage regulator!

And one RF-522 reader seems to work just fine from the 3V3 terminal on the Nano.

Paul, if you extend the words “logic level converter” to mean a specific logic level converter board that has added regulators then you are indeed technically correct.

Technically correct.png

I rest my case.

If I have given you "a bit of your own back", then I am satisfied. :grinning:

I used a voltage divider to get 3.3V from 5V of my ProMicro (compatible), but when I connect the 3.3V to the logical converter which joins arduino and RC522, the voltage on the pin drops to 1.2V, why?
Then I changed the divider to get 3.3V also when connected: the RC522 gets powered… but is not working anyway; if I power it from the 3.3V of another arduino, it works fine.

In a second instance, why can’t I use the logical converter also to power the RC522?

In a second instance, why can't I use the logical converter also to power the RC522?

Because logic level converters are high impedance and not designed to supply more than a few mA.

converter which joins arduino and RC522, the voltage on the pin drops to 1.2V, why?

You talk about a voltage converter and the a potential divider, is this the same thing? What resistors are you using 510R and 1K are the values I use.

This is old topic, but i hope it helps some people in future. Just to clarify things that are not clear:

  1. I'm making and selling readers based on RC522 and Pro-Mini, and they work in restaurants 3 years without even one returned for warranty.

  2. If you really must use Pro mini, but as the price per unit is not very high i suggest using Pro micro that is atmega 32u4 based and 3.3v already.

  3. You can use 5V pro-mini without problem, and you do not need voltage level converters or voltage level dividers for spi connection to RC522 !! read the spec of RC522 and atmega328 !

RC522 data lines are 5V tollerant, and also the data line signals from 3.3v logic are fine for 5V atmel to be accepted and properly recieved.

The only problem is powering the rc522... The data lines are 5v tolerant, but the VCC to power the rc522 should be 3.6V max (datasheet)

So you should use simple voltage regulator for converting the power delivered to the RC522, powering it from the regulator that is on board will cause resets due to the power hungry rc522, so get the power source from the RAW pin than use regulator for 3.3v output and that should power the rc522, and that's the only think you should do to connect RC522 to 5v arduino.

And one last thing... You can power the RC522 with 5V ;) on your own risk. It works for me, but the RC522 is a bit warm, might need some heat-sink. In my case none of the RC522 modules had no harm when i have used 5V to power, but this is not official advice. Do it on your own risk. The plus of that solution is that the reader module has got better range, and can easily power the VISA cards (that have got smaller antennas and not always are properly initiated when the module is in 3V) with mastercard no problems, they mostly work same way as standard tags.

Hope that helped.

And remember that programming the arduino pro-mini needs connecting 5 lines TX RX GND VCC and RST (rst should be connected to the RTS line of programmer, and there should be 0.1uF ceramic capacitor between (code 104) just like this arduino pro-mini RST ------||------RTS Progaming interface.

Some people are forgetting about it and have some headache when the first time can upload the sketch and second time not :)

Netoperz:
This is old topic, but i hope it helps some people in future.
Just to clarify things that are not clear:

  1. You can use 5V pro-mini without problem, and you do not need voltage level converters or voltage level dividers for spi connection to RC522 !! read the spec of RC522 and atmega328 !

RC522 data lines are 5V tollerant, and also the data line signals from 3.3v logic are fine for 5V atmel to be accepted and properly recieved.

Please can you cite the part of the spec that states the MFRC522 data lines are 5V tolerant? Because when I read the limiting values in Table 150 in the official MFRC522 spec at https://www.nxp.com/docs/en/data-sheet/MFRC522.pdf#G1001030350, I see:

VI, Input Voltage on all pins V: VSS - 0.5 < VI < VDD + 0.5.

Given VSS/VDD(max) = 4.0V, if you’re supply 5.0V on any pins, you’re outside the maximum…