Coding Project – LDG AT-1000ProII + M-1000 Controller

LDG Control

Loading

So, around a year or so ago I embarked on a little coding project, using a language I knew very little about; C# – but, a serious lack of experience and knowledge on my part, the noticeable absence of detailed technical documentation / information, and a change in personal circumstances dictated that despite my enthusiasm, after a brief spell I should temporarily place the project on hold. So I did. Well, here I am, a year later and I’ve decided to have another go – this time though, using Python.

I am no pro-coder, far from it, just a humble self-taught home hobbyist and in not being trained formally I’ve almost certainly developed bad habits, without doubt will be using poor coding practices, and often ask myself what the hell is a class anyway!!

Despite these limitations, I enjoy the dopamine fix from the ups and downs of coding / debugging / success and failure. A good friend of mine who happens to be an expert developer, said to me once… “it gets to you – eat, code, sleep, repeat” – which sums it up precisely, and is exactly what happens to me when I become engrossed in a project and so focussed on coding. I’ve spent the better part of this last week coding an app that I refer to as ‘LDG-Control‘. It’s an almost full control package for the LDG AT-1000ProII (and 600ProII) Autotuners, and includes a fully functional (+more) emulation of the accompanying and optional LDG M-1000 meter.

Emulation of the LDG AT-1000ProII front panel and M-1000 meter

Essentially, it is a live Forward/Reverse/SWR meter and remote controller via MacOS/PC(eventually). It uses ‘skins’, one where I attempt to emulate the look and feel of the original LDG AT-1000ProII hardware, and the LDG M-1000 meter. I also created a few additional skins – and these don’t just allow the user to choose an alternate aesthetic, they provide additional functionality which is not available on the original hardware. The API and communications protocol documentation provided by LDG was incredibly useful, but seriously short of information. I used AI to help carry out detailed analysis of the RAW data sent by the hardware, and subsequently identified several undocumented (and repeatable) data streams.

Settings panel

After investigation and testing, the returned streams and control commands emulated almost all of the hardware panel controls, but interestingly, also yielded additional functionality not available on the hardware. For those who own this tuner (and those who don’t via images of the device on the web), some of these additional features can be seen in the main page screenshot. (Maybe do a comparison of the LDG skin and one of mine).

One of my skins showing the meter hold effect

It’s not quite ready for release just yet, almost, but not quite. There are several issues I am still dealing with; layout and data parsing, as well as additional features I am still developing such as a X-Needle meter and an SWR Tuning Plot – though I am not sure these additional items will be in any first release. In any event, I thought I’d draft a blog post to show what it looks like at the moment, and to gauge if there’s the possibility of any interest whatsoever or maybe more likely, if I am a few sandwiches short of a picnic. If there does happen to be any, I will gladly pop it up on GitHub for the community and make it available free of charge. It’s coded for MacOS only at the moment, but if there’s enough (or any) interest I would consider porting it across to Windows.

If you stumble upon this blog post, please do let me know what you think… thanks!

73 – GW3JVB