SOLVED Transcieving over 1 mile with NO LOS / heavy obstruction


I've been working on a project for a train group that needs the pressure at the rear end of the train transmitted up to the front of the train. The line of cars they typically deal with is supposedly up to three quarters of a mile long, but for redundancy I am looking for something that can handle transmitting the pressure readout through up to a mile of metal train, essentially with no line of sight at all without drawing an obsessive amount of power (because this must be portable and it will run on a battery), not bear any antennas over a foot long (again portability), and adhere to all FCC regulations. I know this is a lot to ask but I will take any guidance I can get.

I contacted TI not long ago and they suggested using their CC1101 but it is clearly underpowered for my application. Their prices are enticing, however, I'm not sure they offer something of my range.

On a side note I am pretty new to the whole wireless communication field. I will certainly do my homework as new terms are introduced but it may take me some time, please excuse any mistakes I might make. :slight_smile:

Thanks and best regards

Other than the distance specified, how is this any different than your previous thread on this topic?


More information is needed.
How often does the pressure transmission need to happen?
Whats the maximum amount of power consumption thats possible when transmitting?
Does the transmission need to be error corrected and acknowledged?
Whats the budget, ie how much money do you have to spend on this?

Other than the distance specified, how is this any different than your previous thread on this topic?
Long Distance Transcievers - Networking, Protocols, and Devices - Arduino Forum


In short, I am more informed and the market has changed. I've seen new products launched by companies like LoRa and TI but I don't know where to start. Ultimately my needs have changed from my last post which was in the end inconclusive, and rather than grave dig a very old post I decided to make a new one.

@mauried A signal will be send approximately every half second, which would read something like "96.4". The only other signals that would be sent would be those to verify the connection and units being used of both ends and a brief shutdown message from whichever end is powered off first. In regards to maximum power consumption, if you mean legally I have no idea. This would have to be FCC registered, put it that way. As far as how much power is available, this has to be able to run on a 5v ~20ah battery for up to an hour between charges. Not sure what that equates to in transmitting power (sorry). Ideally it would have to be error corrected and acknowledged but if no such transceiver exists it could work without it. I would spend up to $300 on something like this, each end. Thanks for bringing this info to my attention, I should have included it in the OP.

Get a licensed radio amateur friend to help you try out a pair of these 4 watt handhelds. If those cannot be used to communicate under typical conditions in the field, it will be an extremely difficult problem to solve.

something that can handle transmitting the pressure readout through up to a mile of metal train, essentially with no line of sight at all without drawing an obsessive amount of power (because this must be portable and it will run on a battery), not bear any antennas over a foot long (again portability), and adhere to all FCC regulations.

I suspect that is virtually impossible.

Can you use a cell-phone / mobile phone system to act as an intermediary?

Does the railroad / railway company have its own wireless system for communicating with the drivers of trains? Could that be used as an intermediary?


The link that engineers and conductors use for track allocation can pass the data from the remote to the central receiver then relayed back to the engineer. However, it would take additional hardware and software at the central station. It would be similar to an amateur radio digital repeater.

A 915MHz link is possible but it has two serious problems. First, a Yagi antenna would have to be mounted just above the top of the last car and the engine. With this short height, you have the possibility of the reflected wave being out of phase with the direct wave in a continuously fluctuating manner and getting serious signal dropout. Also, the antennas would have to be of reasonably high gain with an associated narrow beam width. As the train goes around curves, the antennas are not looking at each other.

On the remote unit, consider a small wind generator mounted on the back of the antenna to keep the battery alive.

For reliability, the first option seems more reasonable.

Its going to be difficult.
Jremingtons idea of 2 hand held radios is the best to start with.
You will have to do extensive testing on the train to see if / where dropouts occur.
Then if the radios work, you will have to figure out some way of reliably transmitting data with them in both directions, difficult but possible.

Just break the problem into small pieces... Make the data be transmitted to a node not very far away, once this node receives the data, it retransmit it forward and so on. You could use two nodes on those repeaters on different frequencies or simply retransmit the data incrementing a counter on the payload, so all nodes that already transmitted that message would ignore it in case they receive the same message back.

You need to perform tests to see what is the maximum reliable distance you can transmit, maybe a distance where the antennas can "see" each other. The antenna positioning will be very important as well. Yagi ones not be the ideal as they can get out of alignment when the cars are not all straight.

Have a look on this Node: Whisper Node - AVR - Wisen, the standard version should be well within the FCC limits when using digital modulation, also it is already design to run with minimal waste of energy. The board has a RFM69W module built-in, which is very reliable, especially if you lower the baud-rate to a few kb/s, which should be enough for you application.

Half dozen of those boards connected to some external antennas "visible" to each other should solve your problem. Put all on some nice enclosure with an easy way to attach/detach and you can move the whole thing from one train to another in no time


All antennas have a gain/beamwidth relationship. The correct compromise will be essential and determined by testing. The Yagi antennas are commercially available and have a low wind load.

Just break the problem into small pieces... Make the data be transmitted to a node not very far away, once this node receives the data, it retransmit it forward and so on.

While I am a great believer in breaking problems into manageable chunks I doubt very much that this proposal is a practical option for this application.

Apart from any other considerations I suspect the OP needs a solution that works reliably out of the box without the need for experimentation. There are so many potential variables and obstacles that it would take a very long time, and cost a lot of money, to prove that a solution works with sufficent reliability. For example, how many train journeys over how many different routes would be needed before you could have confidence that the system works?

IMHO piggy-backing on an already proven system is the only practical option.


There are commercial systems that will do what the OP wants, but not for anything like $300.
GE make a system called Locotrol which is for controlling locomotives at both ends of a train via radio.
Has to be insanely reliable, but the radios are very expensive, but cheap when you consider what a locomotive costs.

@Arctic_Eddie I would say the Yaggi antenna would be the best option in case of a straight line, but when the train is moving, specially when it's performing a turn, the first and the last car will be in totally different angle to each other. Specially if there's a tunnel where the first and last car will be totally blocked by a hill :wink:

@Robin2 Totally agree that going for a commercial solution might be the fastest route, and for sure this is a big enough industry which very likely already has options for this problem... but not for $300. I might be wrong but my understanding was that the information to be transmitted from last to the first car is not crucial for the train to run. It sounds like more an informative data which the engineer could have access instead of some data that would automatically help to control the vehicle (please only do that with model trains).

Regarding the experimentation, yes, when building the solution yourself it always would require experimentation. And again having it in small pieces and making sure radio A can talk to radio B over a distances of 20 cars would be enough to tell how much pieces the communication needs to be split into according to the car size... well, make it every 15 cars just to make sure, and it should be quite simple in case it needs to be installed in another train as all the experimentation has been done before.

Regarding the power consumption, you can use a formula like that: (note that I'm using very rough numbers)

Radio in RX mode and MCU waiting for the message: 30mA, 960ms every second
Radio in TX mode and MCU processing something: 100mA, 40ms every second (2 TXs per second spending 20ms per TX)
Calculate Average = (30mA * 960ms + 100mA * 40mA)/1000ms = 32.8mA

Well, you've the average consumption of 32.8mA, which could be significantly reduced using simple power saving techniques. Powering it with a pair of D Alkaline cells, that offers around 12000mA, the Radio+MCU would be able to run for something over 12 days. Much better than just a few hours... also Alkaline cells have well know discharge rates and it's easy to monitor the approximated remaining juice (+-15%?!) by simply reading it's voltage... so the Node can send a message: "hey, I need new batteries soon!"

Anyway, I've used very high numbers just for illustration but, it's very likely that the Radio will be in TX mode only for a few milliseconds, also 30mA in RX mode is more likely to be under 20mA with some little tuning.

Bottom line is that if you're keen to spend some time building the solution and that's not going to be used to automatically drive the trains, sure it's doable.


Reply #11 sounds sensible to me.


I agree as railroads already have a NBFM radio system. It would not be too difficult to add a 1200 baud data packet message TX at the end of the train sending on a digital channel. The engineer can retrieve the message and central control has data that might be of value in case of mishap.

@jremington How would I go about transmitting actual data on radios like those?

@Robin2 @Arctic_Eddie @Musskopf Because of portability I'd like to do everything within my power to avoid using a repeater and, if possible, keep the antennas off the top of the train. This would never be used when the train is moving, only when an air brake test is being conducted (so when it's stopped at a railyard). The only reason I am slightly opposed to using an existing system is I'm not sure that every railyard this would be installed at would want another load on an existing network. Some may not have one, and those that do have them may be too complicated to interface with. Sorry if that doesn't make much sense- but basically for universality reasons the more independent this system can be the better. Especially if it doesn't require repeaters that would have to be collected and recharged every couple of days.

Thanks for all the input so far. I've also been reading up on LoRa radios which boast supposed ranges over a mile WITHOUT a line-of-sight all while drawing relatively little power (based on this). I saw another article somewhere which transmitted through nearly a mile of urban buildings from ground level to about three meters below ground without a repeater. Is LoRa a feasible system for my application?

Thanks again and best regards.

If you are doing it in a railyard why not install a powerful wifi hotspot in the yard and use that as an intermediary?

Or maybe you could use an Arduino with high-power nRF24L01+ mounted on a tower in the yard as the intermediary between two other Arduinos with nRF24 transceivers.

I don't believe in throwing money at a problem but it is equally ridiculous to be a cheapskate.

PS. You should have told us up front that the train will be stationary and in a yard. Several folks have wasted time on comments that assumed the train is moving.

If it's in the yard and only the engineer needs to know then use a pair of handhelds. There should already be a yard control radio system operating so it can relay a voice message if the two cannot communicate directly.

@jremington How would I go about transmitting actual data on radios like those?

First figure out if you can talk to someone at the other end.

If not, you can't transmit data. If so, you use a modem.

@Robin2 Problem being, like before, that not all railyards have a tower, let alone one equipped with interfaceable power and/or at a sufficient height and I'm not totally in to the idea of servicing a tower every time I install this at a new yard. The WiFi solution sounds promising though but I haven't had much success finding such a router. From what I've seen if you can get a module that reaches a quarter mile you'd be lucky.

@jremington Fortunately the radios used at yards I've visited are used to talk through trains all the time, but they are not the cheapest. Since these aren't trucker radios, I'm assuming they're analog, meaning only one conversation can be conveyed at once. That means they would have to purchase a new set of radios (effectively as far as cost price goes) for each set, and they are not cheap. My engineer buddy told me the workers are liable for up to $500 of it. I doubt one would cost that much but for as far as they are transceiving I'd believe anything under $300. It would be much easier if I could just buy the antenna and transceiving module in these radios but I don't think they're easily available because of FCC regulations (correct me if I'm wrong). I love the idea of using a modem, though. I actually never knew there was such a way to interface two-ways.