Weather data via SMS and satellite

Philippe from France presented us with an interesting project on how, as a blue-water sailor, you can use a cheap satellite communication device to access weather data at any point on earth via SMS. We want to introduce it here. Anyone traveling far from the mainland with their boat needs reliable weather data every day for route planning. The weather data can be obtained in different ways:

  • Internet connection via satellite
  • Short wave Pactor connection to the mainland
  • Short wave weather fax
  • Long wave short form weather data

In the age of ubiquitous Internet access, however, there is a high cost for a satellite system with a corresponding data throughput. Both the hardware and the data volume are expensive. Shortwave radios are just as expensive as satellite systems and require a lot of electricity. What they all have in common is that they need a lot of space and energy to transmit the weather data.

Fig. Shortwave weather data

Philippe found a cheap and easy way to get weather data with a cheap satellite communication device. Satellite communication devices like that InReach mini  from Garmin are small satellite cell phones with limited functionality with which no voice operation is possible, but low-priority, slow data exchange is possible. Such a device is available from around 350 euros. It can be used to send bidirectional short messages such as SMS, mail. In addition to transmitting the GPS position as position tracking, the small device can also be used to receive simple weather data and as an SOS emergency call transmitter. Due to the limited and simple functionality, inexpensive data volumes are offered for the device with a monthly fee of approx. 60 euros.

Fig. InReach mini satellite communication device

The basic idea of obtaining weather data is to send an SMS with the GPS position and the desired geographic area of the weather data to a land station, which then sends back the desired current weather data or weather forecast data via SMS in response. A normal mobile phone functions as a land station, which can respond to SMS messages with the help of a server app and obtain weather data from the Internet. Incoming SMS with inquiries are processed by the server and the necessary weather data is provided downloaded and broken down into individual SMS messages and sent back to the requesting mobile phone. Since an SMS message can only transmit 160 characters, the request data and response data must be prepared in a correspondingly compact manner. To this end, Philippe has written three apps that enable the coding and decoding of SMS messages as well as a server application for providing the weather data. The current GPS location, the sea area and the type of display in the form of a distance factor are transmitted as query data. The display format of the weather data can be changed with the distance factor. Either centered on the location or looking ahead in the direction of travel.

Fig.Function of the distance factor (left: 0.0, middle: 0.5, right: 1.0)

With the coding app, the request data Base64 encoded and output in the form of a text string that can be transferred to the InReach mini satellite communication device. There is another app for the InReach mini that can be used to operate the device and transmit the SMS. After a certain response time from the satellite system, which can take between 5 and 20 minutes, you will receive a certain number of Base64-coded SMS replies that can be converted again with the decoding app.


Fig. Encoding and decoding app

Fig. Non-decoded SMS replies for several data points

The SMS replies contain the following information in the form of KML data:

  • Time stamp ( YYYY-MM-DD HH: mm UTC)
  • Air pressure in hPa
  • Visibility in nautical miles
  • Cloud cover in 1/8 (0 = clear sky, 8 = overcast sky)
  • Air temperature in degrees Celsius
  • Direction (wind out in °) and wind speed with gusts in kt
  • Direction (incoming current in °) and speed of the ocean current in kt
  • Wave direction and swell in degrees (starting in °)
  • Wave height (measured between ridge and valley) in meters
  • Wave period (number of seconds separating the passage of 2 consecutive peaks) in seconds

The KML data can then be inserted and visualized in any program such as Google Maps, Google Earth or similar. There are also free applications for Android and iOS such as Guru Maps with which the weather data can also be displayed in offline maps.

Fig. Decoded KML data

Fig.Guru Maps

Fig. Information of the data point


With the system presented by Philippe, weather data can be received via satellite at low cost. The equipment consists of a small satellite communication device and a few apps as well as a cell phone with internet access, which serves as a land station for providing the weather data. The apps handle both the coding and decoding of the data and enables the weather data to be displayed in an offline map on a mobile phone or tablet. At this point, however, it should be mentioned that no extensive, large-scale and detailed weather data can be received as with official weather maps. Each SMS reply then corresponds to exactly one data point in the weather map. It makes sense to only call up a small amount of weather data that covers the immediate area in which you are moving with your boat. The presented system can be used well on small boats where little space is available. In addition to the SOS emergency call function, the InReach mini can also be used for other types of communication or tracking and is a useful addition to the equipment on board. Because the server app runs on your own mobile phone on land, you have the entire system in your hand and are not dependent on expensive third-party service providers.

If you want, you can query the weather data with a normal cell phone and thus test the entire functionality without a satellite communication device. To do this, you send an SMS to the mobile phone with the server app and receive the weather data as a response.

That's a very, very cool idea…. Have fun testing.



Source code and app for Android

Source code for iOS