DIY Adjustable Constant Load (Current & Power)

Special $2 for 10 PCBs(100*100mm):
Previous video:
Constant Current Load video:
Cocktail Machine video:
Motorized Camera Slider video:
Support me for more videos:
More project information (schematic, parts list, pictures,…..) on Instructables:

Parts list (incomplete, see Instructables for more, affiliate links):
1x Arduino Nano:
1x 16×2 I2C LCD:
1x Rotary Encoder:
1x TC4420 MOSFET Driver:
1x ACS712 Current Sensor:
1x Fuse Holder:
1x 20A Fuse:
2x Binding Post:

In this project I will show you how I combined an Arduino Nano, a current sensor, an LCD, a rotary encoder and a couple of other complementary components in order to create an adjustable constant load. It features a constant current and power mode and can handle a maximum of 30V and 20A if your heatsink design can handle it. Let’s get started!

Thanks to JLCPCB for sponsoring this video
Visit to get professional PCBs for low prices

2011 Lookalike by Bartlebeats
Killing Time, Kevin MacLeod


Jsent says:

Hi GreatScott! I loved your videos I really do. I just have one question that might save my research product. Is it possible to increase the ampere of 5v dc power supply? Or just build my own supply? I am working with my GSM module and I can’t make it stable to work properly. Plus i’m using Arduino Uno anyways. Thankyou very much!

Salim Boukhenouche says:

great great Scott

Anime SonG says:


Markus berger says:

Can it be used for sinusoidal voltage?

Marinus says:

Great info. I’ve been looking for a PSU that can output 0.7~0.9 Volts and ‘push’ out a constant current at ~0.5 Amps and up (both adjustable) for electroforming/copper plating small hobby projects. Sadly the Lab PSU’s I’ve bought do not work well for me so I would have to start making my own. Do you think it’s even possible for a PSU to ‘push’ out constant current at such a low voltage? Apparently most Lab PSU’s are not able to do this.

nidzabgd says:

Hi Scott,

Is there a chance you could do a project with a microphone array? Mics are really cheap (like 10 for 1$) and I wonder how they’d perform in an array.

vip radioga says:

how to make a function generator! pls?

Sorcerer Harmon says:

You must construct additional pylons

Prashant Aher says:

What is input voltage for this whole ckt??


Sylesh Stylesh says:

Please upload video about emp and how to make mini emp

Tera Volt says:

DIY or buy idea:
“Ideal Diode” / MOSFET Schottky-like diode / “Anti reverse irrigation” device

firstlegoleague8 says:

Is there any way to force more current into a motor? for example i have a 12V 60Amp DC motor, I run it at 12V and it draws only 3Amps but i want to be able to adjust the amount of Amps it take (without applying more external resistance load to the motor shaft), i.e 12V 20Amps, is there a circuit that can do that?

wong sugih says:

hey, why didn’t you say, “Let’s get started!”?

jagannath lipa says:


Angry Alliance says:

Hi bro I’m your’s very old subscriber and now I’m working on a project which is Automatic plant watering system in this project I have to detect moisture of soil with soil moisture sensor and pumps water when soil is dry and I want that it sends the reading to my smartphone through thingspeak by using esp8266 WiFi module . I’m very confused about the program .SO CAN YOU PLEASE PLEASE PLEASE HELP ME WITH THE PROGRAM. I HOPE THAT U WILL HELP ME!.

AirsoftSlo says:

Adding a thermistor and a small fan would help you get bigger voltages and currents…or a CPU cooler. Those are good up to 150W constant or more.

Michael Sakach says:

I really like your in depth insight on your tutorials, without dragging it on….straight up and to the point with excellent video editing, parts list, schematic, and links…truly professional work, and vast knowledge of electronics. Keep up the great work, and thank you for the videos, have enjoyed every one and will be building this tonight as I have all the components, plus always have nano’s on hand, these days more and more hobbyists are incorporating them straight in the the schematic as above…awesome

Vu Viet says:

So is this a constant current driver?

daniel pirkl says:

Add termal paste to mosfet to get event more cool

lonetechnologist says:

As an improvement suggestion it would be nice to have a self diagnostic feature in the software that can shut down system in case if a current greater than the set value is detected for a pre defined time interval in order to protect the load in case if the transistor shorts out due to a fault.

Pascal Sampatsing says:

Dear Scott, where can I buy the box, where you install the hardware, I’m from the Netherlands.

Vumen Airlines says:

Where can i order legit electrical components at a low cost?

黄禄轩 says:

that is a good solution.

and can i translate the video and post on

VoltLog says:

One possible issue with this type of load is the control loop which is run by the microcontroller. That would make it quite slow which could possible create oscillation under the right conditions or even worse it could react very slow to a rapid change in current.

Chubby Monkey says:

This is posted on the Arduino website right now!

Rob Gandy says:

Ohhh, Great Scott, the wizard behind the curtain. May I ask you for a favor. I’ve got a ton of those esp8266’s and a mess of the 4 X 8 X 8 LED Matrixes based on the MAX 7219; Now to get these things to talk together, I useually through in a small ATMega chip; Plus a self designed and made Bi-Direction Logic Level converter. (one of yours I think). But having all this hardware, and logic level converter(s), etc, seems quite a waste to me. I’d like to simplify my design attempt at just removing the ATMega, and running the system on the ESP8266; Which has more memory, an MCU, everything I need. Plus wifi. Anyway, I’ve been looking an cannot find a simple Serial to SPI converter, or even something that resembles such a thing. Ive done SPI Comms thru a computer sucessfully, using a parrellel port (Toggling one of the data pins as clock, one as Slave select, MISO, MOSI) and it worked quite well.
But, getting control of a typical FTDI serial device is a little harder. I just need to control one of the pins as say, DTR exchanged for !CS or CTS/RTS as clock; Something like that. More to the point, getting the ESP8266 to behave, or enable SPI Comms to the MAX7219. With the few pins I’ve got. Any suggestions, ideas, or cheap hardware ???

Many thanks!

Vishnu says:

Can I use ir2101 mosfet drive instead of tc4420

Willie Swanepoel says:

I have purchased the components and is ready to build. I do not seam to find the code you have mentioned towards the end in your video for the Arduino. I will appreciate it if anyone could you please send me the url or the code.

t Rode says:

Very good explained, like your other videos. Can you do something about DIY low range dipole antenna receiver and sender?

ALL IN ONE says:

Sir what is that machine .,which r u using

Anime SonG says:

can you make HDMI TO VGA

Powered by Sergey says:


Pedro Bermudes says:

i need to make a 1kw discrharger fora battery, this model could work ?

junkpete2305 says:

Yesterday I played the “Great Scott – UTILISE” drinking game. OMG, what a headache 😀 Great video, nevertheless, as always 😉

Kalpesh Patel says:

I have a little Question, Instead of IRFZ44N if i use NTP30N06L (Logic Level Mosfet). Do i still require Mosfet Driver ?

Reinaldo Altamura says:

Hello, and the firmware ? How I could make this variable load unless firmware ?
Did you make the video only for you ?

Lucas Hartmann says:

If you really need mA range load then you may ditch the power electronics. Just use an opamp as the current driver.

movax20h says:

You could have used a shunt resistor (or transformer based on for over 50A), analog multiplier (could be one quadrant multiplier even), Norton opamp, normal opam, and single high res DAC, with multiplier in the feedback loop, to create constant power load without micro control. That would be beneficial for very quickly changes voltages, i.e. these generated by some SMPSs. But micro is good for testing batteries, where reaction speed is not that super important. Also micro allows you do simulate inefficiencies of load (i.e. ~constant power, but depending on input voltage, the import power could vary), just like most SMPSs are not really constant power, as they vary (by about 10%) their input power (for the same output power!), depending on a voltage.

What you could do in your current setup, which is relatively simple, and requires just code update, is pulsed loads. I.e. every second a 1W or 100mA pulse for 10ms. Or something like this. Useful for various applications.

G lewiss66 says:

Interresting project! It’s always usefull to have a load that can be ajustable. Could be programmable too. I was wondering if you know some PSU like your DPS5315 which is programmable and not too expensive. The problem with the DPS 5315 is that everything is in German. Not sure if it can communicate with SCPI protocole as well…

dipti chandra says:

Hi great Scott
Can we make an high power of 450w smps using sg3524 integer ic with high power switching mosfet

Aimless says:

Is it possible to load liked 100-200amp

Nickst3r says:

I live for the little things at 3:37

 Write a comment


Do you like our videos?
Do you want to see more like that?

Please click below to support us on Facebook!