About VK5ZM

Another Ham who was bitten by the Fox Hunting Bug in the early 90's. Participated in numerous National DF championships and likes nothing more than the challenge of finding *any* hidden radio transmitter. Has been involved in HAB experiments since 2010. Goal is to fill his Toyota Hilux so full of DF gear that he has to buy a Landcruiser.... Approximately half way there.

Eclipse Mosquitto on a rPi

For a while now I’ve been meaning to investigate the Message Queuing Telemetry Transport protocol or MQTT as it’s more commonly known. While the protocol is nearly 20 years old it has become increasingly popular with the Internet of Things (IoT).

The original MQTT code was donated by IBM and Eurotech to the Eclipse Paho project more than 10 years ago now and since then has been extended and massaged into what is known as Mosquitto today. I also like that Eclipse have done a lot of work writing clients for a great many platforms making the developers job just that much easier. A few of my friends have used it professionally so it comes recommended and seems like a good place to start.

So I wanted to experiment with this on a Raspberry Pi (there is a plan more on this later!), so after a bit of googling I found a nice guide written by Adafruit (click) that was the basis of what I used to setup my MQTT stack.

The following is what I needed to do to install Mosquitto on a stock installation of Raspbian Buster Lite. The Mosquitto package is available pre-compiled for ARM in the Debian repo’s so that makes life much easier;

$ sudo apt-get install mosquitto mosquitto-clients
$ cd /etc/mosquitto/conf.d/
$ pico mosquitto.conf

Once pico has created thew mosquitto.conf file then copy the following configuration into it;

# Config file for mosquitto
#
# See mosquitto.conf(5) for more information.

user mosquitto
max_queued_messages 200
message_size_limit 0
allow_zero_length_clientid true
allow_duplicate_messages false

listener 1883
autosave_interval 900
autosave_on_changes false
persistence true
persistence_file mosquitto.db
allow_anonymous true
password_file /etc/mosquitto/passwd

The configuration above is just a basic one for testing. It is by no means secure or ready for production systems, you have been warned. Once the config has been written the following two commands can be used to start Mosquitto and check it is actually running;

$ sudo systemctl start mosquitto.service
$ sudo systemctl status mosquitto.service 

There are small apps that can be used to throw data into the MQTT broker and create topics to publish and subscribe data to and from. Once I’ve worked this out for myself I’ll throw something here.

Servicing a Heat Exchanger

One of the “new to me” things my Nereus has come with is a heat exchanger. The heat exchanger allows the inboard engine to be cooled much like a radiator except the coolant is not cooled by air but by raw sea water instead.

To the side is a picture of the heat exchanger in situ. The upper larger hose is where the coolant enters the heat exchanger and the coolant pump draws water from the bottom. The raw water cunningly runs the other way to ensure maximum heat transfer. So raw water enters at the bottom and exits from just under the top tank.

In all of our previous inboard boats the raw water (sea or fresh) was pumped through the engine block before being discharged into the wet exhaust. Running raw sea water in any engine is not a good idea for two reasons;

  1. Salt can be deposited out of solution when it is heated above +68degC
  2. Salt water is rather corrosive to things like Iron and Aluminium

So in the case of a raw water cooled cast iron engine the coolant galleries will over time get caked in salt deposits or holes develop in the block where you don’t want them to which ultimately leads to premature engine failure. This is not so much of a problem for boats run in fresh water. Having a heat exchanger doesn’t prevent raw water salt deposits from high temps, but at least periodically we can service the heat exchanger and make sure the raw water tubes are kept clear. There are also special solutions that can be purchased to dissolve these deposits, something I’ll be looking at soon.

However not having had a heat exchanger before I had no idea what maintenance was necessary. Thankfully I was able to find a name plate on the heat exchanger which lead me to the manufacturer and model a Savage MK1 Compact built across the pond in New Zealand.

I was also pleased to find they had a local Australian distributor Luxfords in Victoria. It is not often you find distributors that are happy to assist customers with old products, so it was pleasant to say the least when I gave them a ring and received a healthy dose of good ol’ fashioned service. Kudos indeed ! So after my quick phone call I had all of the parts necessary to refurbish my heat exchanger delivered to me in a couple of days.

So the team at Luxfords suggested that I replace the sacrificial anode, an o-ring seal and a couple of washers made from nylon. However firstly I had to get it out of the boat. Here’s a photo of the unit in situ and once extracted, this turned out to be a marathon with some of the bolts requiring patience to get them undone due to restricted access;

So it turns out the heat exchanger is nickel plated copper not stainless as I first guessed, so there has been some form of corrosion on going on that resulted in the tarnished green appearance. Nothing a light slight scrub with steel wool couldn’t remove. It would also appear that the rubber on the clamps that hold the heat exchanger had perished and were split, so once again a phone call to Luxfords and they came to the rescue with the new clamps.

Once the unit was extracted from the boat I was able to find two captive head nuts that then allowed me to separate the bottom cap from the upper tank and main body of the unit.

This was where the fun really began.

One of these captive nuts is found within the header tank that holds the coolant and once removed I found a brass rod that runs between the coolant tank at the top and raw sea water cavity in the bottom. As you can see in the images below it was the lower nut that decided that it would undo.

It was now very clear what the nylon washers were for, one of these washers was supposed to provide the seal between the two cooling systems, meaning the raw sea water and engine coolant.

It was a little horrifying to find that the heat exchanger unit didn’t have one fitted. Gulp.

It may very well have been serviced in the past and it was overlooked, perished or removed. This meant the only seal between these two chambers was bring provided by a metal to metal surface, phew yet another bullet dodged.

So digging further through the spares kit I’d been supplied, I still had a second nylon washer, 3″ o-ring and a sacrificial anode. The o-ring was easy that went on the lower cap and sealed this and the main tube. I was then guessing the second nylon washer went under second captive nut again to seal the raw water chamber at the bottom. That just left the sacrificial anode.

As you can see In the pictures above there wasn’t much of the old sacrificial anode left before things got hairy. The compact heat exchanger requires the anode to be trimmed slightly (approx 15mm) to fit, which was easily done with a junior hacksaw. This was reinstalled with a bit of thread tape to make sure it too didn’t leak. I’ll be pulling this anode out every service interval to inspect, it certainly won’t ever get that short again.

When reassembling I did not forget to include the nylon washer under the captive nut of on the threaded rod that sits inside the tank, I even took a photo to make sure I didn’t forget.

Then it was a simple matter to clean up and reassemble the unit read to go back into the boat. In the photo below you can clearly see the raw water inlet and outet. As a precaution I put a little marine grease on the lower o-ring around the lower cap to ensure it wasn’t pinched by the outer tube when inserted. Below is a picture of the unit awaiting re-installation including its new clamps.

Once back in the boat I need to pressure test the raw water and make sure it does not leak into the coolant tank. Then it will easy to fill the engine with cooland and run the engine to check everything works.

Now it’s time to tackle the alternator and electrical systems.

Thermostat Issues

While changing the oil in my Nereus I was watching the temperature gauge and noticed that the engine temperature would warm up to 95 degrees before the thermostat would open, once open the temperature would drop markedly to 80 degrees before finally settling at 85 degrees. It was quite clear that the thermostat was faulty if not on the way out. There was no way I could leave it like that.

Since this boat has a heat exhanger the thermostat is the same as used in a car so replacement parts shouldn’t be hard to get from the auto parts store. The thermostat is hidden behind the usual cover at the front of the engine;

It also looked like the gasket was not sealing well with evidence of a small leak having occurred at some point. The downside of replacing the thermostat it would require the coolant to be drained, so it’s was also time to also service the heat exchanger and kill two birds with the one stone. Note to self I need to find out what’s required here.

The first surprise upon pulling the bolts out of the old thermostat cover was the bolt on the port side was mild steel and was only being held by three turns, it was a little short. The other starboard side bolt was stainless and much longer (32mm cf 25mm). A quick confirmation with a set of vernier calipers told me the right length was 32mm. Now this engine is from the period where metric and imperial co-existed in Australia. So it was highly likely the bolt as 5/16 imperial and not 8mm metric. So a quick measurement with a thread gauge confirmed it was a 5/16 UNC 1 1/2″ long bolt that also required a split washer, so off to the bolt shop we go I don’t have much in the way of imperial bolts in my workshop.

The thermostat housing was a little pitted, so that was duly rubbed on the concrete with a circular motion to grind away some of the surface material to remove the pits (easier than sandpaper and a sheet of glass if you don’t have it) and all traces of the gasket were removed with a utility knife. The thermostat also came with a new paper gasket, which was duly coated in Hilomar M to ensure a good seal and then re-assembled.

It doesn’t look much different than before, except the keen observer will see the bolts have changed just a little and there’s no sign of that coolant leak. The proof will be that it doesn’t leak.

The last task was to get all of the coolant out of the bilge, so to the pumps… well the bilge pump at least. Before I threw the coolant all over the driveway the outlet was redirected into a bucket and fresh water used to dilute the coolant sufficiently until no more “Green” was observed in the bilge discharge.

Time to move onto the Heat Exchanger before re-filling with coolant.

Marinised Ford 6-Cylinder Engine

There is surprisingly little about marinising car engines and putting them in boats.

Manufacturers like Mercuiser, OMC, Pleasurecraft and others have being doing this under their own brands for many years and it was quite common in the early 70’s through to the mid 90’s that various companies were doing it themselves in a workshop. My new boat is one of the later.

So after having owned my Nereus for a while now I thought I’d detail what I’ve learnt about it so far about the marinised Ford 6-cylinder engine that is in it;

  • Ford 250 pre-crossflow inline 6-cylinder (donor either Ford Falcon XA or XB)
  • Strongberg 1-bbl down draft carburettor
  • Delco Alternator (10SI body) with external regulator (RE55)
  • Bosch starter motor
  • Standard Kettering Ignition with Bosch GM573 points (!!!) and 12V coil
  • Borg Warner Velvet Drive Gearbox
  • Savage MK1 Compact Heat Exchanger
  • Fynspray 3/4″ Raw Water Pump
  • Marinised Wet Exhaust – Unknown

So the only unidentified part on this engine is the wet exhaust manifold, I’m hoping that at some point I’ll work out who made it. There may be a plate or a marking that I’ve not found yet that will give me a clue.

From the list above it is quite clear that this is a “car engine in a boat” which has not yet been completely marinised. Many of the accessories and ancillary parts are still automotive grade parts which are not intrinsically safe in a marine environment. To properly marinise any engine and make it safe one has to reduce the chance of a spark from igniting fuel vapour in the bilge and/or prevent fuel vapour from being released into the bilge in the first place.

With anything that I rely on to get me home safely the engine in this boat is certainly right up there on my list of things to pay attention too. So as I go through the boat doing my usual checks and maintenance I’ll be upgrading various parts to improve safety where necessary. Since this boat was made in the mid to late 1980’s there is no immediate need to rush out and replace the engine and all of it’s accessories, since it has lasted this long already without them.

More to come.

Changing the Oil in a boat

One of the more interesting jobs with an inboard boat is changing the oil. Unlike a car it’s a little challenging to get under the boat and drain the oil into a pan. When purchasing the boat one thing I noticed was someone had installed a manual oil pump, you should be able to see the shiny thing in the middle there with a handle.

So the first step was to get the engine oil warmed up before we pump it out. Since this was the first oil change I decided to use some engine flush to make sure it’s as clean as we can. Once the engine was good and hot the oil was a doddle to pump into a bucket and remove. Then it was a simple matter to replace the oil filter and re-fill.

I’ve so far been happy with the Penrite Oil I put in my Hilux, so once again I’ve gone with the same brand. Using the Penrite product selector it suggested a standard mineral oil with plenty of zinc, so 5L of Penrite HPR30 was purchased. I’m thankful these older engines only requrie 4 and a bit litres of oil, so only a 5L bottle is required.

I was happy to find that the oil filter used is the same as my old Hilux, that will save some confusion in the future.

Now to get in and start degreasing the engine and bilge.

The Nereus

For many years I’ve been wanting to purchase a Nereus inboard fishing boat. These boats were made in South Australia from the early 1970’s until the early Naughties. They are a very popular fishing boat that has a wide beam and is well known for it’s excellent handling in rough seas.

Finally after a 12 month search a Nereus came onto the market that ticked all my boxes. In a nutshell I wanted a boat 16-18′ in length, with a good hull, on a good trailer with an inboard engine and gearbox. If it came with a heat exchanger that was a bonus.

Well here’s a picture of our new purchase on the trailer at Port Wakefield on our way home from Yorke Penninsula. It certainly doesn’t look like a boat built in the mid 1980’s.

While the Nereus is common in SA that doesn’t mean they come up for sale often, it also means that when they do come up they hold their price. So to offset the cost and ensure it doesn’t sit on a trailer for extended periods I’ve gone halves with my Parents. Between my father and I we should able to get her in the water and out fishing as often as we can.

Here’s a few pics of the inboard engine;

The engine in this Nereus is a Ford 250 cubic inch pre-crossflow log head inline six cylinder. Being the pre-cross flow engine this inline six is the American designed log head which was used in a heap of different vehicles. Of note you can find them in Mustangs and F100’s in the states, or Ford Falcon XA/XB/XW/XY and some Cortinas from the 1970’s. The block numbers suggest the doner car was a 1972 Ford XA Falcon This should make it fairly straight forward to get spare parts.

Anyway that’s the Nereus in a nutshell. I’ve already started making a list of the “jobs to do” and I’m looking forward to getting cracking.

The Windows 10 Conundrum

One of my son’s laptops recently suffered a hard drive failure. He’d been using his “roadkill” laptop for a year or so that came pre-installed with Windows 10. Until now I’ve avoided upgrading any of my machines past Windows 7 (why fix what isn’t broken) and I personally prefer Linux on my laptops for reasons.

The roadkill laptop I’d given my eldest son was a HP business machine so it wasn’t hard to slip a new WD Green SSD drive and give it a small boost in performance at the same time.

Reinstalling Window 10 was also rather simple, simply requiring creation of a USB media stick and following the bouncing ball with the license codes I had on paper.

So far so good.

However upon booting the machine I was horrified with the push to sign up for a Microsoft account to “simplify your user experience”. Ummm childs laptop, not a good idea to suck on the cool-aide and allow tracking of habits at a young age, there stills needs to be some privacy. So with the help of Google we managed to create a local account (not intuitive), which does not require internet access to login.

So now we have an account on the local machine I could see what the new UI looks like. Once again I wasn’t impressed with the standard apps installed, the bloat and blatant adverting gumph plastered on every screen. There was content waiting and ready to download as soon as you clicked on an icon, installed games and a host of stuff I wouldn’t let corporate users access too. So off they came too.

I’m going to be forever thankful to the writers at HowToGeek for there series of articles on how to disable the advertising and things like Cortana (also not what I want on my childs laptop). Below are the two articles I found most useful;

One day the likes of Lego may learn that Linux exists and the one App that forces me to use Windows 10 on his laptop will allow him to move to Linux on his laptop, fingers crossed.

I am not looking forward to when I must move my last Windows 7 machine to this new monster. At least now I’ve had some experience disabling the features that I personally don’t like.

Rubidium Reference – BITE

The Efratom LPRO-101 has a Built in Test Equipment (BITE) signal available on Pin 6. This pin is connected to the 5V logic within the module. When the BITE signal goes LOW (0V) then the physics engine has achieved lock within roughly +/-5×10-8 of it’s absolute frequency. Thankfully it can do this within 3-4 minutes of operation.

When I’m out in the field it is certainly useful to know what the reference is doing or if something has gone wrong without having to pull it apart and get out a multimeter. So on the front panel I’ve placed two LEDs one for power and the second to show lock.

The lock signal will be nothing more than the BITE signal inverted, which can be done with one transistor. I’ve seen some quite elaborate two and three transistor circuits, but we only really need one. The circuit I’ve draw below is straight out of my engineering log book, it’s so simple I couldn’t be bothered firing up Altium to draw it;

Basically we use one transistor to shunt the LED so that it is OFF while the BITE signal is HIGH. There is no rocket science here. With the heaters in the reference drawing 1.2A at startup throwing an additional 15mA through a transistor until it’s locked should be no big deal. The entire current drawn is approx 30mA, they are certainly bright enough in daylight, they might require turning down after using this at night, time will tell.

The circuit above is so simple I built it dead bug style on a piece of vero board. I did this so I could simply use double sided tape to hold it to the box and not short anything out.

One minor annoyance I’ve found is at the time power is applied the BITE output remains LOW for half a second or more before it goes HIGH. This means that the locked LED will light momentarily, then go out for 3-4 minutes as the reference warms before it lights again. The video below shows what I mean, for such a simple circuit I’m happy to put up with this feature;

You can hear the first click of the power supply, the Locked LED will light and go back out again. This was done when the reference was already warm so it takes less than 20s to regain lock again.

Anyway I’m certainly pleased with the simplicity. However now I’ve got ideas to use a micro a DAC and give this thing some intelligence. More notes in the log book for when I find time to come back to this again, for now it’s time to get out in the field and use it in anger !

Posted in EME

Rubidium Reference – The Retest

It can take a GPS disciplined oscillator a while to stabilise and settle down. When I first tested my new free running rubidium reference the GPS disciplined rubidium reference had spent no more than an hour making it’s observations and corrections. So I left it running over night with the intention of measuring things again in the morning.

So after 16 hours the frequency error has reduced more than three decades, should be good to go. I also have a precision TXCO reference (SDI FEL-10A) so I thought I’d measure this first and see what sort of stability and accuracy this can achieve. Both the free running TXCO and Rubidium were switched on 30 minutes and left to stabilise before measurements were made;

So that is quite a respectable result, being within +0.318Hz of our 10MHz target. Then for the main event it was time to re-measure the free running rubidium;

So this is a little higher that what was measured last night, but +0.009Hz or +9mHz is still a great result. To put this into perspective if I were to use this reference to lock a series of transverters this is the final frequency accuracy I would expect;

F(carrier) | F(error)
[MHz] | [Hz]
-----------+-----------
50.195 | +0.45Hz
144.135 | +1.30Hz
432.070 | +3.88Hz
1296.070 | +11.66Hz

I think if I were to go higher than 70cm then a GPS disciplined oscillator is in order (there is a Trimble Thunderbolt in a box somewhere), at least I have some idea now what the upper workable limit is. One of these days I may yet get in and tweak the external C-Field input and see if I can tighten this frequency error up a little, that will have to wait for a 12-digit counter.

The free running TXCO also has a reference input so for a laugh I attached the free running Rubidium to the TXCO and waited to see what happened. The lock LED lit pretty much instantaneously and the result was;

Exactly the same as the Rubidium on it’s own. What I do like about the TXCO is the 6 channel output with >120dB of isolation between channels. At least now I have some idea how stable this oscillator is, so now I can start thinking about what I’ll do with it.

Posted in EME

Rubidium Reference – Final Tests

Now the million dollar question is does it work ? Testing one of these rubidium references means you need a reference and counter that’s more accurate that the reference you’re trying to measure.

Fortunately one of my club members has a GPS disciplined Rubidium Oscillator that can attain some silly levels of stability and accuracy. Giving this device a few hours to watch satellites and let it discipline the internal oscillator is enough to then make some very accurate measurements. Even in the first 16 minutes this oscillator is able to achieve a frequency error less than what we need to make our measurements, after a further hour this number decreases yet another decade.

Once you have the uber accurate reference and accuracy you still need a counter with enough digits. This turns out to be something of a problem, all of the frequency counters I can find seem to stop at 8 digits. Which means you can only measure to the nearest hertz.

At work we have been cleaning up more than 25 years of Engineering mess and while we were cleaning we found a HP 5385A frequency counter stashed in a cupboard that no one knew was there, this particular counter can accept an external 10MHz reference. Combine this with a gate time of 10s it’s able to extend it’s display to a full 11 digits, meaning we can see down to the nearest milliHertz. So that just had to come home for the weekend to test it was working you see. They are actually reasonably priced on Ebay, so I can see a purchase coming on in the not too distant future.

So the measurement of my free running Rubidium reference is now rather simple. The GPS disciplined Rubidium drives the external reference of the HP 5385A counter, our test rubidium is then attached to the appropriate input. Then we need to give everything a good hour to reach thermal equilibrium and stablise. We can then make our final measurement.

I’ve not yet placed a thermocouple on the heat sink and made any measurements but it is certainly much cooler to the touch then when I ran it with just the enclosure.

So above is all of the test gear spread out on the kitchen table (shhh !) the GPS cable exits out a door so it can see the sky. The multimeter is reading the buffered Lamp Voltage, ideally this should be between 6-9 volts for a healthy Rubidium. Alas this rubidium probably has only a few years life left in it before it has to be refurbished.

However from this distance it’s a bit hard to read the counter, so here’s the closeup;

That is an awful amount of zeros, however it shows that my free running rubidium is running just +5.0 milliHz fast or +5.0×10^-9 Hz in scientific notation. Wow it works !

As you can see I’m now looking for that 12-digit frequency counter so that I can see just how good this rubidium is.

I’ve also read that it’s possible to trim the frequency of the 10MHz oscillator a little using the C-trim input pin (#7).. Hmm I guess that is how the GPS disciplined Rubidium does it !?! So with a multi-turn pot (10-20T) it may be possible to trim the frequency to be better than 1×10^-10 with luck and crossing of eye’s. However from what I’ve observed this may be pushing the limits of the thermal stability of these units and the error of the GPS disciplined oscillator will start to come into play.

Anyway I’m reasonably confident now that this Rubidium 10MHz reference will be able to keep my Elecraft K3 transceiver locked onto the right frequency for any EME experiments even in the dead of night.

Now I’ve just got to get the LEDs on the front panel working correctly and how I’m going to power this unit in the field. With a power supply requirement of 24V @ 0.45A this isn’t insignificant.

Posted in EME