- SR104 Design and construction
- Initial measurements
- Live temperature corrected standard resistance calculator
- Stability study of SR104 and other resistance standards
- Temperature stability measurements
- Summary & Conclusion
After promising results from 1 Ω and 10 KΩ prototype lab resistance standard Fluke SL935, we had to have a test versus famous industry proven ESI (today IET) SR104. So here it is, right from eBay, ultimate resistance standard for the 10000 Ω. Every serious lab who care about accurate resistance measurement has one of these cute white boxes, due to high accuracy, excellent long-term stability and low temperature coefficients.
Redistribution and use of this article or any images or files referenced in it, in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of article must retain the above copyright notice, this list of conditions, link to this page (https://xdevs.com/review/sr104/) and the following disclaimer.
- Redistributions of files in binary form must reproduce the above copyright notice, this list of conditions, link to this page (https://xdevs.com/review/sr104/), and the following disclaimer in the documentation and/or other materials provided with the distribution, for example Readme file.
All information posted here is hosted just for education purposes and provided AS IS. In no event shall the author, xDevs.com site, or IET or any other 3rd party be liable for any special, direct, indirect, or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortuous action, arising out of or in connection with the use or performance of information published here.
If you willing to contribute or have interesting documentation to share regarding pressure measurements or metrology and electronics in general, you can do so by following these simple instructions.
Manuals and comparison to production standards
Comparison for known specifications of other resistance standards:
|Specification||Fluke SL935||Fluke 742A-1||Fluke 742A-10K||ESI/IET SR104||IET SRL-1|
|Output resistance||1 Ω and 10 KΩ||1 Ω||10 KΩ||10 KΩ||1 Ω|
|Accuracy (1y)||60 ppm, 3 ppm||±2 ppm||±2 ppm||±1 ppm||±2 ppm|
|Temperature coefficient, ppm||<0.05 ppm/°C, <0.05 ppm/°C||±3 ppm||±1.5 ppm||<±0.1 ppm/°C||±3 ppm max (18-28°C)|
|Long term 1 year stability, ppm||? , ?||±8 ppm||±4 ppm||±0.5 ppm||±2 ppm|
|Max load current||100mA, 500µA||200 mA||600 µA||10 mA or 10 mW||418 mA|
|Construction type||Hermetic Fluke film networks||Precision wire-wound||Wirewound resistor in oil tank||Precision wire-wound|
|Active thermal compensation||Yes, +35 °C oven assembly||None||Thermistor in oil tank||None|
|Temperature sensor||Yes, 100 KΩ thermistor||No||No||Yes, 10 KΩ thermistor||No|
|Power requirements||AC mains or +12VDC 300mA||Not required, passive device|
|Backup/offline power supply||Internal 7.0 Ah +12V VRLA||Not required, passive device|
|Dimensions, weight||86 × 105 × 127 mm, 910g||254 × 206 × 311 mm, 4.8kg||86 × 105 × 127 mm, 730g|
|MSRP||N/A, Prototype||$3600 USD||$3600 USD||$7147 USD||$1974 USD|
Table 1. Comparison of primary resistance standards specifications.
There are also other versions of SR10x resistors with other values.
|Model||Nominal value||Accuracy||Max voltage||Max power|
|IET SR100||1 Ω||±10 ppm||0.100 V||10 mW|
|IET SR102||100 Ω||±1 ppm||1.000 V||10 mW|
|IET SR103||1000 Ω||±1 ppm||3.160 V||10 mW|
|IET SR104||10000 Ω||±1 ppm||10 V||10 mW|
Table 2. SR10x series of resistance standards from IET.
Option Deleted Case (DC), such as SR-100/DC,SR-102/DC, SR-103/DC, SR-104/DC The deleted case (DC) option available from IET to allow use of SR10x-series for full immersion oil-bath operation. This version comes without the external case, but it retains the five-terminal connection to the resistor. When the standards are used in an oil bath, the resistance elements maintain a constant temperature, providing outstanding short-term stability, which is especially important when making Quantum Hall Effect measurements.
SR104 Design and construction
ESI SR10x series resistance standards are essentially box with ultra-stable resistive element, temperature sensor, all enclosed in sealed oil-filled metal can. Everything is embedded in nice wooden box (there is option from IET without wooden enclosure as well).
It’s little dirty and peppered with stickers, but nothing criminal outside. ESI SR10x are mounted in a nice white wooden case, with a removable lid and carrying handle. Calibration and other standard data is attached to the inside of the lid, specific to each particular sample.
Open the removable lid, and we see earlier ESI metal faceplate with six 5-way binding post terminals for each standard resistor and precision RTD temperature sensor. The temperature sensor is mounted in the same oil-filled can as the special Evanohm wirewound standard resistor, and thus is at the same temperature.
There is additional thermometer well in the center to allow external calibration of RTD and standard. Each SR104 has also calibration report with measured data right on the lid. There is a temperature correction chart for traditional metrology scale +18 °C to +28 °C, as well the calibration value and correction calculation formula.
Lid have nice rubber gasket to keep inner volume sealed during the shipping. Overall build quality is very good, with attention to little detail like labels, wooden box finish. Whole thing feels quality, as expected for the money.
Deviation of this particular sample on sticker is 0.0 ppm, while actual certificate report from May 2016 reported value as 10000.0011 Ω, but uncertainty of that reading is mere ±1.0 ppm due to use Fluke 8508A-001 and other ESI SR104 as standard. We can only tell that it’s very close to labelled value, IF resistor stayed stable after shipping and unknown since last calibration.
This resistor also have metal nuts for standard binding posts, as original ESI plastic nuts are very fragile and easy to break.
But I know what you come here for, a teardown. Well, not much of that will happen this time, as it is too pricey to sacrifice for simple curiosity. So teardown is just limited to removing top plate to take inner build concept, and no further.
Four screws removed, and rather thick steel plate just lifts off, revealing a view over thick hard white foam holding stainless steel oil tank with actual resistor and RTD elements, two of trimming resistors in epoxy package and four cables connecting components to binding posts.
According to IET SR104 manual, standard’s resistance changes less than ±0.1 ppm with normal atmospheric pressure and humidity changes. Massive oil mass in steel tank also damper temperature change seen by resistance element by a lot. Manual specify thermal lagging time constant as 1 hour minimum. This also helps to avoid rapid stress to the precision wire in case of sudden ambient temperature change (practical example: move resistance standard from one building to another during frosty winter).
Interesting to note shorts at both force and sense terminals at the binding posts. Usually resistance standards expected to have kelvin-type connection right to the resistive element to avoid resistance error from the connection cables and connectors, but it’s not the case here. So it is important to track and know exact current and connection configuration on which ESI SR104 was calibrated for best uncertainty.
Oil tank marked with hand written serial number 726014. Compensation resistors are 0.38 Ω in black epoxy package with gold-plated copper terminals for standard resistance element and 19 Ω for RTD element. RTD and standard resistor are trimmed to same resistance.
We were lucky to receive actual calibration data assigned to this ESI SR104. Calibration was performed in May 2016, just few years ago and this measured value will be used as check baseline. Once Fluke SL935 arrive back to our lab, it will be used to calibrate this SR104 to better uncertainty.
Image 18: Calibration certificate segment with measurement data.
Now time for direct connection to some lab 8½-digit meters for testing.
Image 19: Initial testing with ESI SR104 connected to Keysight 3458A pair.
All four used meters are calibrated within last two years, so we can also verify if my resistance accuracy still in ballpark of earlier estimated ±8 ppm.
Settings used for 3458A:
def init_inst_fres(self): # Setup HP 3458A self.inst.clear() self.inst.write("PRESET NORM") # Preset meter to known state self.inst.write("OFORMAT ASCII") # ASCII format for data self.inst.write("OHMF 10E3") # 10000 Ohm range self.inst.write("TARM HOLD") # Single capture only self.inst.write("TRIG AUTO") # Auto trigger self.inst.write("APER 1") # 1 second aperture for ADC measurement self.inst.write("AZERO ON") # Use autozero self.inst.write("OCOMP ON") # Use offset compensation self.inst.write("NRDGS 1,AUTO") # Take only one reading self.inst.write("END ALWAYS") self.inst.write("NDIG 9") # Maximum resolution self.inst.write("DELAY 0") # 2 second delay to mitigate OCOMP accuracy issue due DA
Now Keithley 2002 units:
Initial results are rather impressive, given any reasonable proper time (weeks) to possibly relax and stabilize from international shipping (you still see oil tank slowly cooling by black RTD element reading line) is already just -1.0 ppm off the value in 2016 calibration report (10000.0011 Ω ±1 ppm at +23.34 °C bottom of the well temperature).
|Used DMM||Calibrated||Expected reference||SR104 RTD Temp||DMM reading||Deviation||DMM spec, 1 year|
|HP 3458A||January 2017, HFL spec||9999.9999 Ω||+23.3 °C||9999.9853||-1.46 ppm||±8 ppm|
|HP 3458A||March 2017, 002 spec||9999.9989 Ω||+23.8 °C||10000.0182||+1.93 ppm||±8 ppm|
|Keithley 2002||June 14, 2017||9999.9973 Ω||+25.6 °C||9999.9482||-4.9 ppm||±9.8 ppm|
|Keithley 2002||April 8, 2017||9999.9978 Ω||+25.3 °C||10000.0125||+1.5 ppm||±9.8 ppm|
Table 3. Initial resistance check summary, April 2018
Observed difference on both 3458A’s is well with agreement (<1 ppm!) from my earlier comparison experiment to November 2017 calibration data from Fluke SL935, giving good confidence that both of my Keysight 3458A still good and stable.
HP 3458A, meter 1 over 10 KΩ, direct 4-wire, OCOMP ON, DELAY 3, NPLC100 = 9999.985 Ω, +25 °C ambient, 20 May 2017. Error from PI value : +1.03 ppm
HP 3458A, meter 2 over 10 KΩ, direct 4-wire, OCOMP ON, DELAY 3, NPLC100 = 9999.965 Ω, +24.5 °C ambient, 25 Sept – 28 Sept 2017. Error from PI value : -0.97 ppm
Live temperature corrected standard resistance calculator
The temperature correction chart in the lid of the each SR104 unit is helpful to correct the resistance of the standard resistor for different ambient temperature effects. We added interactive real-time calculator for this article to aid with the calculation. Just fill in blue boxes from your SR104 lid information and enjoy the calculated value of expected resistance in green box.
RSTD = 10000 Ω + (( (α × ΔTEMP) + (β × ΔTEMP2) + RSTD_DEV) × 10000 Ω / 1-6) Ω
Here’s realtime calculator that accept resistor parameters from lid certificate to provide temperature-corrected output resistance at arbitrary environment temperature. Just enter α, β, STD deviation and desired temperature:
Alpha α +23 °C ppm/°C|
Beta β +23 °C ppm/(°C)2
RSTD deviation +23 °C ppm
Temperature to recalculate at °C
This resistance value may be used as given at +23°C, if the change in resistance for the temperature range to be encountered is acceptable. For example, temperature variations less than ±2 °C from a nominal +23 °C would result in a worst case resistance deviation less than -0.3 ppm. If this is an acceptable, then no temperature correction is required.
Here is also python application to calculate resistance relations if you prefer to play with numbers more.
import sys # Constants from SR104 resistor lid ALPHA = -0.03 # Alpha value at +23c BETA = -0.028 # Beta value R_DEV = 0.0 # Deviation value for standard resistor TEMP_DEV = 0.004 # Deviation value for RT STEP = 0.5 # Step to go thru temperature points in mode 2 #count = 0 def show_r(temp, rsi): f = 0 delta = temp - 23.0 ppm = 0.0 + (ALPHA * delta) + (BETA * delta * delta) r = 10000.0 + ((ppm+R_DEV) * 10000.0 / 1000000.0) f = (temp * 9.0 / 5.0) + 32.0 print ("temp = %5.2fC / %5.2fF Rstd = %12.5f Ohms, %3.3f ppm\n" % (temp,f, r, R_DEV+ppm ) ), return r print "-- xDevs.com/EEVBlog RComp | ESI SR104 correction calculator -- \n-- https://xdevs.com/review/sr104/ Rev.1 Apr 2018 --" print "R deviation = %.4f ppm T deviation = %.4f%%\n" % (R_DEV, TEMP_DEV), print "Alpha = %.4f ppm/C Beta = %.4f ppm/C/C\n" % (ALPHA, BETA) mode = int(raw_input("Enter 1 to calculate Rstd at Rrtd or Enter 2 for table curve generate")) if (mode == 1): rt = float(raw_input("Room Temp: ")) rs = float(raw_input("Standard resistance: ")) rs = 10000.0 + (R_DEV * 10000.0 / 1000000.0) print "Rt=%f Rs=%f\n" % (rt, rs) r = (rt - rs) * 100.0 / 10000.0 r = r - TEMP_DEV r = r * 10.0 temp = r + 23.0 show_r(temp, 10000) elif (mode == 2): count = int(10 / STEP); for ix in range (0,count+1): temp = float(18 + ix * STEP) show_r(temp, 10000)
Example prinout of python program shown below:
# python ./sr104.py -- xDevs.com/EEVBlog RComp | ESI SR104 correction calculator -- -- https://xdevs.com/review/sr104/ Rev.1 Apr 2018 -- R deviation = 0.0000 ppm T deviation = 0.0040% Alpha = -0.0300 ppm/C Beta = -0.0280 ppm/C/C Enter 1 to calculate Rstd at Rrtd or Enter 2 for table curve generate2 temp = 18.00C / 64.40F Rstd = 9999.99450 Ohms, -0.550 ppm temp = 18.50C / 65.30F Rstd = 9999.99568 Ohms, -0.432 ppm temp = 19.00C / 66.20F Rstd = 9999.99672 Ohms, -0.328 ppm temp = 19.50C / 67.10F Rstd = 9999.99762 Ohms, -0.238 ppm temp = 20.00C / 68.00F Rstd = 9999.99838 Ohms, -0.162 ppm temp = 20.50C / 68.90F Rstd = 9999.99900 Ohms, -0.100 ppm temp = 21.00C / 69.80F Rstd = 9999.99948 Ohms, -0.052 ppm temp = 21.50C / 70.70F Rstd = 9999.99982 Ohms, -0.018 ppm temp = 22.00C / 71.60F Rstd = 10000.00002 Ohms, 0.002 ppm temp = 22.50C / 72.50F Rstd = 10000.00008 Ohms, 0.008 ppm temp = 23.00C / 73.40F Rstd = 10000.00000 Ohms, 0.000 ppm temp = 23.50C / 74.30F Rstd = 9999.99978 Ohms, -0.022 ppm temp = 24.00C / 75.20F Rstd = 9999.99942 Ohms, -0.058 ppm temp = 24.50C / 76.10F Rstd = 9999.99892 Ohms, -0.108 ppm temp = 25.00C / 77.00F Rstd = 9999.99828 Ohms, -0.172 ppm temp = 25.50C / 77.90F Rstd = 9999.99750 Ohms, -0.250 ppm temp = 26.00C / 78.80F Rstd = 9999.99658 Ohms, -0.342 ppm temp = 26.50C / 79.70F Rstd = 9999.99552 Ohms, -0.448 ppm temp = 27.00C / 80.60F Rstd = 9999.99432 Ohms, -0.568 ppm temp = 27.50C / 81.50F Rstd = 9999.99298 Ohms, -0.702 ppm temp = 28.00C / 82.40F Rstd = 9999.99150 Ohms, -0.850 ppm
Be sure to update constants ALPHA, BETA, R_DEV, TEMP_DEV to match your SR104 standard lid information before use.
I have compiled few known ESI SR104 and our ovenized Fluke SL935 temperature stability data together into pretty Excel chart:
Stability study of SR104 and other resistance standards
Annual drift of this ESI SR104 will be known only after few years of continuous and periodic sub-ppm accuracy level calibration. But online EEVBlog and bbs.38hot.net forums member zlymex did very neat compilation of annual drift results on twelve ESI SR104 standards:
%(imgref)Image 25: Annual drift estimate of 12 (twelve!) ESI SR104. Compiled by zlymex
Temperature stability measurements
Second ESI SR104 was also received for interlab transfers between NJ and FL xDevs labs.
Standard was shipped in Pelican Cube 0340 foamed hardcase, to ensure minimal stress and shocks to sensitive standard. Externally standard is missing original handle. Instead it has just rusty metal strap attached.
This unit is 20 years older than primary SR104 covered above, manufactured and calibrated on August 29, 1969. That is 52 years ago, to be exact!
To monitor the environment condition during shipping transit standard was bundled together with inexpensive AZ 88163 THP USB datalogger. This datalogger store temperature, humidity and pressure readings from internal sensors into memory. Data can be further exported to CSV or PDF report when plugged into computer USB A port.
Measurements performed in our new large TEC-driven air bath xDevs.com chamber . Both SR104s were placed in chamber and wired to external Datron 1281 8½-digit multimeter . 3rd check standard (Fluke SL935) used as the verification source to ensure that Datron 1281 does not have stability or thermal coefficient issues on its own. All three used inputs on Datron 1281 were calibrated and corrected to obtain same reading to allow good resistance transfers with 3 standards.
Test run was automated using xDevs.com’s Python app TECKIT and Keysight E5810A GPIB interface . Initial temperature in airbath was set to +18 °C then temperature was slowly increased to +23 °C where it was kept for 4 hours. Next temperature ramped to peak +28 °C to hold for 8 hours. Then thermal slope was reversed and final temperature +18 °C was obtained again. Temperature slope speed was fixed at 0.00694 °C/minute. Settings used for TECKIT are:
sv_start = 18.000 ; Chamber start temperature sv_end = 18.000 ; Chamber end temperature peak_temp = 28.000 ; Top soak temperature delay_start = 0 ; Delay before any operation start, seconds slope = 24 ; Hours, Time for slope (symmetric positive/negative) ramp time_start = 12 ; Hours, Initial hold temperature time, before positive slope starts time_dwell = 4 ; Hours, Dwell temperature duration time at peak-start/2 temperatures time_hold = 8 ; Hours, Hold temperature duration time once reached peak_temp time_end = 12 ; Hours, Final temperature duration once rampdown finished slope_shape = lymex_step ; Advanced shape type, lymex_step = soak time_start in middle of the ramps
Results are pretty good. First we can notice relatively large amount of noise due to DMM internal current source and low voltage amplifier noise. Overall noise is about 0.3 ppm peak to peak. There is also slight hysteresis, which suggests that wirewound resistive element inside ESI SR104 may require some longer time to recover after 10 °C excursion. This test took 89 hours. Mostly such long time is due to large mass of the oil in SR104’s tank. Such mass caused long thermal delay around 9 hours during the test.
First we can check green reference SR104 data. It was last calibrated year ago by PI on 3/17/2020. Standard was assigned with value 10000.0041 Ω at test current 300 µA with uncertainty ±0.15 ppm, but I have low confidence in this result, as previous history on this standard and our own measurement transfers suggest value around 10000.0026 Ω ±0.2 ppm instead. This standard will be recalibrated by high-end resistance laboratory in coming months and we can repeat measurements to obtain fresh traceable resistance reference at xDevs.com’s lab.
Back to results. Obtained measurement at temperature point +23 °C equals 10000.0001 Ω ±0.3ppm. Temperature coefficient from lid factory certificate is outlined on a plot with label “Fab α” and “Fab β” values. Measured and calculated α and β shown in bold font. Reference SR104 (green color on plot) have opposite sign α value but β match almost exactly.
52 year old ESI SR104 under test (“DUT” label and plot in brown color) has deviation from nominal +3.81 ppm (assigned 10000.0381 Ω ±0.85 ppm new value). Measured and calculated α temperature coefficient value is slightly lower than factory (+0.056 ppm/°C vs +0.070 ppm/°C). β is almost exact match here as well. This standard will be also shipped for fresh calibration.
Summary & Conclusion
Cost breakdown for this project presented below:
|ESI SR104 resistance standard||$1528||$215||eBay|
|Total so far||$1743 USD|
Table 4. Costs summary
Given the performance and level of this resistance standard, condition and calibration data from 2016 total cost sounds reasonable. This SR104 will act as main lab reference after its own calibration and comparison versus Fluke SL935, which received second calibration in April 2018. SR104 will help to maintain xDevs.com lab resistance calibration accuracy and stability as artifact for 8½-digit DMMs and calibrators verification.
Resistance measurements at ppm-level accuracy can be tricky business, and ESI SR104 is a great tool to aid lower uncertainties. After getting some initial data during next few months, we plan to send SR104 for comparisons with other calibrated SR104. After doing this procedure for few years, we will eventually come up with annual stability/drift figures. Hopefully will know this primary 10000 Ω resistance stability by 2020.
Until then, stay tuned and let us know your feedback! Discussion about this article and related stuff is welcome in comment section or at our own IRC chat server: irc.xdevs.com (standard port 6667, channel: #xDevs.com). Web-interface for access mirrored on this page.
Modified: April 10, 2021, 6:22 a.m.