Hello
I want to connect an arduino Uno R3 with a gps module. The gps module is the NEO-8M GPS Module APM2.56 NEO-M8N-001. I came across a page in github that says that even if the module states that it can work under 3.3 to 5 volts you must use only the 3.3 voltage output in arduino. It also states that the gps transmitter pin output voltage is below 5V and arduino expects input 5V. So my first question is, where can i find the output voltage of each pin of the module since the datasheet doesn't mention it. Also why is this so important? Will i lose data?
My second question refers to the protocol of the transmission. In the datasheet of the NEO-M8 states that it supports SPI protocol but i cant see the 4 SPI pins on the module. Why?
EDIT: actually it states that the output voltage is VCC-0.4 which means 3.3- 0.4 = 2.9 V . but still i dont understand what is the problem with the arduino expecting 5 V
It also states that the GPS transmitter pin output voltage is below 5V and Arduino expects input 5V.
If it is 3V3 for the serial Tx it will be fine. I don't know the minimum voltage the Ardunio accepts as logic 1, but it's significantly lower than 3V3.
My second question refers to the protocol of the transmission. In the datasheet of the NEO-M8 states that it supports SPI protocol but i cant see any MOSI MISO pins on the module. Why?
Probably because the module does but it's not broken out on that board. You'd have to ask the manufacturer of the board why they decided not to bring out the SPI pins.
If we refer to "module" being the large NEO-M8 component on the pcb, then it does have SPI pins, but SPI is not default. All I/O has pull-ups and pin 2 is used to enable SPI. My guess is that this PCB is using the minimal design circuit (as referred to by PerryBebbington). If so, then you'll need to connect pin 2 to GND, then RX/TX and several other pins on the "module" would be your SPI signals. I would do a bit more research ... perhaps somewhere else they've already used it this way. Good luck with your project.