Elecraft KPA1500 Console and Fan Controller
– version 2.0 2019-02-18
FANticipator is a free software program that
- Displays a graphical image of the KPA1500 amplifier’s key operating parameters
- Enables local or remote control of the amplifier’s common functions
- Intelligently manipulates the amplifier’s fan speeds
Written by K8UT, FANticipator runs on the Windows operating system. Developed in Visual Studio C++. Source code is available by request.
- Runs on Windows 7 and newer (and likely on Linux emulators WINE & VirtualBox)
- Requires no modifications to the KPA1500
- No additional hardware needed – this is a software solution
- Connects to the KPA1500 using TCP packets over ethernet / WiFi (no messy serial port splitters required)
- Local or remote control of the amplifier’s common front-panel functions
- Operates in parallel with traditional logging software CAT applications that use serial ports
- Lightweight, minimal Windows CPU load
Fan Control Assumptions
- You prefer to have the fans shut off completely when the amp nears ambient temperature
- You prefer hearing the fans when transmitting rather than when receiving
- You prefer listening to more time with the fans running at speeds #1 and #2 rather than less time at speeds #3, #4, #5
Enhanced Fan Control
- During Tx, override the fan menu settings and run at settings +1
With this option checked, the fan will always run when you are transmitting. This transmit-only feature encourages low fan speeds and discourages the amp from reaching higher temperatures. Whereas normally the fan might be off until the fan reaches 60c, this option – when transmitting – will run the fan at setting #1 until the KPA1500 reaches 60c; at #2 between 61 and 70, and #3 between 71 and 80.
- After Tx, override fan settings and run at #2 until temp is below nn
With this option checked, the fan will continue running in Receive at fan setting #2 until the KPA1500 temperature is below a user-defined threshold (in this screenshot example, 50c). This receive-only option favors the Search & Pounce operator by rapidly cooling the amplifier during receive intervals.
- After Tx, override fan settings and run at #1 until temp is below nn
With this option checked, the fan will continue running in Receive at the lowest active fan setting (#1) until the KPA1500 temperature is below a user-defined threshold (in this screenshot example, 40c). This receive-only option favors the Search & Pounce operator by rapidly cooling the amplifier during receive intervals. This option also sets the KPA1500 Fan menu option to “MIN = 0,” which turns off the fan when the threshold temperature is reached. (quiet shack!)
2018-09-01 – Production release version 1.0
2018-10-04 – Update release v1.1: Contains new routine for fan hysteresis as temperature passes #1 and #2 trigger points, and for ignoring readings due to KPA1500 “erratic temperature” bug
2018-10-05 – Update release v1.1a – improves the <Retry/Cancel> dialog interface when the amplifier is turned off
2018-11-05 – Update release v1.1b more improvements to <Retry/Cancel> dialog. Corrected screen position/size settings when form is minimized and then closed from the taskbar. Added: config button, help button, packet progress bar
2018-11-06 – Bug fix v1.1c – minor bug, failed to increase fan speed During Tx when the temperature crossed the Fan1 and Fan 2 thresholds
2018-12-04 – Update release v1.1d – minor cosmetic changes. Color Power and SWR status bars (Rx = gray, Tx = green, yellow, red). Power and SWR status bars are now persistent in Rx and indicate the previous Tx Power and SWR readings
2018-12-23 – Update release v1.2 – Without changing dimensions of the FANticipator dialog window, the fields have been re-arranged to accommodate a Reflected Power reading from the amplifier and a calculated Amplifier Efficiency field. The DC Power, RF In, RF Out, SWR, RF Reflected, and RF Efficiency fields are persistent (in a greyed-out color) to indicate the previous Tx event readings.
2019-02-18 – Update release v2.0 – minor cosmetic changes. Added support for WakeOnLAN (WOL) packets. KPA1500 can now be turned on when FANticipator launches and turned off when FANticipator closes
- Connect your KPA1500 to your local area network by inserting an ethernet cable into its RJ-45 jack
- Configure your KPA1500 for ethernet operation by enabling the menu option TECH MODE
- Check your KPA1500 network settings by reading the menu option NET IP ADDRESS (write it down)
- FANticipator 32 bit and 64 bit software can be found on the Downloads page HERE
- Download the FANticipator-SETUPxx.EXE based on the version of Windows that you operate (32 or 64 bit Windows)
- Run the FANticipator-SETUPxx.EXE install file. Recommend installing a desktop shortcut
- Launch FANticipator from the desktop shortcut or the Windows File Explorer
- The first time you run FANticipator, a warning dialog box will appear advising you that there is no fanticipator.xml configuration file
- The program will open a Windows NOTEPAD edit screen with the contents of a sample configuration file
- Enter your KPA1500’s IP address in the XML <Address> tag ( NET IP ADDRESS recorded earlier)
- For right now, leaving everything else unchanged
- Save fanticipator.xml and exit Notepad
- Re-launch FANticipator
Explanation of fanticipator.xml Fields
Upon launch, FANticipator reads the settings in the fanticipator.xml file and configures itself accordingly. Thereafter, settings and changes are stored in memory until you exit the program, at which time the values are saved back to the xml file. IMPORTANT: if you manually edit (NOTEPAD.EXE?) the fanticipator.xml file while FANticipator is running, and then close the program, the edit changes you made will be overwritten You should only edit fanticipator.xml when FANticipator is not running.
The <FORM> stanza settings are automatically saved when you exit the program. Under normal circumstances, you do not need to edit these manually. <FORM> stores the location and size of the window so that it can be returned to the same screen <Location> and <Size> when you open the program again.
The <KPAconfig> stanza settings can only be changed by editing the fanticipator.xml “manually” using Notepad or your favorite text editor. <KPAconfig> contains:
- IP <Address> of the KPA1500 amplifier>
- IP <Port> of the KPA1500 amplifier. The default port of the KPA1500 amplifier is 1500
- Hardware <MACAddress> of the KPA1500 amplifier
- Default <PollInterval> will query the amplifier every 500 milliseconds (twice per second). You can adjust the interval between 100 and 5000 milliseconds.
The <KPAsettings> stanza settings are automatically saved when you exit the program. Under normal circumstances, you do not need to edit these manually. <KPAsettings> contains parameters for controlling the fans of the KPA1500:
- <FanMinimum> is the same as the amplifier’s >Menu >FAN SPEED >MIN setting. This must be set = 0 for FANticipator to operate
- <FanTxRun> tells the fans to run at an advanced speed During Transmit. The valid entries are ON and OFF
- <Fan1RxRun> tells the fans to run at setting #1 After Transmit. The valid entries are ON and OFF
- <Fan1RxRunUntil> defines the Celsius temperature at which the setting #1 fans should turn off. The valid entries are between 30 and 59
- <Fan2RxRun> tells the fans to run at setting #2 After Transmit. The valid entries are ON and OFF
- <Fan2RxRunUntil> defines the Celsius temperature at which the setting #2 fans should turn off. The valid entries are between 30 and 69
- Launch the fanticipator.exe application from the shortcut (did you make a desktop shortcut during install?) or Windows File Explorer
- If your configuration is correct, the status fields in FANticipator should immediately reflect readings taken from the KPA1500
- When you close FANticipator (the X in the corner) the settings and screen position will be saved to the fanticipator.xml configuration file
- The FANticipator COnsole enables the fan speed controls During Tx, AfterTx Setting #1, AfterTx Setting#2 and the KPA1500 settings for Operate/Standby, Antenna1/Antenna2, ATU In/Bypass/Tune
- When used with KPA1500 firmware release 01.72 or later, a Fault condition can be cleared by pressing the Operate/Standby button
Explanation of Fan Control Options
During Tx, override fan menu settings and run at settings +1
K8UT thinks that fan noise is more tolerable when transmitting – especially in CW and digital modes. With this option enabled, the fans will always run when the amplifier is in Transmit mode. The fan settings will always be one stage faster than the default. Thus, when the fans should be off they will be at setting #1; when they should be at setting #1 they will be at setting #2, and so on.
After Tx, continue to run at setting #2 until below nn degrees C
K8UT thinks that running the fans at low speeds for longer periods of time will avoid the fans ever reaching their very loud settings. With this option enabled, the fans will run in receive at their setting #2 level (which is somewhat loud but not awful) until the amplifier temperature has dropped below the indicated temperature.
After Tx, continue to run at setting #1 until below nn degrees C
K8UT thinks that running the fans at low speeds for longer periods of time will avoid the fans ever reaching their very loud settings. With this option enabled, the fans will run in receive at their setting #1 level until the amplifier temperature has dropped below the indicated temperature. At that time the fans will turn off (setting #0).
FANticipator Sample Screenshot Description
Refer to the image above when reading this description:
The amplifier is in transmit mode (red Tx) on 40 meters (7 MHz), with an input of 26 watts producing an output of 1317 watts into an antenna with a 1.0:1 SWR. WIth reflectoed power of 1 watt, the amplifier is operating at 50% efficiency. The amplifier temperature is 50 degrees, and the fans – which would not usually be running at this temperature – are operating at setting #2 because the After Tx setting #2 option is enabled with a cutoff off 50 degrees. When the amplifier cools below 50 degrees the fans will reduce speed to setting #1 because the After Tx setting #1 option is enabled with a cutoff off 35 degrees. When the amplifier cools below 35 degrees the fans will automatically shut off (setting #0) and the shack will be silent once again.
The KPA1500 amplifier can essentially be located anywhere that the Internet reaches. For security reasons, we strongly recommend that you establish a Virtual Private Network (VPN) between your logging computer and the remote KPA1500 amplifier. Depending on the quality of your connection, you might want to adjust <PollInterval> in fanticipator.xml. The default value is 500ms… start with 1000ms (1 second) and see how that works.
NOTE 1: If you expose your amp to the big bad Internet, do not leave the default port at 1500. Most spiders and bots target ports lower than 2000 and work down – they’ll find your unprotected KPA1500. Assign something higher than 30,000.
NOTE 2: The KPA1500 Utility has a bug that prevents setting port numbers greater than 4 digits. Use the Command Tester and the appropriate command (“^zznnnnn;” string) to adjust the port number.
Remote Operation – WakeOnLAN
A WakeOnLAN (WOL) capability was added to FANticipator version 2. WOL will automatically Turn On your amplifier when you launch FANticipator, and allow you to Turn Off the amplifier when you close FANticipator.
To enable WakeOnLAN operation with the KPA1500:
From the amplifier’s menu system:
- Select >NET WAKE on LAN = Enabled
- Determine the >NET MAC address (write it down!)
- Turn 0ff and re-start the KPA1500
From the FANticipator config Icon:
- Open the fanticipator.xml file
- Enter the KPAconfig <MACAddress> in the format nn:nn:nn:nn:nn:nn
- Save the file, close and restart FANticipator
To disable WakeOnLAN operation with the KPA1500:
From the FANticipator config Icon:
- Open the fanticipator.xml file
- Enter an “empty” KPAconfig <MACAddress> with all zeroes, exactly like this 00:00:00:00:00:00
- Save the file, close and restart FANticipator
- If FANticipator complains about not connecting to the amplifier
- Check the KPA1500’s menu choice for TECH MODE and ensure it is enabled.
- Use the KPA1500’s menu to display the NET IP ADDRESS of the amplifier. If you are using DHCP the router may have changed its address assignment
- Open a DOS or PowerShell window and run the PING command to see if your KPA1500 NET IP ADDRESS is correct. For example: PING 192.168.1.123 <return>
- If FANticipator immediately closes (never opens its window), there is probably something wrong with the fanticipator.xml config file. Delete the fanticipator.xml file and re-launch the program. A replacement XML file will be created automatically. Edit that file with a text editor (notepad.exe?) and insert the correct IP address.
If you have problems installing or operating FANticipator, look for answers on the FANticipator groups.io reflector. You do not need to register, or login, or even have an account to search for a solution to your problem. (Although you will need to register if you want to post a new question)
Fanticipator @ groups.io can be found HERE.
Larry K8UT, FANticipator developer