Logic level M7E Hecto

Forgive me if I an being a bit dense, but I’m a bit confused when reading the guide for the M7E and connecting it to an Arduino.

It say here to connect VIN on the reader to 5V on the Arduino (RedBoard): Basic Assembly - SparkFun Simultaneous RFID Reader - M7E Hookup Guide

In the troubleshooting part it mentions the logic level operating at 3,3V. Can somebody explain what the difference is, and more importantly it its anything I should pay attention to when using an Arduino Mega or R3?

Thanks!

The 5V is needed to have voltage regulator that is inside the M7E work correctly. The voltage regulator is producing the 3v3 that is used for everything else on the board. The datasheet is clear about the data lines: " UART; 3.3V logic levels 9.6 to 921.6 kbps" and Four 3.3V bidirectional ports configurable as input (sensor) ports or output (indicator) ports

To make sure what you should do is reduce the level on an ArduinoMega / R3 TX ouput to the M7E RX-input from 5V to 3V. This can be done with a voltage divider or a level shifter. The M7E RX-output to the ArduinoMega/R3 is 3v3 is I expect that to work, else you need to include a level shifter to make it 5V for the Arduino. You could try without changing the levels, and it “might” work, not sure for how long, but you at on-your-own risk.

There are a number of differences between the former M6E-board and the M7E-board and library, which I have documented. See attached
diff_M6e-M7E.pdf (133.7 KB)

2 Likes

Great thanks - so to be sure I better use a level shifter between the module and the Arduino :sweat_smile:

And thanks for the document, I actually found that in a reply from you on another topic, that’s definitely handy to have!

I’m a little unsure how to connect a level shifter correctly between the Mega (running 5v) and the M7E board. As far as I understand the level shifter needs the low volt on one side.

I have this level shifter:

Where do I get the 3,3 volt for the low side? Is that the VO pin? Even if the board is powered by 5 volt?

you push 5v (from mega 5v pin) to the HV pin on your board there, 3.3v should be output from the M7E to LV pin (after you connect GNDs, of course)

Then you send RX/TX from high side (mega) to low side (M7E) on either chan1 or chan2’s pins

So where does the wire go from the LV on the level shifter to the M7E? Which pin?

The M7E is powered by an external power source of 5v (common ground), right?

Next to connecting the mega 5V to the level shifter as advised, you also the 5V directly on the M7E-VIN. The M7E will then generate a 3v3 which is used on the board and also available on the VO (voltage Out) pin. Connect that VO to the LV on the level shifter. (As alternative instead you could also use the 3v3 from the Mega for the LV)

Indeed also make sure to connect the GND connections of course :slight_smile:

1 Like

Great thanks for the clarification :grinning:

So the VO pin on the M7E is outputting 3,3v even if it is supplied by 5v on VIN?

I’ve learned the hard way when using a sin module that lack of commonsground it the root of many - if not all -super weird behaviours when messing with stuff :sweat_smile: