Another Day Another Arduino Project
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.
Andrew Garratt, MØNRD, is a regular contributor to AmateurRadio.com and writes from East Midlands, England. Contact him at [email protected].
Amateur Radio Newsline Report 1899 January 3 2014
- Ham radio assists a rescue at sea off the coast of South Africa
- Amateur Radio stands ready as a winter storm hits Hawaii
- IPAWS data storage may be headed to the Cloud
- Tokyo Hy-Power files for bankruptcy in Japan
- A winter DXpedition to Finland’s far north is underway
- Ham radio Astronaut takes the ultimate self portrait in space
2014
What blog wouldn’t be complete without the New Year’s resolutions? Like everyone else in amateur radio blogademia, I’ve got some resolutions for 2014:
Get my contest CW speed up to 35 WPM. I really wanted to make a resolution that I would do some ragchew CW QSOs in order to increase my overall speed, but I know that’s just not realistic. Therefore I’m going to attempt to increase my contesting speed, mainly by operating more contests and practicing with Morse Runner when on business trips.
Not view QRZ or use it for callsign lookups each day in 2014. A lot of radio amateurs do a QSO-a-day thing for a year. Not me. I travel too much and just can’t get on the air every day. And I have a life outside of amateur radio. So I’m doing something else to further my enjoyment of amateur radio, I’m not going to go to QRZ.com for 365 days and will use other services for callsign lookups. Now that I’m using InoReader, I will depend on RSS feeds from numerous other sources for getting my amateur radio news fix. I’m going to buck the “I’m Good on QRZ” trend. Call it No-Zed-A-Day. I’ll be tracking my progress on this blog, so check in periodically to see how I’m doing. Wish me luck.
Make a serious effort with satellites. Amateur radio satellites have been going through a bit of a renaissance or rebirth recently. The old guard will bemoan the demise of the HEO or High Earth Orbit satellites of yesteryear. LEOs or Low Earth Orbit satellites are where it’s at, as the recent launch of numerous cube satellites will attest. They represent and benefit from favorable trends in amateur radio and technology: miniaturization, efficiency, cheap computing power, open source software, and an open and energetic community of volunteers, supporters, and followers. I need to complete my Frankenrotator project and get my satellite station on the air.
Make the trek to Dayton. I’ve never been to Dayton and I keep saying each year that I’m going. I know I’m going to hate the facilities, dislike the hoards of people, and vow to never go again, but I feel I really need to do this once and get it off my bucket list, before Hara Arena crumbles into a pile of dust. Expect blog posts about this and please bear with me while this passes through my system.
Organize some multi-operator events. There’s something I really enjoy about getting together with a group of amateurs to work a contest, climb a mountain, camp out, build something, or do all of these at once. I vow to organize some events with local radio friends.
Organize a DXpedition for 2015. I intend on getting my feet wet with DXpeditioning in 2015, and hopefully will organize or participate in a DXpedition every two years after that until I go to the big hamshack in the sky. This DXpedition won’t be a big one like Amsterdam Island, but my goal is to eventually work my way up to some top 20 most wanted DX entity expeditions.
Continue doing cool stuff with Arduinos. I’m still having fun developing software for Arduinos to do cool amateur radio stuff. The Radio Artisan Group which supports my projects has almost reached 500 members. Everyday I get email from people around the world asking about projects or bouncing ideas around. We really do have a lot of innovative and creative people in amateur radio.
Those are my amateur radio resolutions for the year. Happy New Year and 73!
Anthony, K3NG, is a regular contributor to AmateurRadio.com.
Antenna is on order
![]() |
| MFJ 1718 |
Mike Weir, VE9KK, is a regular contributor to AmateurRadio.com and writes from New Brunswick, Canada. Contact him at [email protected].
WebProp is broken
Many of you will have seen these propagation banners on many ham web sites. They are generated by a script on the G4ILO’s Shack website.
![]() |
| WebProp propagation banner |
It appears that NOAA changed the format of the wwv.txt solar data file with effect from I January . When I turned on the computer I was greeted by a pile of “bad data” messages from the PHP script that processes wwv.txt and turns it into an intermediate data file which is used by WebProp (and also VOAProp) to display the current solar data.
Unfortumately I cannot fix iy. My vision is too confused to read type very well and my brain is too befuddled to deal with technical compouter stuffany more. Even typing a blog post is a trial for me at the moment. I have hade to make dozens of corrections even to get this far (one reason for the dearth if blog postings recently.
Is there anyone who knows PHP who would be willing to take a look at the script and fix it so tyhat it will work with the current bersion if the wwvntxt file?
I foolishly thought that if I just left erything as it is then it would juat carry on running without any work from me. Unfortunately things get updated and require changes to be made. Maintaining this website has become burden I could do without right now It causes me a lot of stress and upset that I can’t manage to do things i could easily do before. The easiest solution might be just shut down g4ilo.com for good.
Julian Moss, G4ILO, is a regular contributor to AmateurRadio.com and writes from Cumbria, England. Contact him at [email protected].
Arduino, WSPR and AD9850 DDS experiments
Christmas is thankfully behind us so I can get back to what I enjoy doing once I have reorganised my workshop.
As you know I am currently developing a potential High Altitude Balloon (HAB) project and have been experimenting with the Arduino microprocessor platform and have constructed a basic prototype.
With the arrival of the GPS module(s) I have had it successfully working and even took it out for a test walk in the local area, receiving the data and uploading it to the UKHAS habitat system.
NERD-1 and Boris have just been for a walk, first time NERD-1 has had proper GPS and running on batteries. #hab pic.twitter.com/RaKsf1rQhr
— Andrew Garratt M6GTG (@nerdsville) November 23, 2013 This project has revitalised my interest in 'hobby electronics' and I have ideas for a number of other Arduino based projects and have been splashing out on components from eBay. Just before Christmas I purchased an Arduino Mega board, this has more I/O pins than the current Uno and specifically some extra hardware serial ports.
Do any internet search for Arduino based amateur radio projects and it will results in numerous mentions of projects using ultra cheap DDS modules based on the Analog Devices AD9850/AD9851 chipsets.
DDS means Direct digital synthesiser and is a type of frequency generation which can be used for creating arbitrary waveforms from a single, fixed-frequency reference clock. Read the Wikipedia page for more details.
In a nutshell the AD9850 is a chip that under microprocessor control can produce a sinusoidal wave from about 1hz to 40mhz. In other words it is an accurate microprocessor controlled VFO (Variable Frequency Oscillator) or signal generator.
VFOs are the main building blocks of radio receivers and transmitters, so not surprisingly a lot of projects have utilised these modules, rather than the traditional means. Intrigued I ordered a couple of these modules for the pricey sum of £3.50 each!
Using information on George Smart's (M1GEO) website and Simon Kennedy's (G0FCU) blog I quickly had a simple WSPR beacon running!
Experimenting with Arduino and AD9850 DDS and GPS unit.. pic.twitter.com/rxDHQQ1aFd
— Andrew Garratt M6GTG (@nerdsville) December 29, 2013 The Arduino uses the GPS module borrowed from NERD-1 for accurate time and then controls the output of the AD9850 DDS to generate the WSPR signal.Before anyone panics I know at the moment I only hold a Foundation Amateur Licence so the construction of homebrew transmitters isn't allowed. This 'beacon' has no power amplifier and the antenna consisted of an inch or so of wire on the DDS output. I was able to verify the operation using my SDR receiver in the same room.
Construction of commercial kits is allowed under my licence so I have ordered a Ultimate3 QRSS kit from Hans Summers for the pricely sum of £17.50! This uses the same DDS module and same microcontroller as the Arduino.
In the meantime there is also more information and ideas on Eugenr Marcus' (W3PM) webpage about the use of these DDS modules, including making frequency reference sources and calibration using the GPS module.
My new year resolution is to get my Intermediate Licence as soon as possible.. but it has been great to get down to some proper experimenting...
Cannot beat a picture of an oscilloscope to look techy.. my DDS experiments continue... pic.twitter.com/T9OLHOdTLW
— Andrew Garratt M6GTG (@nerdsville) January 1, 2014 Andrew Garratt, MØNRD, is a regular contributor to AmateurRadio.com and writes from East Midlands, England. Contact him at [email protected].
Some Video from Summit 7472
Mike Crownover, AD5A, is a regular contributor to AmateurRadio.com and writes from Texas, USA. Contact him at [email protected].
















