Radio based time synchronisation

We're building a system of distributed Arduino-based systems and need to synchronise the time between them. We know this could be done using GPS chips, but for various reasons we don't want to do this. Rather, the plan is to have a simple radio broadcast which will act as a time signal, with accuracy less than 1ms.

My basic plan would be to have a transmitter controlled by one Arduino. The transmitter could simply send an unmodulated carrier which can be switched on, and then off - the turn off could be the synchronisation signal. Note that the units don't need to know what the time is, just to be synchronised periodically. Slave units would be tuned in to the carrier and listen for the on...off. A slightly more advanced (and admittedly better) solution would have a modulation which could be enabled/disabled to send simple signals, similar to morse code.

I understand the concepts of basic AM transmitters and receivers, but firstly I'd like to see if there's an off-the-shelf solution. Secondly, as I said I know the basics, but I don't have the knowledge to make them efficient. We need the system to work over approximately 2km (1.25 miles).

Any ideas?

Such a distance drastically limits available choices. It is quite hard to achieve without a license for RF transmitter. So far I am aware only of LoRa chips capable for that range without license, see https://www.lora-alliance.org/

Alternatevely you might opt to get a license and then use quite powerful transmitter, in that case your receiver can be simple. Readily available solutions for that distance most likely transmit a fair bit of power and require a license too.

AM is a bad idea. For noise immunity it should be PM or FM.

PM would be more than adequate.

I've come across LoRa, and I've used Xbee Pro units and had a range of over 1km, but the problem is variable latency. Really we need to sync within a few milliseconds, and the when there's a communication protocol in use latency varies. That's why I was thinking simple transmitters and receivers.

Perhaps I could solve the latency issue though - that's a software question so I'll ask elsewhere in the forum.

Thanks for your input

jmusther:
We need the system to work over approximately 2km (1.25 miles).

Given everything including the requirement for better than 1 ms, I think GPS is the answer.

Paul__B:
Given everything including the requirement for better than 1 ms, I think GPS is the answer.

+1