RDM6300 with Nano 33 IOT

I'd like to use an RDM6300 RFID sensor with my new Nano IOT. I understand the sensor runs on 5v, and the Nano on 3.3 of course. But I also read that the serial output from the sensor is 3.3v and can be used without resistors to lower the voltage. Is this true?

Can I just use this sensor as is, or do I need some resistors or another method between the sensor output and the Nano?

I assume I can still route power through the Nano if I connect the 5v jumper?

Could you please post a link to the datasheet from the manufacturers web page for non-Arduino components? This helps people to help you and shows you did some research yourself. :slight_smile:

There are a few additional tips in the "How to post ..." at the beginning of each sub forum.

Thanks, and good tip. I somehow missed that (though I looked at the list of how.to, but like most people, only 50%) :slight_smile:

This is the device I have: https://www.amazon.co.uk/DollaTek-RDM6300-125Khz-Control-Arduino/dp/B07DK78757

I can't seem to find a manufacturer info on it specifically for Dollatek, but maybe this is enough (says it's for RDM6300): https://elty.pl/upload/download/RFID/RDM630-Spec.pdf

The spec sheet does not say anything about 3.3V compatibility.

Looking at the picture on the Amazon page, there are multiple components on the board. Can you identify them? The PCB traces seem to be easy to follow. Try to figure out the how to board works or find a schematic. Maybe the 5V get regulated down on the board and it works on 3.3V.

Additionally I would measure the signals before I would connect the Arduino to the board without a level shifter.

I connected 5v to the board and tested the V coming out of the TX pin. That was between 3.0 and 3.2.

Does that answer my question enough?

I looked at some chips, these were the only ones I could make out: https://www.ti.com/store/ti/en/p/product/?p=LM358M/NOPB

AMS1117 datasheet - 800mA Low Dropout Voltage Regulator (seems to have a picture of the RDM6300 on the page too.

reinhardts:
I connected 5v to the board and tested the V coming out of the TX pin. That was between 3.0 and 3.2.

Its a good sign. How did you measure the voltage? With a multi-meter you get averaging which can show you a lower voltage than the peak voltage.

Can you identify the markings on the AM1117? Its a voltage regulator. Unfortunately there are multiple variants. But the markings should be an indication of the output voltage e.g. 3.3 or 5.0
Can you measure the voltage on the pins? When the single wide one is on top. The pins should be from left to right.

1-Ground
2-Vout
3-Vin

Klaus_K:
How did you measure the voltage? With a multi-meter you get averaging which can show you a lower voltage than the peak voltage.

I measured the voltage between GND and the TX pin, simply had the multimeter on 20V DC to test.

Klaus_K:
Can you identify the markings on the AM1117? Its a voltage regulator. Unfortunately there are multiple variants. But the markings should be an indication of the output voltage e.g. 3.3 or 5.0

I will measure the pins themselves a bit later, but it seems to be 3.3 since the extra markings are 3.3 DN19.

Does this help?

As I suspected the voltage is regulated to 3.3V to power the microcontroller and the operational amplifier. The serial signal is created by the microcontroller and connected directly to the board’s pins and therefore the signal high level is 3.3V.

Be careful the 5V is likely directly routed through the board. So, only connect TX, RX and GND to your Nano 33 IoT.

Because I have not seen an original schematic of your board and there are different variants of this board available and I have not had this board in my lab there is a tiny chance I missed something. I think you will be OK, but it is your board and your decision. :slight_smile:

So seems I have not blown up my board, which is a good thing! thanks for the help Klaus!

But... Unfortunately I am getting no readings from the RFID scanner. I think my question is probably not specific to the sensor, but more about reading the serial, but not sure. I am pretty certain my wiring is right (including grounding), but I get nothing in the Serial Monitor when I pass a tag near the sensor.

This is my code (obviously for testing only), anyone have a moment to have a look?

int incomingByte = 0; // for incoming serial data

void setup() {
  Serial.begin(9600); // opens serial port, sets data rate to 9600 bps

}

void loop() {
  // send data only when you receive data:
  if (Serial.available() > 0) {
    // read the incoming byte:
    incomingByte = Serial.read();

    // say what you got:
    Serial.print("I received: ");
    Serial.println(incomingByte, DEC);
  }
  else {
    Serial.println("No data...");
    incomingByte = Serial.read();
    Serial.println(incomingByte);
  }
}

You need to use Serial1 for the RFID scanner. Serial is the virtual serial connection trough USB to your PC.

So basically I change all the Serial instances to Serial1, except the print, correct?

That unfortunately didn't work. Changing the print to Serial1 also doesn't work, since then I see nothing in the serial monitor.

Please post your new test code.

  • Make sure you initialize both serials.
  • if you read from Serial1 and then send the character to Serial you should see the data from the board in real time unless there is something wrong with the serial settings

How did you connect your boards? Simple hand drawn picture taken with your phone is good enough.

Found it, got it working! Though it’s a bit slow, but I’ll tackle that.

Problem was that I was wiring it according to the TTL interface, and not the Weigand one. No idea what the difference is, but changing the pin made it work.

And yes, initialising both serials is something I figured out too. Thanks a lot Klaus! I’m going to draw up a short schematic and post my code for future tinkerers that need to figure it out.