Standard Horizon HX890E data extraction and interpretation
I recently bought a Standard Horizon HX890E (the brand is also known as Yaesu) for use on my sailboat. The “E” is basically the European version of the HX890, with added ATIS functionality and channel groups for the following regions: USA, International and a third that can be The Netherlands, Germany, UK and Sweden. For the normal HX890 the third channel group is only Canada.
It comes with a “programming cable” (just a USB-A to micro-USB cable) so obviously I was curious what can be programmed. The manual speaks about “PC programming software”, but doesn’t specify what it is. The Yaesu website however hosts software called YCE20.
YCE20 installation on MacOS
YCE20 is Windows only and I’m on MacOS, so I spun up my Win11 VM in VMware Fusion and met the first hurdle: it requires .NET Framework 3.5. The automatic installer kept failing with error 0x800f0950. Other ways, like using Windows Features, also failed. In the end this worked:
- Mount the ISO I used to install Windows in the VM as D-drive.
- Start a command line with admin rights and type:
DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:d:\sources\sxs
Now YCE20 would install, as well as the driver. But despite my best efforts and several reinstalls, while I passed the connected HX890E to the VM, it would not be recognized by Windows and just show up as a “USB Serial Device” and not get picked up by YCE20:
I suspect VMware somehow changes some kind of identifier of the USB device, so the driver doesn’t get picked up. So now I had to find another solution.
Hxtool to the rescue
Enter hxtool, a mixture of tools written in Python by Christiane Ruetten, originally for the HX870. After installation, you can do:
sudo /home/nikotine/hxtool/bin/hxtool config -d dump240527
This will create a data dump of the configuration of the HX890E. But without YCE20, how do you interpret this binary file?
Interpretation of the data dump
This is when I discovered these two sources of information:
- PC5E’s website about the HX890E, in large part based on
- the excellent page from Arne Johannessen about the HX870
These guys have done a great job defining what each bit and byte stands for, but it could use some color coding to make it easier to read. Hxtool has a binary template on Github, that you can use with 010 Editor (hx870dat.bt). But I found an open source alternative: the fantastic ImHex. After a short but very steep learning curve, I wrote a pattern file for Imhex: https://github.com/Nikotine1/HX890-imhex-pattern.git.
Now the customization can begin!