The RFID only draws 38mA. Your problem isn't related to power. You could prove that if you had a second arduino. You could connect them both to the same power source but read the data from separate uC. Your problem is more than likely a conflict between your default serial port (pin-0) and your Softserial port , (pin-2) but I haven't figured out why yet. A more experienced programmer would probably spot it in 2 minutes.