Mosfet Tester, Rds(on), plotting, Vgs, etc.

Thread Starter

D_racon

Joined Oct 4, 2021
18
I am designing a simple, cheap, yet intended to be usably accurate free open source mosfet tester with some special features.

it will be based on cheap common arduino compatible microcontrollers, where the intend is that it can easily be ported to many boards.
as well as that support for many parts or functions can be added easily and modular, or just enabled or disabled.


  • for it's most basic function the microcontroller will either
    A: read the voltage drop on the mosfet, and then either use that to calculate Rds(on) by knowing the voltage used and the resistance of the load.
    B: read the voltage drop on the mosfet, and read the voltage drop on the resistor(with known value) or use a current sensor to get the current and calculate Rds(on) from that.
  • in both cases the mosfets will be driven by a higher voltage on the Gate to make sure they can be fully opened(ideally this will be user controllable, and also controllable by the microcontroller to either tune to the mosfet's optimal Gate-Source voltage, yet optimally to also allow plotting a graph for how the mosfet reacts to different voltages on the gate).
  • the main use is for a very cheap compact device to get relatively accurate Rds(on) values, to check if parts are real and relyable.
  • the price range target for this device is very low, which is why the modularity is there so optional features which are nice to have but add more to the price or requirements than they add for the neccecary functioning can be added optionally(like a screen or wifi, or bluetooth for example, or a higher quality temperature sensor)
  • It still should be usable and relyable, I do have one of those cheap component testers which should also test Rds(on), however they are often far off due to a to low Gate-Source voltage, next to that they support no graphing or such, like maping Rds(on) to temperature, or to Gate-Source voltage. some of those features should be pretty easy and cheap to add with decent accuracy, Rds(on) should be quite easy to be read with quite great accuracy even. yet you only find such features on mashines which cost thousands of €, so I want to make a hobby grade version which for cheap can do the basics accurate and so perhaps also make sure that shops selling to consumers/hobbyists become less likely to fake parts and instead just show honnest values.
  • It is intended so that people can easily add things and features but that they are not required for it to work, ofcource, this also means making it easy for people to add it to other open source component testers, this device will be primirily only meant for testing mosfets however, and for making those fake mosfets usable by getting some actual information out of them.
  • it should be able to also make graphs for example exporting data to be used in your favorite calcsheet software such as libreoffice calc. or perhaps even generating a graph from it directly.

current main parts:
  • current chips I start the design around: rp2040(pi pico) or esp32-C3, both of those are common, easily and cheaply available, and have a high resolution ADC, currently primarily working on the pi pico, but the esp32-C3 might soon be cheaper and also has wifi and bluetooth, so might be usable for very cheap small modules which might be made by random companies and then accesed through a web terminal or web interface or such.(like bellow €2 for a complete device). generally all arduino compatible microcontrollers should be able to be put in their place as long as they have one or more ADC, ofcource what else they can have depends on the board).
  • PowerResistor for load, might also be something else, but for simplicity just assume a resistor with a known resistance.
  • the mosfet to be tested.
  • voltage step down or low voltage source for going through the resistor and mosfet.
  • voltage step up or higher voltage source for going to the gate.
  • optionally a thermal resistor, and something to controll the gate voltage more accurately, as well as something to increase the temperatures in the mosfet, etc.

however I have some questions.

  1. any advice or things I should think about or avoid. I know I have no visual design yet as it is all in my head, but I guess this design is so simple that it doesn't really need any design as most of the less simple stuff is invisible. I should be making it soon, however as it is winter didn't yet solder anything.
  2. when for example putting only 1V on the resistor and going through the mosfet, will that work well?
    I would assume it would as Rds(on) suggests it would, and practical use also shows a low to almost no voltage drop across many mosfets, however are there odd cases/exceptions to this rule I should be aware of, or for example things like a mosfet needing a voltage on drain-source above a certain point for a very short pulse before it's Rds(on) can fully turn on even if the Gate-Source voltage is perfect for the best Rds(on). I didn't find anything reffering to it online, however logic indicates that based on the field effect it should be possible, the main question would be does murpheys lay play enough of a role for this to actually be something one might encounter(on normal/general mosfets(which a hobbyist would use)(as it is actually there on some super high voltage FETs, as in 10thousands of volts ones.)
    note that this question might be me thinking to deep and far about things, and asking a question which even for big high tech companies like cern and asml or companies making lab testing equipment, might just or not yet be important/concidered. but open source always has to be better.
  3. for testing a mosfets voltage(in normal foreward use), is it safe to slowly put a increasing voltage on the mosfet, a voltage with very low current capability, but increasing until the mosfet breaks down/lets it through? or would this be something which would break or damage a mosfet permanently? or are there safe ways to test if a mosfet can handle the rated voltage?

As for the open source, it should become open source if/once it works well enough. I already know some other hobbyists also want such a device, many also making their own one rapidly, but doing so rapidly means spending some extra time for every person, as well as risking lower accuracy due to missing optimizations, and missing features, like how devices with support for basic graphs start very high in price.
 
Last edited:

dl324

Joined Mar 30, 2015
18,220
I am designing a simple, cheap, yet intended to be usably accurate free open source mosfet tester with some special features.

it will be based on cheap common arduino compatible microcontrollers, where the intend is that it can easily be ported to many boards.
Without specifying the part number of the device being tested, you have no hope of being able to make measurements under the appropriate conditions.

For example, take IRF4905. Rds(on) is measured at a specific current and pulse duty cycle:
1734464049482.png
1734464065020.png
Those conditions are different for IRF9540:
1734464114509.png
1734464146189.png
1734464178877.png
 

Thread Starter

D_racon

Joined Oct 4, 2021
18
Without specifying the part number of the device being tested, you have no hope of being able to make measurements under the appropriate conditions.

For example, take IRF4905. Rds(on) is measured at a specific current and pulse duty cycle:
View attachment 338214
View attachment 338215
Those conditions are different for IRF9540:
View attachment 338216
View attachment 338217
View attachment 338218
which is why it is usefull to be able to set the voltage in such a device, as well as such a device being able to make a graph of the Rds(on) at multiple values.
users can just read the datasheet and set the right Gate-Source voltage.
the drain-source is kept low for budged reasons and lower power usage, but didn't find any information about that affecting results other than that some mosfets eventually get less efficient if to much current goes through them.

so the device is not to test one mosfet type.
it is more meant for hobbyists to have a tool to get kind of usable Rds(on) readings to both see if the part is close enough to spec to be real, and to see how it actually behaves as any part is slightly different.

so 2 main functions. 1: seeing if it is as or close to promised. and 2: seeing how it actually behaves, is actually common practice in some labs and such since even original mosfets from the same maker can sometimes differ quite a lot in the same use, with original parts they tend to all be much better than stated in the datasheet however, but in that there is a lot of diference, and for fake parts knowing how they act is even more important(btw I now remember the question I had forgotten so will add it in my question on the place where I had not put that I had forgotten it).

that said. the ability to set a custom pulse width, as well as duty cycle, is a very smart and usefull thing to add and shouldn't be to hards other than perhaps if some speeds might be to high for the microcontrollers to do properly(as the pi pico only reaches 500ksps and the esp32-c3 even only reaches 100ksps, and boards like a arduino uneR3 are much slower, still should reach the speeds stated in the datasheet.
so would be a very usefull option to add for more advanced testing/users.

so should be adding that feature to the list.
also as in case I wasn't clear the device is for testing mosfets for cheap, both known parts, and unknown parts, not for industry use, but for hobbyist home use.
 
Last edited:

dl324

Joined Mar 30, 2015
18,220
a device being able to make a graph of the Rds(on) at multiple values
What's the point of doing that? The only value that matters is the manufacturer specification. At any other gate voltage, drain currents, and duty cycles, it will be different. Now you need 3 different supply voltages, different load resistors, and a different gate drive circuit because Pi Pico and, likely, Esp32 operate at 3.3V.
it is more meant for hobbyists to have a tool to get kind of usable Rds(on) readings to both see if the part is close enough to spec to be real
That means testing at manufacturer specifications.
 

ronsimpson

Joined Oct 7, 2019
4,648
I have designed many transistor testers. The early one test as long as you hold down the test button. One problem is that (using your transistor as an example) 38A will heat up the part very fast. Now that the part is hot all the data is different.

For the past 4 years I have been working of ways to test transistors very fast. We turn on the current, measure the RDSon and turn off in uSeconds. That way the temp does not change. One test is to step the G-S voltage from 0 to15V and measure the RDSon at each voltage. You probably can't do uS tests, but you can do mS tests. Do one test every minute and then step the gate voltage.

You probably want to test at almost 0 current. Something like an ohm meter does. We test at any current the data sheet calls out. If you are testing at 100mA or 1mA maybe the heating is not a problem.

I have been testing prototype silicon that does not act like your transistor.
 

Thread Starter

D_racon

Joined Oct 4, 2021
18
I have designed many transistor testers. The early one test as long as you hold down the test button. One problem is that (using your transistor as an example) 38A will heat up the part very fast. Now that the part is hot all the data is different.

For the past 4 years I have been working of ways to test transistors very fast. We turn on the current, measure the RDSon and turn off in uSeconds. That way the temp does not change. One test is to step the G-S voltage from 0 to15V and measure the RDSon at each voltage. You probably can't do uS tests, but you can do mS tests. Do one test every minute and then step the gate voltage.

You probably want to test at almost 0 current. Something like an ohm meter does. We test at any current the data sheet calls out. If you are testing at 100mA or 1mA maybe the heating is not a problem.

I have been testing prototype silicon that does not act like your transistor.
that is quite much like how I planned to make it kind of, even though while full uS might be hard, a few uS should be reachable unless multiple measurements would be taken in one measurement.
for the voltage stepping as well.
even though is 0V to 15V kind of like a industry standard range?

as for the things to test, I don't plan it to be speciffic to one type of mosfet or transistor. instead it should be a general use one.
but

as for the low current testing, planned that as well, which was why I wanted the voltage to be very low(not on G-S but the one which pushes the current through the resistor which also goes through D-S). doing this also helps prevent getting a to high voltage on the ADC(without needing to add special hardware to prevent that).

I had recently been bussy cleaning up my electronics as it was a mess so should be able to do some first starts now.
 

ronsimpson

Joined Oct 7, 2019
4,648
even though is 0V to 15V kind of like an industry standard range?
Every MOSFET, IGBT is different.
Many Gates are good for +/-20V but I have seen as high as 50V. Some max out at 25, 20...... 10, 8, 5.
Most Gates pull almost 0 current. But I have seen parts that need current. There are some real strange MOSFETs.
I think you need to do 0 to 15V for certain. Probably 0 to 20V. Many of the GANMOSFETs will break above 6V. Watch out.

I need to test at full current. I think you might want a 1A constant current source. (or 100mA) to keep the heat down and reduce the complexity.

To measure a 1mOhm RDSon you need to measure a very small voltage. Find a 16 to 24 bit ADC and place it almost on the MOSFET. You will find that wire has resistance and the connector has resistance that will upset the reading. I can show you how to take the connector resistance out of the equation.
 

sparky 1

Joined Nov 3, 2018
1,218
Transistor tesing for experienced or partially self-taught hobbyist.
Some of the thermal issues can be addressed in the transistor's test fixture. If it is low Ohms or temperature it is smart to start
with an LM334 and a 2N3906, When your multimeter says you have a stable 10mA there is hope, instead of starting with an Ardingo.
It is the reading comprehension and doing the experiment where progress is made... then move forward.
diyodemag.com/education/the_classroom_the_lm334z_constant_current_source

A look at some of the criteria on a transistor tester for example the voltage multiplier circuitry and protection.
The range selector and cables a common source of error. Staying on specs is unfortunately necessary.
With today's transistors a transistor tester is increasingly more difficult and needs other skills like a watchmaker.
Repairing and modifying equipment, better regulators, cleaning with isopropyl and toothbrush, resoldering my experience with testers.


The video shows a curve tracer (where a lot of the criteria and set up procedures were developed around this)
He demonstrates the tracer and compares the test results along with a caveat on the intended end use.
Regardless of instrument it will work when it is in the right hands of those who read carefully and understand the experiments.
He shows some of the many useful features and some of the selected currents that are ready to use. Need to measure High Ohms
what about the high voltage low current? voltage with-standing and leakage.

When you are sorting and testing through many parts you may not need an exact number. Make a close match to a known value.
Here is what the simulations says is ideal, here is one that is way off and here is one that is close. Can I get any closer. Do I need to
order it and if so am I sure I know what it is that I need to make the circuit work within tolerances, a closer match based on the circuit.
Look at the selection the tester gives, does that work for you? will 10 mA using a momentary switch get you close to knowing the Rds.
Try measuring a .08Ω to 0.2Ω resistor (compare to a standard. Use the right procedures, tiny grabbers fashioned as kelvin leads)



The link below shows Bob Pease dead bug style prototype having 5 pads. The LM334 and 2N3906 driving an Led with 9V battery.
The resistor between Adj and Gnd, the resistor looks like blue green brown 6 5 x1 Ohm about 1mA. however 6.8 Ohm gives about 10mA
https://img.electronicdesign.com/fi...34_Fig6.png?auto=format,compress&fit=max&q=45
 
Last edited:

Thread Starter

D_racon

Joined Oct 4, 2021
18
Every MOSFET, IGBT is different.
Many Gates are good for +/-20V but I have seen as high as 50V. Some max out at 25, 20...... 10, 8, 5.
Most Gates pull almost 0 current. But I have seen parts that need current. There are some real strange MOSFETs.
I think you need to do 0 to 15V for certain. Probably 0 to 20V. Many of the GANMOSFETs will break above 6V. Watch out.

I need to test at full current. I think you might want a 1A constant current source. (or 100mA) to keep the heat down and reduce the complexity.

To measure a 1mOhm RDSon you need to measure a very small voltage. Find a 16 to 24 bit ADC and place it almost on the MOSFET. You will find that wire has resistance and the connector has resistance that will upset the reading. I can show you how to take the connector resistance out of the equation.
I did some tests of my setup but just in a proof of concept way back in december.
and like what you mention here I guess I will first have to look into a better connector.
I did some tests with some IRL7833 mosfets. the setup was on a breadboard and used a 5ohm resistor or such if I remember correctly. would be just accurate enough with the ADC to measure in steps of around 0.5mOhm with the used adc if I remember correctly, so not very detailed but accurate enough.

I used one "real IRL7833" mosfet, and some which might have been fake. as in the "real" one came from a local physical electronics store where they atleast claim to sell real legit parts, the others I got online.
when testing them however, all of them gave the same values. but all gave around 58mOhm to 65mOhm. so around 15 times higher than supposed.
so I assumed the connectors of the breadboard probably had a relatively high resistance, as the measurement showed consistency, especially when testing with lower grade parts, but showed way to high for a mosfet which should be 3.8mOhm.
still the wires also might be bad, as I use jumper wires, not long ones but still. and there is the chance of them all being faulty/the same type of fake, though all of them performed similar and one was from a local shop. and ofcource there is the chance the Rds on really differs based on if it is pulsed like in the datasheet or not, this was a simple test after all.

ofcource in the real version I indeed planned to keep the hardware for reading much closer and better connected to the mosfet. but in this test didn't. but perhaps the breadboard also causes issues due to bad connection as connectors can have quite notable resistance as well. so perhaps I need to find a cheap yet low resistance and well available connecor or make one.

and I guess for the differen types of mosfets I just need to make the voltage for the gate user settable/configurable. including when sweeping allowing to set a max and perhaps also min.

as for the test now I tested at 1A, as that requires lower ADC accuracy than when testing at 100ma. but ofcource that means the mosfet should be able to handle 1A, but at the same time pulsed testing should reduce the temperatures as well. and many datasheets measure pulsed testing anyway.

16bit and 24bit ADC would surely add a lot of resolution, especially when measuring in lower currents.
though it still is a hobbyist device, so more aimed at budged than actual best quality possible.
still would be worth looking at it to make it easy to add such a ADC, but to not make it mandatory, as currently such a device could be made for around €2 with 12 bit adc(1V to 3.3v refference build in) and wifi and bluetooth. obviously I couldn't really make it for that, but it would be possible to make cheap clones for that money, and could be even cheaper, though I use microcontrollers which are easy to use and often used and owned by hobbyists).

my test used a 10bit ADC.
and still while having issues(which might have been due to breadboard, or perhaps the controll part not being real after all).
it still gives much more accurate results than the hobbyist grade device I had bought a while back(though that is a component tester and so not directly specialized for mosfets, but that one was really far of with these mosfets(around 300 to 500mOhm) and most, and this one was still far of yet many times closer at around 60mOhm).

so how do you cancel out those loses due to bad connections and such?
long wires might be done by measuring current instead of voltage, but I plan to make it as good as directly connected in the real version.
I was also thinking that perhaps I might be able to add some kind of calibrating code where one can measure offsets and add them to the program so that such connection resistances can partly be canceled out(like shorting it and then measuring the resistance at that point(I should have done this when I had that test setup as then I would have known if it was due to the breadboard or cables or such, but didn't think about it back then.))

also thanks for the help, and sorry for the long reply, christmass and such, and so also the bussyness peaks all happened recently, and after new year I got a rather big and important project which obviously had priority over my general hobby projects. still not finished, but had a peak in that project as well. might be others soon also, but atleast this evening I have some hobby time.
 

Thread Starter

D_racon

Joined Oct 4, 2021
18
I found a possible solution for easily swapping mosfets without much issue(and without making it expensive) yet with a good connection.
and that is using a screw terminal, as that way it is possible to tighten it a lot to give it good connection, yet to still have the mosfet be easy to replace.

as for the "real" mosfet, recently I looked at revieuws of the store I got it from, and saw some revieuws about certain parts like buttons and such not working or not working properly, the reaction the seller gave to it wasn't to friendly to put it simple, so either many people try to get free stuf like that, or it indicates that the seller might be selling fake parts. I also noticed things like that in the past, while most things worked well I have had battery connectors where in multiple of them the wires litterally wheren't connected properly to the terminals, they looked like they did, but had no connection or very poor connection, I actually had once discarded a project/prototype thinking it didn't work only to realize a few months later when I tried to use the same battery connectors that those battery connectors did not work(these where normal 4*AA battery holders, so didn't expect a problem there, yet somehow the wires didn't have proper electrical connection). so I guess I will have to hope the owner of the store spoke truth about only selling real parts, but also be prepared for if that wasn't the truth. so I think I will look through some desoldered parts I have as they are most likely real, and see if I can get kind of accurate readings on them.
well that or I need to get things from a official industry retailer directly, but those typically only sell with rather big minimum orders(while you can buy 1 of a item often, they require atleast something like €50 before you are allowed to order, and while that isn't much, it is much for a hobbyist who doesn't really need many parts at the moment.
 
Last edited:
Top