Connect REACH units (Rover and Base) with APC220

@bide I have APC220 wireless RF modules.


I want to APC220 connect with REACH units (For rover and base). Is it possible to use APC220 for REACH? If yes, then
can somebody help me the procedure or steps to connect?

I am not able to provide advice on how to connect these to your Reach, but a quick skim through the user manual tells me that it should work. Anybody else?

Can anyone guide me?

i don’t know these modules - but http://www.dfrobot.com/image/data/TEL0005/APC220_Manual_en.pdf should help;
together with emlid’s docs:
https://docs.emlid.com/reach/hardware-integration/

and before you start, just make sure that they are both operating on the same voltage levels. There’s the whole TTL != RS232 thing. The RFD900 radios say:

Serial: Logic level TTL (+3.3v nominal, +5v tolerant)

and if your APC220 are the same, then you should be OK without a converter board.

Maybe draw out your connection diagram and post that and ask if it looks OK.

Thanks @panky for your response.
@bide thank you again. I will do the connection and show it here soon.

Hi @bide
Attached file is the connection diagram. I connected both Reach kit (Base/Rover) to APC220 in same way. Let me know if I am on right path.

1 Like

Yes, of course it looks good. Your diagram is well done and it looks like you know what you are doing.

Are you experiencing a problem with your setup?

Ok awesome.

These setup I did:

Base Setup:

Rover Setup:

Seems like Base and Rover are not communicating:

I read in your radio manual that the default serial baudrate (speed) is 9600, so you must change that to 57600 to match the setting in ReachView OR change ReachView from 57600 to 9600 to match the radio.

1 Like

If you decide to use 9600 baud for the serial speed and you still have trouble, I recommend changing the sample frequency from 5Hz to 1Hz (GPS_BEIDOU_1Hz) on the base and the rover.

I found a second manual with a little more information on the APC220:

It speaks of a program RF-MAGIC which lets you change the radio settings.

Thank you very much for your response @bide.

It was different baud rate. After putting 9600, Base and Rover are communicating.

I have one small query.

I want to use “rtkplot” application on my windows 10. I used following settings:

And my rover settings:

Am I doing right?

Because once I connect rtkplot, it shows nothing. I want to see rover data serially and not through tcpsvr as I am going to put my rover in the moving vehicle.

Regards

If I understand, this is what you want:

  • Rover attached to serial radio

  • serial radio receives RTCM3 corrections from base

  • serial radio sends solution to base

  • Base attached to serial radio

  • serial radio sends RTCM3 corrections to rover

  • serial radio receives solution from rover (base can not use this information)

You will notice that the base does not have a setting for “solution input.” Also, your Windows computer is not part of this communication path.

So, I’m not sure if this is possible, but I am testing something for you and will report back.

Before I do the testing, let me say that you could hook up a third radio to your computer. The third radio could listen to the solution that is broadcast from the rover’s radio. Unfortunately, your APC220 is not designed for that kind of operation. However, the RFD900 radios can be loaded with point-to-point firmware (like APC220) or multipoint firmware. With multipoint firmware, you can have 3 radios working together to accomplish this task.

I think I missed the obvious solution here.

If your computer is right beside the base station, then you can take the TXD wire from the APC220 radio and also add a second GND wire then connect those to a UART->USB adapter that is plugged into your Windows 10 computer.

Now the APC220 data wires will split between the Reach and the Windows 10 computer.

I will still report back on my other test.

OK, I completed my test. It is also possible to do it this way:

The rover solution is arriving at the Reach base from the serial radio and we want to forward the solution to a TCP server listening on the Windows 10 computer so you can view the solution output in RTKPLOT.exe


We need to know the Windows 10 computer IP address. For this example I will assume it is: 192.168.2.1

Our task is to ssh into Reach base as root user and forward the serial port over TCP to RTKPLOT.exe on the Windows computer.

First, we start the Reach base with “serial” output and start the Reach rover with “serial” correction input and “serial” solution output.

Second, we must start RTKPLOT.exe as TCP Server on a port. I will use port 8888. You will find those settings by clicking “Connection Settings” in the File menu, and then “Stream Type 1”->“TCP Server” and “Opt”,“Port”->“8888”. Then click “Connect” in the File menu or click the connect icon (first one one the left side). Now RTKPLOT waits for the solution on port 8888.

Third, we ssh into Reach base. I assume that you will use putty.exe or similar program. Login as user root and run this command:
nc 192.168.2.1 8888 < /dev/ttyMFD2
This command listens to the serial port and repeats out the TCP port to the IP and port specified.

Now you should see your rover position appear on RTKPLOT.exe!

Good luck with it! This is a great idea for anyone with an unmanned rover setup!

Hi @bide

So here what I did.

  1. Putty login

where I am logging using root@192.168.1.44 (rover IP address - 192.168.1.44)

  1. Once click open, then I inputted following command:

where 192.168.1.6 is my computer IP address

  1. Then I go to RTKPLOT and in connection settings, I did:

  1. Once I click Ok, then my RTKPLOT is connecting to Rover but no result showing.

What am I missing or doing wrong? Is there anything I should modify in rover or base config?

Connections are same as this previous:

Also my status shows no lat or long

But after sometimes it shows. But nothing on RTKPLOT

Time to troubleshoot then. Find out if the rover solution is arriving at the base.

In the putty window, cancel the nc command with CNRTL-C, and at the # prompt, type:
screen /dev/ttyMFD2 9600

You should see the lines of text with the position solution appearing 1 per second, but only if the rover is showing status of: single, float, or fix. If still showing “-”, then rover must be moved closer to the window or outside. I also did my test indoors with poor satellite reception and had this problem with status “-”.

If you don’t see output there, then the rover is probably not sending. Check the ReachView setting that Solution is set to serial UART 9600

If it is still not working, then maybe it is a wiring problem between:

  • rover TX to radio RX
  • radio TX to base RX

To exit the screen program above, type: CNTRL-a then k and confirm with y

Hi @bide
I did

screen /dev/ttyMFD2 9600

and weird characters coming

This is the type of ‘garbage’ that you see when the serial speeds do not match or if you have a bad connection. However they must match because your rover is receiving the base correction as we see with the grey bars.

First, confirm that the grey bars are still there.

Then stop the rover, save your settings again (output format is llh), and start the rover.

See if that changes the output in Putty.

If not, then CNTRL-C and type:
stty -F /dev/ttyMFD2

It should say 9600 there somewhere.

If so, then stop, save settings, and start the base again.

and run stty once more to check for 9600
stty -F /dev/ttyMFD2

then run screen once more to check for readable text and not garbage
screen /dev/ttyMFD2 9600

It must be something simple like that.