After a little more digging, and with the help of Ghidra, I was able to confirm my suspicion that this could also be done via SCPI.
As previously explained I first found that the fact:model
command existed. I tried to use it for writing a different model string, but the command simply returns the same output as if I would be calling "fact:model ?" (query command).
Going through the code, I learned that debug mode had to be activated before being able to call commands that write factory data. The trick was how to enter debug mode.
Then I found that there is an SCPI command for doing just that.
In a nutshell, for changing the model, we have to first enter a SCPI session (I am using Keysight Connection Expert, which is the tool that is provided with this LCR meter), and do the following:
1. Enter debug mode:
Type:
calib:hantek_enter_debug_cmd
and click "Send & Read"
2. Change the model string:
Type:
fact:model "Hantek1833C"
and click "Send Command"
3. Save the changed setting to the flash:
fact:save
and click "Send & Read"
4. Exit debug mode:
calib:hantek_exit_debug_cmd
and click "Send & Read"
After this is done, the expected model number should appear in the "SYSTEM INF" screen (pressing twice in the SET button). The 50/75 and 100 KHz frequency modes should now also become selectable via the buttons, as well as the 300 mV level.
I confirmed with the oscilloscope that the new frequencies and level are consistent with the selected values.
It is probably a good idea to run the user calibration for both open and closed circuit.
There is of course (as I mentioned initially) the high likelyhood that above 40 KHz the factory calibration is not accurate or valid, because it is doubtable that they would bother calibrating modes that are not intended to be accessible.
There are various other commands in the calib: group that appear to serve the purpose of setting the factory calibration, but I have not gone through those, and it is somewhat irrelevant without the proper reference equipment.
I hope this is helpful. In my perspective the advantage that I see in this approach, is being able to use the factory firmware. In my particular unit it is apparently more recent than the one published in the vendor website.
You can find attached the screenshots of the sections of the flash memory that change after the commands are sent.
Cheers