Another Day Another Arduino Project

Yes another day, another Arduino project (seriously this is a great development environment)

As I mentioned in passing yesterday I have a number of Arduino based projects buzzing around in my head. One of them is to produce a satellite antenna pointer/indicator.

I have used an Android AR tracking solution before (flaky at best) and can see the relevant information in Orbitron or SatPC32 to know where to point the antenna but it is difficult to see a PC screen when stuck out in the middle of the lawn!

My idea is this, I will make a large tripod to which I can attach appropriate antenna as I need, then during the satellite pass it has indicators to show where to point the antenna manually.

I envisage the azimuth indicator to be a large horizontal circle with 36 LEDs positioned at 10 degree intervals, the elevation will be a quarter circle with 20 LEDs positioned at 5 degree intervals. Then during the pass the appropriate LEDs will light and assuming I keep the antenna aligned to these I should in theory get the best signal… Crazy??

Yes I know I could make or buy an azimuth/elevation rotator, eBay is full of low speed high torque geared DC motors with auto-stop/hold and numerous software solutions exist to drive them but this would require a bit more engineering and isn’t something I can easily fabricate at the moment. My contraption would be much more rustic being made of rough cut timber!

Bright LEDs are ridiculously cheap and controlling this number from the Arduino will require the use of multiplexer drivers. The popular ones are the MAX 7219/7221

I won’t go into the details of exactly what multiplexing is, other than to say that each display element (LED) is driven one at a time but by switching the electronics at high speed combined with the persistence of vision make the viewer believe the entire display is continuously active.

This technique can be used for individual LEDs, an LED grid matrix, or for 7 segment displays. Last night I successfully got a MAX7219 based 8-Digit 7-Segment LED module working.

The next stage was to investigate how an Arduino could calculate the appropriate azimuth and elevation data. Thankfully a library already exists qrpTracker (code is here), within this library is a port of the Plan-13 algorithm first written in Basic by James Miller G3RUH in 1990, subsequently ported to C by Edson Pereira, N1VTN and further updated by Howard Long, G6LVB.

Plan-13 processes keplerian elements, time and (optionally) observer location, and uplink downlink frequencies; it outputs satellite latitude and longitude, azimuth and elevation, and Doppler shifted frequencies. At the standard 16 MHz Arduino clock speed, this code can complete these calculations in approximately 30 ms. This code is reported to be highly accurate, if provided with proper data.

The important data are the observer location (longitude/latitude) and the current time. Step forward my well used GPS module which once lock is achieved can supply that data.

The next is get the appropriate up to date Keplerian twin element sets (TLE) and extract the appropriate information from it and pass that data to the Plan-13 functions.
The standard TLE follows the following format

You need to extract the Epoch Year/Day (including partial data), Inclination, Right Ascension, Eccentricity, Perigee, Mean anomaly and Mean Motion for a calculation (drag/orientation aren’t critical) For the moment I have just extracted this manually from the latest TLE and entered it directly into the program.

After just an hour or so of research and programming I have the LED displaying the current azimuth and elevation of the FUNCube-1 satellite (AO73) based on the current position and time derived from the GPS!

The first four digits is the azimuth, the second four the elevation.

The next stage is to sort out the LED disc indicators, build the antenna tripod and formulate a method to upload the appropriate up to date TLE files from the PC which can be stored in the EEPROM of the micro-controller.


First reception of DANDE satellite

The US SpaceX company successfully launched a new upgraded version of its Falcon 9 rocket from California’s Vandenberg Air Force Base. The vehicle, carrying the Canadian Cassiope research satellite, lifted off at 16:00 UTC on Sunday, September 2013.

In addition to the main payload two satellites, DANDE and CUSat, carrying amateur radio payloads were also launched into orbit, both satellites have been reported as functional and transmitting away. Last night I had an attempt at receiving DANDE.

From Amsat-uk

DANDE stands for “Drag and Atmospheric Neutral Density Explorer.” Measuring drag and neutral particles in the lower atmosphere between 325-400 kilometers, DANDE will be measuring real time density, quantifying variations in altitude and over time, as well as providing in-situ model calibration data. The satellite is a low-cost density, wind, and composition measuring instruments that will provide data for the calibration and validation of operational models and improve our understanding of the thermosphere. Weighing approximately 45 kg, DANDE is classified as a nano-satellite that is about 18 inches in diameter.

The Colorado Space Grant Consortium (COSGC) has housed the project for approximately 7 years, in which about 150 students have been a part of the project through initial concept and design, to the current team of mission operators. There are two instruments on board which allow DANDE to make in-situ measurements rather than being passive or only carrying accelerometers. The subsystem ACC (Accelerometers) contains 6 accelerometer heads arranged in a circle which were built in-house. The NMS subsystem (Neutral Mass Spectrometer) also known as Wind and Temperature Spectrometer will survey the variety and quantity of numerous neutral particles in the Thermosphere. This data will be particularly interesting during periods of high
solar activity do to atmospheric effects seen at these times in the polar regions of Earth.

DANDE Telemetry System Information:
Beacon Downlink Frequency: 436.75 MHz FM
Callsign: dandecosgc
Data Rate: 9600 baud
Modulation: FSK
Transmit Interval: every 15 seconds
RF Power Output: 0.75 W
Antenna Polarization: linear

DANDE Beacon Portal
Bruce Davis Project Dande Blog

Using the most up to date TLE (from here) I worked out there was a nice late evening pass, so got out my homebrewed yagi, I posted a picture of it on my twitter account @nerdsville

Another evening and another home brewed antenna, must get a cheap drill press as nothing lines up properly!
— Andrew Garratt (@nerdsville) May 10, 2013

I did manage to get a signal, but it was very weak so no chance of even trying to decode it. This wasn’t helped when a connector on the coax fell apart a few minutes before the start of the pass and I was estimating where to point the antenna. I am a bit out of practice!

Below is a snapshot of the waterfall, I have highlighted the faint beacon bursts.

I think I might be mad!

I know it is difficult to believe but Spring is officially here! At 11:02 today the vernal equinox occurred.

Well earlier at 07:00 I was standing out in a snow shower with the 2m yagi monitoring the ISS downlink on 145.800MHz. This was a school contact with Australia being operated via a telebridge using an Italian ground station. Details here

I did get a reasonable signal during the pass but sadly it was marred yet again by interference.

The weather is dreadful at the moment, the picture above shows the view out of the shack window last Sunday afternoon. I had hoped to capture various satellite transmissions but the weather was atrocious. It rained most of the day and then around 14:00 it turned into a short lived heavy snow shower.

On Monday night I went to catch the evening pass of STRaND-1 and AAUSAT3 only for it to start raining once I had got set up!

Receiving LES1 a satellite built in 1965!

A few weeks ago I read a news article about the miraculous reactivation of LES1, this satellite was built by the Massachusetts Institute of Technology and launched back in 1965. The satellite failed to reach its intended orbit owing to a wiring error and has been drifting out of control ever since, it was abandoned in 1967 as a piece of space junk but has seemingly begun transmitting again after 46 years.

Back in December Phil Williams G3YPQ from Cornwall noticed a peculiar signal and after some research determined it was LES1. The odd signal is probably caused by the satellite tumbling end over end every 4 seconds as the solar panels become shadowed by the engine. ‘This gives the signal a particularly ghostly sound as the voltage from the solar panels fluctuates’ Phil says. It is likely that the on board batteries have now disintegrated and some other component failure has caused the transmitter on 237Mhz, to start up when its in sunlight.

Eager to see if I could receive this ancient satellite I dug out an unused DAB 3-element antenna and mounted it on a tripod and successfully monitored two passes this afternoon.

I used my FUNCube Dongle (original version) and SDR-Radio V1.5 and this was the analysis of the resulting recorded IQ file for the pass that started around 17:30pm. You can clearly see the satellite signal as it undergoes Doppler shift and the four second regular frequency shift caused by the tumbling.

At its most northerly latitude the satellite orbit passes over North Africa, but due to its height has a longer orbit period than most other satellites and is receivable over much of Europe. How long it keeps transmitting is a mystery.

Some FITSAT-1 Telemetry Decoded

It was dry and a lovely clear sky last night and I had several opportunities to receive the latest Cubesats.

I made some sight modification to the tripod mounting of the small 70cm Yagi antenna I am using, repositioning the clamp allowed me to secure my Android smart phone behind it. Then by using the Satellite-AR app I was able to hopefully point and track more accurately.

As you can see from this close up, it is quite a useful tool. Selecting the Cubesat catagory in the application, shows the procession of the cluster one after the other. The Cubesats have now spaced sufficiently to allow reception of WE-WISH which is just dropping out of sight as FITSAT-1 is starting its pass.

One thing I hadn’t counted on last night was the very high elevation and I struggled to turn and tilt the tripod quickly enough whilst still viewing the screen on the phone, this will hopefully improve with practice!

Previously to the tripod I hand held the antennas but the drawback with that method was not being able to check and make adjustments on the computer, the tripod at least allows me to maintain reception.

I again received WE-WISH but the signal was too weak and short lived for any reasonable attempt at decoding the SSTV image. FITSAT-1 was however much better, getting relatively clear signals from the CW telemetry beacon, however I have been struggling to actually decode the messages, however after some research I tried the MRP40 Morse Code Decoder program, which appears to be excellent and as you can see from the screenshot below successfully decoded some of the telemetry messages. 

Definitely got the bit between my teeth now, will try to get a full telemetry frame this evening, weather permitting!

First FCD experiments

I was feeling shattered after a hectic Christmas and being back at work, so it was nice with the New Year break to have a chance to recover. I have spent the weekend around the house and so had a good chance to try out my FUNCube Dongle (FCD) to do some proper satellite reception!

First off I spent a while calibrated my dongle using the excellent user guides available on the yahoo group, and getting to grips with the excellent but somewhat daunting SDR-Radio application. 

I fired up another of my ancient laptops a Sony Vaio, with XP and a pitiful 512MB of RAM. It is a nice machine, with an excellent large display but is a little underpowered. However undeterred with the prospect of some timely satellite passes I installed the necessary software and set off to the summerhouse at the top of the garden with my YAGI and a warm coat.

NOAA Weather Satellites

As I posted about back in October I was hoping if I did get an SDR radio to capture some of the APT images broadcast by the NOAA polar orbiting weather satellites. (Noaa 15, 18 and 19 are currently active)

The SDR-Radio application has the facility to decode the noaa images directly and along with it’s built in satellite prediction and doppler correction features it was fairly easy to get some decent images. The huge advantage of the SDR system is being able to alter the bandwidth to accommodate the 34KHz deviation required (as you can see in the image above)

The image above was captured on 31st December at 13:26 GMT from NOAA-19 on 137.100MHz, the left image is the IR, the right being the visible image. If you click to enlarge you can clearly see Spain and the Balearic Islands at the bottom, the UK and most of Northern Europe is covered in dense cloud and is rapidly going into shadow. There is some noise, caused in part by pager transmissions and some course manual doppler correction.


As I posted before Christmas this little satellite is still going strong but it’s time is very short as reaches the atmosphere. I have been able to receive four afternoon passes in the last two days

As you can see from the image shows, the FCD makes the entire ARISSat-1 2 meter downlink band plan available. The slight slope shows the doppler effect.

On the left you can clearly see the Morse code beacon and the BPSK telemetry segment and the right the FM voice and SSTV transmission. I am really really pleased to have successfully managed to decode some telemetry frames before she meets her fiery death. The decode was done after the passes by processing the recorded IQ wav file. I probably have just one more day to have a chance to try to decode some live telemetry and hopefully forward it via the internet to ARISS.
It goes without saying I have some excellent audio and decoded a couple of SSTV images too.

I love my new toy!

Satellite Tracking using AR on my Android

In my quest to get better reception of the Russian navigation satellites I have installed the Satellite AR application on my Orange San Francisco Android phone. Up to now I have used a simple compass and a pass prediction to work out where the satellite will appear and how I think it will travel across the sky. Then after having acquired the signal fettling the antenna to get the best signal. While it has given me good results I wasn’t convinced I was getting the best signal I could.

The serious method of doing satellite tracking is to use a motorised azimuth antenna rotor connected to a PC running some prediction software. The commercial solutions are hideous expensive and while there are plenty of home-brew solutions available it would still mean a lot of expense in terms of time and money, so I looked for an alternative method.

Then I discovered this brilliant Android app! I used it for the first time late last Sunday evening when it was dark and was suitably impressed, so had a proper attempt in the fading daylight today and was able to take a few photos.

The AR stands for augmented reality and what you get is a view of the sky through the phones camera and overlaid are the positions of any satellites in view. The application uses the phones GPS, compass and accelerometers  to work out where the camera is pointing, so you get to see the satellite as if it were visible in the sky. It is really quite spooky!.

I selected the Russian LEO Satellites option for a pass this afternoon and using a couple of elastic bands to lash the phone on to the antenna post I could then point the antenna directly at where the satellite was supposed to be. The satellite today being COSMOS 2429 on 150.030MHz. The main thing I seem to have been doing wrong was while I had the antenna point in the correct bearing I had the elevation far too low. I needed to be pointing it much higher up in the sky.

I was able to got some excellent audio, with the signal still booming in when it had disappeared off the display. I have enclosed a small extract below, note some of the signal fading is because I was trying to take the photos while holding the antenna in my other arm… it gets quite heavy!

Cosmos 2429 10122011 by nerdsville

I brought my phone back in January for the pricey sum of £80. While not the most powerful Android around, only having version 2.1 of the operating system and is prone to crashes and resets it is probably one of the best purchases I have ever made, it is even better now I can use it to chase down signals!

More Russian Passes

This weekend I was supposed to be off to North Yorkshire for a weekend dog agility event. Unfortunately due to a family emergency we were forced to change plans. So yesterday I found my self at home and in between doing some much needed odd jobs I had the chance to get out the 2 meter YAGI and capture a couple of passes of those Russian navigation satellites I blogged about last week.

Each pass lasted the best part of 15 minutes from the first faint signal acquisition to finally losing it as it sped out of range. Below is an except from the first pass at around 10:00 UTC. The signal is clear and the different tones used can be clearly distinguished. These captures should prove useful for testing any decoder.

Russian Parus Satellite 27-11-2011 by nerdsville
It is quite fun standing with the antenna and pointing in the direction where I expecting the satellite to appear and then once the signal is acquired then fettling it during the pass to maintain the best signal strength.

Not sure what my neighbours are making of all these antics, perhaps I should try to find that extension cable so I can use headphones to monitor the pass rather than letting it blast out the laptop speaker! It must look odd me standing there waving an huge antenna about and receiving strange foreign voices (from the ARISSat-1 satellite) and now this weird ‘morse code’


Russian Satellites

At the weekend I attended a dog agility show in the depths of Cambridgeshire, there is always a lot of waiting around in between runs and so I was sat in the foggy car park. To pass the time I had taken along my PRO-26 scanner. I monitored amateurs on GB3PY and GB3OV chatting about the tropospheric ‘lift’ they were experiencing, found a few taxi firms complaining about the fog, some hospital paging but it was pretty boring.

I was idly scanning around when I happened across a strange signal on 149.9375Mhz.  I could hear a definite doppler shift in the tones so it was a satellite. Checking my pretty useless 9th Edition UK Scanning Directory the frequency was identified as being in the Russian radio navigation and satellite beacon band.

Over the last couple of days I have done some research and discovered it is the Russian Parus Navigation System which dates back to the 1970s. The transmission was in fact on 149.940Mhz but I had the scanner set on 12.5kHz stepping. I have been trying to track and capture more of the signals but had been hampered by a persistent source of interference at home, but did get some audio
Russian Parus Satellite by nerdsville

I found an excellent thread on the UK Vintage Radio Repair and Restoration Discussion Forum with some information supplied by Alan Cordwell who is/was developing a Java decoder.

cosmos 2407 149.970 22/07/2004 28380
cosmos 2414 149.970 20/01/2005 28521
cosmos 2429 150.030 11/09/2007 32052
cosmos 2454 149.940 21/07/2009 35635
cosmos 2463 149.940 27/04/2010 36519

These satellites are very easy to receive on a handheld scanner though obviously you’ll get better results on an external antenna. The tx power is about 10 watts (+40 dBm) so with a 140dB path loss on an overhead pass (alt = 1000 km) you’ll get about a microvolt in a zero-gain antenna, which is enough to hear.

The VHF frequency carries the time data and orbital parameters for the current and other satellites. There is a second transmission on around 400MHz- its in an 3:8 ratio with the VHF carrier frequency. This is unmodulated- i.e cw. It is used to measure the Doppler shift, to determine when the satellite is dead abeam the observer. The transmitted time, and the orbital data, tell you where the satellite was in the sky when that happened- or, put another way, if you know where the satellite is relative to you, then you know where you are- well, you’re somewhere on a line at right angles to the satellite’s track. You then wait for another satellite, and obtain another poition line- and where they cross, then bingo- that’s where you are. Hope that makes sense!

Parus could give you a fix in 1-2 hours; and had an accuracy of 100m anywhere on the earth’s surface. Okay that’s poor compared to GPS, but in the 1970’s it was revolutionary.

It isn’t just Doppler that determines the receiver bandwidth, although you do take it into account. Most satellites have a much higher FM deviation than a normal narrowband FM transmission- the NOAA met sats are about 19kHz deviation I think- and these nav sats are higher too, but not that much. But for decoding, you do need to resolve the 7kHz second markers which a narrow filter won’t easily do.

There is also a lot of information about the Soviet space program on the Zarya website

I would like to decode these signals at some point, providing I can sort out reception. I have found a number of historical guides and projects in addition to the articles linked to in the thread above.

A Time Code Reader/Display for Russian Tsikada Satellites by John M.Franke WA4WDL contained in the Proceedings of the AMSAT-NA14th Space Symposium and AMSAT Annual Meeting 1996
and Decoding the Russian LEO Navigation Satellites by John Corby, VA3KOT contained in the Ontario DX Association magazine Listening In Nov 2005, Dec 2005