M2-2 Image, above, captured by G8GKU at 15:25 July 31 2019, false colour. Orbit No 375. At 137.9 MHz OQPSK with 72 k symbol rate. Same image below in ” visible ” monochrome.

Along with the new Meteor M2-2 satellite images came the challenge of OQPSK in place of the QPSK utilized by Meteor M2.

The immediate situation was to have no working demodulation or decoding system for OQPSK.

Discussion with Les Hamilton revealed the option of using tools as found in Les’s pre-packaged archive tool sets. Please see

A ” Thank you ” has to go to Les for assembling the various sets of tools.

As always, things are not so simple as may be thought. The tools chain as above is centred around using the LRPT Demodulation within SDR# as to be found in the archive.

Due to the quantity and strength of 137.x MHz data and ” pager ” signals in Oxford, it is not workable to use the well tried and tested RTL Dongle receiver. As G8GKU is located close to Oxford, a hybrid system was used to facilitate the reception and decoding of M2-2 images.

An M2 image article within this website has a description of the receiver chain used by G8GKU.

The three key components which allow G8GKU the reception of ( mostly ) unbroken images are as follow. Other methods exist and the use of the following products is merely descriptive as opposed to an endorsement to purchase.

First, after the crossed dipole RHCP aerial, is the use of a specific signal pre-amplifier, the Mini-Circuits PGA-103+ device. A Data sheet may be found on the Mini-Circuits web pages. There are other devices by other manufacturers but the PGA-103+ is excellent for the task. It has a very low noise figure and an impressive degree of strong signal handling, resulting in low, if at all, cross-modulation of the weak M2-2 signal by the local heavyweight data transmitters. The device has to be embedded within a circuit to be actually used, the device is not ” plug and play “, unless one has the evaluation module version. There is a useful article by G4DDK and WA5VJB, detailing the building of such an amplifier with the PGA-103+. See

To ensure maximum signal is obtained, the aerial is real-time tracked in azimuth and elevation with data obtained from Alex’s DDEtoSerial driver, to be found elsewhere in this web site.

Secondly is the use of twin screened 50 Ohm coax, between the pre-amplifier and the receiver position, silver plated coax screen is highly recommended.

Thirdly is the use of the SDR-Play Duo receiver. This receiver has a front end design which allows repetition of weak signals in the presence of strong close in band signals at an offset of only a few kHz. This is exactly the situation when receiving 137.x MHz images by G8GKU.

The complete signal chain for M2-2 uses the above for reception of the M2-2 signal and the received data is stored as a 16 bit I.Q. WAV file.

At this stage the tools within Les’s archive come into play. The SDR# application is fired up and the recorded dot.wav file selected as the signal source. The LRPT demodulator plug-in within SDR# is used to demodulate the OQPSK. Resulting in an ” s ” file, which is then decoded by the LRPT decoder within the tools set archive. There are options to be set in SDR#, the demodulator and the decoder, all of which are self descriptive.

By using this hybrid system the break up and loss of many images due to strong local close in-band interference has been very much reduced. Acknowledgement is made of all software names and such items.

73 G8GKU


Having upgraded to an SDRplay RSPduo, here is a typical result from the overall M2 receiver system here at G8GKU, system details may be found below the image.

APRIL 13 2019
10:30 am.
North to South pass, over UK.
137.910 MHz +- Doppler

RECEIVING SYSTEM, from aerial inwards ….
AERIAL, crossed dipole 4 element turnstile, RHCP
PRE-AMPLIFIER, 24 dB gain ca 0.6 dB N.F.
SIGNAL FEED, 12 Meters coax, low loss double screen.
AMPLIFIER POWER, 9v @ 100 mA, bias T to coax
BAND PASS FILTER, 137.5 MHz, double tuned
POST PROCESSING, AUDACITY, re-sample to 192,000

All trademarks and software names gratefully acknowledged.

Perform Clean Install of Windows 10 on Dell Inspiron Gaming 7000 7577

Dell laptops are no where near as full of bloatware from the manufacturer as some others but they still do come with a lot of rubbish to get rid of. The cleanest and simplest thing to do if you buy one is to just format the machine and reinstall Windows 10.

The problem is there’s no install media provided.

First off, some things you should note:

  • Most models come with an M.2 SSD drive which requires drivers during a Windows install.
  • You won’t require your Windows 10 key from the old install. It is no longer on a label stuck to the machine unfortunately, it is stored in one of the chips on the motherboard. The installer will pick up the key automatically.


  1. Download and run the official Windows 10 tool to create a bootable USB stick.
  2. The above tool will take some time. Once it has finished you will need to download the Intel drivers for the SSD else you won’t be able to get the SSD drive listed during the Windows 10 install. Get the SSD drivers named (64-bit Operating System) here:
  3. Unzip the intel drivers into a directory on your USB memory stick.
  4. Restart the laptop and press the F12 key during boot to get to the boot menu.
  5. Select your USB stick to boot from and follow the instructions.
  6. When it comes to selecting a hard drive to install Windows onto, make sure to click the CD icon and navigate to your driver directory on the USB stick and install the SSD drivers.
  7. Delete all the partitions on both HDD and SSD.
  8. Create a new partition on the SSD and go ahead and install Windows as normal.
  9. Once Windows is installed you’ll also want to use disk management to setup the HDD and then you’ll be good to go.

XML to JSON python script (Also JSON to XML)

Here are 2 python scripts which convert XML to JSON and JSON to XML.


Create the sample XML file, with the below contents.


Run the below python script and and it will output the converted XML as a file named output.json.

import json
import xmltodict

with open("sample.xml", 'r') as f:
	xmlString =

print("XML input (sample.xml):")
jsonString = json.dumps(xmltodict.parse(xmlString), indent=4)

print("\nJSON output(output.json):")

with open("output.json", 'w') as f:


Create the sample JSON file, with the below contents.

    "planets": {
        "planet": [
                "name": "Earth",
                "radius": "6,371km"
                "name": "Jupiter",
                "radius": "69,911km"
                "name": "Mars",
                "radius": "3,390km"

Run the below python script and and it will output the converted JSON as a file named output.xml.

import json
import xmltodict

with open('sample.json', 'r') as f:
	jsonString =

print('JSON input (sample.json):')

xmlString = xmltodict.unparse(json.loads(jsonString), pretty=True)

print('\nXML output(output.xml):')

with open('output.xml', 'w') as f:

You may need to install the xmltodict module:

pip install xmltodict

Minecraft won’t launch with error code 5

If you launch Minecraft and get an error as above, along the lines of cannot copy file error code 5 then you can potentially fix this by renaming a file as below.



C:\Program Files (x86)\Minecraft\tmpLauncher.tmp


C:\Program Files (x86)\Minecraft\minecraft.exe

Then just run the minecraft.exe file and it should start to download the runtime and then start up. Worked for me 🙂

Satellite image pager interference

Although many satellite images are captured with little or tolerable degradation, due to the effects of near band or in band pager interference, some images are more badly affected. This image received from Meteor M2, June 20 2017, orbit number 15301, 11:00 hours, 137.900 MHz, shows the effect of both in band and near band data transmissions from local, ( Oxford, UK )  high power pager style systems.