Introduction: Tiny Load 2 - Constant Current Load Version 2

About: The nickname is because I couldn't spell "Frobscottle". Loving getting back into electronics as a hobby after a break of many years. Now I work as an EPOS engineer, so I spend my days fixing tills in…

Shown here is V2 of Tiny Load, a simple constant current load.

V2 improvements:

  • Replaced the 2 diode reference with a low power, temperature stabilised reference, after tracing drift in the output to the diodes being heated during operation
  • Replaced the LED dropper resistor with a J-FET constant current source, and replaced the LED with a low current one, to reduce battery drain. I chose a green LED as this is the colour our eyes are most sensitive to.
  • Added a low threshold, low Rds P-type mosfet to act as a reverse protection diode
  • Simplified the reference potentiometer and inserted a potential divider between the op-amps.
  • Added "sense" wires to the sense resistor to remove effect of voltage differential across conductors, and enable the resistor to be mounted off-board, eg if the project is cased, the resistor could be fixed to the case.

Whilst developing a bench PSU, I reached the point where I wanted to apply a load to it to see how it performs. After watching Dave Jones' excellent video and looking at a few other internet resources, I came up with Tiny Load. This is an adjustable constant current load, which should be able to handle about 10 amps. The voltage and current are limited by the ratings of the output transistor and the size of the heatsink.

Tiny Load continued to be useful as the current regulator for through-hole PCB plating, however I found the current would gradually get lower. This was due to the 2 diodes used as a reference in the original design being heated up by the pass transistor and sense resistor, and changing Vf, which in turn changed the output. I replaced the 2 diodes with an ICL8069, a temperature stabilised 1.2v reference. It's old now, but still excellent.

It has to be said, there are some really clever designs out there! Tiny Load is really basic and simple, a slight modification of Dave's design, but it will still dissipate the power needed to test a psu, so long as it doesn't get more juice than it can handle.

Tiny Load doesn't have a current meter attached, but you can connect an external ammeter, or monitor the voltage across the feedback resistor.

The schematic and PCB layout are presented here as PDF files and also as JPEG images.

Tiny Load 2 draws just 1.6mA from its battery when not regulating current, and 2.3mA when it is active.

Step 1: Principle of Operation

For those not well versed in electronic principles, here's an explanation of how the circuit works. If all this is well known to you, feel free to skip ahead!

The heart of the Tiny Load is a LM358 dual op-amp, which compares the current flowing in the load with a value you set. Op-amps can't detect current directly, so the current is turned into a voltage, which the op-amp can detect, by the resistor, R3, known as the current sensing resistor. For every amp that flows in R3, 0.1 volts is produced. This is shown by Ohm's law, V=I*R. Because R3 is a really low value, at 0.1 ohms, it doesn't get excessively hot (the power it dissipates is given by I²R).

The value you set is a fraction of a reference voltage - again, voltage is used because the op-amp can't detect current. The reference voltage is produced by a temperature compensated reference chip. Although there's no need for the reference voltage to be a precise value, it does need to be fairly immune to temperature changes, since Tiny Load can get pretty warm! The reference gets its current via a resistor. connected to the battery. The reference voltage is a little high for setting the load to a maximum of 10 amps, so the first op-amp, which acts as a buffer for the reference, drives a potential divider to reduce the voltage a bit before it is seen by the second op-amp, which does the comparison. The ratio of the potential divider, R7 and R8, affects the maximum current available from Tiny Load 2, so you can adjust these if needed. They need to be kept at the same temperature so fit them close together, preferably touching, or even bundled in a sleeve together.

Because the reference and the current sensing resistor are connected together, and connected to the op-amp's zero volts connection, the op-amp can detect the difference between the two values, and adjust it's output so that the difference is reduced to near zero. The rule of thumb in use here is that an op-amp will always try to adjust its output so that it's two inputs are at the same voltage.

There is an electrolytic capacitor connected across the battery to get rid of any noise which finds it's way into the op-amp's supply. There is another capacitor connected across the reference, again to clean up noise.

The business end of the Tiny Load is formed by Q1, a N-type MOSFET (Metal Oxide Semiconductor Field Effect Transistor). I chose this one because it was in my junk box and had adequate voltage and current ratings for this purpose, If buying a mosfet, choose one rated for 10A, 30v minimum, and with a low threshold voltage. Rds(on) isn't particularly important, though you would typically want well under 0.2 ohms (which is pretty high, for a MOSFET) or you may find the 9v battery isn't a high enough voltage to operate up to 10A. Speed is not important.

Q2 is a reverse-connected P-type mosfet, which acts like a diode with a very low forward voltage. I chose one which also has a very low Rds(on) in order for it to not dissipate much power, hence the SOP8 package is possible. The 18v zener diode protects the gate in the event of excessive voltage being applied, and the 220 ohm resistor limits the current if the zener should conduct. The way it works is, under normal operation, the intrinsic diode conducts the first bit of current, which then allows the source to be at a higher voltage than the gate. The difference in source/gate voltage is then enough to turn the transistor on. I chose a transistor with the lowest Rds(on) and lowest threshold voltage I could obtain from AliExpress, for this purpose. The large copper areas on the board act as a heatsink.

Q1 acts like a variable resistor, where drain is connected (via Q2) to the + side of the supply, source is connected to R3, and through that to the - lead of the supply, and the gate is connected to the output of the op-amp. When there is no voltage on the gate, the MOSFET acts like an open circuit between its drain and source, however when voltage is applied above a certain value (the "threshold" voltage), it begins to conduct. Raise the gate voltage enough and its resistance will become very low.

So the op-amp keeps the gate voltage at a level where the current flowing through R3 causes a voltage to develop which is nearly equal to the fraction of the reference voltage you set by turning the potentiometer.

Because the MOSFET is acting like a resistor, it has voltage across it and current flowing through it, which causes it to dissipate power, in the form of heat. This heat has to go somewhere or else it would destroy the transistor very quickly, so for this reason it's bolted to a heatsink. The maths for calculating heatsink size is straightforward but also a bit dark and mysterious, but is based on the various thermal resistances which impede the flow of heat through each part from the semiconductor junction to the outside air, and the acceptable temperature increase. So you have the thermal resistance from the junction to the transistor case, from the case to the heatsink, and through the heatsink to the air, add these together for the total thermal resistance. This is given in °C/W, so for every watt that is being dissipated, the temperature will rise by that number of degrees. Add this to the ambient temperature and you get the the temperature your semiconductor junction will be working at.

Finally, the LED. I was unhappy that in my original design, the LED drew more battery power than the rest of the circuit. What a waste! Unfortunately the LED was a consequence of having left it switched on and draining the battery, so it's needed. I changed to a green LED for two reasons. Since our eyes are most sensitive to green light, it would not need to be so bright. Also, green LED's have a higher Vf than red ones, so in the voltage-operated situation this is better because more of the power comes from the voltage side of the equation. I was fortunate to have a LED from a multipack that only needs 150uA to give reasonable brightness, however needed to ensure it will stay bright enough as the battery depletes. To do this I employed a J-FET constant current source. With the 10K resistor, current is just over 150uA at 9v, and about 148uA when the voltage is down to 3v, which is probably too low to be useful anyway.

Step 2: Parts and Tools

I built the Tiny Load mostly using junk box parts, so it's a little arbitrary!

The PCB is made out of SRBP (FR2) which I happen to have because it was cheap. It is coated with 1oz copper.The diodes and capacitors and mosfet are old used ones, and the op-amp is one of a pack of 10 I got a while ago because they were cheap. For original Tiny Load, cost was the sole reason for using an smd device for this - 10 smd devices cost me the same as 1 through hole one would have. These days though smd is not so scary and I use them for preference. I used through hole parts for the other components so that the board can still be single-sided and not need jumpers.

  • ICL8069 voltage reference, left over from another project. The original design used 2 diodes in series
  • MOSFET transistor, I used a 45N03LTA because it was the only MOSFET in my junk box with low threshold, low Rds(on) and adequate current rating. At 25v Vds is a bit lower than I'd like but it's unlikely to be exposed to a voltage that high anyway. However, pick what you like, so long as the current rating is over 10A, the threshold voltage is low and the Vds is higher than the maximum you expect to use it at, it should be fine.
  • 100k potentiometer
  • Knob to fit the potentiometer
  • 33k resistor (R8)
  • 8k2 resistor (R7) Keep R7 and R8 physically close, preferably touching, on the board.
  • 100R resistor (exact value not important)
  • 220R resistor
  • 10k resistor
  • Additional 10k resistor for the LED. You might need a lower value - my LED is bright enough at only 150uA!
  • LM358 op-amp. Really, any single supply, rail-to-rail type should do the job.
  • Green high brightness / low current 3mm LED (mine was from a mixed bag I got from eBay. It's bright enough on only 150uA!)
  • 2x 100nF capacitor
  • 100uF 16v capacitor. (Can use other voltage, minimum 10v. Higher is better. Is just a bulk filter, value not really important)
  • 0.1 ohm resistor, minimum rating of 10W. The one I used is over-sized, again cost was the overwhelming factor here. A metal cased 25W 0.1 ohm resistor was cheaper than more appropriately rated types. Strange but true. Current sensing resistors are designed for this type of application and have a very low temperature coefficient, so you could use one of those for a more stable circuit.
  • Heatsink - an old CPU heatsink works well, and has the advantage that it is designed to have a fan attached if you need one.
  • Thermal heatsink compound. I learned that ceramic based compounds work better than metal based ones. I used Arctic Cooling MX4 which I happened to have. It works well, is cheap and you get lots!
  • Small piece of aluminium for bracket
  • Small screws and nuts. You need screws with low-profile heads for the sense resistor, and M2.5 screws for the battery holder, unless you drill the holes bigger like I did (a mistake - don't do this. Use proper screws!)
  • small slide switch

Step 3: Construction

I built the tiny load out of junk box or very cheap parts

The heatsink is an old pentium era CPU heatsink. I don't know what it's thermal resistance is, but I'm guessing it's about 1 or 2°C/W based on the pictures at the bottom of this guide: although experience would now suggest it's better than this.

I drilled a hole in the middle of the heatsink, tapped it and mounted the transistor on it with MX4 thermal compound and screwed the mounting screw directly into the tapped hole. If you don't have the means to tap holes, just drill it a bit bigger and use a nut.

I originally thought this was going to be limited to about 20W dissipation, however I have had it running at 75W or higher, where it got pretty hot, but still not too hot to use. With a cooling fan attached this would be still higher.

There's no actual need to bolt the current sense resistor to the board, but what's the point of having bolt holes if you can't bolt something to them? I used small pieces of thick wire left from some electrical work, to connect the resistor to the board. Important: the resistor should not sit directly on the board. I fitted some fibre washers (2 to each screw) to raise it up. The original version used nuts.

The power switch came from something I dismantled. The one used has PCB lugs on it's casing so makes a nice solid fit on the board - unlike it's predecessor!

The thick tracks as they stand aren't really thick enough for 10 amps with the 1oz copperclad board used, so it's bulked up with some copper wire. Each of the tracks has a piece of 0.5mm copper wire laid around it and tack-soldered at intervals, except for the short stretch which is connected to ground, as the ground plane adds plenty of bulk. Make sure the added wire goes right to the mosfet and resistor pins.

I made the original Tiny Load pcb using the toner transfer method, however for Tiny Load 2 I used photo-resist film, which usually gives superb results but you can see it's a bit messy - this is because I've been having problems with it since moving house! There is a huge amount of literature on the net about both methods so I won't go into it (I have even written an instructable of my own on the subject)

Drill the holes using your favourite method, then add the copper wire to the wide tracks. If you look closely, you can see I messed up my drilling a bit (because I used an experimental drilling machine that is somewhat imperfect. When it works properly I'll do an Instructable on it I promise!)

First mount the op-amp and the SI4459ADY P-MOS. If you haven't worked with smd's before, don't be intimidated, it's quite easy. First tin one of the pads on the board with a really tiny amount of solder. Position the chip very carefully and tack the relevant pin down to the pad you tinned. Ok now the chip won't move around, you can adjust the position if needed, and solder all the other pins. If you have some liquid flux, applying a smear of this makes the process easier, though you will have to wash the board thoroughly afterwards. Lots of people swear by solder paste for this, but I've never used it.

Fit the rest of the components, smallest first. Leave the reference standing 5mm or so clear of the board. R7 and R8 need to be physically close so that they are the same temperature - bear this in mind if changing the design. Fit a sleeve around the pair if you are extra keen.

If you are using a metal cased resistor like the one shown, fit it with thick leads. It needs to have clearance between it and the board so it doesn't overheat the op-amp. You can simply leave a gap, or fit spacers or use stand-offs when screwing it down. I used a couple of fibre washers on each screw. Fit the screws before fitting the battery holder

For a while the battery was mounted to the board using sticky pads, which worked quite well. It was connected using a standard PP3 connector, however the board is designed to take a more substantial type of holder which clips in the entire battery. Fit the battery holder using 2.5mm screws and nuts. The holder has built in spacers on it's underside, but adding some extra ones, such as short stand-offs, will help with heat-management.

It's possible to enlarge the holes a little bit in this type of holder, but not recommended. Sticky pads can also be used, but be careful not to cover Q2

Thread the battery clip wirest through the holes in the board and solder the ends back through the board.

Step 4: Putting It Into Use, Enhancements, Some Thoughts


Tiny Load is designed to draw a constant current from a supply, no matter what the voltage is, so you don't need to connect anything else to it, except an ammeter, which you should place in series with one of the inputs.

Turn the knob down to zero, and turn Tiny Load on. You should see a small amount of current flow, up to about 50mA.

Slowly adjust the knob until the current you want to test at is flowing, do whatever tests you need to do. Check the heatsink isn't excessively hot - the rule of thumb here is that if it burns your fingers, it's too hot. You have three options in this case:

  1. Turn down the supply voltage
  2. Turn down Tiny Load
  3. Run it for short intervals with plenty of time to cool in between
  4. Fit a fan to the heatsink

OK okay that's four options :)


It quickly became apparent that Tiny Load needs to have it's own means of measuring the current it draws. There are three ways to this.

  1. The simplest option is to fit an ammeter in series with the positive or negative input.
  2. The most accurate option is to connect a voltmeter across the sense resistor, calibrated to that resistor so that the voltage shown indicates the current. Thus the cost saving of a cheap resistor is well and truly lost in the meter calibration extra cost.
  3. The cheapest option is to make a paper scale which fits behind the control knob, and mark a calibrated scale on it.

When Tiny Load was originally built and documented here, i wrote:

"I realised that sometimes what is really needed is an adjustable resistance which can dissipate a lot of power. It's possible to use a modification of this circuit to do that, much cheaper than buying a big rheostat. So look out for Tiny Load MK2 which will be able to be switched to resistive mode!"

Well OK, it still hasn't got resistive mode. I actually found an old hair-drier element works quite well for this purpose! But I will add a resistive mode - I promise!

Final thoughts

Tiny Load has proved itself to be useful even before it was finished, and works very well. Version 2 addressed some serious problems with it. One day I'll probably come up with version 3, as the bugs work their way to the surface in this one.

Step 5: Tiny Load Original Photos

Just some of the photos from the original build of Tiny Load. Schematic is also viewable as a PDF