DCF77 Meteotime Decoding – Technical Details

DCF77 is best known as a long-wave time signal transmitter on 77.5 kHz.
In addition to the standard time information, the signal has also been used to transmit Meteotime weather forecast data.

This page gives a technical overview of how the received signal is processed in this monitoring setup. It is not intended as a complete protocol specification, but as a practical description of the receiving chain, the data structure, and the way decoded information is displayed on this website.

The decoder used for this project is based on publicly available reference implementations and open-source hobbyist work. The local work mainly consists of receiving the signal, assembling valid data frames, adapting the decoder to the station hardware, and publishing the resulting status information on the website.


Signal Reception

The station receives the DCF77 signal on 77.5 kHz using a ferrite antenna and a dedicated receiver module.

The received pulses are converted into a digital bitstream. From there, the software separates the normal DCF77 time information from the additional Meteotime-related data fields.

The reception quality depends strongly on antenna position, local noise sources, time of day, and the orientation of the ferrite antenna.


Meteotime Data Structure

Meteotime data is embedded into the regular DCF77 minute structure.

A complete Meteotime dataset is assembled over three consecutive minutes. In simplified form, the decoder collects weather-related bits from several minute frames and combines them into one data block.

The resulting block contains:

  • weather forecast data
  • check information
  • time-related information used for validation and decoding
  • region and forecast-section information

This makes Meteotime more than a simple extra text message. It is a structured low-bitrate broadcast data system.


Frame Assembly

The decoder first needs stable DCF77 minute synchronization.

Once the minute timing is reliable, the software collects the relevant data bits over a three-minute interval and assembles them into a complete Meteotime frame.

The most important practical steps are:

  1. detect the DCF77 pulses
  2. convert pulse lengths into bits
  3. identify valid minute frames
  4. collect the Meteotime data bits
  5. assemble a complete three-minute data block
  6. validate the result
  7. convert the payload into readable forecast information

Only frames that pass the internal consistency checks are used for the live display.


Data Validation

Because the received signal can be disturbed by noise, fading, or local interference, not every three-minute block can be decoded successfully.

The software therefore performs several checks before accepting a result. These include frame alignment, timing consistency, and internal validity checks from the decoded data block.

Invalid or incomplete frames are rejected. The website display can therefore show both the current live bitstream and the most recent successfully decoded Meteotime result.

This is useful because even when reception is temporarily noisy, the last valid forecast remains visible.


Weather Payload

After a valid Meteotime block has been assembled and processed, the payload can be interpreted as forecast information.

Depending on the region and forecast section, the decoded information may include:

  • day weather symbol
  • night weather symbol
  • temperature
  • wind information
  • precipitation or severe-weather indication
  • forecast day or forecast section
  • Meteotime region number

The exact meaning of some fields depends on the forecast section. Therefore the decoder does not only decode the payload itself, but also maps it to the correct region and forecast time window.


Regions and Forecast Sections

Meteotime forecasts are organized by regions and time sections.

The transmitted data does not simply contain one global forecast. Instead, the broadcast cycles through different forecast regions and different forecast days or day/night sections.

The local monitoring software therefore derives:

  • the current region
  • the forecast section
  • the corresponding forecast day
  • whether the values refer to day or night information

This allows the raw decoded data to be shown as human-readable forecast information.


Live Monitoring Implementation

The live monitoring setup used here consists of three parts:

  1. DCF77 receiver
    Receives the 77.5 kHz signal and provides the pulse information.
  2. Decoder software
    Converts the pulse stream into DCF77 time information, assembles Meteotime frames, validates the data, and extracts the weather information.
  3. Website status display
    Publishes the current reception status, bitstream information, and the latest valid Meteotime decode as JSON data for display on this website.

The focus of this station is practical monitoring: reception quality, frame synchronization, successful decodes, and live presentation of the received data.


Notes on the Decoder

The decoder used for this project follows publicly available open-source Meteotime decoder work and published hobbyist information about the DCF77 Meteotime data format.

Local modifications were made mainly for:

  • continuous operation on a Raspberry Pi
  • live status output
  • JSON export
  • website integration
  • display of reception and decode quality
  • mapping of decoded data into a readable format

The project is therefore best understood as a receiving and monitoring implementation rather than a standalone description of the complete Meteotime system.


Limitations

Meteotime decoding depends on good reception and correct frame alignment.

Possible limitations include:

  • disturbed or missing DCF77 pulses
  • local electrical noise
  • weak signal conditions
  • incomplete three-minute frames
  • ambiguous or still experimentally interpreted forecast fields
  • changes in broadcast content or service availability

For this reason, the live display should be treated as an experimental monitoring view rather than an official weather forecast source.


Summary

DCF77 Meteotime is an interesting example of a structured low-bitrate data service embedded in a long-wave time signal.

This monitoring setup demonstrates how such data can be received, assembled, validated and displayed using publicly available decoder work and local receiver integration.

The main purpose of this page is to document the practical station setup and the live decoding process used on this website.


References

The decoder used for this monitoring setup follows publicly available open-source Meteotime decoder work. The GitHub repositories linked below provide the reference implementation and live-monitoring code used as the basis for this station.

https://github.com/johndcf/dcf77-meteotime-decoder

https://github.com/johndcf/DCF77-Meteotime-Live-Monitor