Free HP3478A multimeter control program. - Page 1
Forum section: electronics / testgear

author: lmester
author_rank: Regular Contributor
timestamp: January 15, 2017, 08:03:03 am
content: I bought a HP3478A multimeter about a year ago. It's a nice meter except for the no backlight LCD display. My old eyes have a problem reading it. I decided to fix this with a Microsoft Windows program to control the meter. You get a big easy to read display on your PC plus the ability to log data and load preset configs into the meter. The program uses a Prologix GPIB adapter to connect to the meter. A Prologix adaper or clone is required.You can download it from my web server:http://mesterhome.com/gpibsw/

author: lmester
author_rank: Regular Contributor
timestamp: March 24, 2018, 05:46:09 am
content: No more HP3478A dead battery anxiety!Thanks to some info that I found on this board, I've now added an option to backup and restore the meter calibration data. You no longer need to worry about losing the meter calibration data because of a dead battery!This is a Windows program. It requires a Prologix (or compatible) GPIB adapter.Even if you don't need to log data or control the meter using your computer, you may want to use this program just to back up your calibration data.My program performs a checksum on the cal data when performing a read or write. Also, a write verify.I decided that I couldn't publish this software without a thorough test. I risked wiping my meter cal to verifiy that the program can properly read and write the cal data.I turned on the cal enable switch to fully test the code. I edited the saved cal file to create bad checksums and then wrote it back to the meter. I then verified that the meter showed a calibration fail. Next, I wrote the good cal file back to the meter. The meter was now showing good calibration.Even with this testing, I would suggest that you should not try to write your meter's calibration unless it's really necessary.Also, You can do a safe (but not complete) test by doing a read and then a write with the cal switch disabled. The cal switch is a hardware write protect. Software can't override it. If the read and write match, the program will report no errors.If there are no errors, the software and GPIB interface are working properly.Finally, if you use an NI VISA USB to GPIB adapter there is backup software available in this thread.https://www.eevblog.com/forum/repair/hp-3478a-how-to-readwrite-cal-sram/msg1177575/#msg1177575That's where I found the info needed to port this into my code.

author: cellularmitosis
author_rank: Unknown
timestamp: March 25, 2018, 10:43:05 pm
content: Fantastic! I added a link to your software from my meter comparison page.https://github.com/USACalClub/gear/blob/master/dmms/README.md

author: mdijkens
author_rank: Regular Contributor
timestamp: March 25, 2018, 10:51:48 pm
content: NiceQuote from: cellularmitosis on March 25, 2018, 10:43:05 pmIf you like, you can add my Fluke 45 software also:mdFluke software(might also work with other Flukes)

author: cellularmitosis
author_rank: Unknown
timestamp: March 25, 2018, 11:17:46 pm
content: Quote from: mdijkens on March 25, 2018, 10:51:48 pmdone!

author: rhb
author_rank: Super Contributor
timestamp: March 26, 2018, 02:08:07 pm
content: Made my day. I just bought a 3478A on eBay yesterday.

author: sundance
author_rank: Regular Contributor
timestamp: July 12, 2018, 10:17:22 am
content: Same here!Thank you so much for sharing this excellent program.Just got my 3478A last week and was glad to be able to download the cal data and verify that it's valid.You really made (not just) my day!-joe

author: lmester
author_rank: Regular Contributor
timestamp: July 21, 2018, 03:40:58 am
content: I have put up a new version of the program. I found a bug that would intermittently give a warning that the calibration data write had failed even though it was actually successful. If you have saved cal data with the old version you don't need to re-save it. The cal data file is valid. The write verify had a bug.I was performing a verify on the first cal RAM location. This does not actually contain cal data. It's used by the meter as a write protect test. When cal is enabled the meter will periodically write a new value to this location. My updated code now ignores changes in this location.There are also a few other minor fixes and updates to the program.New version released on 07-20-2018https://mesterhome.com/gpibsw/index.htmlAlso, some users have had problems getting a connection using an Arduino based Prologix clone with the Girlando software.http://egirland.blogspot.com/2014/03/arduino-uno-as-usb-to-gpib-controller.htmlI have ordered an Ardiuno board so that I can do some testing using that adapter.Are you using an Arduino based GPIB adapter? Do you have any problems? Please let me know your results.I think it's worth some effort to get my software working reliably with the Arduino adapter. It's probably the cheapest way to make a GPIB adapter.

author: coromonadalix
author_rank: Super Contributor
timestamp: July 21, 2018, 03:47:49 am
content: thanks for the update, nice soft

author: TERRA Operative
author_rank: Super Contributor
timestamp: July 21, 2018, 07:18:08 am
content: Cool, I have one of these meters I am fixing up as my 'beater' meter when I don't want to risk the 34461A on a dodgy circuit.Will your software work with an official GPIB-USB adapter or the Ebay clones thereof?

author: Miti
author_rank: Super Contributor
timestamp: July 21, 2018, 10:07:46 pm
content: If you want back light, look here:https://www.eevblog.com/forum/testgear/hp3478a-backlight-my-version/msg1505830/#msg1505830

author: lmester
author_rank: Regular Contributor
timestamp: July 22, 2018, 02:38:08 am
content: Quote from: TERRA Operative on July 21, 2018, 07:18:08 amI normally use it with an official Prologix adapter. Note that this software does not work with NI-VISA type adapters. Only adapters that support the Prologix command set. It's been used with various Prologix clones with mixed results. See my web page for more info.

author: cat87
author_rank: Regular Contributor
timestamp: August 08, 2018, 05:10:28 pm
content: Thanks for the SW, lmester. Fantastic job. Just tried it with Girlando's Arduino GPIB and it works a treat. Just had to modify the Version ID that the UI is expecting and that was pretty much it (Settings -> Default Settings)I was really worried for some time now, that the battery in my 3478 would die on me. Well, not any more.

author: HighVoltage
author_rank: Super Contributor
timestamp: August 08, 2018, 07:27:03 pm
content: Nice looking software !May be one day to can also make it work on the 34401A? How cool would that be !

author: Miti
author_rank: Super Contributor
timestamp: January 19, 2019, 10:56:18 pm
content: Hi lmester,I just tested this software with the USB to GPIB adapter made by Steven Casagrande, link below and, as expected, it doesn't work. How hard would it be to add this adapter to the list?https://hackaday.com/2014/05/09/gpib-to-usb-with-a-python-api/Edit: Never mind, it works. Thanks a lot !Edit1: For some reason, even though I can see the readings from the instrument and (sometimes) I can control it, the message is "Instrument comm fail. Check GPIB port setting". It also cannot read calibration. Could it be because the GPIB adapter requires 460800 baud rate? In the "Default settings" it doesn't accept it but if I set it by hand in the config file, it doesn't complain.

author: coromonadalix
author_rank: Super Contributor
timestamp: January 20, 2019, 03:23:10 am
content: the usb gpib adapter is now an rev 4 from galvant industrieshttp://www.galvant.ca/#!/store/gpibusband the github infos FW etc ...https://github.com/Galvant/gpibusb-firmware

author: lmester
author_rank: Regular Contributor
timestamp: January 20, 2019, 10:13:25 am
content: Quote from: Miti on January 19, 2019, 10:56:18 pmMiti,I've uploaded a new version of the program. It now allows higher baud rates. This was a bug in my baud rate range check. Editing the config file to update the baud rate should not cause problems. That baud rate is valid. My range check just didn't allow it. There are no range checks for data loaded from the config file.Since you know how to edit the config file, there are two more "hidden" settings that you can select.Set line 20 to 1 to turn on debug messages. You could copy the contents of the Instrument status window and send it to me.More important, some Prologix clones require a delay between commands.Line 27 sets this delay. The default is 0. The units are milliseconds. Try 100 - 500. Very large values can effectively "hang" the program. It's actually running, but, all of those time delays add up to the point where nothing is happening.Here is a link to the config file settings:https://mesterhome.com/gpibsw/hp3478a/Software/ConfigFile.txt

author: Miti
author_rank: Super Contributor
timestamp: January 20, 2019, 03:21:28 pm
content: Thanks lmester!The baud rate works but comm still fails with delays up to 500ms. See attached.

author: lmester
author_rank: Regular Contributor
timestamp: January 21, 2019, 08:49:20 am
content: Quote from: Miti on January 20, 2019, 03:21:28 pmMiti,Instrument detection is failing. I don't have your Prologix clone adapter available for testing. Debugging this could require many messages and file transfers between us to resolve the problem. We should switch this conversation to private messages or email. No need to fill up this thread with messages that would be of no interest to most readers.I'll send you a PM.

author: steve1515
author_rank: Regular Contributor
timestamp: April 06, 2019, 03:56:40 am
content: Hi lmester.I just got the same adapter that Miti has and am also having issues. It seems to not be able to read the result of the "S" command even though I can when I use a terminal program. Were you ever able to figure this out?Here's my debug log... Any tips?Code:Version 03/23/19Windows 7 / S-2008 R2 Service Pack 1 Platform ID 2Config file loaded.Debug ON.Command delay = 500ms.Max COM port = 64.OC:Open COM5 CheckCom.CheckCom start COM5CheckCom end CreateFileA COM5CheckCom port foundCheckCom end CloseHandle COM5OC:Open COM5 open port.OC:Open COM5 OK.CA:Start CheckAdapter on COM5CA:Check Prologix GPIB adapter. ProVer =:"Version 5.0"CA:Found Prologix adapter (No arduino delay).CA:Exit checkAdapter on COM5COM port set to COM5IG:Start InitGPIBIG:Find Prologix GPIB adapter.IG:ProVer srch:"Version 5.0"IG:Found Prologix adapter.IG:set ++mode 1.IG:set eot_enable 0.IG:set read timeout:++read_tmo_ms 3000IG:SetGPIB Address ++addr 18 success.IG:set EOI 0.IG:set EOS 0.IG:Set auto talk mode off: ++auto 0 success.IGT:QSB resultIGT:Failed instrument ID: BR$=:""IGT LEN BR$:0Instrument comm fail!Check GPIB port setting!Check GPIB port setting!

author: Miti
author_rank: Super Contributor
timestamp: April 06, 2019, 08:08:13 pm
content: Try Galvant2 from here:https://mesterhome.com/gpibsw/hp3478a/Software/

author: lmester
author_rank: Regular Contributor
timestamp: April 07, 2019, 01:46:56 pm
content: Quote from: steve1515 on April 06, 2019, 03:56:40 amAs Miti said, you can try the custom "Galvant" versions on my web site. These are NOT fully functional. The Galvant firmware does not support binary transfers. This causes the calibration load/save to fail.

author: steve1515
author_rank: Regular Contributor
timestamp: April 07, 2019, 09:30:08 pm
content: Thanks. It works!

author: steve1515
author_rank: Regular Contributor
timestamp: April 18, 2019, 11:56:16 am
content: I've been re-writing the firmware for the Galvant adapter with a goal of full compatibility with the Prologix adapter. I expect to release it soon, since I only have a few things to work out. Hopefully this will make it so lmester doesn't have to keep different versions of his program and also so other people can use the open source hardware just like the Prologix in their other projects.In order to get my firmware to work the same as the Prologix, I'll need someone who has one to enter a few commands and send me the PuTTY log for review. I would do this myself, but I don't own a Prologix for testing... but that's why I bought the Galvant hardware.Can someone with a Prologix please execute the following commands in the order provided with logging turned on and upload the file? I'm mainly looking to match certain command outputs and line endings for maximum compatibility.Code:++ver++addr 18++addr++addr 18 97++addr++eos 1++eot_char 13++eot_enable 1++addr++ver++help++eot_char 10++addr++ver++eos 0++addr++eos 2++addr++eos 3++addr++helpIf PuTTY is used on windows, please use the following settings:Code:Session -> Logging -> Session Logging = All Session OutputTerminal -> Implicit CR in every LF = OFFTerminal -> Implicit LF in every CR = OFFOne final thing I'm wondering...When the Prologix is connected to the HP 3478A, if "++read" is sent, does the meter return the value continuously or only just a single read?Thanks for any help anyone can provide!I hope to publish the source code on GitHub for all to use once it's done.

author: steve1515
author_rank: Regular Contributor
timestamp: April 30, 2019, 12:21:00 am
content: I just wanted to update here that I've released what I call version 6 of the firmware for the Galvant GPIBUSB adapter. This firmware is highly compatible with the Prologix command set. You can find it here:https://github.com/steve1515/gpibusb-firmwareThis firmware allows the Galvant adapter to work with the regular version of lmester's HP 3478A control program. Binary read/write works as well, so the meter calibration can be read and written.

author: Ringmodulator
author_rank: Regular Contributor
timestamp: September 14, 2019, 03:45:57 pm
content: Hi lmester,thank you for this programm.It works with a Emanuele Girlando Arduino GPIB adapter.My first contact with a Arduino board.Could backup the cal data of my two HP 3478a.One question: What is the "X-Ohm" measurement function?Chris

author: Miti
author_rank: Super Contributor
timestamp: November 24, 2019, 01:59:28 pm
content: Quote from: steve1515 on April 30, 2019, 12:21:00 amHi Steve,Thanks for the new firmware!I can confirm that it works with the regular version for reading of the calibration constants but not for writing. Can you post the interface settings and the .cfg file that works for you?Thanks,Miti

author: steve1515
author_rank: Regular Contributor
timestamp: November 25, 2019, 04:18:26 am
content: Hi Miti.Below you will find what I'm using for settings.When writing the updated firmware, I also created a program that reads/writes and displays detailed calibration information. My program is compatible with lmester's calibration files as well. Can you try out my program and see if writes are working when you use the updated firmware? lmester's program and mine should be using the same commands over GPIB. I'm interested to hear if my program works for you or also fails.My Program:https://github.com/steve1515/hp3478a-calibrationDownload:https://github.com/steve1515/hp3478a-calibration/releasesHere is what I used for settings:Here are the contents of my config file:Code:5F1R0N5Z1T1HP3478Aloglog0111000023IMMD10D:\Downloads\HP3478A\log\64GPIB4608001100000000Unused valueUnused valueUnused value

author: lmester
author_rank: Regular Contributor
timestamp: November 25, 2019, 01:11:40 pm
content: I've been notified that my program is not working with the current release of the ar488 Arduino firmware (0.47.53). It is working with the 0.46.03 version. Until this problem is resolved you should use the 0.46.03 ar488 firmware.

author: steve1515
author_rank: Regular Contributor
timestamp: November 27, 2019, 02:51:26 am
content: I believe Miti is using my customized Galvant GPIB-USB firmware version 6 and not the Arduino. I just want to clear this up in case there is any confusion.

author: Miti
author_rank: Super Contributor
timestamp: November 27, 2019, 04:10:26 am
content: Quote from: steve1515 on November 27, 2019, 02:51:26 amYes, I'm using your "v6" firmware but I think lmester's comment was in general, it wasn't addressed to me. I will give your program a try in the next couple of days.

author: lmester
author_rank: Regular Contributor
timestamp: November 27, 2019, 02:49:31 pm
content: Quote from: Miti on November 27, 2019, 04:10:26 amSorry for the confusion. Miti is correct. This was a general comment only for users of the Arduino with ar488 firmware. I'm working with the ar488 author to solve this problem. First will be some comparisons of the responses of my real Prologix adapter and the Arduino Prologix clone.

author: Miti
author_rank: Super Contributor
timestamp: November 28, 2019, 12:48:20 am
content: Hi Steve,I tested your program. Reading seems ok, writing is unstable. could be the interface? These are the messages that I've got:ERROR: Failed while writing calibration data to instrument.Extended Error Information:Failed while verifying calibration data in instrument SRAM.Operation completed successfully.ERROR: Failed while writing calibration data to instrument.Extended Error Information:Failed while verifying calibration data in instrument SRAM.ERROR: Failed while writing calibration data to instrument.Extended Error Information:Invalid GPIB adapter version string.ERROR: Failed while writing calibration data to instrument.Extended Error Information:Invalid GPIB adapter version string.ERROR: Failed while writing calibration data to instrument.Extended Error Information:Could not communicate with instrument.Writing calibration data to instrument...Operation completed successfully.I added it to my collection of utilities anyway.Thanks!!

author: steve1515
author_rank: Regular Contributor
timestamp: November 28, 2019, 02:32:10 am
content: Miti,When it writes it reads back to verify. I believe it's this step that's failing. Do you have the switch on the front panel turned to cal mode? If this switch isn't turned it should cause this.Although, if you read and then write back the exact same data, then it should succeed even if cal mode is not turned on since the verify would pass since the data is the same.Does the data read look kind of ok? I wonder if there's an issue with your SRAM.I wonder if anyone else would be able to try out my firmware with the Galvant just to make sure there aren't any issues. Hmm...EDIT: Just noticed that you also are getting errors getting the version string. I if you open a terminal window can you issue "++ver" and see if that works? The GPIB-USB should return a version string.--Steve

author: lmester
author_rank: Regular Contributor
timestamp: November 28, 2019, 03:48:42 am
content: Steve,I decided to try your software. You may be interested to know that it works good with a real Prologix adapter!No luck with the Arduino. I had to add a delay in my code to get it to connect to the Arduino. The Arduino starts it's boot loader whenever the COM port is opened. It takes about two seconds from opening the port until the Arduino bails out of the boot loader and starts running application code. Do you have any delay after opening the COM port?Also, I like the way you show the cal gain and offset. If you don't mind, i'd like to use some of your code to add that feature to mine.Code:--- save cal using Prologix ---D:\Junk\cal>hp3478acalibration.exe -f file.cal -r 6Reading calibration data from instrument...Instrument contains valid calibration data.Writing calibration data to file...Operation complete.Calibration Raw Raw# Entry Offset Offset Gain Gain Checksum-- -------------- ------ ------- ----- -------- --------01 30 mV DC 000310 310 2CCCE 1.015558 C702 300 mV DC 000031 31 2CC3F 1.015629 CF03 3 V DC 000004 4 2CCF5 1.015595 CD04 30 V DC 999994 -6 1521F 1.015209 B605 300 V DC 000000 0 152DE 1.015168 DC06 <not used> 000000 0 00000 1.000000 FF07 AC V 999502 -498 14F45 1.013945 C008 30 Ohm 2W/4W 999904 -96 050DE 1.004968 B709 300 Ohm 2W/4W 999991 -9 054EE 1.005378 AC10 3 kOhm 2W/4W 999999 -1 05344 1.005344 B911 30 kOhm 2W/4W 999999 -1 0512C 1.005116 B512 300 kOhm 2W/4W 999999 -1 0522F 1.005219 B113 3 MOhm 2W/4W 999999 -1 052D1 1.005171 B414 30 MOhm 2W/4W 999999 -1 0524F 1.005239 AF15 300 mA DC 000260 260 3EF50 1.027950 D216 3A DC 000025 25 3E00D 1.027997 DA17 <not used> 000000 0 00000 1.000000 FF18 300 mA/3A AC 999502 -498 3C3F2 1.026292 BA19 <not used> 000000 0 00000 1.000000 FF--- save cal using ar488 ------ Note that AR488 does return the substring "GPIB" for ++ver ---D:\Junk\cal>hp3478acalibration.exe -f file.cal -r 6Reading calibration data from instrument...ERROR: Failed while reading calibration data from instrument.Extended Error Information:Invalid GPIB adapter version string.D:\Junk\cal>--- program settings ---<?xml version="1.0" encoding="utf-8" ?><Settings><!--Serial Port Settings--><SerialPort><PortName>COM11</PortName><BaudRate>460800</BaudRate><DataBits>8</DataBits><Parity>None</Parity> <!--Parity = None, Odd, Even, Mark, Space--><StopBits>One</StopBits> <!--StopBits = One, OnePointFive, Two--><FlowControl>None</FlowControl> <!--FlowControl = None, RequestToSend, RequestToSendXOnXOff, XOnXOff--></SerialPort><!--GPIB Adapter Settings--><GPIBAdapter><Timeout>1000</Timeout> <!--Serial/GPIB Timeout (mSec)--><VersionString>GPIB</VersionString> <!--Command '++ver' return value must contain this string.--></GPIBAdapter></Settings>

author: Miti
author_rank: Super Contributor
timestamp: November 28, 2019, 11:24:28 am
content: Quote from: lmester on November 28, 2019, 03:48:42 amHi lmester,If you do that, can you also add edit function to the program? This way one can adjust the offset or gain of a particular function in decimal, the program then calculates the hex and checksum and saves to a new calibration file.

author: steve1515
author_rank: Regular Contributor
timestamp: November 28, 2019, 09:22:22 pm
content: Hi lmester,There is maybe a 200 mSec delay when starting up, but once you connect to the COM port at the correct baud rate it should work.Feel free to use the code, but please add attribution. Thanks!

author: lmester
author_rank: Regular Contributor
timestamp: November 29, 2019, 04:52:06 am
content: Miti,That's a great idea! It'd be really great to be able to tweak up the gain and/or offset without going through a full calibration. With it's input shorted my meter shows a small negative reading on some resistance ranges. It could use some offset adjustment. And, now that we can easily save the cal data, you could revert back to an earlier cal if you mess things up by tweaking the cal entries.

author: Miti
author_rank: Super Contributor
timestamp: November 29, 2019, 11:12:02 am
content: Quote from: lmester on November 29, 2019, 04:52:06 amDoes it show that negative reading in both, 2W and 4W? Keep in mind that this meter can only be calibrated in one mode, which seems stupid to me.

author: lmester
author_rank: Regular Contributor
timestamp: December 05, 2019, 03:16:12 pm
content: !!! update !!! 12/7/2019Unfortunately I've found some more problems with my program and the new AR488 firmware.Use the 0.46.03 AR488 firmware until I solve all of the problems.Sorry about this :-(--------- old post ------A problem with my software and the AR488 arduino firmware has been solved.If you're having problems connecting to your meter using the AR488 firmware you can correct the problem by downloading the 0.47.59 version:https://github.com/Twilight-Logic/AR488

author: lmester
author_rank: Regular Contributor
timestamp: December 25, 2019, 06:28:47 am
content: A new version is available with the ability to adjust an instrument calibration entry.You can now adjust the gain and offset values for a calibration entry. You can use this to adjust the calibration without going through the full calibration procedure for the instrument.This is from a request from Miti.This code was made much easier thanks to code from Steve Matos (Steve1515). He provided code that converted the compressed instrument cal data into a gain and offset value. I only had to reverse his algorithm to compress the gain and offset back into the cal data storage format.When you click the "Update cal." button the new cal data will be written to the instrument.Make sure that the cal enable switch is turned on or the cal write will fail.Warning! Be careful with this. It gives you a quick and easy way to trash the instrument calibration.

author: coromonadalix
author_rank: Super Contributor
timestamp: December 25, 2019, 03:04:34 pm
content: Maybe just maybe, force the user to do a backup before using this cal data interfaceSurely someone will do this mistake and learn from it ??

author: Ground_Loop
author_rank: Frequent Contributor
timestamp: December 26, 2019, 01:43:21 am
content: Will your application also work with 3457? I have mine at the cal lab right now and would like to back it up right out of the shop.

author: lmester
author_rank: Regular Contributor
timestamp: December 26, 2019, 05:47:46 am
content: Quote from: coromonadalix on December 25, 2019, 03:04:34 pmcoromonadalix,I'd thought of doing some type of auto cal backup. I'd need a way to do it that would work without being a nuisance for someone that's adjusting their instrument's cal. you could enter the edit cal window many times while adjusting the cal data. A dialog to save a backup cal file each time would get old very quickly.One possibility would be to automatically save a copy of the current instrument cal into the program cfg folder whenever edit cal was selected. This would be easy to code since the edit cal window already reads the current calibration data when it's opened. To make this automatic, I'd need to add a date/time stamp to the cal file name. A minor problem with this is that the cfg folder could have a lot of cal update log files in it. Not a big problem since the files are small. Also, if the user has multiple instruments, they'd need to determine which instrument the cal update logs came from.There is some protection already available with my program and with the instrument.First, you need to turn on the front panel cal enable switch.Next, you get a final warning from my program before new cal data is written.Any suggestions on how to make the edit cal feature safer but still easy to use would be welcome.

author: lmester
author_rank: Regular Contributor
timestamp: December 26, 2019, 05:56:42 am
content: Quote from: Ground_Loop on December 26, 2019, 01:43:21 amI did a quick look through the 3457 docs. It's unlikely that my program would work. Calibration requires that the user enters a PIN code to enable calibration. This may not even be possible through the GPIB interface. Much different than the hardware cal enable switch on the HP3478A.

author: lmester
author_rank: Regular Contributor
timestamp: December 27, 2019, 09:07:57 am
content: The user Miti has informed me that there is a problem with my instrument calibration update function. If you enter a gain value above 1.055555 my program will write an incorrect gain value into the instrument. Until I resolve this bug, you should only enter gain values below 1.055555. Also, you should verify the new gain value by exiting and then re-enter the cal update window. Verify that the current cal gain data read from the instrument matches the value that you saved.I'm sorry about this problem.Once I determine what's wrong I'll release an updated version.

author: coromonadalix
author_rank: Super Contributor
timestamp: December 27, 2019, 09:40:54 am
content: @ lmester a warning popup should be fine to warn user of the possibility to smash the instrument calibration.For the backups, i dont know if you can poke an serial number thru the gpib port via some commands ??and create a file snxxxxxx-date xxxxxx-time xxxxxx and manage all this ??I think the simplest solution would be per use basis, one software use / one instrument, if a person has 2x, 3x 3478 meters in a chain and does a mistake ....... sure the cal switch is a good protection.I dont know if the meter can operate under "calibration" at on position ?? sadly i dont own these metersYou know when we say dont do this and that loll someone will do it lollAnd thks for the time put in this great piece of software

author: lmester
author_rank: Regular Contributor
timestamp: December 28, 2019, 07:54:11 am
content: Quote from: coromonadalix on December 27, 2019, 09:40:54 amFirst, the instrument will operate when in "calibration" mode. It just shows a "C" appended to the reading. Also, the instrument has no way to read it's serial number through GPIB. It'd be great to be able to automatically add a serial number to the cal data file. It's just not possible with this instrument. The best solution is probably just to dump a time/date stamped file to the user's hard drive before each cal edit.Right now I'm working on the more important problem of why my program is limited in the range of cal gain values that can be properly sent to the instrument. This may just be a problem with my program range checks. I may be allowing the user to input invalid cal data. More work and talk with the original author of the calibration decode algorithm is needed.How much protection do you need to have for operator errors? I remember a quote from many decades ago:"You can try to goof-proof a system. Unfortunately the goof can allways be bigger than the proof!"

author: coromonadalix
author_rank: Super Contributor
timestamp: December 28, 2019, 02:32:45 pm
content: Well said lmesterI hope you find the little buggar in the software

author: lmester
author_rank: Regular Contributor
timestamp: January 19, 2020, 05:08:02 am
content: I've released an updated version of the software.This version should work without problems with the current version of the AR488 Arduino firmware. If you use an Arduino based GPIB adapter and have any problems please let me know!Updates to the edit calibration feature:It seems that I was allowing invalid data to be entered for the gain entry.The range check for gain now allows a value from 1 to 1.055555.The allowed offset range is -100000 to 899999.I added an automatic backup of the calibration data.When you write calibration data, a file with the previous data will be saved in the cfg (config) folder.The date and time are appended to the filename. Here is an example filename.CALBackup_2020_01_01_02_53_14.calThe file uses the normal .cal file format and can be sent to the instrument using the "Write calibration" function.Fixed bug with reading instrument settings on program start:When you start the program you have two options for instrument settings:You can use the current settings or write the settings saved in the program config file to the instrument.The program was not properly reading the current settings.This has now been corrected.Minor GUI layout problems with Windows 10:I recently upgraded from Windows 7 to Windows 10. With Win 10 I noticed that some of the radio button controls were overlapping and not displayed properly. This version corrects the problem.

author: Miti
author_rank: Super Contributor
timestamp: March 14, 2020, 05:43:12 pm
content: Kirill added Prologix support to his adapter and it works with Lmester's program.https://www.eevblog.com/forum/projects/project-extending-hp3478a-functionality/new/#newA bigthanksto both, Kirill and Lmester!

author: lmester
author_rank: Regular Contributor
timestamp: March 21, 2020, 01:13:36 am
content: Here is another update to the software.https://mesterhome.com/gpibsw/hp3478a/index.htmlI fixed more bugs in the gain edit feature. I've also updated the range checks to permit gain values from 0.911112 to 1.077777.Thanks to fenugrec and steve1515!

author: Miti
author_rank: Super Contributor
timestamp: March 21, 2020, 07:50:49 pm
content: Luke,I did extensive testing on multiple ranges using Kirill's adapter. It works flawlessly. Thanks a lot!I also want to say thank you to Kirill, Fenugrec and Steve1515.

author: PixieDust
author_rank: Frequent Contributor
timestamp: May 24, 2020, 03:40:38 pm
content: Does your software work with the Prologix ethernet variant?Also does anyone know a good reason why the Prologix clone has the GPIB connector and USB connector on the same face of the unit?Also, did I read correctly on your web page that therDalton clone doesn't work?

author: Noy
author_rank: Frequent Contributor
timestamp: May 24, 2020, 04:44:11 pm
content: Do somebody know If there is a software that kind of here (maybe this software here) but useable with prologix / Fluke 8840A?

author: Neomys Sapiens
author_rank: Super Contributor
timestamp: May 24, 2020, 10:47:00 pm
content: Just great. Nobody is doing 3478 integration for that HKJ softwarehttps://www.eevblog.com/forum/testgear/program-that-can-log-from-many-multimeters/?topicseennow I find this, and find out that I have the wrong type of adaptor (NI USB<>GPIB). Somewhere is a PCMCIA card adaptor - would this work?Else I have to hunt for a Prologix one.

author: lmester
author_rank: Regular Contributor
timestamp: May 25, 2020, 06:38:23 pm
content: Quote from: PixieDust on May 24, 2020, 03:40:38 pmMy software only works with serial Prologix adapters. My Dalton adapter is not working. Current versions of my software have not been tested with the Dalton adapter. The software may still work. It's just not been tested with the Dalton.

author: PixieDust
author_rank: Frequent Contributor
timestamp: May 26, 2020, 01:59:35 am
content: Gocha.

author: sairfan1
author_rank: Frequent Contributor
timestamp: March 04, 2021, 09:50:05 pm
content: I did not noticed that is software was written for HP3478A i was trying it with my HP3457A and it worked but when i tried it again it never worked again, is there a way that i can use it with 3457A as believe both models are very close

author: lmester
author_rank: Regular Contributor
timestamp: March 07, 2021, 02:44:40 am
content: Quote from: sairfan1 on March 04, 2021, 09:50:05 pmI looked at the command syntax for the HP3457A. It's quite different than the HP3478A. No chance that this program will work correctly with the HP3457A. Sorry.

author: porter
author_rank: Regular Contributor
timestamp: April 17, 2022, 09:12:25 pm
content: I downloaded the cal constants from my 3478a through a AR488 adapter successfully using your program. It worked out of the box with no configuration changes.Thank You.

author: Miti
author_rank: Super Contributor
timestamp: December 24, 2022, 07:12:48 pm
content: Hi Luke,I remember this program was running very well but look what i see after replacing my PC in the lab. Is this something that you can fix?Thanks,Miti

author: coromonadalix
author_rank: Super Contributor
timestamp: December 24, 2022, 09:19:52 pm
content: It runs fine on win10 and 11 in y case, i dont now why but at first it was like the picture shown@ MITI do you have the latest version ??https://mesterhome.com/gpibsw/hp3478a/Software/those who are ending with 2020 ??or the HP3478A.zip ?? october 21 2022 ??

author: Miti
author_rank: Super Contributor
timestamp: December 24, 2022, 09:39:15 pm
content: I have the one that was released on 04/18/2020, I think it is the latest.My OS is Win7.

author: Miti
author_rank: Super Contributor
timestamp: December 24, 2022, 10:12:26 pm
content: I figured it out, it is my text size. It is set to 125%. If I set it to 100% it looks ok but my eyes aren't what they used to be so I need 125%. Is it possible to make it independent of the text size?

author: lmester
author_rank: Regular Contributor
timestamp: December 25, 2022, 02:04:13 am
content: As Miti said it is caused by screen scaling not set to 100%. Unfortunately the compiler that I'm using does not support screen scaling.

author: coromonadalix
author_rank: Super Contributor
timestamp: December 25, 2022, 02:24:06 am
content: you would need ressource editor (reshack or equivalents) and resize the window(s) texts placements etc .... tried it and it worked, but i did not kept the moddified file

author: J-R
author_rank: Super Contributor
timestamp: December 25, 2022, 06:53:20 am
content: Try the disable display scaling check box. Sample photo attached.

author: lmester
author_rank: Regular Contributor
timestamp: December 27, 2022, 03:44:40 am
content: The last time I tested my program with display scaling was with Windows 7 or possibly 8. I just tried it with windows 10. My program does not have any problems on my Windows 10 machine.What version of Windows are you using?

author: Miti
author_rank: Super Contributor
timestamp: December 27, 2022, 03:52:20 am
content: It is Win 7.

author: lmester
author_rank: Regular Contributor
timestamp: December 27, 2022, 04:29:36 am
content: Miti,My program was written using a fixed size window. This was done because I'm not an expert Windows GUI programmer. I don't want to write and debug all of the extra code that's needed for a resizable window.It's sized to fit on an 800x600 desktop. It may be time to bump that up to a bigger size. Possibly 1024x768. That will be about 28% larger.I have two 1280x1024 monitors on my PC. These monitors are over 10 years old. Current monitors are wide screen format with much higher resolution.The important question is: How many people are still using 800x600 as their desktop resolution?

author: coromonadalix
author_rank: Super Contributor
timestamp: December 27, 2022, 04:38:52 am
content: unless you are using an old lappy or pc ?? I think 1024x768 would be nicer ?Better on my 32" monitors loll

author: Miti
author_rank: Super Contributor
timestamp: December 27, 2022, 04:50:56 am
content: Quote from: lmester on December 27, 2022, 04:29:36 amNot many I would assume. If you do some pcb design you definitely need full hd and eventually two monitors. I recently changed my lab pc from a NUC with a 1680x1050 monitor to an old Lenovo laptop with full 1080 display plus the old monitor as secondary. You don’t need to put any extra effort into this program for me, I just didn’t know where the issue was.

author: Miti
author_rank: Super Contributor
timestamp: December 28, 2022, 10:15:48 pm
content: Quote from: J-R on December 25, 2022, 06:53:20 amThat doesn’t work for me.

author: lmester
author_rank: Regular Contributor
timestamp: December 30, 2022, 02:17:28 am
content: I have added a new version of the program with a larger main window size. It's now sized for a 1024x768 or larger desktop. To do this I had to add an adjustable scale for the GUI object locations and for adjustable font sizes.MitiThis won't directly fix the windows 7 scaling problem but will allow you to correct it.Look in the source code at line 156. This is where screen scaling and font size is set. Try decreasing the three font sizes until the text displays properly. You'll need to re-compile the code after adjusting these settings.Code:' Screen Scaling:' 1.0 is 750x550, 1.25 will set screen to 960x687xs=1.25 'X axis scale multiplierys=1.25 'Y axis scale multiplierFontMeter$="64" 'meter display font size 48-64FontMain$="14" 'Main window text font size 10-14FontTerminal$="12" 'Instrument status font size 10-12nomainwinWindowWidth = 750*xs ' 960 '750WindowHeight = 550*ys '687 '550UpperLeftX=int((DisplayWidth-WindowWidth)/2)UpperLeftY=int((DisplayHeight-WindowHeight)/2)'-----Begin menu codemenu #main, "&File ",_"Log file" , LogFile,_"Load settings", ,_"Save settings", ,|,_"Exit" , [quit.main]menu #main, "Settings" ,_"Default settings", ,_"Read/Write calibration", ,_"Edit calibration", '-----End menu code'-----Begin GUI objects codeTexteditorColor$ = "white"TextboxColor$ = "white"texteditor #main.Terminal, 480*xs, 275*ys, 255*xs, 215*ysgroupbox #main.GBTrigger, "Trigger", 485*xs, 92*ys, 95*xs, 145*ysgroupbox #main.GBAutoZ, "Auto zero", 340*xs, 247*ys, 125*xs, 75*ysgroupbox #main.GBRange, "Range", 10*xs, 147*ys, 300*xs, 175*ysgroupbox #main.GBFunction, "Function", 10*xs, 92*ys, 455*xs, 50*ysgroupbox #main.GBLog, "Log file", 10*xs, 327*ys, 170*xs, 90*ysThe source code is included in the zip file. Also, the compiler is freeware. you can download it from here:http://www.bbcbasic.co.uk/lbb/

author: Miti
author_rank: Super Contributor
timestamp: February 19, 2023, 08:32:02 pm
content: Hi Luke,I have Kaspersky free installed on my computer and all of a sudden today, after years of having and using your software, Kaspersky deleted multiple version of this application because it thinks is infected with VHO:Trojan.Win32.Convagent.gen. I tried to download it again from your site and it doesn't let me.Do you know what can cause this? Something in the SW behavior that looks like a trojan, or Kaspersky went crazy? Real trojan?Thanks,Miti

author: Miti
author_rank: Super Contributor
timestamp: February 20, 2023, 06:30:07 pm
content: Now it won't even allow me to download anything from your site. It says:"Visiting a dangerous website has been prevented"What is going on? Has Kaspersky gone nuts? Can other people check with different antivirus SW?https://mesterhome.com/gpibsw/hp3478a/Software/Thanks,Miti

author: coromonadalix
author_rank: Super Contributor
timestamp: February 20, 2023, 07:34:05 pm
content: kill your A.V and retry

author: lmester
author_rank: Regular Contributor
timestamp: February 20, 2023, 07:44:29 pm
content: I had the same problem with Windows Defender a few years ago. I reported the problem to them and they published a revised virus scan file to correct the problem.Here is a link to report to Kaspersky:https://forum.kaspersky.com/topic/kaspersky-how-to-report-false-positive-22328/

author: lmester
author_rank: Regular Contributor
timestamp: February 22, 2023, 07:39:00 pm
content: I tested my program files on my work computer. It's running Microsoft Defender for Endpoint. This is the enterprise version of the microsoft security software. No virus was found in the files. Definitely a false positive.

author: lmester
author_rank: Regular Contributor
timestamp: January 23, 2024, 06:15:09 pm
content: I have users of my HP 3478A multimeter control software that are getting checksum errors when trying to read the calibration data. This is happening with newer AR488 firmware versions. Older firmware works fine.My program works with AR488 0.49.14 but fails with AR488 0.51.18.If you have checksum fails you should check your firmware version. You may need to downgrade until I find the cause of this problem.

author: coromonadalix
author_rank: Super Contributor
timestamp: January 23, 2024, 06:23:29 pm
content: Same here, no problems with antivirus and downgraded the firmware ... but not using 3478, im using other 344xx series

author: adinsen
author_rank: Regular Contributor
timestamp: February 01, 2024, 03:59:50 pm
content: Your software made my day! I bought a 3478A a few weeks ago and was becoming anxious that the battery would run out as it was older than I thought when I bought it. The battery is impressively still at 3.5V even though its date coded 11/87. So I was happy when I received the PCBs for AR488 today from JLCPCB, I got the 24pin connectors from Digikey earlier this week.As you note above, I had to install AR488 0.49.14 firmware from the archived ZIP file in the github repository to make it work. I checked the AR488 issue trackerhttps://github.com/Twilight-Logic/AR488/issues?q=is%3Aopen+is%3Aissueand there's apparantly nothing reported there about the problem. We should. Is there a way to dump the communication between your software and the AR488 for debugging?The automatic GPIB address search and edit calibration data dialogue are very nice features of your software!I've observed a bug that sometimes it display Ohms instead of DCV. Clicking the function radio button corrects the display, so it's just a minor source of confusion. See screenshot.Thanks a lot for your work/Anders

author: ultrasmurf
author_rank: Regular Contributor
timestamp: April 08, 2024, 09:54:09 am
content: Hi guys, just scored a cheap working 3478A. And after failing to write program to talk to the gpib I stumble to this program. Now I need some help because it seems that the gpib is only somewhat working (this is definitely the reason i fail to write the program... not my programming skill....)If I use this beautiful program, and set my gpib address at 6 (seems to be the value of the setting for the software as downloaded), it can somehow connect to the multimeter. I need to press the reset button, and then i can press the start button and get it to read the measurement and display it on the software.During start up the software recognize the com port and set it correctly but will fail at detecting gpib.If I press reset, it will say comm failure, but I can hear clicking in the multimeter, and after this if i press start button it will display correct measurement.If I try to read cal data it will say comm fail.If I set my gpib address to anything other than 6 I can still hear the multimeter responding when I click reset, but it will not allow my to start and will only show comm fail.Any pointer as to where I should look at ? Or way to test the gpib ?Thanks a bunch...

author: ultrasmurf
author_rank: Regular Contributor
timestamp: April 09, 2024, 02:45:28 am
content: Just a quick update,Ofcourse everything now works... no idea what was it. Might be the PC. Now it scan and found the gpib address and communicate with the multimeter like a champ. Reading calibration data without issue.

author: adinsen
author_rank: Regular Contributor
timestamp: April 09, 2024, 04:25:09 am
content: Great to hear! Mine sometimes takes a few tries before I get it to connect. I think it's the windows stack of COM-USB drivers but once it's working, it's rock-stable.

author: porter
author_rank: Regular Contributor
timestamp: November 14, 2024, 02:59:53 am
content: I recently installed the Wine program on my Ubuntu 24.04 system so I could use LTspice. Since LTspice worked (after I realized the installer placed the filesin an unexpected location), I thought I would try the HP3478A Instrument Control Software. To get the HP3478A program up and running the COM port hadto be mapped to the AR488 port. Wine has a regedit program and instructions to re-map the ports from the Wine defaults.I've attached a screen shot of the key/values that I added.So it looks like it works. I used the calibration export and data logging features. The large numeric characters on the screen are a little clipped.I may be able to change the Wine configuration for the HP3478A.exe program to fix it.

author: lmester
author_rank: Regular Contributor
timestamp: November 15, 2024, 03:10:31 pm
content: If you're still having problems with the meter display I can put up a version of the proram with a smaller font.

author: FlipSideElectronics
author_rank: Newbie
timestamp: April 07, 2025, 01:13:53 am
content: Adding a note of appreciation tolmesterand all associates for creating this Windows utility.I recently bought a cheap HP 3478A, mainly because it had a fairly recent calibration in 2021. While doing additional research I found the potential backup battery issue, then shortly after this thread and your website with the utility. Ordered a cheap but genuine Prologix GPIB to USB adapter as recommended.Using my ancient ThinkPad T60 laptop with Windows 7 I was able to back up the calibration data without issue. The only minor annoyance was fighting with FTDI drivers for the Prologix adapter. I didn't do any super extensive testing but there were no issues controlling the multimeter functions with the Windows utility.Now I can look into replacing the backup battery, RIFA caps, OLED mod (maybe, haha) etc. without worrying about the calibration data. Much thanks!The attached photo shows me checking the output of my E3617A power supply, another great piece of vintage HP equipment : )

author: porter
author_rank: Regular Contributor
timestamp: May 06, 2025, 03:12:53 am
content: Another note of thanks to lmester for his program. I used it to back up the cal data and restore it after a bungled battery replacement.

author: damionromero
author_rank: Newbie
timestamp: June 02, 2025, 05:28:52 pm
content: I finally managed to get my calibration data saved from an HP 3478a that I recently acquired.I had some headaches getting everything talking, but it worked with the following:Windows 10, lmester's app ver. 12-29-22,A version 4 (metal enclosure) Prologix USB adaper - after updating it with the "gpib-usb-4.2-6.95" prologix firmware and using FTDI driver "2.12.14.0". Both of these not readily available, but , thankfully, easily found and downloaded from very old saved snapshots of the prologix website available on the archive.org wayback machine.++ver returns "Prologix GPIB-USB Controller version 6.95"Here's what the cal file says:@@@@BBBBENCLME@@@@BDBE@LMMI@@@@@BBEOBBNCIIIIIIBEALNJG@@@@@@BE@BCOC@@@@@@@@@@@OOIIIA@HBAAD@MCIIIHIF@ECM@KHIIIII@@EDEDL@IIIIII@EDBLKBIIIIII@ED@EKKIIIIII@EDECKHIIIIII@EB@DKN@@@@@@ALMN@MG@@@AG@CDAMOMC@@@@AFCD@@CNN@@@@@@@@@@@OOIII@BECA@DBMC@@@@@@@@@@@OO@@@@@@@@and from the log window:3478A connected.Instrument stop/localCF:LogPath: C:\Program Files (x86)\HP3478A\log\:C:\Users\Damion\Desktop\cfg\Reading calibration data.**********Verify checksums.@@@BBBBENCLME : CkSum = (213 + 42) Checksum OK.@@@@BDBE@LMMI : CkSum = (217 + 38) Checksum OK.@@@@@BBEOBBNC : CkSum = (227 + 28) Checksum OK.IIIIIIBEALNJG : CkSum = (167 + 88) Checksum OK.@@@@@@BE@BCOC : CkSum = (243 + 12) Checksum OK.@@@@@@@@@@@OO : CkSum = (255 + 0) Checksum OK.IIIA@HBAAD@MC : CkSum = (211 + 44) Checksum OK.IIIHIF@ECM@KH : CkSum = (184 + 71) Checksum OK.IIIII@@EDEDL@ : CkSum = (192 + 63) Checksum OK.IIIIII@EDBLKB : CkSum = (178 + 77) Checksum OK.IIIIII@ED@EKK : CkSum = (187 + 68) Checksum OK.IIIIII@EDECKH : CkSum = (184 + 71) Checksum OK.IIIIII@EB@DKN : CkSum = (190 + 65) Checksum OK.@@@@@@ALMN@MG : CkSum = (215 + 40) Checksum OK.@@@AG@CDAMOMC : CkSum = (211 + 44) Checksum OK.@@@@AFCD@@CNN : CkSum = (238 + 17) Checksum OK.@@@@@@@@@@@OO : CkSum = (255 + 0) Checksum OK.III@BECA@DBMC : CkSum = (211 + 44) Checksum OK.@@@@@@@@@@@OO : CkSum = (255 + 0) Checksum OK.Reading calibration data complete.Calibration data checksum valid.Thanks lmester,I guess I can open the thing up and safely swap the battery and capacitors etc...?I'm also putting together 1 or 2 AR488 adapters, but got this working first.

author: FlipSideElectronics
author_rank: Newbie
timestamp: August 18, 2025, 07:05:01 pm
content: After replacing RIFA caps and backup batteries on a pair of 3478A I used this utility to restore their calibration data without issue. The software reminder to check the front panel cal switch after a failed write attempt is definitely appreciated