• Home
Carnali.com
Serving humanity for over fifty years
Amateur RadioTechnology

Installing and Configuring Device Drivers for the Yaesu FTDX101D

by Al March 12, 2026
written by Al

Overview

This document is an attempt to explain the connections that are needed to interface a computer with the Yaesu FTDX-101D, what each of those connections does and what you need to do to get your computer talking to your rig. While it’s written for the FTDX-101D, I suspect the same information will apply to any modern Yaesu transceiver and with some minor changes could also be used to set up non-Yaesu rigs.

Connecting your computer to your transceiver allows you to do all sorts of interesting things. You can control your rig from your computer, automate the logging process, run software that allows you to communicate with others using the various digital modes and many other things.

While researching the connection process, I came across a lot of good information, some bad information and found that although many people were able to connect the two devices, a lot of them didn’t really understand what was going on when they did it. I hope to clear that up here.

There are four different connections that need to take place when you connect to your radio with each one serving a particular purpose.

The first is for CAT (Computer Aided Transceiver) control. This allows the computer to send commands to the radio and receive back responses enabling you to do things like change your rigs frequency and mode and read back parameters like SWR and power, etc.

The second connection is for keying the rig. You want your computer to be able to tell your transceiver when to transmit and when to stop transmitting so it can automatically send and receive data.

The next connection is for sending audio to your rig. This is required to modulate the carrier for digital modes or for sending prerecorded audio.

The final connection is used to receive audio from your rig. Doing this allows software on your computer to ‘listen’ to the rig, giving it the ability to do things like decode Morse code or interpret digital mode messages.

In the old days, interfacing with a radio was complex and required two different cables. CAT control took place through an RS-232 cable while RTTY/Data, audio input and output and transmitter keying were done using a special 6-pin Mini-DIN data/packet connector cable. In modern setups, both of these cables have been replaced with a single USB cable which greatly simplifies the connection process. Unfortunately, the connection process is a bit confusing because the industry has implemented the USB interface in a way that emulates the old two cable method making it more complex than it really needs to be.

On Yaesu radios, you install a set of drivers that connect to the computer hardware and present an interface through which your programs (WSJT-X, JS8Call, fldigi, Ham Radio Deluxe, etc) can talk to the radio. The driver installation creates two virtual COM ports (Enhanced COM Port, Standard COM Port) and two audio devices (Line USB Audio CODEC), (Speakers USB Audio CODEC).

Enhanced COM Port is used for CAT control. It sends commands to the rig and receives back responses allowing the computer control the radio and read the various settings and parameters. This acts as the equivalent of the RS-232 cable.

Standard COM Port is used strictly for keying the transmitter. This takes the place of the 6-pin Mini-DIN connector cable. One of the things that’s interesting with this connection is that only the DTR or RTS line is used for keying the rig, so it really doesn’t matter what setting you use for baud rate, parity, etc. (Even though it doesn’t matter, later in the procedure I use the same settings that I use for the enhanced port, just to make them consistent).

Line USB Audio CODEC sends audio information from your computer to your radio allowing it to modulate the carrier and transmit information. This connection used to be part of the 6-pin Mini-DIN connector cable.

Speakers USB Audio CODEC receives audio from your radio allowing it to decode the audio and present it as Morse code or digital mode data.

Installing and Configuring the Drivers

  • Go to the Yaesu website and navigate to the FTDX101D page. Select ‘Files’ and click on the ‘FTDX101MP/D USB Driver Virtual COM Port Driver (Windows 11/10)’ link towards the bottom of the page. This should download the file ‘CP210x_Universal_Windows_Driver.zip’ to you computer.
  • Right-click on the file, select ‘Extract All…’ and press the ‘Extract’ button.
  • After the files have been extracted, right-click on the ‘silabser.inf’ file, select ‘Install’ and then press the ‘Open’ button and follow the prompts to install the driver.
  • Open Windows Device Manager, click on ‘Ports (COM & LPT)’ and verify that you have two ‘Silicon Labs Dual CP2105 USB entries’. While doing this, take note of the COM port numbers used for each device since you will need this information later in the process. On my system ‘COM4’ was used for ‘Enhanced’ and ‘COM3’ for ‘Standard’ but your values may be different.
  • Double-click on the ‘Enhanced’ port entry, navigate to ‘Port Settings’ and verify the settings are as follows, changing the values if needed. If you look around the Internet you may see many different values set for these parameters. This is because the values you use aren’t critical as long as both the radio and computer use the same values. It’s like talking to someone in French, if both of you are using speaking French, everything is fine but if one of you is speaking French while the other is speaking German, nothing good will come of it.
    • ‘Bits per second:’ ‘38400’
    • ‘Data bits:’ ‘8’
    • ‘Parity:’ ‘None’
    • ‘Stop bits:’ ‘2’
    • ‘Flow control:’ ‘None’
  • Double-click on the ‘Standard’ port entry, navigate to ‘Port Settings’ and enter the same values you used for the ‘Enhanced’ port.
  • You can now delete the CP210x zip file and folder since they’re no longer needed.

Configuring the Yaesu FTDX-101D

  • On the FTDX-101D, press the ‘FUNC’ button, then select ‘Operation Setting’>’General’.
  • Set the following parameters:
    • ‘CAT RATE’: ‘38400bps’
    • ‘CAT TIME OUT TIMER’: ‘100msec’
    • CAT RTS’: ‘OFF’
  • Press the ‘BACK’ button to back out of the current screen and the select ‘CW SETTING’ > ‘MODE CW’. Find ‘PC KEYING’ and set it to ‘DTR’.
  • And you’re done. These settings should allow your radio to work with any program you install as long as the program configuration matches the values you’ve used here. I’ll soon be posting setup information for other programs like WSJT-X, N1MM Logger and N3FJP Logger which will show you how it’s done.

March 12, 2026 0 comments
0 FacebookTwitterPinterestEmail
Amateur Radio

Understanding VC Tune for the Yaesu FTDX-101D

by Al March 4, 2026
written by Al

I just upgrade my amateur radio setup with a new FTDX-101D and was trying to understand how VC tuning is accomplished on the radio. The manual didn’t really explain why two buttons of the same name were used and a search on the Internet found no information. Even AI didn’t have an answer. So I dug in the old fashioned way and started experimenting. I’m sharing what I found out here, hoping it might help someone else.

VC-Tune (Variable Capacitor Tune) – it can attenuate interfering signals directly at the receiving frequency.  It can be turned on to attenuate the strong jamming signals that cannot be removed even with BPF (Band Pass Filter).  If there is no interfering signal, turn it off. 

The VC tuning circuit works by driving a variable capacitor in the receivers front end with a stepper motor.  It attenuates the strong intruding signals that are problematic.

There are two VC Tune buttons located to the right of the main dial.  The bottom button (VC tune operations key) will enable VC tuning and center itself on the current operating frequency.

The top button on the right of the main dial, enables VC tune but also activates the MPVD ring allowing you to shift the location of the VC tuning.  If you press it a second time, it will release control of the MPVD ring (leaving the current tuning location in place) and set the MPVD ring to control the main frequency.  (It would have been nice if they MPVD ring reverted to it’s last assignment instead of defaulting to controlling the main frequency.)

You can see the current tuning position by looking at the pointer on the VC Tune bar graph.

In most cases you will probably want to use the top VC tune button to activate VC tuning since it gives you more control.  Just make sure that you press both the top and bottom button when done to fully deactivate VC tuning. 

If you change the current frequency, you can recenter VC tuning by pressing and holding the either of the VC Tune keys.

VC tune only works on the main band, VC tune for the sub band is an optional add-on.

March 4, 2026 0 comments
0 FacebookTwitterPinterestEmail
Other

Cookie Inflation

by Al March 13, 2023
written by Al
Missing Oreos.
Missing Oreos

I purchased some Lemon Oreos yesterday and when I opened them today found that each row in the package was missing either two or three cookies. (See above photo) I don’t know if this was a packaging mistake or just the way they sell them. It’s possible that they share packaging between the different types of Oreos and that the lemon version are more expensive so they put in less. It’s also possible that they just started including fewer Oreos to keep from having to raise the price as a consequence of Biden’s inflation. No matter what, it doesn’t give the customer a good first impression of the product when you open the package.

On the same store trip, while standing in line I noticed that M&Ms are now $2.50 per package. $2.50! Just incredible.

March 13, 2023 0 comments
0 FacebookTwitterPinterestEmail
Personal

Job Interview Update

by Al June 14, 2022
written by Al

A couple of weeks ago, I mentioned that I was going on a job interview. I did and was actually offered the job but ended up turning it down.

The process had started with a recruiter contacting me and telling me about a job that had come up that was a close match to my skillset. Usually, I just ignore these calls because more often that not, they’re not even close to matching what I do. This time though it was a good match so I decided to pursue it.

Before going too deep into it, I told the recruiter my salary requirements. I’ve run into situations before where a company wants to hire an experienced engineer but wants to pay them what they would pay someone that had just graduated from college and had no experience. I didn’t want to waste my time if this was going to be one of those deals. He assured me there would be no problem and that the salary that I was asking for was right in the range that they were expecting to pay. Good enough. I agreed to go forward with it.

First stage was a phone interview. It included myself and four people from the company, one of which was the CEO himself which I thought was a bit odd for the first interview since usually upper management doesn’t get involved until you’ve passed through the gatekeepers. The interview went on for about an hour. Things went well and although the CEO seemed a little confrontational everyone else was fine and seemed to think I’d be a good fit.

I got a call from the software manager a few days latter saying that they were definitely interested in me and wanted me to come in and do a live interview. Once again, I brought up my salary requirements and was assured that it would not be a problem.

They set up the interview and I was supposed to meet with four people but when I arrived at the company the only one that was there to interview me was the software manager. All others were out of the office that day. Seemed kind of odd. Anyway, the manager was nice enough, seemed to know his stuff and wanted me to start as soon as possible. He just needed to get final approval from the CEO.

A few days, go by and I finally get an e-mail with an offer. As you may already of guessed, it was less than what I was asking for. In all honesty, it was still a pretty good offer but it wasn’t what we had verbally agreed upon. This seemed wrong to me so I declined the offer. I didn’t know if this was just a negotiating tactic on their part or whether it was a far as they were going to go but I wasn’t willing to back down since I had received assurances that they would indeed be willing to pay me what I was asking for.

In the mean time, I took another look at the offer. Initially, I was just looking at the salary, but upon further inspection I learned that the benefits were abysmal. One weeks vacation, one week of sick time and only five paid holidays per year. On top of that they talked about health insurance and said that it would be split by the company and the employee but gave no indication of the percentages. Usually when they leave out something, it’s for a reason, so I’m guessing that the insurance split was not going to a positive thing.

There seemed to be lots of bad signs here, so I decided even if they contacted me with a better offer I was not going to take it.

I received a call from the manager who told me it was a small company and they couldn’t afford to pay what I was asking and that even if they could, it wouldn’t be fair to the existing employees. Both these things may have been true but why did they assure me up front that the salary would not be a problem?

Anyway, I politely declined the offer with the following e-mail:

Hi XXX,

Sorry I missed you.  I was outside doing some yard work and didn’t have my phone with me.

I’m going to pass.  It wasn’t just the salary, the benefits just weren’t there either.  I appreciate that you’re a small company and I also understand the politics involved in keeping a whole group happy with various salaries makes things complex.  I just don’t think I’d be happy there under the circumstances.

It was really nice meeting you and I do appreciate the time you took showing me around the place.   No hard feelings on my part and I hope the same goes for you.  Sometimes things just don’t work out.

Thanks again and best of luck to you and the people of YYY,

Al

I do wish them luck, but I’m glad I declined. The money wasn’t the big issue, it was the fact that they mislead me about the money that was the issue. Turning it around, if I had told them I was an expert in C++ and then at the last minute told them I really wasn’t all that good at it, would they still have hired me? Of course not and rightfully so. Honesty is important and starting a job where my first interaction with management was a negative one did not sit well. I would have been unhappy with them from the start and I don’t believe that’s the best way to go into a new job.

June 14, 2022 0 comments
0 FacebookTwitterPinterestEmail
Technology

Improving the Music Inventory Example from Head First Object Oriented Analysis and Design

by Al June 13, 2022
written by Al

I’ve been refreshing my knowledge of software design by working through the book, ‘Head First Object Oriented Analysis and Design.’

One of the examples that they use to show how designs can evolve and be improved upon over time is an application that is used to track musical instruments inventory. The initial design of the app is poor in that it lacks maintainability and requires modification of existing classes (one of the no-no’s of SOLID design principles) and the addition of many new classes any time you want to add a new instrument type to the application. In chapter 5 of the book, they improve the design considerably by replacing unique classes for each instrument with a single class, InstrumentSpec that maintains a list of properties for the instrument that it represents. Not only does this eliminate the need for the creation of a new instrument class, it also allows you to dynamically add new properties to each class instead of having them hardwired into the class.

While I agree with them about the software being greatly improved, I still feel there’s one glaring problem with it. When a new property is added to the InstrumentSpec class it uses a key/value pair to store the property. For the key, they’ve chosen to use the string type. While this gives you a lot of flexibility, I feel it’s pretty much a disaster waiting to happen. Not only does the user of InstrumentSpec has to be relied upon to make sure the string is a valid value and is spelled correctly, if a mistake is made it won’t be found at compile time but instead will manifest itself at runtime. The last thing you want happening is your software to fail in the field instead of failing when you’re designing it. Granted a lot of this can be avoided by the use of appropriate test cases but that still takes a leap of faith that the error will be caught.

A better way to handle this is to replace the string key with an enumeration key. This prevents the user from ever using an invalid key and also prevents the code from compiling if an incorrect key is used. The only downside to this approach is that you have to modify the PropertyKey enumeration any time you add a new property to the software. To me this seems a minor tradeoff that goes a long way towards creating more robust software.

The following example shows the use of property keys instead of strings.

InstrumentSpec.cs

using System;
using System.Collections.Generic;

namespace CH3_Guitar_Application
{
    internal class InstrumentSpec
    {
        private Dictionary<PropertyKeys, object> _properties;

        public InstrumentSpec(Dictionary<PropertyKeys, object> properties)
        {
            if (properties == null)
                _properties = new Dictionary<PropertyKeys, object>();
            else
                _properties = new Dictionary<PropertyKeys, object>(properties);
        }

        public object GetProperty(PropertyKeys propertyName)
        {
            return _properties[propertyName];
        }

        public Dictionary<PropertyKeys, object> GetProperties()
        {
            return _properties;
        }

        public Boolean Matches(InstrumentSpec otherSpec)
        {
            foreach (var property in otherSpec.GetProperties())
            {
                if (!_properties.TryGetValue(property.Key, out var value))
                    return false;

                if (property.Value != value)
                    return false;
            }

            return true;
        }
    }
}

PropertyKeys.cs

namespace CH3_Guitar_Application
{
    internal enum PropertyKeys
    {
        INSTRUMENT_TYPE,
        BUILDER,
        MODEL,
        INSTRUMENT_STYLE,
        NUM_STRINGS,
        TOP_WOOD,
        BACK_WOOD
    }
}

A second problem that I ran into was because of my choice of rewriting the examples in C# instead of doing them in Java like the book does.

The original application prints out a human readable string based on the value of an enumeration. This string is different than the actual name of the enumeration and is not a problem in Java. Unfortunately, in C# the enum type is limited and if you attempt to use the ToString() method to print out the enum, it will display the actual enum text instead of something that is tailored for readability.

To fix this problem, I replaced the enum type with the Enumeration class written by Jimmy Bogard. https://lostechies.com/jimmybogard/2008/08/12/enumeration-classes/ Not only does this class allow you to associate a human readable string with an enumeration, it also allows you to add methods to the enumeration if you need to perform other operations when using the enum. Most of the time you won’t need all this extra functionality and regular enums will do just fine but if you ever do, it’s nice to know this class is available.

Here’s an example of using the Enumeration class. Just subclass the Enumeration class, add your enumeration values with a human readable string and you’re good to go.

InstrumentType.cs

namespace CH3_Guitar_Application
{
    public class InstrumentType : Enumeration
    {
        public static readonly InstrumentType GUITAR = new InstrumentType(0, "Guitar");
        public static readonly InstrumentType BANJO = new InstrumentType(1, "Banjo");
        public static readonly InstrumentType DOBRO = new InstrumentType(2, "Dobro");
        public static readonly InstrumentType FIDDLE = new InstrumentType(3, "Fiddle");
        public static readonly InstrumentType BASS = new InstrumentType(4, "Bass");
        public static readonly InstrumentType MANDOLIN = new InstrumentType(5, "Mandolin");
        public static readonly InstrumentType ANY = new InstrumentType(6, "Unspecified");

        private InstrumentType()
        {
        }

        private InstrumentType(int value, string displayName) : base(value, displayName)
        {
        }
    }
}

June 13, 2022 0 comments
0 FacebookTwitterPinterestEmail
Personal

Mail and E-mail

by Al May 29, 2022
written by Al

Yesterday, I was thinking about how much e-mail is like regular mail.

When I was a kid, during summer vacation, I couldn’t wait for the mail to arrive, always believing that today would be the day that something really cool would appear. It never did. Mostly the mail consisted of ads and bills.

I do the same with e-mail now. When I’m working on my computer, every time the e-mail chime goes off I’m immediately checking to see what came in, expecting it to be something interesting. It seldom is. Like regular mail, it mostly contains ads and bills. The only difference is that now I get to pay those bill instead of my parents paying them.

May 29, 2022 0 comments
0 FacebookTwitterPinterestEmail
Personal

New Toy – Husqvarna 525RC Brushcutter

by Al May 27, 2022
written by Al

I purchased a Husqvarna 525RC Brushcutter at the local Lowes today. I mentioned in a previous post how I had replaced the carburetor on an old brushcutter that I owned and was still having a few problems with it. I planned on troubleshooting it and hoped to find out what was going on with it but decided I really needed something now so I ended up buying the Husqvarna instead.

The unit is solid, well built and a lot more powerful than the previous brushcutter. It vibrates a whole lot less than the old brushcutter and because of that it’s a lot more pleasant to use. Assembly was relatively easy but the instructions weren’t all that great. Lots of little illustrations that didn’t really do a good job of showing you what you needed to do. Luckily, YouTube had some decent videos that I was able to watch to learn what I needed to know.

The Husqvarna is probably more than I need but it should last a long time and I’d rather over-buy then find out later that I owned something that wasn’t up to the job.

We have a few acres of land and there’s constantly stuff growing up between the ground cover and some places that I just can’t get to with the lawn tractor so the brushcutter fills in the gaps.

Gas powered equipment is great but it’s also a pain. Yearly maintenance is needed and unless you’re someone that’s into that sort of thing (which I’m not), it’s kind of a drag. The alternative is electric but it’s not as powerful, needs to be charged and your stuck with expensive dead batteries that are hard to dispose of when they go bad. It might work if you’re just doing a small back yard but if you have a large property, it’s just not practical.

May 27, 2022 0 comments
0 FacebookTwitterPinterestEmail
Uncategorized

Job Interview

by Al May 26, 2022
written by Al

I had an onsite job interview today. This was a follow up to a phone interview that took place last week. After completing the phone interview I was pretty sure that I had done well and was under consideration so when they called me in for a face to face I wasn’t really all that surprised. What did surprise me is when I got there, it appeared that they had pretty much decided they would already hire me and that this second ‘interview’ was more a chance to see the place than it was additional vetting. I was also surprised that it looks like if the details can be ironed out, I’ll be starting next week.

The new place is a semi-conductor equipment company. Even though it appears to have been around for awhile, it seems that they run it more like a start-up and that the attitude is more about getting things done with little emphasis on the layers of corporate BS that seem to have infected a lot of the companies that I’ve worked for in the past. I hope this is the case. It would be really refreshing.

May 26, 2022 0 comments
0 FacebookTwitterPinterestEmail
Personal

Dentist Appointment and Installing a Carburetor

by Al May 25, 2022
written by Al

Dentist appointment this morning. I had my teeth cleaned. The most painful part was paying for it out of my own pocket because I don’t currently have dental insurance. When I semi-retired last fall I looked into it but it appeared that after you got the insurance, you had to wait anywhere from six months to a year for most of the benefits to kick in. Didn’t seem like a good deal to me.

I spent the afternoon installing a new carburetor on a brush cutter/weed wacker. I’ve had the thing for a number of years now and did little maintenance on it outside of changing the sparkplug. Last year it seemed sluggish, this year it seemed really sluggish. Sometimes it would run decently while other times it would barely run and didn’t even seem to want to turn the blade. I took a small engine repair course in the fall and after bringing it in and demoing it, the instructor said it was most likely the carburetor failing. Since it was a two-cycle engine he recommended replacing it instead of rebuilding it since the cost would be about the same and rebuilding would require a lot more work. I purchased a cheap Chinese knockoff carburetor on Amazon (which the instructor said would be just fine) and finally got around to installing it today. It took a while to do but was fairly straight forward. After completing the installation I revved it up and sorry to say it’s not any better. It might actually be a little worse. At least it started though which shows I probably did the installation correctly. I’ll take another look at it this weekend and see if I can figure out what’s going on with it. It may just be time for a new brush cutter.

Here’s a helpful hint. The most important thing I learned in the small engine repair course was not to use regular gas in small engines. The ethanol that the government requires in the gas leaves deposits and will destroy an engine over time. If you’re using a small device such as a weed wacker your best bet is probably the 100% gas available at places like Home Depot. If you’re using a lawn tractor or something bigger go with premium and put an engine stabilizer in it to keep it from spoiling.

May 25, 2022 0 comments
0 FacebookTwitterPinterestEmail
Fun

When Good Toilet Seats Go Bad

by Al May 24, 2022
written by Al

My family says I’m cheap. I like to think of myself as frugal. It’s not that I won’t spend money or always go for the cheapest deal. It’s just that I won’t spend money on something that I don’t perceive as worth it. I’ll buy the top of the line if it gives me something that other products don’t but I won’t spend money needlessly for status or prestige.

Sometimes that gets me into trouble.

The other day our toilet seat broke. One of the hinges on the back snapped off. (Perhaps we should consider diets.) Anyway, it was time to replace it so I looked at the seats that were available at The Home Depot. Thirty dollars for a toilet seat! Ridiculous. It’s a toilet seat for crying out loud. You sit on it, do you business and move on. Surely, I could get something for less than thirty dollars.

So I checked out the Walmart site.

They had a wooden seat available for eighteen dollars. Now we’re talking. Under twenty bucks, made of wood, none of that cheap plastic and on top of that, it got lots of good reviews.

I drove to Walmart to check it out. Yup. Looked good. Solid construction, enamel coated and built like a tank. The thing should last me for years.

Made the purchase, drove home and installed it. The installation seemed a little weird. Instead of bolting the seat directly to the toilet, you install the plastic bolts in the holes on the toilet, slide the seat on to the bolts, tighten the bolts down and snap shut the covers.

I did the first two steps but skipped the third. I didn’t want to overtighten the bolts and risk breaking anything so I went lightly and left the snap on covers up thinking in a week or so I could tighten them up a bit more if they loosened up.

That was a mistake.

After using the toilet for the first time when I went to get up, the seat shot off the bolts landing my backside in the water and the seat on the ground. Luckily no injuries were sustained. Should have tightened the damn things. My fault.

So I redid my work; this time tightening the bolts snuggly and and making sure that the covers were on tight. That seemed to do the trick. The seat was on solidly now. There would be no chance of an embarrassing accident and an awkward conversation with the paramedics.

I thought my problems were solved until we started using the thing. The seat and cover were really heavy and if you let them loose while closing them, they would crash down on to the porcelain toilet with a big bang. One time I just attempted to put the seat down and the cover came crashing down catching my thumb between the cover and the seat. It hurt like hell and the thumbnail is still aching.

I finally came to my senses. The risk of injury or cracking of the porcelain toilet from a falling lid were just too much. I figured it was just a matter of time before something bad happened, so I went to The Home Depot and bought the thirty dollar seat.

So now I’m out fifty bucks. Twenty for the unusable seat and thirty for the good one. If that’s not enough, I think I’m going to lose my thumbnail.

Sometimes it doesn’t pay to be cheap… I mean frugal.

May 24, 2022 0 comments
0 FacebookTwitterPinterestEmail
Newer Posts
Older Posts

Categories

  • Adventure
  • Amateur Radio
  • Astronomy
  • Culture
  • Fun
  • Interesting
  • Music
  • Other
  • Personal
  • Photography
  • Politics
  • Python
  • Reviews
  • Slider
  • Technology
  • Uncategorized
  • Facebook
  • Twitter
  • Youtube

@2021 - All Right Reserved. Designed and Developed by PenciDesign


Back To Top
Carnali.com
  • Home