I’m looking to integrate a Reach M+ as an Integrated Navigation System (INS) for attitude and position determination of a boat at sea. I am using a Raspberry Pi 3 as a ‘data logger’ or central computer.
The problem is that I cannot reliably get the Reach M+ to work, it only sporadically connects to the configured WiFi. It sometimes gives an output over USB (using USB-to-PC in the Reach Settings after connecting to the WiFi hotspot), but no reliable stream of data whatsoever. I am also currently seeing no position fixing when I try to reach the device via the WiFi hotspot.
Funnily enough, it has started outputting some data in bursts every few seconds since I began typing this forum post, but as before, it is not coming in at reliable intervals. This is using the ‘screen’ command with the configured Baud rate, using the recognized USB address
I have also tried using the UART interface for the RPi but to no avail; I do not get any output on that whatsoever.
Does anybody have any suggestions or examples on the integration with a Raspberry Pi 3?
Are you also powering the Reach M+ from the Pi’s USB port? And if so what other USB devices is the Pi powering?
I have had issues with suboptimal USB power supplies (old Android chargers) resulting in flaky wifi on the Reach M+.
After turning things off and on again for a while i was able to reproduce this when i power my Reach M+ from the PI’s USB port. The ping times on the wifi get into the hundred of milliseconds and the /dev/ttyACM0 on the PI is not outputting anything (or only once in a while). Also the green LED does not turn on every time.
I have measured the voltage and current on the USB port that is used to power the M+. The Pi is only delivering 4.8 volts. My USB powerbank gives a steady 5.2 volts. May be it’s that.
Thanks for the replies! @Simon_Allen, how did you wire it to your RPi? I have connected the 5v and ground pins, as well as the Reach M+’ RX to the RPi’s TX port and the Reach M+’ TX port to the RPi’s RX port (UART at Raspberry Pi GPIO Pinout). I am using the ‘screen’ command on my RPi to try and readout the data (I have enabled UART in the boot.txt file).
@kapejod I am indeed powering the Reach M+ from the RPi. There are no other USB devices connected. I am using the 5.1V 2.5A official RPi charger.
Thanks very much for reproducing the problem, it sounds similar to my problems.
Do you have any recommendations on how to best readout and power supply?
I can image I best solve this problem by using an external power supply for the Reach M+. @kapejod, do you also readout the data from UART or do you use USB?
Your charger is probably fine, but the Pi does not just pass-through the voltage to the USB ports. It is generated somewhere on the board.
I usually make the M+ connect to a wifi (the one on the Pi or a mobile hotspot) and then send the position output via TCP. Actually i would prefer USB (or USB networking) but that is not possible because you cannot connect USB and an external 5 volts power supply at the same time (without releasing magic smoke, i guess).
I just made a quick test with a Pi Zero-W and this gives me 5.0 volts and a happy M+. But this was just a quick test without a SD-card…
I will be trying maybe to power the Reach M+ externally while receiving through the USB, perhaps by disconnecting the +5V lead in a USB cable.
Maybe I would better power it externally and attempt to receive through the UART, hoping for some input on that.
I’m back working on the integration again. Unfortunately, I did not get it working yet.
I see in the browser that the Reach M+ is not obtaining any position.
When I put the Reach M+ in base mode I do get a constant stream of data on the UART (though unreadable because of the format).
Here is a screenshot of the Reach M+'s webpage (after a while, been online for hours).
Here is a picture of the (current) hardware setup, a 2x2.1A 5V Anker charger, which I currently use for the RPi, the Reach is currently connected to the RPi 5.1V 2.5A power supply.
The signal strengths are too low to get a fix.
You will spend days being frustrated trying to get an RTK fix through a window.
Go outside,
A clear view of the sky to at least 20 degrees above the horizontal and you will wonder what the problem was.
Stick your antenna on the lid of a large coffee tin and put it on a picnic table, this’s is the simplest way to avoid multipath, and improve things even further.
As I can see from your System Report, you’re trying to output the position in XYZ format. However, Reach M+ requires at least Single solution status to output its XYZ coordinates. In the meantime, there is no solution status at all, that’s why Reach doesn’t send the data over UART.
So, as @Simon_Allen recommended above, you should try to test it outdoors.
@Simon_Allen, cheers that was very useful! I tried it before inside but had a windows open, that is why I was having problems now. I hung the antenna outside and I am getting a pretty steady signal. I was hoping to get some output (since I am not yet too concerned with positioning).
@tatiana.andreeva, I tried some different settings, and it is all working now.
I might be back later with some additional questions but for now I am very satisfied.