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?
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" andFour 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)
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.
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
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