Design & Build an Electronic DC Load

In this project we will design an build an Electronic DC Load which is capable of Constant Current, Constant Power and Constant Resistance. The design will use a rotary encoder for input entry and a 20×4 LCD display as the user interface. In Part 1 of this project we will discuss the basic design and then build and test the initial prototype.

Below are links for the prototype software plus a zip file with the schematic, PCB artwork and component layout:



Above shows the PCB wired for testing with heatsink and fan added.


Underside of PCB showing the locations of the 3 IC’s.


Close up of 20×4 LCD showing setting in Constant Current Mode.


In part 2 of this project we will make some changes in the way the LCD displays the information. The set current and set power levels are now set in Amps and Watts to three decimal places. Safety limits have also been added to limit maximum current setting and maximum power. After start up the unit goes in to constant current mode. A battery capacity function has also been added to test the life of batteries in mAh. The power mosfet has now been changed to a BUK956R1-100E (from NXP) to improve power handling. Finally software has been upgraded to Version 2.0.

Below are links to the downloads for Part 2 of this project:

Below is the new LCD layout with the heatsink temperature now at the top left of the display.


When the power limit is exceeded the Load switches OFF and the display informs “Exceeded Power Limit”.


To accommodate the new feature of Battery Capacity Testing we have now added a Real Time Clock (RTC) which also uses the I2C bus to interface with the Arduino.


Below is the Safe Operating Area graph, taken from the datasheet, of the Power Mosfet. This illustrates the ability of the Mosfet to handle 3A at 30 volt. However, this is at 25°C and in reality the power handling will be lower than that as the Mosfet heats up. At a later stage we will consider adding Mosfets in parallel to overcome this.



In Part 3 of this project we will make a number of improvements and additions. These will include a keypad, improved accuracy, fault protection and enhanced battery capacity discharge test mode. A 4.096 volt reference had been added to the DAC improving accuracy. A battery capacity testing menu has been added.

Below are links to download the latest version of software (version 8) and the updated schematic of the whole project, which now includes Real Time Clock and Voltage Reference Modules:
Please not that the new software now uses a keypad library – ensure that you have the latest version of this library and read the information on the following web page:
Direct link for the keypad.h library is below:


In Part 4 of this project on the Electronic DC Load we are going to add a remote voltage sense circuit, increase the power capacity by adding additional power mosfets and build the completed unit into a metal project case. We will also upgrade the software to allow for input entry via the keypad as well as the rotary encoder.

Below are download links to the latest version of software.
Also a zip file with the updated schematic for the main PCB, schematic and PCB artwork for the Remote Voltage Sense , Parts List, details of alternative power mosfets, wiring diagram and any notes:
To increase the Power Cut-Off Level simply change the value in the code below in software:
float PowerCutOff = 50;
Suggest changing 50 to 99

Below is the Remote Sense Circuit which uses a OPA277 OP Amp as a difference amplifier. The negative 5 volt supply for the OP Amp is generated by the a ICL7660 voltage converter IC.


The 20K preset between pins 1 & 8 of the OP Amp is adjusted for a NULL sense output when the sense input terminals are shorted together.


In part 5 of this project we will improve the power Mosfet’s current handling capability. Also a Transient Mode will be added providing a pulse option for the DC Load. The software will be updated providing extra features such as; user setting of battery cut-off voltage for battery capacity mode and user setup of safety limits.

Below are links for downloading the latest software and updated schematic diagram:
The Remote Voltage Sense circuit remains as show in Part 4 of this project.


Above is the revised circuit for paralleling the Power Mosfets. Additional 0.1 ohm resistors have been added in the source return of each of the Mosfets so as to reduce the effect of the negative temperature coefficient of the gate/source threshold voltage.

Part 6

In Part 6 of this project we are going to make modifications to the Power Mosfet drive circuit to improve the ability to handle higher current/power levels whilst protecting the Mosfets from over heating and possibly going in to thermal runaway. We are also going to design, build and test the trigger input circuit. In addition to this I have updated the software to Version 25.
Below are links to download the latest software. Also there are two zip files providing the PCB artwork, Schematic and Parts List for both the Mosfet Drive Circuit and the Trigger Input Circuit.

Part 7

In part 7 of this project we will have a look at a number of updates and improvements. We will also use a new single sided PCB with all the components on one board. The Arduino software has also been updated to version 27.
Below are download links to two zip files which provide all the details. One for the updates, schematic, PCB artwork and parts list etc. and another with all the KiCad files. Also a link for the latest software:

The latest version now uses a double sided PCB.

Latest download links for this project are listed below:

Arduino software for 5×4 matrix keypad option:
Arduino software for 4×4 matrix keypad option:
The schematic and all other documents are in the zip file below:

Download links for this project are listed below:

Arduino software update (Version V35) for 5×4 matrix keypad option:

Arduino software update (Version V35B) for 4×4 matrix keypad option:

The schematic and all other documents are in the zip file below:

Additional files which include LCD wiring details, Rotary Encoder wiring details, I2C LCD Module variations and Arduino code changes and heatsink spacing details. can be downloaded from the link below:

DC Load PCB version 9.2 Gerber Files can now be downloaded from the link below:

The above video covers the data logging option in Battery Capacity Mode of the DC Load. We we pass serial data to a PC using a USB lead and use some freeware software. The data will be saved as a text file which can then be used later in a spreadsheet to create a graph.

Below are links to an information sheet which shows the additional lines of code added to the Arduino software for this feature. Also an information sheet about CoolTerm the serial logging freeware also used:

Below is a link to Roger Meier’s web site where you can download CoolTerm:

LATEST PCB (Version 9.3) now includes additional grounding tracks and extra pin added for keypad header so either 5×4 or 4×4 matrix keypad can be used easily.

Above shows underside of PCB showing changes

The PCB (version 9.3) gerber files can be downloaded from the link below:

The version 9.3 schematic, component layout and updated parts list can be downloaded from the link below:


179 thoughts to “Design & Build an Electronic DC Load”

  1. Great projects and thanks for your work!
    I cannot compile the Electronic DC Load software. Where can I obtain the LCD.h library ?

      1. Hy,

        Can you attach the KICAD Layout and schematic files?
        I would like to modify it for SMD resistors and capacitors, also to increase the track width for MOSFET.

      2. Got any boards left? I posted on Youtube but found your msg on Vid 9. I would like two boards and if possible the double sided ones.



          1. Hello Louis, Do you have any boards left? – I have been looking at this project since you started it, but have never liked the idea of making my own PCB. Also, do you have a BOM for the project? I may have missed it along the way…

            Many thanks,

  2. I have watched almost all of your videos. Can I suggest an upcoming project? I would like you to design/build a >=200MHz Frequency Counter that can also measure down in the Tens of Hz range. Perhaps it would be useful to have the Frequency Standard/Reference be used to test or calibrate the Frequency Counter…?

  3. Hello,
    much very nice project, brillant video from start to end! Personally prepare on Milliohm-Meter + this Electronic DC Load. Could it be speed Frequency Counter with 10 ÷ 12-digit. 8-digit them on flabby is much, only choose… Great job!
    I am sorry for my English.
    Regards, Roman Klíma (Czech Rep.)

  4. Hey Louis
    Is there any chance you will publish the PCB CAD files?
    P.S. I have made the Millivolt metre using the OSHPARK PCB and added a soft power on.
    Keep up the great work.

    1. Hi Nick,
      As the project is not fully finalised the PCB keeps changing I have not completed a new PCB yet.
      However, one of my followers Rob Bruno has already designed a new PCB using my design (up to Part 5) but we have not tested it yet. It should be OK and uses surface mount components. If you are interested it is available from:
      The PCB CAD file I think is also available to download from OSHPARK.
      You can also download the circuit from the link below:
      We will be working on a final PCB design which will incorporate all the changes/additions.

  5. Hey Louis,
    This is a nice project, and explained up into all details! 👍

    I have a question that i did not want to ask on your youtube channel,
    because it is a bit out of topic :

    Do you think i could use such a DC electronic load with AC low voltages,
    by connecting it through a bridge rectifier ?
    It would then emulate an AC resistive load… ( i suppose ? )
    What could go wrong ?

    Best regards and thank you for all your nice projects!

  6. Hello Louis,
    Thank you very much for your video’s on youtube, as I said on one of them they are Brilliant and the best I ever scene. I have learned so much from you. As soon as I found out you had a website, i had to come here. I had a good feeling from the first time I watched your videos, I knew, you would have had to be a teacher at school as well, especially the way you were waving the stick at the board… lol. No really its because of how you conduct yourself with the expertise of explaining the theories and a perfect tone of voice and temperament. I have to say the tone of voice is very important for teaching, because if it is irritating it is very hard to concentrate after a while. Not to put him down, for example Dave Jones is excellent with his videos and is very talented, but I cannot listen for too long because his voice has too much accent up and down tones and so on.
    So I thank you for your work, I think you are a great teacher and kind hearted, I wish I would have had teachers like you!
    Now regarding this DC load , it looks like that for now it’s still open to new changes, what do you think about the idea of making the system outputting the data values to a pc and then may be with an already made freeware software it can be data logged to give a record of the load test?

    Also I noticed that you made a function to zero the figures at the start by pressing and holding two buttons.
    I am just going to ask here so excuse my ignorance, why not have this to zero by its self in the program after turn on and a set delay or every time the load is turned off ? In the past I have made some projects to do this.

    Kind Regards,

    1. I have think like you.
      Now I’m working about electronics and electrical it very hard to understanding for me.
      But I must make Electronic load for ending project.Then in around 2 months ago,I had see this project on youtube but I not good for English I’m Thai and I follows the video.

      For now I think I can do that to 30% I had installed for test on breadbroad.
      But I had something different to used.
      My devices are different from Scullcom project list.
      – x2 MCP3425 for ADC devices (now it’s make me a problem because it have the same registor).
      – IRF2807 for MOSFET.
      – 1ohm tolerrent 5% 7watt for current sence.
      – another resistor is tolerrent 5% 1/4watt.
      – x2 LM358 for op-amp.
      – BC337 for NPN to fan 12v.
      please if you have a time I need to known more Louis

      Thank you & Best regard

    2. Hi Louis,

      When I wrote the above comments I was just writing my true honesty with out thinking too much on how they may effect another person. So If you think some of my comments about another individual may be offensive as I realized they may be taken that way even though none are intentional. You may remove my letter or if you allow me I would like to comment out that part.

      kind regards,

  7. Dear Luis. My name is Niki. I’m 37 years old. I’m an engineer and I’d like to improve your existing PCB design for the DC load project you have made.

    I have tried to find your email but unfortunately, I can’t.
    Please give me your contacts. I have designed already some files. You can see them here:
    and the current (not ready yet PCB design)

    Thank. Waiting for your answer.


  8. Very good projects: thanks.

    Perhaps you could consider adding a master list somewhere of all your projects, or even just the main ones.
    Adding the latest links to PCB, software etc on that.
    As well as your Youtube video links.
    And even any related links from your followers.
    And a rough summary of the overall specifications of the project.

    They don’t need to be accurate during the project, but it is nice to get a rough idea of what a given project can do without going thru the videos in detail.

    I tend to get a bit lost in following the various Youtube projects because they do change a bit over time as you modify things.

    And an idea for a video might be for you to describe some useful tools that a apprentice electronics hobbyist should consider having, to be a generalist.

    Thanks again.

  9. i love your projects thank you so much i have learned so much from them! I would ask if you ever find the time if you could maybe do a video going over the software from top to bottom, similar to how you did with millivolt meter part 2, i have watched that video a hundred times and it makes more and more sense each time! although i would like to see explained a program which controlls a DAC because i cant for the life of me figure out how to use my DACs i have for this load, its a ltc1448 dual channel spi/ 3 wires but to control it it doesnt have any control bits etc, just send a 24 bit word, 24 clock pulses etc, 12 bits go to dac a and 12 to dac b, it makes no sense to me how to ! but just having a explanation of your software would help so much! thanks so much for your time and keep making great videos!

  10. Hi Louis,
    I was planning from some time to make an electronic load, and collected the documentation of several projects in order to not reinvent the wheel. One of my goals was to be able to control it from a PC in adition to be a stand alone unit, so the instrument should have a microcontroller, an Arduino if possible, with the software sources available.
    Now that I have found your project, I will built it since it seems to me that you have addressed all issues in the analog part so I could center my efforts in adding some capabilities to the Arduino program.
    Since I have designed and built several PC controlled instruments that also uses Arduinos at the other end, I already have most of the building blocks (protocols, virtual instrument layouts, logging, graphics, calibration, etc.) for implementing added functionality in an easy way.
    I found a guy in Germany who sells PCBs for this proyect and I have bought his last unit. Now I have to order the materials and when the unit is built I’ll begin to add things to the Arduino code. I will keep you informed of the progress.
    Thank you for making your projects available.

    1. Hi Ignacio,
      Sorry for the delay but have just seen your comments.
      I have just designed a new double side PCB which I am making available for purchase. I have already sold some on eBay and should have a new batch of PCB’s soon.
      Best regards,

          1. Hello Louis,

            I saw your youtube video’s and think it’s a very nice dc load. I would like to build one but sadly the ebay site says your unable to accept payment and wil not finish the purchase.

            Please advise

    2. Hi Ignacio

      I would be delighted to hear more about your side project for the DC Load.
      A PC data logger could come in handy.

      Flemming Loua Christiansen

  11. Hello. First congratulations on these videos. You share an enormous amount of knowledge with them.

    I’m am starting electronics, has a hobby, self learning, no knowledge on the area.

    I got a little place to have a small lab, and I am looking for DIY tools. So every lab should have a DC Load and your is great work.

    I saw almost all your videos and I signed up for the channel. I intend to build some of your projects.
    Looking at the last video from the DC Load series I see you have a new PCB.
    My question is, will you share the Kicad ou gerber files for this last revision?

    Thank you very much.

    1. Forgot to ask, what will the cost of building this you think it is? Approximately of course.

      Again, thank you.

      1. Hi Helder,
        The total cost is approx. £80 but that assumes you may already have some of the small components already available. I have not calculated a full cost so far if you have to buy everything. Also the cost of components varies a lot depending where you buy them.

  12. Hi Louis,
    I been following your series on the DC Load project and very impressed with it’s evolution. As I intend to build one (probably sooner rather than later now) I would be interested a one of the PCBs that you may have available as stated on the Youtube video.
    Best regards,

    1. There are no PCB’s on the provided link… Since there was pcb files on version 7 of the files, that’s why I was asking if there will be on this version 9…

    2. Hi Richard,
      I have just sent you an email and will reserve a PCB for you. To my surprise the first batch on eBay sold in a day. I have a new batch due by the end of this week and reserve one for you. Please reply to the email I have sent you.
      Best regards,

    1. Hi Gérard ,
      I also saw your message in You Tube and have sent you an email. I will reserve a PCB for you.

      1. Hi Louis,
        Please would you let me know when the new PCBs are available on ebay as I also wish to buy one. Better still, if you could reserve one for me I’d be very grateful.

  13. Louis, when do you expect the next batch of PCBs to be available? Will you please post a short update video when they are because I would love to order one.

    Also, would you consider posting links to shopping carts from the major suppliers that contain all (or most) of what you need to purchase to complete the project? If so I would consider putting together one for the US market if you would post it in your video notes. I can compile it from your notes in the last video and send you a link if you would post it.

  14. Hello Louis,
    thank you for your great youtube channel and posting your Electronic DC load project — it looks very well done and I have an itch to build up one.
    Can I get one of the DC load PCBs, too?

  15. Louis
    Do you have plans to get any more pcbs (for the DC load), they seem to be disappearing like the proverbial hot cakes!

  16. Ohhh – so there is a forum! So I thought I had everything in place, but C6 exploded on me – or at least it looked like a short. I had normal voltage (5 and 12v) before I inserted that cap – I used a 16V cap which I guess may be the issue here. Suggestions? I’ve ordered a 25V 220uF cap but it will be a while before it’s here. I have plenty of 16V but yeah – BOOM! 🙂

  17. Hi Louis, I’ve certainly enjoyed your series on designing and building the Electronic DC Load.
    Your an excellent teacher and imagine yo7 to be thorough and patient.
    I see you PCBs available for the project. Is there anything in particular 8 need to do to buy one from you? I’m in Australia.

  18. Hi again Louis,
    I noticed that the link in Part 7, to the Kicad is broken and takes one to the YouTube video for part 7 or some of the Arduino code. Could I ask you to fix it please
    You wouldn’t happen to have your parts list available as a spreadsheet would you. If not I’ll prepare one for placing a parts order myself.

    Mike Vogel

    1. Hi Michael,
      I will have a look at why the link on Part 7 is broken. The KiCad files are the older version.
      I will see if I have a spreadsheet as I know some of my followers have made one. If I find it I will email it to you.

  19. Hi Louis,

    Thanks for your work on this project. I’m looking forward to building one myself. I checked the ebay link for a pcb but it appears the listing has ended.

    Alternatively, would you mind sharing the kicad or gerber files for version 9? Thanks again!


  20. Awesome work on this electronic load Louis!

    I too was wondering if I can get the PCB files for that latest version? Or do you have any spares you would sell?


  21. Hi Louis,

    awesome project! I already built the Millivolt Meter and the Milliohm Meter, and both projects are really outstanding. I love your videos, being an amateur myself, they are great learning resources!
    I would really like to build this one as well. You don’t happen to have any PCBs left, do you? Ebay is down to zero…

    Best regards, and keep up the good work!


    1. Hi Klass-Jan,
      I have a spare DC Load PCB. I have now sent you an email which you can reply to with your delivery mail address.
      Payment can be made via PayPal as explained in my email to you.

  22. Hi Louis,
    I have watched many of the projects you created but had a problem subscribing to your channel , I am now. I am very interested in building the latest version of your dc load with the new pcb and keypad, I went to buy the pcb at the link provided but the listing had ended.
    Is it possible for you to produce one for me, I have a paypal account so could send the money to your email or if you have a different prefered method. I have ordered a lot of the components from ebay and they should come in a few weeks. please keep producing these wonderful projects your channel is my favorite because of your teaching methods, and also the projects being test equipment which the hobbyist could never afford to buy. if I may suggest a proggramable psu would be a great following project.
    Regards John.

  23. Are you planning an additional manufacturing run of PCB’s.
    I missed the last Ebay listing.
    I also asked the same question on the You tube posting.

    Are there any plans to have a data out capability for logging the results on a PC or similar?

    Many thanks for your super detailed contributions to the Electronics Hobbyist community.

    1. Hi David,
      I have just ordered another batch of DC Load PCB’s and should have them in about 6 days time. I will send you an email with details.
      I do have an idea for data logging using the serial data output to a PC.

  24. Hi Scullcom, I am chasing the PCB for this design. as per your recent communiqué, I have listed my email below.
    Looks like I may have posted this in the wrong project

  25. Hi Louis! Can you please share the KiCAD PCB files? I’m trying to buy the original PCB via eBay but unfortunatelly it doesn’t ships to Argentina (that is where I live ofcourse). So if you please send me the files I can send the PCB to be fabricated some in China.

    Beyond this please let me congratulate you on the excellent projects that you do. I find them very interesting but mainly excellently well explained.

    Thanks a lot and best regards. Sorry for my bad english,


  26. Louis,
    You have sparked my interest in this project and would like a go at it. When/if the next batch of boards arrives I would like my name on one?..

  27. Hi Louis

    This is such a great project! I really enjoyed following you along how you improved it step by step. Now I would like to build one. Do you have a pcb left?


  28. Hi Louis,
    I have watched all your 10 videos (within one day !) and I find your DC Load project really outstanding.
    Would it be possible to order the PCB, as I would like to build the one ? I am in France.

  29. I too Have watched many of your video and tehe parts for this project are almost all ordered. I too would Like a PCB of this project. I am based in USA Thank you for everything you do.

  30. Dear Louis,

    I’m interested in getting one of the latest PCB’s for the DC load.
    Would you still have one for me ?

    Kind regards,

  31. Hi Louis

    Maybe a bit late, but I discovered your splendid forum and was wondering if it is still
    possible to obtain the latest PCB for the DC Load.

    ,Bests regards

  32. Hello,
    To increase the power try these PHP79NQ08LT.
    Are you coming? To be safe for this project?
    Congratulations on the project.
    Greetings Vito

    1. Hi Vito,
      Thanks for your comment and for the information on an alternative Power Mosfet. The PHP79NQ08LT looks like a good alternative with improved power handling. It may also be easier to purchase.

  33. Hi Louis!

    Just recently dicovered your Youtube channel, great stuff.
    Really like the DC Load project and it’s a usefull bit of kit I´d like to build for myself.
    Any chance you still have some PCB’s left?

    Best wishes from Sweden


    1. Hi Michael,
      I have sent you an email with details. I have just had a few more PCB’s made in which I have added some extra grounding, in addition I have also taken the opportunity to add an extra pin to the keypad header to cater for the 5×4 matrix keypad.

  34. Hi Louis,

    I’ve been watching your DC electronic load project from the beginning, very nice!

    I would like to build one, do you have some PCB’s left with the latest mods?

    Best regards, Mauro.

      1. Hi Louis,
        Thanks for your time and effort producing great content and practical projects. Dissecting your projects has increased my understanding exponentially. I’m looking forward to your next project.
        Please let me know when your next batch of PCBs arrive. I’d love to purchase one.

          1. Hi James,
            Yes I received your email from a different email address and replied to it. I have now also sent an email to your other email address with the details. Your DC Load PCB was posted to you Tuesday 29th May.

  35. HI Louis.

    The revised PCB (v9.3) looks great. Much better without all the copper wires. Thank you once again contributing to the community. Very educational for me and a great bit of equipment to own at the end.

    Cheers Alex from Wollongong Australia

  36. Hello Louis,
    I´m watching the DC Load project for a while now and I think your way of explaining things is the best I´ve ever seen on Youtube. Thanks a lot for that.
    I would like to get on of those DC LOAD PCB´s if there is one left.
    Would that be possible?


  37. I’m a bit confused around how the sense is connected. In your last video you show that the sense and the load is “just” connected via the switch. I had the sense input go into the sense plug on the board – if you just connect them directly in the way you show, what goes into the PCB sense plug?

    1. Hi Rüdiger,
      Thanks for the link to the software and documentation. It looks very impressive and I am sure it will be of interest to others who have built the DC Load.
      All the best,

  38. Hi Louis,

    I’m interested in getting one of the latest PCB’s for the DC load in the version 9.2.
    Would you still have one for me ?
    I´m from Brazil.

    Best regards,

  39. Hi Louis,
    I’m interested in doing this project and i I would like to optimize it. I want to change all the resistors in SMD and to use another ADCs and optimize the cost for project. Can you send me on email all the files for code, layout and schematic ?
    Thanks 🙂

    1. Hi ciprian,
      I did provide all the download links in the comments below by YouTube video:
      Below is also the link to the latest KiCad files for PCB version 9.3 where I made some improvements:
      Arduino software update for 5×4 matrix keypad option:
      Arduino software for 4×4 matrix keypad option:
      The schematic and all other documents are in the zip file below:

      1. Hi Louis,

        Now the links working OK, maybe there is a problem with my ISP.
        first of all you make a great project, thanks for your hard work.
        but i want to make some changes to the project, i want to achieve 80V 30A 300W module, what changes should be made to achieve the goal, besides replacing the MOSFETS, is there a need for a software change? changes in electronics?
        today is a 4 MOSFETS which can reach up to 12A, Will the measurements in the high currents be accurate?

        thanks, Yuri.

  40. Hi Louis,

    Thanks for this great project. I’ve stuffed all the parts except the power mosfets on the version 9.2 board. I fired it up to check things were working before proceeding with putting in a box but I got nothing on the display. I ordered a new display in case that was faulty but I get the same result. I believe the programing of the Nano is fine and there are digital signals going to the screen. Do the mosfets need to be in? I wouldn’t think so. What else could I check other than the obvious, components in correct orientation and checking for shorts, all which I have done.

    Thanks, Rick

    1. Hi Rick,
      I think your problem may be due to the fact that your I2C module on the LCD Display uses a different address.
      Look for the following line in the Arduino code:
      LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7); //0x27 is the default address of the LCD with I2C bus module
      The 0x27 in this line of code is the I2C chip address. This may be different with your LCD Display. Try changing this line of code to read:
      LiquidCrystal_I2C lcd(0x3F,2,1,0,4,5,6,7); //0x3F is the default address of the LCD with I2C bus module
      This will now use the address 0x3F which is another common option used by some displays with a i2C module.
      You can download some additional information I have prepared fro the link below, one of the documents in this files gives you a full explanation of the issues:

  41. Hello again Louis, and as I said before, what a great project!

    Currently I’m trying to buy the parts to make the project. In the meantime I building a very basic DC load (a multi turn potentiometer, an op amp and 3 MOSFETs in parallel). But currently I’m having 2 problems:


    If I use single supply (+9V), at 0V in (+ input of an LM358) the load current is aprox. 850 mA. It looks very very high for me, is this ok???

    If I use dual supply (+9V / -5V), at 0V in the load current is aprox. 25 mA, a lot less! But I can’t understand why when I use single supply the load current is so high (I’ve had already check the VGS voltage but honestly I don’t remeber now what the was the value).

    By the way, I’m using 3 IRF3205 in parallel, and as far I know, at 0V in the LM358 output must be “almost 0V” (is not rail to rail, but it can reach “almost” 0V at the output). So, checking the IRF3205 datasheet I see that the lowest threshold VGS is 2V. Then, finally, at 0V in (+ input of LM358) the MOSFETs must be completely open right?

    Today I’m going check again the VGS voltage when I’m using single supply and at 0V at the input.


    As I said, using dual supply I can lower the load current to 25 mA aprox. Now I’m trying to null it completely, so I had implemented the offset null solution that you have presented in part 7, and guess what, it works like a charm!

    The only problem is that I can’t figured it out how it works. Its looks pretty simple but I don’t realise. So, can you please explain how this very basic circuit works?

    Thanks a lot and best regards, Mauro.

      1. Louis, I wonder if you had received my mail?


        I’ve detected that the 3 MOSFETs are wrong! When I replace all of them the DC load drains aprox. 0A at OV input, but currently I’m having a very big problem with oscillations! I’m working on that. I will keep you up to date when I have any news.

        Thanks a lot and best regards,


  42. Hi Louis. I’m assembling the PCB 9.3. I ordered all the parts in the parts list. There is a discrepancy in the parts list and the kicad files. I noticed that the 10uF tantalums did not fit all the footprints, then the kicad files show 100uF.

    Oh wait there is note in the schematics ! 🙂
    I have the ICL7660. Then I can drop the 10pF (C3) and use 10uF instead of 100uF I suppose on C4 and C26.

    Seems like its all there anyway.
    Great project btw !

  43. Louis
    Here is Kenneth Lavrsen who also commented on your channel and built an electronic load with yours as a major jump start.

    I also make music. 100% amateur – no money involved – just fun – should practice more. I made a song as a small humble tribute and a great thank you for your wonderful channel.

    Available at

    If it does not fit your taste or it is inappropriate then let me know and I will rename the song and put another story and image. It is just for fun.

  44. Dear Mr Scully Thanks a lot for your great videos ! You’ve learned me an incredible number of things ! I have a question about the Arduino Nano you use in several projects, like your Electronic load. You inject a regulated 5 volts directly into the 5V pin of the board, without protection diodes or voltage management system. Isn’t there a risk to damage the voltage regulator of the board ? And how to you upgrade the software with the USB cable? Do you first remove the Arduino board from your own PCB ? I wonder how you prevent the risk of conflict between the regulated 5 volts supply and the 5 volts coming from the USB plug ? … Thanks again for your excellent work! Yours, Patrick Bertholet

    1. Hi Patrick,
      You can inject +5V in to the +5V pin of the Arduino Nano as long as you do not connect any input voltage to the Vin pin. With no voltage on the Vin pin of the Arduino Nano the 5 voltage regulator on the Arduino Nano is not in circuit so there is not an issue.
      You upgrade the software on the Arduino Nano by the USB cable. You can leave the Arduino Nano plugged in to the DC Load PCB. There is an isolating diode already on the Arduino Nano which will isolate the USB +5V input if the Arduino Nano is already receiving +5V from the DC Load +5V supply. In this case the +5V coming from the USB lead is in effect disconnected by the isolating diode on the Arduino Nano. If you have a look at the Ardunio Nano schematic you can see this diode (D1). Here is a link to the schematic:
      Hope this helps,

  45. Hi Louis

    Thanks a lot for your kind answer and for the schematic! My Arduino Nano clone is a little different from yours, but it has the same type of diode to manage the onboard 5V and USB power line. And yes, it works !

    I have a suggestion for a future video, when you have time… Could you explain us the correct way to measure very small voltages and currents with a multimeter ? I do have a pretty good meter -Fluke 87 V- but i think i don’t know how to get the best of it. And i don’t fully understand how the four-wire measuring technique works…

    Best regards,

    1. Hi Patrick,
      Glad to hear it was helpful.

      To read small voltages on your Fluke 87V. After selecting the DC voltage range – press and hold the backlight button down for about 1 second or so, the display will then change to give you 4 decimal places when measuring small voltages.
      The Fluke 87V does not have a 4 wire measuring option. This option is normally on a good bench multimeter, this option is normally used for measuring low resistances. Two leads are used to supply a fixed known current through the unknown resistance and the other two leads measure the voltage across the resistance so the resistance can be accurately be calculated, as no current is flowing through the second set of leads used to measure the voltage across the resistance the length and resistance of these leads will have no effect on the voltage read across the unknown resistance and so the meter will accurately calculate the unknown resistance.

      1. Hey Louis

        Thanks again for your kind and patient explanations ! I will train myself with your other projects, like the milliohm meter and the precision current source. Recently, i also read (again) your video on PCB making at home, which is great. I still make my PCBs myself, with Kicad, a small insulator and presensitive boards, but i only did single side boards for the moment. Do you plan to make a video on DIY double-side PCBs ? I would be glad to get some tips from an expert !
        Patrick Bertholet, France

        1. Hi Patrick,
          Sorry for the delay but have been away on holiday.

          Making double sided PCB’s yourself can be a bit tricky as you need to accurately alien the exposure films on both sides of the PCB. The best way to do this is to have alignment holes in each corner of the film which match for both the top and bottom transparency films – then mark and drill these holes on the double sided copper board and align the films with these holes. the trick bit is ensuring that they stay aligned during exposure to the ultra violet light.


  46. Hi Louis,

    I have been enjoying your great videos. Easy to follow. I really would like to put together your DC load project. I was wondering if you still have any PCB available?

    Thanks again

  47. Hey Louis

    I have just come across your fantastic project when trying to solve my requirement for a DC load for my project. Do you have any PCBs still available for sale? I am UK based.

    Kind Regards


  48. Hi, I’ve been following this project on YouTube and I was wondering if you sell this as a kit that can be built? I’d be very interested in buying one. I build a lot of laser drivers and this would be very useful in testing these drivers.

      1. I see. Let me take a shot at making the PCB. I had intended to mostly use SMD component since I have quite a few on stock. I’ll share my design once I’ve tested it. Thank you again for making these videos. The content is great but the little sections of theory that you’ve explained are really useful.

  49. HI! I both two of your boards just about done building the first one what is the bnc used for and how do you use it and could you Email me a sheet on how to set all those vrs

    1. Hi Guy,
      I have sent you an email with calibration info sheet.
      You can also download it from the link below:
      Also check out part 8 video of the DC Load project where I go through some of the preset adjustments:

      The BNC socket is used as a Trigger Input for one of the options in the transient mode (pulse mode option). Have a look at part 6 video where I explain this function.



  50. Hi Louis (:
    Thank you for sharing your great projects!

    I am building your DC Load, but i have some issues. The software seems to work okay, but i am not getting any voltage reading on the display when I connect a powersupply to the + and – LOAD terminals. What can I do about it?

    Regards Rasmus.

    1. Hi Rasmus,
      Sorry for the delay in answering due to the fact we have been away on holiday.

      With regards your issue. Can you measure the voltages on pins 2, 3 and 6 of U13. Also measure the voltage on pin 8 of U7. Let me know what voltage readings you are getting on these pins.

      Did you wire up the Sense Switch?



      1. Hi Louis.
        Currently, I’m just wiring the sense wires in parallel to the 5v power supply, because I don’t have a case for this project yet. I hope this is good enough?

        In regards of U13;
        – pin 2: 94,1 mV
        – pin 3: 100,4 mV
        – pin 6: 102,7 mV

        In regards of U7;
        – pin 8: 102,7 mV


        1. Hi Rasmus,
          All those voltages should read about 100mV when you have a 5V input on the Load and Sense terminals. So your voltage readings are more or less OK. The voltage sense IC (U13) is configured as a divide by 50 so with 5V Load/Sense the output reading at pin 6 of U13 should be 100mV, your reading of 102.7mV is just slightly higher but you should be able to adjust this by the RV2 preset resistor. Your Voltage sense circuit U13 is working OK.
          The output from the buffer stage U7C should also read 100mV in this situation. You are getting 102.7mV at pin 8 of U7 so that’s OK.
          The next think to check is if U6 the ADC is working OK:
          First check the voltage at both sides of R5 (100 ohm) are the same – in your case it should read 102.7mV at both sides of that resistor. If this is what you read then the voltage been fed to the ADC (U6) is correct.
          Now you need to check if U6 (ADC) is working OK – first do a visual check to ensure you have soldered the IC the correct way round on the PCB (there is a possibility you may have soldered it in reverse in which case it is likely you have damaged the IC).
          Next check the following:
          When you set a current load (say set a load current of 1.000A) and switch the load on with the keypad do you get a current reading on the LCD display?
          If you do not get a current reading as well as no voltage reading then the fault is likely to be U6 (as you LCD display is working OK we can assume that the I2C bus is OK).
          Let me know what you find. I will also send this info in an email so you can contact me directly by email for any further help.

  51. Hey Louis,
    first, thank you for this great project and all the work you spent for it. I’m also plan to build your project, but with some changes in parts and layout. During studying your files (hope I have the latest ones), I found some small issues in your layout / partslist (v9.3). I’m sure you found them also and always fixed that, but sometimes four eyes see more than two 🙂
    For the choosen 32.768 kHz crystal the footprint is with 1.5×5 mm to small to fit your recommended part AB38T from Abracon, especially if you follow the datasheet and want to fix it with rubber glue on the pcb. There is a smaller version from Abracon with same specs named AB15T that will fit (Farnell order code. 1611825).
    There seems to be some updates missing in the partslist (9.3): The wirewound resistors R22, R23, R24, R25 still have 0.1 Ohm not 1 Ohm and R43 should have 1M not 270k.

    I try to find a dealer with remainders of the BUK956R1-100E but I was not lucky. So I want to replace it by the STB80NF55L-06, but the datasheet confuses me a little bit. There is only a specification of the min Vgs(th) of 1V and the absolute max rating of 16V. Do you have any recommendations for the right dimensioning of the resistors R35-R38 (2k2) and R10,R12,R26,R32 (270k) for me ?

  52. Hi, Louis!
    Could to tell please power consumption of the device? I see it’s 15-18VDC, but what amperage?
    I’ve got a transformer with two 18VAC @ 0.2A winding and wonder if it’ll be capable to supply enough juice.
    Thank you for your time and effort! This load is a true diy BK Precision 8500 killer xD
    Regards, Phil.

  53. Hello Louis!

    At first thank you for your enthusiasm in electronics especially for this DC load project! I ordered some pcb’s of the version 9.2 and equipped the peripherals with a 4×4 keypad and a standart rotary encoder knob and a 4×20 LCD. After uploading the software version V35B onto the µC I noticed some issues:

    1. Changing the set value (I, P, Ohms) on the LCD via the rotary knob is not doable -> no reactions when I turn the Encoder knob. Have you an idea why?
    2. Where is the enter key on a 4 x 4 Keypad? Is it the letter ‘D’?
    3. After starting up thr programs comes in stuck due to the ‘TempCutOff’ loop. Thus the LCD is changing between ‘CC’ and ‘Overtemperature’ status. How can I prevent that?

    Best regards in advance


  54. Hello
    What a great construction.
    Thinking i will make one for my self.
    But it seems that the BUK956R1-100e is obsolete and i cant seem to find anyone who still has it in stock.
    Can you help me with an replacement type ?

    Best regards

    1. Hi,

      in the release 9.3 zip file there is a guide for alternative MOSFETs:

      Note 1:POWER MOSFET ALTERNATIVES TO BUK956R1-100E (Q2, Q3, Q4 and Q5)
      PHP79NQ08LT Nexperia
      STP80NF55L-06 STMicroelectronics
      RFP12N10L Fairchild

      (In order of preference)

      greetings from germany

  55. Hi Louis
    Thank you for sharing your great projects! Love it and thanks for the PC Board

    I have the same problem with the availability of the BUK956R1-100e. Can you provide an alternative MOSFET number. I buy all the components from Element14 Australia.

    Thanks Again

    1. Hi,

      in the release 9.3 zip file there is a guide for alternative MOSFETs:

      Note 1:POWER MOSFET ALTERNATIVES TO BUK956R1-100E (Q2, Q3, Q4 and Q5)
      PHP79NQ08LT Nexperia
      STP80NF55L-06 STMicroelectronics
      RFP12N10L Fairchild

      (In order of preference)

      greetings from germany

  56. Great!
    PS. If I need no more than 1A load, shall I replace 0.1ohm with 0.5 ohm (for more precise measurement). All voltages will be recalculated.

    1. Hi Dick,
      Sorry for the long delay in answering.
      If you change the 0.1 ohm to a 0.5 ohm then you would also need to make some changes to the Adrunio code to take account of this change as your current sense voltage would now be 5 times greater than before.
      Maybe a better option is to use a 0.4 ohm sense resistor (you may have to make this using 4 of 0.1 ohm 1 watt resistors – they would not need to be on a heatsink) as this will make it easier to alter the software. This will give you a sense voltage now 4 times higher.
      Now look at the Arduino code and find the following lines of code under the —-Read Voltage and Current—- section of the code:

      // Initiate a conversion; convertAndRead() will wait until it can be read
      adc.convertAndRead(MCP342x::channel2, MCP342x::oneShot,
      MCP342x::resolution16, MCP342x::gain4, //”gain4″ means we have select the input amp of the ADC to x4
      1000000, current, status);
      You will see the gain of the ADC used to monitor the sense current voltage is set for a gain of 4. You can set this to a gain of one and it should work. Change the gain4 to read gain1 in the following line of code as follows:
      MCP342x::resolution16, MCP342x::gain1, //”gain1″ means we have select the input amp of the ADC to x1
      Hope this helps.
      Best regards,

  57. Louis,

    Thanks for a great project.

    Please can you put on line the art work for the v9.3 5×4 keypad front panel (to be stuck onto project box.

    Thank you.

    Peter Fielden-Weston

    1. Hi Peter,
      Sorry for the long delay. Below is a link to a direct download the 5×4 keypad stick on overlay.
      It was also available for download as a download in my Part 8 video where I gave a download link called DC_Load_9_2_files_zip which included lots of documents and artwork for this project including the 5×4 keypad stick on artwork.
      Direct link to that is:
      Best regards,

  58. Hi Louis,

    I’m interested in getting one of the latest PCB’s for the DC load in the version 9.3.
    Would you still have one for me ?

    Best regards,

  59. Hello
    The void BatteryCapacity (void) function is declared twice in your program.
    No compilation error
    Is this a mistake you a trick I do not know.
    Thank you for informing me.
    Very nice job
    Gerard Daprey

  60. Hello Louis
    I realized your project works perfectly.
    First, I specify that I used your version 9.2 double-sided PCB.
    The editing worked the first time with an Arduino Nano.
    I then replaced the Arduino module with the Mega 250 version which I had already mentioned the existence.

    the link : 9042311.0.0.27426c37OmZKMn

    This very compact model (38x55mm) has been set up with a home adapter in a vertical position, in the original Nano bracket.
    No change for the original PCB.
    Only a few port values ​​have to change in the code.
    You change from 32 to 256 KB of Flash memory and the EEPROM from 1 to 4 KB

    So you can upgrade the code without memory limitation and keeping the work done by Louis Scully.
    This small adapter can be used for other Nano-based projects.
    For those who are interested, I can send the diagram and photos of the adapter by email.
    gdaprey at

    Thank you again Louis for this project

Leave a Reply

Your email address will not be published. Required fields are marked *