Every Geek should have one!

The Yaesu FT-707 Tuning Knob

February 7th, 2026.


I first got interested in Amateur Radio in my teens. I took the City and Guilds exam to get my B Class B license but always wanted to take the Morse test so I could buy my dream radio – the Yaesu FT-707. On my bedroom wall I had two posters. One was Fiona Walker cheekily pretending to play tennis. Sold by Athena posters if my memory serves me right. The other was the FT-707 sales brochure showing antenna tuner, power supply, radio, and memory unit in a metal rack.

When you look at the FT-707 your eye is drawn to the VFO running knob. It is easy to grip. The indentations around the edge are there to ensure a firm hold. The dimple is there to ease fine tuning. It is a master class in ergonomic design.

Many years later I was looking for a VFO tuning knob for a project. I tried several but none felt right. I decided to try reproducing the look and feel of the FT-707 VFO knob using my 3d printer.

My chosen design software is OpenSCAD. I’ve been programming my entire working life and the model it uses fits well with that. Building objects with OpenSCAD is simply a matter of creating the start object and then adding another object to it or remove an object from it. You then repeat the process until you have the object you need. For example, a washer would simply be a low-profile cylinder with a smaller cylinder removed from the centre.

It took a few iterations, but the result is quite pleasing.

It has a small hole on the side, and a small nut and bolt can be used as grub screw to secure the knob to a rotary encoder shaft. It worked well; it did what it needed to do but there was something missing. It needed weight, it needed to have momentum. The back of the knob was hollow, and I resolved the momentum issue by adding lead weights. Being a bit of a hoarder – how small does an offcut of wooden need to be to be useless? – I had in stock some small pleasing lead cylinders that were recycled from an old piano. There was one in every key to act as the key return mechanism. Six of these fitted nicely in the recess. I encased the weights in epoxy resin. With the edition of the weights, it felt a great deal better, it felt like an FT-707.

The OpenSCAD project file can be found here. You may need to change the extension to scad.

The STL file can be found here.


Bridging the gap. NMEA 0183 to NMEA 2000.

January 13th, 2026.


NMEA 0183 first surfaced in the early 1980’s. It encompasses an electrical specification and data specification and is extensively used to share data between marine electronics. It became the standard and was seen on all vessel sizes from small yachts to the largest super tankers. Though popular it had issues. Primarily speed, it utilised serial data at 4800 baud. Also, if many sensors were feeding data to single devices or multiple devices then multiplexors and repeaters often had to be used.

NMEA 2000 was released in 2001 and aimed to provide a simplified, high speed, multidevice network based on the automotive CAN bus. Simplified as it manifests as a single network cable with devices attached via simple drop cables. Faster as data flows at 250 kilobits per second, considerably faster than the 4.8 kilobits per second supported by NMEA 0138.

The big difference between NMEA 0183 and NMEA 2000 is the format of the data. NMEA 0183 passes human readable text that can easily be visually inspected and interpreted. NMEA 2000 passed proprietary binary data packets, with some messages being spread across multiple packets.

From the amateur yachtsman point of view NMEA 2000 raised the bar considerably. With NMEA 0183 they may have been tempted to write their own code, or even build their own devices, to interpret or generate data, that flows around their boat. With NMEA 2000 more complicated hardware is required and, on top of that, a clear understanding of the proprietary protocol being used.

Fortunately, a few dedicated people have taken time to decode the NMEA 2000 protocol and, looking around the internet, you can now find code libraries and examples of how to interface to the NMEA 2000 network.

So, what is required? My go to hardware would be an ESP32 on which to run the code, and a SN65HVD230 CAN Bus Transceiver Communication module to interface to the network. These are cheap components; the biggest expense will probably be the network T junctions and drop cables. My go to software would be that written by Timo Lappalainen, his software can easily be found on GitHub. With this combination I have seen the most novice of developers reading data from their yacht network.

Why can this be useful? Most amateur sailors run their yachts on a tight budget and may be in a position of transitioning from the old NMEA 0183 devices to NMEA 2000 devices. Commercial kit is available to connect NMEA 0183 devices to an NMEA 2000 network, but they tend to be expensive. This may lead to some older NMEA 0183 devices being made redundant. Perhaps the adventurous sailor would be tempted to build their own.

One example that I have recently worked on involved an old Silicon Marine exhaust temperature sensor. It was an NMEA 0183 device that wrote out simple NMEA 0183 MTW water temperature sentences through a serial port. The project required that this data be read and published to an NMEA 2000 network to be displayed on a Raymarine data display. Using the hardware and software mentioned above the result proved to be very satisfying. Not only did the water temperature get correctly published but it was also able to raise temperature alarms should the exhaust water temperature exceed a configurable temperature.