Does anyone know a precision 10 to 1 divider? - Page 1
Forum section: electronics / general

author: derZockerMP
author_rank: Regular Contributor
timestamp: July 17, 2025, 05:16:37 am
content: Hello, I'm searching for an precision 10 to 1 voltage divider to scale a 10V signal to approx 1V. Divider accuracy is not that critical, but long term stability and TC should be good. TC should be lower than 5ppm/K.I previously used 8,98k to 1k to get 1,002V by 10V input. Is there a of the shelf resistor network or other combination avaiable at the market?Best RegardsStefan

author: Zoli
author_rank: Frequent Contributor
timestamp: July 17, 2025, 05:27:38 am
content: Short check on Digikey:18k, 0.1%, 5ppm:https://www.digikey.ca/en/products/detail/resi/MMFR6518B18K0V9/218413332k, 0.1%, 5ppm:https://www.digikey.ca/en/products/detail/resi/MMFR6518B2K00V9/20842636I hope it helped.

author: Simmed
author_rank: Frequent Contributor
timestamp: July 17, 2025, 05:29:06 am
content: https://www.eevblog.com/forum/metrology/yet-another-hammon-divider-(yahd)/

author: Kleinstein
author_rank: Super Contributor
timestamp: July 17, 2025, 09:43:42 am
content: There are ready made resistor arrays for 1:10 dividers. LT5400-8 has relatively tight specs.Another option is a array (e.g. NOMCT) with >= 6 equal resisors and use them as 3S and 3P as in the Hammon divider.

author: tszaboo
author_rank: Super Contributor
timestamp: July 17, 2025, 09:58:22 am
content: Quote from: Kleinstein on July 17, 2025, 09:43:42 amI would throw in some other part numbers:Maxim MAX5490TI RES11While I haven't tested these, their specification is good.

author: aronake
author_rank: Frequent Contributor
timestamp: July 17, 2025, 12:32:43 pm
content: If you add some more info on budgetary constrains, how you intend to use the divider etc that would help people to come with better recommendations. Also if you want through hole or SMD.I have temperature scanned around 30 TDPT16031002. So my vote would go for what Kleinstein write, to use a multiple resistor network, if the intended usage permit. Their absolute TC may not be that great, i see from -7 ppm/c to around 5 ppm/c, but each of them tend to keep all resistors within plus/minus 2 ppm/c from the average of the TC of all 8 resistors. Typically these on the edge are further away than the other, which seems like no surprise. Each resistor also ought to have quite even drift over time.

author: Picuino
author_rank: Super Contributor
timestamp: July 17, 2025, 01:03:11 pm
content: I once bought a bunch of 1% resistors and compared them all with each other with the same 34401A multimeter to choose only the ones that were most similar to each other and to make a precision divider.I have no idea if the 1% resistors have a lot of drift with time or different drifts with temperature. At least for a stable indoor temperature and for a short time span you may find the method useful. It is inexpensive although somewhat labor intensive.For good stability over time, I believe it will be imperative to buy good resistors of 0.1% or better accuracy and make frequent adjustment of the divider.PS: If you do not have a good 6 1/2 multimeter, there are other ways to compare resistors to check that they are very similar with a simple Wheatstone bridge and a inexpensive multimeter.

author: Overspeed
author_rank: Frequent Contributor
timestamp: July 17, 2025, 05:59:05 pm
content: HelloCaddock make good ones , price new is hight but that often available on Ebay , I link a pdfRegardsOS

author: derZockerMP
author_rank: Regular Contributor
timestamp: July 17, 2025, 07:01:36 pm
content: Thanks for the recommendations. The fixed network MAX5490 looks good. It is low cost (around 5€) and has an incredible 1ppm/K ratio drift. The application is a output divider for a AD5791 to get a switchable 10V and 1V output. Burfferd before and after the divider. Low cost and SMD should also be good because it is fitted into an low cost attempt multifunction calibratorThanksStefan

author: lichen8867
author_rank: Newbie
timestamp: July 18, 2025, 08:57:10 am
content: just a reminder,watch out the longterm stability of resistor and resistor pairs. here 0.03% ==300ppm!

author: Kleinstein
author_rank: Super Contributor
timestamp: July 18, 2025, 09:41:23 am
content: The specs for the long term drift are tricky. For the manufacturer it is really difficult to get good number there. Another problem is that specs are often for a series of different resistor values and not all would behave the same: e.g. low resistors are sensitive to the contact and bond wire part. High resistors are sensitive to leakage and they may use thinner films that can be less stable.So take the long term drift specs with a grain of salt - some can be a bit optimistic and other can be very conservative.The max5490 have quite some excess noise (1/f noise) and this often comes with drift. An overview article is here:https://cds.cern.ch/record/2814429/files/2109.02448.pdf

author: tszaboo
author_rank: Super Contributor
timestamp: July 18, 2025, 11:49:40 am
content: Quote from: Kleinstein on July 18, 2025, 09:41:23 amI find the specifications very annoying. There is usually just one number, 1000 hours drift at rated load.If I have intermittent load, the drift isn't specified. How about just waiting for 1000 hours and then doing a measurement? Is pulse loading with 1% duty cycle worse than full load, because of the mechanical stresses?There are many many open questions when talking about long term stability.And there is very little literature like the Linear Technology accelerated aging burn-in, when they thermal cycle some part with decreasing amplitude to reduce aging. Or rather, to age the part in a small amount of time before calibrating/adjusting the system.And when you design something and you tell management that you can tell them if it's good in a year, usually gives them instant rage outbursts.

author: iMo
author_rank: Super Contributor
timestamp: July 18, 2025, 12:09:38 pm
content: ..I was once thinking to take a 0.01% wirewound precision resistor (I collected some) and create a tap at a specific turn.. the small annoyance is, how to estimate which turn, of course..

author: Overspeed
author_rank: Frequent Contributor
timestamp: July 18, 2025, 12:59:21 pm
content: Quote from: iMo on July 18, 2025, 12:09:38 pmHellobetter to use resistor in // to adjust valueRegardsOS

author: TUMEMBER
author_rank: Regular Contributor
timestamp: July 18, 2025, 02:30:53 pm
content: Quote from: tszaboo on July 18, 2025, 11:49:40 amhttps://vpgfoilresistors.com/products/hybrid-chips-prnd/vsm40/datasheet

author: Overspeed
author_rank: Frequent Contributor
timestamp: July 19, 2025, 10:22:23 am
content: Quote from: TUMEMBER on July 18, 2025, 02:30:53 pmHelloDrift depends a lot of the way to load the resistor from continuous load at moderate current level up to pluse current at near max value , thermal stress is also to consider , slow cooling help rather fast colling .RegardsOS

author: hli
author_rank: Frequent Contributor
timestamp: July 19, 2025, 06:52:20 pm
content: TheLT 5400-8might be an option. The divider is accurate to 0.025%, TC (for the ratio) is 1ppm/K. Important note: its limited to 80V

author: derZockerMP
author_rank: Regular Contributor
timestamp: July 19, 2025, 07:09:36 pm
content: I yust went throw all datasheets and compared all critical values and I think for around 12€ the LT5400-8 fits way better especially for the long term drift. But there are 4 resistors in it and I dont know exactly what configuration is better. I did it the way to connect the two 9k and the other two 2k in series to form a 18k to 2k divider. Is this the best solution? Or let the two other resistors open and yust use a 9k to 1k divider?Best RegardsStefan

author: iMo
author_rank: Super Contributor
timestamp: July 19, 2025, 08:20:00 pm
content: Best combination is that with best thermal symmetry (imagine the chip). So 18k/2k, imho..

author: Kleinstein
author_rank: Super Contributor
timestamp: July 20, 2025, 07:49:21 am
content: It helps to use both resistor pairs, as this gives some additional averaging to likely reduce the error. It depends on the voltage if the case with series or parallel connection is preferred. With 10 V in I would prefer the 2 K - 18 K case with 1 V I would go for 0.5 K - 4.5 K.The higher resistance case also make the resistance in the ground trace less critical.

author: voltsandjolts
author_rank: Unknown
timestamp: July 20, 2025, 10:00:15 am
content: The LT5400 series are like £10 each. Bargain. I wish they'd make a Keithley TF245 replacement for the same money!

author: azeeman
author_rank: Regular Contributor
timestamp: July 20, 2025, 01:42:58 pm
content: The most precise divider is a PWM followed by an RC filter. For a 10:1 range use a four bit counter set to count to 10 with a 10% duty cycle. An easy way is to use an Arduino Nano or other microcontroller to generate the PWM signal to drive an analog switch connected to the voltage reference.The required RC time constant is determined by 2^N/(pi^2*F). The 2^N factor is not the four bit counter, it refers to the required precision at the output. For example if 16 bit precision is required with a 16 MHz clock using a 4 bit PWM, the RC time constant would be 2^16/(pi^2*16MHz/2^4)=6.64 ms. Around 10 time constants are required for the filter capacitor to charge within the correct output voltage.For highest precision and lowest noise use the largest practical film capacitor and lowest value resistor. Don't use ceramic, electrolytic or similar capacitors because their insulation resistance is magnitudes less than a film capacitor and will corrupt the output.Regardless of the PWM base count, its division ratio is always extremely precise and offset free so a four bit PWM can provide 16 precise voltage levels from 0 to the reference voltage.The only problem with a PWM divider is the high output impedance and the slow response time. If extreme precision is required, the load on the PWM has to be very large compared to the filter resistor because a voltage divider is created on the output.The PWM output has no inherent offset, and because it is derived digitally, is extremely precise. Although very slow, once the filter capacitor has charged, the voltage will remain very stable. Also, the thermal output noise is determined only by the filter capacitor. By using a relatively large filter capacitor, the thermal noise can be down in the nanovolt level.The PWM output can also be used as a reference for selecting resistors to create a resistive 10:1 divider or other divider ratios.

author: DeltaSigmaD
author_rank: Contributor
timestamp: July 20, 2025, 05:17:27 pm
content: Dividers using PWMTo Azeeman: You are right if you are satisfied with lets say 0.1% precision. For higher precision is not that easy with PWM mainly since you cannot get ideal switches. Very probable, a CMOS or other MOS switch has to be applied for switching 2 voltage reference levels. Some problems arise with these switches:1. The switches are not infinitely fast. The transistion period between 2 digital switch states will be between 200ns to several ns, depending on IC type. During this phase, the 1st switch is opened while the 2nd one is turned on. Switching is a complex process inside the semiconductor basing on charge movement depending on electrical fields. Critical is switching off: the drain current decays roughly exponentially, and this current tail leads to a barely defined and instable punch through between the switches to be opened and closed. If the timing and hence the division ratio is exactly constant, the resulting charge errors of switch changes can be calibrated or compensated. If you change the division ratio, the switch timing must change, and also do the charge errors and you get a non-linearity. An example: to achieve e.g. 20ms settling time of a PWM DAC you need ca. 100kHz switching frequency. Asuming a 74HC405x switch, the switch transition period is in the order of 40ns. Therefore, the transition period is up to 0.4% of the switching period, a large contribution. In real circuits, there are observations which suggest that the current tails have even longer relaxation times due to charge redistribution (possible reason: slow charge trap relaxation). This effect could be responsible for a few 10ppm of non-linearity.2. Switch devices have a capacitance between the switch contacts and other IC parts. Unfortunately, semiconductor capacitances depend heavily on the voltages at the switch MOSFET. This effect gets important if you want to change the division ratio (DAC output): the current through the switches depend on the output value --> mean lowpass output voltage (assuming a passive = linear RC lowpass). If the currents change, also the timing of the switch transition due to charging voltage-dependent capacitances. The losses due to capacitances are a function of the output value, with other words you get a non-linearity. There is a complex circuit thechnology to achieve that the PWM switches always "see" the same switched currents independent on the output value in order to compensate this effect which leads to non-linearity. As other non-linearity mechanisms remain, the efforts of this compensation technique are questionable. A possible improvement is to add pauses between PWM pulses, e.g. using 1-0-1-0-0-1-0-0 instead of 1-1-1-0-0-0-0-0 with the same mean value. This method is working if we assume that the current tails are 0 after 1 PWM period, but the possible output range is reduced.3. The dynamic effects above prevent high linearity of a simple Delta-Sigma-PWM-DAC consisting of a switch feeding a RC lowpass. The DS-method relies on non-fixed PWM pulse patterns leading to noise shaping and high resolution, e.g. 20bit or more with an oversampling ratio of 200. But, the frequency spectrum around the switch largely changes with the modulation. The switch non-linearities perform a parasitic down-conversion of DS-quasi-noise to low frequencies, e.g. to dc ... 100Hz in the example above. The output signal is more noisy than expected from theory.4. Not only the switch resistances, but also the dynamic effects above depend on the temperature. To achieve high precision it is necessary to use a different circuit topology as applied in the ADC of the HP34401 instrument. The switches "see" here always the same voltage steps and currents independent on the signal to be digitized - by design! However, this topology demands an ultra-precise and ultra-fast integrator. This integrator is really complicated, if you want to have ppm linearity.

author: Kleinstein
author_rank: Super Contributor
timestamp: July 20, 2025, 05:48:23 pm
content: A PWM circuit would be more an alternative to the DAC. Usually the PWM frequency would be relatively low (not 100 kHz, but more like 100 Hz or 1 kHz) and this requires a slow settling low pass filter. There are ways to compensate the switch resistance reasonable well, but the charge injetion / switching transients can still give some extra offset (and drift) and a little non linearity. A PWM DAC can still be quite linear, but is than usually slow.

author: tszaboo
author_rank: Super Contributor
timestamp: July 20, 2025, 09:07:39 pm
content: Quote from: Kleinstein on July 20, 2025, 05:48:23 pmI've found that PWM is best used when it's dividing a known voltage with a fixed ratio. Otherwise the unknowns and the things that need calibration just spiral out of control. Like you would need an antialiasing filter before your PWM? Post filtering with very low pass filter? DC bias issues with the capacitors in the filters? Problems with chopper opamps? It's a can of worms.But for example making 5V out of 7.2V that comes from some accurate ICs is a good usage.

author: Hedrix
author_rank: Contributor
timestamp: July 21, 2025, 10:30:29 am
content: Quote from: voltsandjolts on July 20, 2025, 10:00:15 amAnd if 10 £/€/$ is too much, there is LHE5400 and ZJM5400 on LCSC, with claimed performance beeing similiar to LT5400, for ~5€ (A grade) or 2-3€ (B Grade). (With the caveat that these have not been independently verified as far as i know).

author: Picuino
author_rank: Super Contributor
timestamp: July 26, 2025, 06:55:03 pm
content: With this Python program, you can measure a set of 6 or more resistors and check which combination of 3 resistors in series and 3 resistors in parallel is best for achieving the lowest error in a divider.Simply change the lines where random.gauss(mu=10000, sigma=10) appears and replace it with the actual value of your resistor.Code:import randomimport itertoolsrandom.seed()resistors = {'r1': random.gauss(mu=10000, sigma=10),'r2': random.gauss(mu=10000, sigma=10),'r3': random.gauss(mu=10000, sigma=10),'r4': random.gauss(mu=10000, sigma=10),'r5': random.gauss(mu=10000, sigma=10),'r6': random.gauss(mu=10000, sigma=10),'r7': random.gauss(mu=10000, sigma=10),'r8': random.gauss(mu=10000, sigma=10),'r9': random.gauss(mu=10000, sigma=10),}def main():print('All resistors:')for r in resistors:print(f' {r} = {resistors}')error_ppm_min = 1000000for combination in iterate(resistors):hammon_error_ppm = 1_000_000 * (hammon_divider(combination) - 0.1)/0.1if abs(error_ppm_min) > abs(hammon_error_ppm):error_ppm_min = hammon_error_ppmcombination_win = combinationprint('\nMinimal error in ppm: %4.2f' % error_ppm_min)print('Resistors in series:')for r in combination_win[:3]:print(f' {r} = {r}')print('Resistors in parallel:')for r in combination_win[3:]:print(f' {r} = {r}')def hammon_divider(combination):serial = combination + combination + combinationparallel = 1.0/(1.0/combination + 1.0/combination + 1.0/combination)return parallel / (serial + parallel)def iterate(resistors):keys = list(resistors.keys())for combination in itertools.combinations(keys, 6):for serial in itertools.combinations(combination, 3):parallel = tuple(sorted(set(combination)- set(serial)))yield [[key, resistors] for key in serial + parallel]if __name__ == "__main__":main()Example output:Code:All resistors:r1 = 10004.601391367843r2 = 10001.860045049045r3 = 9996.249034479779r4 = 9992.450921374702r5 = 10006.991511664999r6 = 9988.813972378139r7 = 9999.385821905771r8 = 9991.971305570583r9 = 9986.8542166648Minimal error in ppm: 0.44Resistors in series:r2 = 10001.860045049045r6 = 9988.813972378139r7 = 9999.385821905771Resistors in parallel:r3 = 9996.249034479779r5 = 10006.991511664999r9 = 9986.8542166648

author: ch_scr
author_rank: Frequent Contributor
timestamp: July 26, 2025, 07:45:05 pm
content: Someone else had the same idea, niceWith even afewmore (think 8-10total) you can get a "perfect match" down to the resolution of a 6 1/2 digit measurement.For the SMD resistors I saw a clear improvement going to a "fixture'd 4 wire measurement" (and 5 avg's on the readings from the meter)vs. "just probes", for 10k resistors. It really works and can reach precision from not very precise resistors.

author: bastl_r
author_rank: Regular Contributor
timestamp: July 26, 2025, 09:57:46 pm
content: HiWhen you have finished calculating the divider, do the same calculations again with an internal resistance of the measuring device to be connected of 10M and 10G Ohm and only then decide on the final values.I also experimented for a longer time when building a small Hamon divider which I thought I had adjusted correctly until I connected a measuring device with only 10M internal resistance.

author: ch_scr
author_rank: Frequent Contributor
timestamp: July 27, 2025, 01:00:33 pm
content: True, on the usual finished divider you can measure the droop from connecting a 10 Meg meter.Depend on the lower legs impedance, on a 1/100 it's not noticeable with a 6 1/2 digit meter.But since you measure the stock with the same meter, at the same time and the ratio of the finished divider is the target,most things cancel out neatly on that front.Question is can you design the divider so it's corrected for the 10 Meg "load"? (and how stable and precise is the meter 10Meg...)Beauty of the precision "measure and assemble" divider is you can as easily target the "slightly off" ratio -how much you can "pull" it overall depends on the spread of the resistor stock.

author: Conrad Hoffman
author_rank: Super Contributor
timestamp: July 27, 2025, 06:10:33 pm
content: Interesting idea, in fact I wonder if you could find a spot to put high value resistors & trimmers in parallel with one of the elements, with a rotary switch to select for common loads. Probably only a few are needed.

author: Kleinstein
author_rank: Super Contributor
timestamp: July 27, 2025, 07:11:03 pm
content: The higher resolution meters can usually measure 1 V in a high impedance (e.g. > 1 Gohm) mode. This should usually be good enough to not load the divider too much. These high inpedances are usually not defined values, but only crude limits. The actual resistance can vary between units and with temperaure and age. In addition there is a biasing current, and the input impedance can also be nonlinear. So a simple correction would not work (more like offering a switch to double ( or x 10) the output resistance and this way make the effect measurable.

author: GigaJoe
author_rank: Frequent Contributor
timestamp: July 27, 2025, 08:54:44 pm
content: use to assemble it from melf resistors , pick from closest TC, and trim it by scalpel to the highest value of set , after assembling , an additional trim to approx 0.0001 % then many layers of acrylic or urethane coating ... some assembly still ok after 10 years

author: Picuino
author_rank: Super Contributor
timestamp: July 28, 2025, 07:53:27 am
content: Improved version.If you leave the first resistor value at zero, the program automatically performs a simulation with resistors of 10k Ohm and 1%.If the resistors dictionary is filled with real values, the program will only use those that have been filled to perform the calculation, deleting those with a value of zero.Additionally, you can add the value in ohms that will be in parallel with the 3 resistors in parallel (parallel_resistor), to correct the divider ratio and keep it at 1:10 with the highest possible accuracy.Code:import randomimport itertoolsresistors = {'r1': 0,'r2': 0,'r3': 0,'r4': 0,'r5': 0,'r6': 0,'r7': 0,'r8': 0,'r9': 0,'r10': 0,}parallel_resistor = 10_000_000def main():test(resistors)if len(resistors.keys()) < 6:raise 'Too few resistor values. Fill in at least 6.'error_ppm_min = 1000000for combination in iterate(resistors):hamon_error_ppm = 1_000_000 * (hamon_divider(combination) - 0.1)/0.1if abs(error_ppm_min) > abs(hamon_error_ppm):error_ppm_min = hamon_error_ppmcombination_win = combinationprint_resistors(resistors, error_ppm_min, combination_win)def test(resistors):if resistors['r1'] == 0:random.seed()for key in resistors.keys():resistors = round(random.gauss(10000, 30), 1)else:delete = []for key in resistors.keys():if resistors <= 0:delete.append(key)for key in delete:del resistorsdef print_resistors(resistors, error, combination):print('All resistors:')for r in resistors:print(f' {r} = {resistors}')print('\nError in ppm: %4.2f' % error)print('\nResistors in series:')for r in combination[:3]:print(f' {r} = {r}')print('\nResistors in parallel:')for r in combination[3:]:print(f' {r} = {r}')def hamon_divider(combination):serial = combination + combination + combinationparallel = 1.0/(1.0/combination +1.0/combination +1.0/combination +1.0/parallel_resistor)return parallel / (serial + parallel)def iterate(resistors):keys = list(resistors.keys())for combination in itertools.combinations(keys, 6):for serial in itertools.combinations(combination, 3):parallel = tuple(sorted(set(combination)- set(serial)))yield [[key, resistors] for key in serial + parallel]if __name__ == "__main__":main()Output:Code:All resistors:r1 = 10001.1r2 = 9998.5r3 = 9965.8r4 = 10071.7r5 = 10022.2r6 = 10030.4r7 = 9996.4r8 = 10031.1r9 = 9982.6r10 = 10011.7Error in ppm: -0.20Resistors in series:r2 = 9998.5r5 = 10022.2r9 = 9982.6Resistors in parallel:r1 = 10001.1r4 = 10071.7r8 = 10031.1Edit: I have fixed some errors in the program.

author: iMo
author_rank: Super Contributor
timestamp: July 28, 2025, 08:32:50 am
content: FYI - one rainy Sunday's afternoon I messed with chatgpt and asked it to create a divider optimization python script considering the TC of a resistor as well. It reads a csv file with the list of M resistor's values with their TCs too, and it tries to find a combination of max N (count) resistors in total, where the upper and lower leg of the divider may have serial and/or/any parallel combination of resistors, such the division ratio R (ratio) is within a tolerance T (tol). The max number of results is "limit". The code is somehow heavy and the problem is it is exponentially growing stuff, and the code is perhaps not well optimized (it is not, imho) thus with N>4 it eats up slowly all my PC available memory and stops usually.Perhaps a matter for a new dedicated thread..Here is an example what I get with M=30 (a randomly generated set of 10k resistors with their TCs), and N=4 and T=0.1 when searching for ratio=0.5 and 0.33333 and 0.25 dividers:PS: added ratio=0.1 from M=25 (5x100k, 5x10k, 5x1k, 5x100, 5x10) resistors and N=4 (with N>4 my brute force tree generator simply explodes)..Code:python Divider_Optimizer_with_TC.py --ratio 0.5 --count 4 --set my_resistors.csv --limit 5 --tol 0.1Top 5 solution(s) (sorted by |ratio_error| then |TC_ratio|):#1: k=0.500000000 (err=+4.147e-10), TC_k=-13.564 ppm/°CTOP leg: R=5000.7 ohm, TC=-4.096 ppm/°CP: R=5000.7 ohm, TC=-4.096 ppm/°CR3(10003.6 ohm @ -21.1035 ppm/°C)R26(9999.22 ohm @ +12.9041 ppm/°C)BOTTOM leg: R=5000.7 ohm, TC=-31.224 ppm/°CP: R=5000.7 ohm, TC=-31.224 ppm/°CR9(9996.66 ohm @ -48.3566 ppm/°C)R12(10006.1 ohm @ -14.0749 ppm/°C)#2: k=0.500000001 (err=+1.133e-09), TC_k=+9.097 ppm/°CTOP leg: R=20001.9 ohm, TC=-11.206 ppm/°CS: R=20001.9 ohm, TC=-11.206 ppm/°CR1(9995.2 ohm @ +0.480286 ppm/°C)R23(10006.7 ohm @ -22.8784 ppm/°C)BOTTOM leg: R=20001.9 ohm, TC=+6.988 ppm/°CS: R=20001.9 ohm, TC=+6.988 ppm/°CR10(10006.2 ohm @ +17.127 ppm/°C)R29(9995.69 ohm @ -3.16222 ppm/°C)#3: k=0.500000002 (err=+2.009e-09), TC_k=+0.482 ppm/°CTOP leg: R=5003.32 ohm, TC=-0.609 ppm/°CP: R=5003.32 ohm, TC=-0.609 ppm/°CR10(10006.2 ohm @ +17.127 ppm/°C)R14(10007 ohm @ -18.3467 ppm/°C)BOTTOM leg: R=5003.32 ohm, TC=+0.354 ppm/°CP: R=5003.32 ohm, TC=+0.354 ppm/°CR24(10005.8 ohm @ -40.9523 ppm/°C)R25(10007.5 ohm @ +41.6678 ppm/°C)#4: k=0.500000004 (err=+3.500e-09), TC_k=+0.486 ppm/°CTOP leg: R=20013.3 ohm, TC=-0.611 ppm/°CS: R=20013.3 ohm, TC=-0.611 ppm/°CR10(10006.2 ohm @ +17.127 ppm/°C)R14(10007 ohm @ -18.3467 ppm/°C)BOTTOM leg: R=20013.3 ohm, TC=+0.361 ppm/°CS: R=20013.3 ohm, TC=+0.361 ppm/°CR24(10005.8 ohm @ -40.9523 ppm/°C)R25(10007.5 ohm @ +41.6678 ppm/°C)#5: k=0.500000004 (err=+3.873e-09), TC_k=+7.214 ppm/°CTOP leg: R=5000.48 ohm, TC=-11.192 ppm/°CP: R=5000.48 ohm, TC=-11.192 ppm/°CR1(9995.2 ohm @ +0.480286 ppm/°C)R23(10006.7 ohm @ -22.8784 ppm/°C)BOTTOM leg: R=5000.48 ohm, TC=+3.236 ppm/°CP: R=5000.48 ohm, TC=+3.236 ppm/°CR15(9991.97 ohm @ +11.8671 ppm/°C)R22(10010 ohm @ -5.41073 ppm/°C)###########python Divider_Optimizer_with_TC.py --ratio 0.333333333 --count 4 --set my_resistors.csv --limit 5 --tol 0.1Top 5 solution(s) (sorted by |ratio_error| then |TC_ratio|):#1: k=0.333333316 (err=-1.719e-08), TC_k=-27.116 ppm/°CTOP leg: R=9997.46 ohm, TC=+15.842 ppm/°CR13(9997.46 ohm @ +15.8423 ppm/°C)BOTTOM leg: R=4998.73 ohm, TC=-24.832 ppm/°CP: R=4998.73 ohm, TC=-24.832 ppm/°CR18(9996.9 ohm @ -43.6467 ppm/°C)R19(9998.03 ohm @ -6.01537 ppm/°C)#2: k=0.333333365 (err=+3.174e-08), TC_k=+24.369 ppm/°CTOP leg: R=19996.1 ohm, TC=-42.568 ppm/°CS: R=19996.1 ohm, TC=-42.568 ppm/°CR8(9990.28 ohm @ -44.1871 ppm/°C)R24(10005.8 ohm @ -40.9523 ppm/°C)BOTTOM leg: R=9998.03 ohm, TC=-6.015 ppm/°CR19(9998.03 ohm @ -6.01537 ppm/°C)#3: k=0.333333271 (err=-6.181e-08), TC_k=-28.298 ppm/°CTOP leg: R=19995.2 ohm, TC=+24.746 ppm/°CS: R=19995.2 ohm, TC=+24.746 ppm/°CR15(9991.97 ohm @ +11.8671 ppm/°C)R17(10003.3 ohm @ +37.6097 ppm/°C)BOTTOM leg: R=9997.62 ohm, TC=-17.701 ppm/°CR20(9997.62 ohm @ -17.701 ppm/°C)#4: k=0.333333263 (err=-6.964e-08), TC_k=+19.090 ppm/°CTOP leg: R=10006 ohm, TC=-18.557 ppm/°CR2(10006 ohm @ -18.5566 ppm/°C)BOTTOM leg: R=5002.97 ohm, TC=+10.079 ppm/°CP: R=5002.97 ohm, TC=+10.079 ppm/°CR6(10004.4 ohm @ -21.5005 ppm/°C)R25(10007.5 ohm @ +41.6678 ppm/°C)#5: k=0.333333245 (err=-8.771e-08), TC_k=+25.284 ppm/°CTOP leg: R=9996.66 ohm, TC=-48.357 ppm/°CR9(9996.66 ohm @ -48.3566 ppm/°C)BOTTOM leg: R=4998.33 ohm, TC=-10.431 ppm/°CP: R=4998.33 ohm, TC=-10.431 ppm/°CR20(9997.62 ohm @ -17.701 ppm/°C)R29(9995.69 ohm @ -3.16222 ppm/°C)###################python Divider_Optimizer_with_TC.py --ratio 0.25 --count 4 --set my_resistors.csv --limit 5 --tol 0.1Top 5 solution(s) (sorted by |ratio_error| then |TC_ratio|):#1: k=0.250000001 (err=+1.042e-09), TC_k=-7.674 ppm/°CTOP leg: R=30013.2 ohm, TC=-11.269 ppm/°CS: R=30013.2 ohm, TC=-11.269 ppm/°CR5(9999.88 ohm @ -34.5447 ppm/°C)S: R=20013.3 ohm, TC=+0.361 ppm/°CR24(10005.8 ohm @ -40.9523 ppm/°C)R25(10007.5 ohm @ +41.6678 ppm/°C)BOTTOM leg: R=10004.4 ohm, TC=-21.501 ppm/°CR6(10004.4 ohm @ -21.5005 ppm/°C)#2: k=0.250000001 (err=+1.261e-09), TC_k=-1.314 ppm/°CTOP leg: R=30021.1 ohm, TC=-16.595 ppm/°CS: R=30021.1 ohm, TC=-16.595 ppm/°CR6(10004.4 ohm @ -21.5005 ppm/°C)S: R=20016.7 ohm, TC=-14.143 ppm/°CR22(10010 ohm @ -5.41073 ppm/°C)R23(10006.7 ohm @ -22.8784 ppm/°C)BOTTOM leg: R=10007 ohm, TC=-18.347 ppm/°CR14(10007 ohm @ -18.3467 ppm/°C)#3: k=0.250000002 (err=+2.262e-09), TC_k=-10.800 ppm/°CTOP leg: R=29997.7 ohm, TC=+27.304 ppm/°CS: R=29997.7 ohm, TC=+27.304 ppm/°CR10(10006.2 ohm @ +17.127 ppm/°C)S: R=19991.4 ohm, TC=+32.398 ppm/°CR21(9991.1 ohm @ +34.1652 ppm/°C)R28(10000.3 ohm @ +30.6323 ppm/°C)BOTTOM leg: R=9999.22 ohm, TC=+12.904 ppm/°CR26(9999.22 ohm @ +12.9041 ppm/°C)#4: k=0.250000003 (err=+2.793e-09), TC_k=-7.188 ppm/°CTOP leg: R=30013.2 ohm, TC=-11.917 ppm/°CS: R=30013.2 ohm, TC=-11.917 ppm/°CR5(9999.88 ohm @ -34.5447 ppm/°C)S: R=20013.3 ohm, TC=-0.611 ppm/°CR10(10006.2 ohm @ +17.127 ppm/°C)R14(10007 ohm @ -18.3467 ppm/°C)BOTTOM leg: R=10004.4 ohm, TC=-21.501 ppm/°CR6(10004.4 ohm @ -21.5005 ppm/°C)#5: k=0.249999995 (err=-5.108e-09), TC_k=+6.696 ppm/°CTOP leg: R=29997.7 ohm, TC=+3.976 ppm/°CS: R=29997.7 ohm, TC=+3.976 ppm/°CR5(9999.88 ohm @ -34.5447 ppm/°C)S: R=19997.8 ohm, TC=+23.238 ppm/°CR13(9997.46 ohm @ +15.8423 ppm/°C)R28(10000.3 ohm @ +30.6323 ppm/°C)BOTTOM leg: R=9999.22 ohm, TC=+12.904 ppm/°CR26(9999.22 ohm @ +12.9041 ppm/°C)Code:python Divider_Optimizer_with_TC.py --ratio 0.1 --count 4 --set my_resistors5.csv --limit 5 --tol 0.1Top 5 solution(s) (sorted by |ratio_error| then |TC_ratio|):#1: k=0.100000000 (err=+1.686e-10), TC_k=-6.993 ppm/°CTOP leg: R=9083.84 ohm, TC=+26.054 ppm/°CP: R=9083.84 ohm, TC=+26.054 ppm/°CR100k_4(99915.7 ohm @ -21.195 ppm/°C)R10k_2(9992.29 ohm @ +30.779 ppm/°C)BOTTOM leg: R=1009.32 ohm, TC=+18.284 ppm/°CS: R=1009.32 ohm, TC=+18.284 ppm/°CR1k_5(999.306 ohm @ +18.788 ppm/°C)R10_2(10.0093 ohm @ -32.048 ppm/°C)#2: k=0.099999999 (err=-7.680e-10), TC_k=+13.420 ppm/°CTOP leg: R=900.319 ohm, TC=+18.084 ppm/°CP: R=900.319 ohm, TC=+18.084 ppm/°CR100k_5(100064 ohm @ -25.738 ppm/°C)P: R=908.493 ohm, TC=+18.482 ppm/°CR10k_3(9997.06 ohm @ +15.423 ppm/°C)R1k_5(999.306 ohm @ +18.788 ppm/°C)BOTTOM leg: R=100.035 ohm, TC=+32.995 ppm/°CR100_2(100.035 ohm @ +32.995 ppm/°C)#3: k=0.099999989 (err=-1.121e-08), TC_k=-44.913 ppm/°CTOP leg: R=9087.78 ohm, TC=+12.092 ppm/°CP: R=9087.78 ohm, TC=+12.092 ppm/°CR100k_4(99915.7 ohm @ -21.195 ppm/°C)R10k_3(9997.06 ohm @ +15.423 ppm/°C)BOTTOM leg: R=1009.75 ohm, TC=-37.811 ppm/°CS: R=1009.75 ohm, TC=-37.811 ppm/°CR1k_3(999.755 ohm @ -38.635 ppm/°C)R10_3(9.99904 ohm @ +44.589 ppm/°C)#4: k=0.099999976 (err=-2.364e-08), TC_k=+19.144 ppm/°CTOP leg: R=900.71 ohm, TC=-32.987 ppm/°CP: R=900.71 ohm, TC=-32.987 ppm/°CR100k_4(99915.7 ohm @ -21.195 ppm/°C)P: R=908.903 ohm, TC=-33.094 ppm/°CR10k_1(10001.8 ohm @ +22.338 ppm/°C)R1k_3(999.755 ohm @ -38.635 ppm/°C)BOTTOM leg: R=100.079 ohm, TC=-11.716 ppm/°CR100_5(100.079 ohm @ -11.716 ppm/°C)#5: k=0.100000026 (err=+2.608e-08), TC_k=+51.363 ppm/°CTOP leg: R=990.476 ohm, TC=-36.473 ppm/°CP: R=990.476 ohm, TC=-36.473 ppm/°CR100k_5(100064 ohm @ -25.738 ppm/°C)R1k_2(1000.38 ohm @ -36.58 ppm/°C)BOTTOM leg: R=110.053 ohm, TC=+20.597 ppm/°CS: R=110.053 ohm, TC=+20.597 ppm/°CR100_4(100.059 ohm @ +17.904 ppm/°C)R10_5(9.99411 ohm @ +47.559 ppm/°C)

author: armandine2
author_rank: Frequent Contributor
timestamp: July 28, 2025, 11:33:42 am
content: ...not as good as they lookChauvin Arnoux K ratio resistance box.I bought a 1 - 10 ohm decade box, from the range - for the cost I was not impressed with the light and cheap plastic feel.

author: d-el
author_rank: Regular Contributor
timestamp: July 28, 2025, 11:47:41 am
content: Vishay Foil Resistors. Tolerance Match to 0.005 % (50 ppm).https://www.mouser.com/datasheet/2/428/300144x-3247699.pdf?srsltid=AfmBOorx3wYj4fNqwJ2gWU0DdcrmdHLde_Wp0U6LW4LCCtHRZRzxEtrh