Normal view

There are new articles available, click to refresh the page.
Before yesterdayGM5ALX

SOTA API and Google AI to find the Goat

By: gm5alx
6 July 2024 at 20:43

After my double activation yesterday (which I’ve yet to write up), I bumped into Fraser, MM0EFI of RadioRover YouTube fame, in Tesco. He was asking when I was going to be doing some higher point summits, as mostly I’ve been doing ones near to the house which don’t score that high. There are quite a few in my region. After browsing sotl.as some more, I was curious as to how long it took Fraser to reach Mountain Goat. This is the award you get when you reach 1,000 points.

MM0EFI’s stats

You can see his activation list on sotl.as, and it’s clear he’s done a lot of summits and a lot of high pointers. However, the question still remained…how long did it take?

I know the SOTA database has an API, as several other sites use it and I’ve seen it mentioned in the reflector, but I hadn’t come across any documentation. Searching around I find this post which gets me started. I work out MM is associationID 03, and then querying https://api-db.sota.org.uk/admin/activator_roll?associationID=03, I can look up Fraser’s UserID.

In the past I’ve used python to query APIs, put the JSON into a pandas dataframe then calculate and plot things from there. A quick way to get going with this is in Google Colaboratory. It’s a free jupyter notebook in which many python packages are already installed and it’s quick to jump in and get going. Unsurprisingly, it now features a LLM AI assistant, where you can just type in what you want and it generates several options of code for you to run and see what happens.

My first prompt (including spelling mistakes but now corrected) was:

retreive JSON from api url: https://api-db.sota.org.uk/admin/activator_log_by_id?year=all&id and create a plot of “Total”

Option #2 of Gemini spat out some commented code, I tweaked the date column name, as it just guessed it was called Date not ActivatorDate, and tah-dah ✨

import requests
import json
import pandas as pd
import matplotlib.pyplot as plt

url = "https://api-db.sota.org.uk/admin/activator_log_by_id?year=all&id="

# Define the ID you want to retrieve data for
activator_id = "46844"

# Construct the full URL
full_url = url + activator_id

# Send the GET request
response = requests.get(full_url)

# Parse the JSON response
data = json.loads(response.text)

# Create a Pandas DataFrame
df = pd.DataFrame(data)

# Convert the "ActivationDate" column to datetime
df["ActivationDate"] = pd.to_datetime(df["ActivationDate"])

# Plot the cumulative sum of "Total"
df.plot(x="ActivationDate", y="Total", kind="line", figsize=(10, 6))
plt.title("Cumulative Sum of Total for Activator ID: {}".format(activator_id))
plt.xlabel("Date")
plt.ylabel("Total")
plt.show()
The result!

Certainly the trend of a mountain goat! Although I’d say once he reached 1,000 the pressure was off and you can see that gradient relax.

But how long did it take?

The actual question that was asked

So I asked Gemini some more questions and we find the answers:

# prompt: duration in activationdate between start and when total=1000

# Find the first row where Total is greater than or equal to 1000
first_1000_row = df.loc[df["Total"] >= 1000].iloc[0]

# Calculate the duration between the first activation date and the date when Total reached 1000
duration = first_1000_row["ActivationDate"] - df["ActivationDate"].iloc[0]

# Print the duration
print("Duration until Total reached 1000:", duration)

Plus question #2:

# prompt: what row of df has total = 1000

# Find the index of the first row where Total is greater than or equal to 1000
first_1000_row_index = df.loc[df["Total"] >= 1000].index[0]

# Print the index
print("Row index with Total equal to 1000:", first_1000_row_index)

🥁633 days and 172 activations 🎉

I’m at 16 points right now 😅⛰️🐐

Strathfinella Activation

By: gm5alx
5 July 2024 at 07:32

Another hill, this time to the south of Aberdeen. The weather was wet and windy in the morning, particularly so inland, so thought I’d stick to the coast. The two options were Strathfinella or Hill of Garvock. Reports of angry cows from Garvock, plus the sheltered nature of the wooded summit of Strathfinella made the decision for me.

Consulting Fraser, MM0EFI, the local SOTA expert, I was going to climb it from the south, following forestry roads and mountain bike paths. Looked to be fairly short route and a quick claim to the top. It’s only a one pointer, so never going to be that far.

Route from the south

The weather was pretty good, breezy but some sun and mild. The route was straightforward- literally. There were a few bikers around who I met just before the turn off to the summit.

Left or right? Nope. Straight on.

I had a chat with some of the mountain bikers but just said I was out for a walk. Too much effort to get into the real reason! They pointed me towards the trig point which was off to the side of the main path. I almost missed it whilst walking along! It’s right in the trees, and reminded me of the portal stones from the Realm of the Enderlings book series!

I set up 2m first and got a guy down in Brechin, unfortunately he was the only 2m QSO. I spent a long time calling and then decided to move to HF.

The summit is a bit of a black spot for mobile reception and I wasn’t prepared for that. I use my phone for 2m spotting and for SOTA spotting or looking up other activators. I’ve signed up and registered for APRS to SOTA, and SOTAMAT, a FT8 spotter, and maybe even a SMS one, but do I know how to use them?! 😅

I eventually managed to spot myself on 40m and got a few contacts. 20m spot did work but no one ever came back to me…even though I’d had a few contacts with other callers.

QSOs

I managed two S2S contacts in Germany. One was an exchange of 11-31 each way but we managed to get my callsign and SOTA reference communicated.

On the way down I thought about doing Hill of Garvock but I hadn’t packed lunch and still had to get back home. Maybe a double activation next time!

Brimmond Hill Activation

By: gm5alx
21 June 2024 at 22:01

A lovely sunny day, and time for another activation. Hopefully better than the last – certainly the weather was better. 🌞

Quite a close summit to home, Brimmond Hill overlooks Aberdeen and the airport to the east and then Aberdeenshire to the west. There’s a walk up and over it which is popular with dog walkers, and so I met more people than I usually do on this summit. The hill also features several commercial towers which make a bit of noise on 2m. Usually a pip every so often and then a huge blast of rf that completely wipes anything out, interestingly around the 2m and 70cm calling frequencies but not so bad away from them.

Looking towards the sea
Mast up and ready

Noise machine

I tried 2m first, with the Slim G on the pole and made a couple of contacts locally. There’s a bench that looks out over Aberdeen that I was going to setup on, but the aforementioned dog walkers came by and sat on the bench, so I decided to move off and find a spot in the heather. MM7RVC recorded me calling at his house somewhere to the west, showing off his pole and slim G – so we got a SG2SG QSO.

For HF I went with the EFHW for 40m, with the 49:1 (keep meaning to write up making that but not got round to it yet! Nothing special mind), setup on the 6m carbon pole. Generally running north-south. The weather was lovely, there was a breeze but it wasn’t too cold, and so for most of the time I tried chasing other summit activators. This worked well, as I ended up with five summit-to-summit (S2S) QSOs across England, German, Austria and Poland. I then put out spots for myself and got a few more contacts.

I think the battery was low in the radio as it was only outputting 5W, not that 10W would’ve made a huge difference, but I still find it impressive what 5W can do.

QSO Map

It was time to pack up, and I thought I’d see if I could catch anyone else on VHF/UHF. There’s a local lunchtime net, although I can never remember if its 12:30, 1 or 1:30pm that it starts. I got my Slim G back out and on the mast and this time I did sit on the bench. The net was going on and after a long over I managed to break in and say hello. We also did a quick QSO on 70cm. I’m not sure if the Slim G is suitable for 70cm. It worked but at what SWR? I should measure it and see. Another couple with their dog came up and wanted to come to the view point but one look of me and they decided to keep going! 😅 At this point my HT ran out of battery too!

Slim G in the wind
Action shot!

If I was YouTubing myself, everyone would think it normal! I ended up overtaking the couple walking back to the car. I said “Hi” but no QSL on that contact.

SOTA saved by 2m

By: gm5alx
16 June 2024 at 07:51

It’s been a few weeks since my last activation and I wanted to go out. I didn’t have much time as I was meant to be sorting out the garage, so I picked a summit close to home, Cairn-Mon-Earn (GM/ES-080).

SSE working on one of the towers

It’s quite an easy walk following the loggers roads up to the summit. There are multiple towers there for mobile phones and other networks. The local repeater, GB3GN, is also here. The weather was dry, and I had the occasional blue sky, but showers were forecasted.

It was windy too, so I hunkered down by the cairn, however, this probably wasn’t the best place being so close to the towers. I setup my slim G 2m on the mast and called CQ. I didn’t get any response so setup on HF. The ground slopes away with heather and bushes, so I decided just to go for the random wire vertical. It has a 5.5m radiator and 2 counterpoises. I started on 20m, and two stations replied, Spain and Finland. This turned out to be my lot on HF. I tried other bands and calling other stations but no one could hear me. It was a shame as there were several other summits I could hear.

Slim G on the carbon 6 mast

I managed to get MM0EFI on the HT, and so I was at 3 contacts. A SOTA summit needs 4 to activate. It had been about an hour and the rain started to come down heavily. I dashed across to some nearby trees and setup underneath one of them. After trying all the bands I came back to 20m, put out another spot and the same Spanish station came back to me…well at least I knew it wasn’t operator error with the radio or antenna!

Under the tree

This was meant to be a quick activation and I’d now been there for over and hour, and so decided to pack up HF. I could see the TV mast in the clouds and so walked over to get a better look. I then found what would be a great spot to activate (if it wasn’t raining) as it had clear views all around. I thought I might as well call on 2m and see if I could get anyone.

I spoke to Fraser again, MM0EFI, now /M as he was driving to work. We made a contact with his intermediate callsign, 2M0EFI/M, so technically I’d activated the site. However, I was determined to get four different people, and in my next CQ, George, MM0SAX/M, replied.

View across the to TV mast

George was driving up from Glasgow on the A90 and has a radio in his work van. We had a nice chat for about 15 minutes, and that turned my “this has been a waste of time 🤬” attitude into a “that wasn’t so bad 🙂” one!

I enjoy HF and setting up different antenna, but if I could reliably activate with just 2m/70cm I’d love to go up the hillside with just my HT.

Before I knew what the activation would entail

It was back down and back home. The kids were soon home from school and the garage didn’t get sorted out. I’ll try again next week…

Building a tiny mic 🎙️

By: gm5alx
24 March 2024 at 09:32

In an effort to slim down my travel kit, I decided that a tiny mic was in order. I’ve seen several people on YouTube use small mics and I’ve seen some for sale on eBay but when I found this design, I knew I had to build one.

Testing, testing, 123

The site has a list of what you need and most of the components can be found on aliexpress for a very low price. You just have a wait a bit for delivery. You end up with 10 or more of each and my total was around £5 delivered.

It is very small! First I connected it up with what I thought was thin hook up wire but it was too big and difficult when I tried to squeeze it into the case.

Full of wires

I used some of the sotabeams thin wire I’d made an antenna from and this was much better. I also placed each component inside the 3D print and measured out the wire more precisely. It was fiddly but meant there wasn’t too much extra wire to squeeze in.

Neatly tucked in

The top half of the case clicks together but does need a fair amount of force to get it on. The nut for the 3.5mm socket holds that in place and we’re ready to go.

Side by side with MH3

I might make one for the G90 next.

First SOTA Activation

By: gm5alx
7 March 2024 at 17:39

I’ve chased a few SOTA activators before, it’s quite a fun thing to do, you watch the spotting website and then see if you can get them. Once someone posts a spot it’s pretty quick for them to get a pile up. I’ve kept thinking about doing it, and I do live in an ideal place where there are plenty of summits to chose from. I’ve not been on the radio much this year and I ended up taking a day off today to drop off and pick up the kids from school, so I decided I should make the most of it and go up a mountain!

Using the great SOTA map website, Sotlas, I had a look around to see where I should go first. As I was doing the school run, I was limited on time to about 6 hours all in. I also thought I shouldn’t try too much on my first attempt, in both walking and radio setup. I noticed that some summits get bonus points during the winter (between about December and March), and one of those was near me so I thought that would be ideal. The place is called Bennachie, and one of its highest peaks is Oxen Craig. The peaks are call a ‘tap’. This is the summit GM/ES-061, which is worth two points and five in the winter.

As you can see from this photo taken by MM7MWL, it’s a beautiful view.

Photo by Mike Lowson, MM7MWL, 5th December 2022

Gear

Radio-wise, I still have my Xiegu G90, which was my first radio, that is portable enough – certainly when compared to the Yaesu FTDX10! It’s got a bit of heft to it (2.5 kg 😰), but is 20W, has a great ATU and a nice waterfall.

For the antenna, I wanted to keep it as simple as possible and to make use of my carbon 6m mast. I found MM0EFI’s random wire suggestion and it looked ideal. This is 5.5m radiator, with two 4.25m counterpoises. They’re attached via bananaplugs to a BNC, then a short piece of coax with a common mode choke into the radio.

The battery situation isn’t ideal. I’m using an ultramax 18 Ah LiFePO4 battery, which has loads of capacity and much better than a lead acid or a LiPo one but it’s still around 2.5 kg. I use it when out in the garden, but have never had to carry it very far. I do have a few 18650 lithium cells which I’m meaning to make my own portable battery but I’ve not got round to it yet. So the ultramax had to do.

I also brought my Boafeng 2m/70cm radio to try some 2m FM. I have a Kenwood TH-D72, which I thought of bringing for APRS, but it’s too complex for my liking. Plus I could’ve just used my phone for APRS if I really wanted to.

All in, with lunch and water, my backpack was over 6 kg. Fine, but plenty of room for optimisation next time.

The Activation

With the kids dropped off at school, and backpack packed, I set off about 0915 to drive to the car park behind the summit.

sign showing map of the summit and routes
At the car park

I wasn’t sure how long everything was going to take, so I opted to find the shortest and most direct route to the summit. There are quite a few walks you can do in the area via various taps and approach from different sides, but starting at the “back” looked the quickest. It was basically a straight up.

I had looked at doing two activations in one trip, as Millstone Hill, GM/ES-077, isn’t that far away. However, when I worked out a couple of routes they were 4-5 hours of walking and I decided that was trying to do too much in one day.

Route planned on OS Maps
Straight up 350m over 2.2km (or 1,150 ft over 1.4 miles)

I paid my parking at 0953, and was being blown away on the summit by 1040, which was a bit quicker than the 1:08 hrs OSMaps suggested it would take to walk up. I was pretty hot and sweaty by the time I got to the top, and had taken off my hat, but once exposed in the wind, I was glad to have it.

Looking North
Up we go

It was quite nice weather on the way up, I could see the summits were under cloud cover, and when I reached the top the wind was howling and the air was very cold.

Cloud
View from the top

I looked around for a nice place to setup, and ate my sandwich. Another guy came up and we said hello. I tried a few calls on 145.500 MHz, but I think I would’ve needed to organise this ahead of time with the locals. I found a nice outcrop to shelter behind that was in front of the summit, and setup the pole and radio on a rock. I had a little nook to crouch in and there I started to see if I could make any contacts.

Radio Setup

I started on 40m, had a listen to 10m, but it seemed dead, then moved to 15m and then finally 20m. I managed 37 contacts, with 14 countries, two summit to summit QSOs, and one parks on the air contact. My furthest contact was with Z36T in The Republic of North Macedonia at 1501 miles.

Map (partial) from SOTA database

I’d been on the air 50 minutes and my logging hand was getting cold! Plus I was getting stiff in my funny crouching position, and concious of getting back in time to pick up the kids. I was using Cloudlogoffline app to log, which is handy as it can then sync to my cloudlog database but I don’t like that it doesn’t keep the frequency from the previous QSO as the default entry. [update: you can under the settings, so set it there before starting to add QSOs.] It’s also fiddly to add another SOTA reference due to the iOS keyboard coming up when you select an input box and not being able to scroll. I might just do ‘Fast Log Entry’ (FLE) next time in an Apple note file. I’ll see what else there is too. VK port-a-log seems to be a favourite for SOTA but it’s Android only.

I was back in time for a nice cup of tea and sit down before it was school pick up. I look forward to the next one. It’s fun being the DX! 📻⛰

❌
❌