I’ve put a higher resolution image of the hand-drawn schematic up now. In the comments below, Tima noticed a resistor in the video connected between Gate and Source of the MOSFET. This is a 10M ohm resistor which I added to protect the gate against stray voltage while I was assembling the breadboard – it’s not critical, can be included or left out.

The code listing (below) requires PWM.h - this comes from the library “PWM Frequency Library” which you’ll have to install.
Have a look at my video: Arduino PWM Tutorial #2 – How to Set PWM Frequency Accurately http://youtu.be/9JXGIeM3BSI

38 Comments on Arduino MPPT Schematic (Hi Res Image)

  1. Kurt says:

    Hi Julian,

    Could you please put up a little higher resolution picture.
    Where did you purchase your voltage sensor modules from?
    Are you running everything at 3.3 volts or 5 volts?
    Just asking because the Nokia display should run at 3.3 not 5 volts!

    Thanks and Great job on your project!

    • Julian says:

      Hi Kurt – yes, I’ll sort out the image, it should be higher resolution than this. Search for “Arduino voltage divider” on eBay. Yes, it’s all running at 5v including the display, which seems to work fine.

  2. Andy Crofts says:

    Thanks for this! Bit difficult to read, I’ll wait for a bit higher resolution. That, and Microchip’s App. Note makes my life a bit easier.
    -Andy (Finland’s bears are waking up now, best get a wiggle on to get PiLab up and running in the forest…)

  3. Kurt says:

    Thanks for the response and the wonderful Youtube videos!

    I’m going to give it a go but I’m going to try it with an IGBT transistor and a TLP250 Mosfet/IGBT driver!


  4. Tima says:

    On the YouTube video, the transistor between S and G stands resistor. In the diagram it is not present. Resistor is not needed?

    • Julian says:

      Yes, you’re right – I missed that. It’s 10Mohms (ten megohms) so it doesn’t do much. It just protects the MOSFET from switching on due to stray charge on the gate. You can include it or not bother – it doesn’t really matter.

  5. Tima says:

    Instead IRF3205 can be set IRF4905 or IRF9540?
    What diameter wire wound on a torus?
    How many turns wound?

  6. Tima says:

    The controller can use the system at 24 volts or 6 volts?
    Do I need to change this script?

    • Julian says:

      The Arduino requires a supply of between 7 and 20v – so there would be a problem with both 6v and 24v batteries.

      • Tima says:

        If you connect the 5 volts to the Arduino, not connected to the system controller can control 24 volts?

        • Julian says:

          There are other problems – the battery voltage sensor measures up to 25v, but a 24v battery may be as high as 29v. I’m sure there are other things to think about.

  7. Hi! I am working on a project where in I need to fetch the maximum power output from the solar panels for the given condition. And for that matter I need to use the MPPT algorithm. Can you please tell me that if I am going to use the same without the battery will work or not?

  8. Anthony says:

    Sadly I have only just discovered this very interesting project, have you stopped working on this ?
    I really like the idea of maximising the power from my solar panels while charging the batteries, but sadly my programming skills are stopping me from completing your idea, I have one idea to keep the battery from over charging. I was thinking of using a Zener diode plus resistor to turn on an additional fet to feed excess power into a dump load or similar.

  9. hector segura says:

    Here from the lands of Incas.
    First of all, Thank you very very much for honestly sharing knowledge (one of the things missing here).
    Here, a lot of sun (King INTI). I am following you Youtube videos and waiting for your ‘Arduino “PWM5″‘. Well, for me it is very hard to obtain MOSFETs,”DCOI”, inductors, et-caetera. So the question is as you are stopping PWM5 production, will you make kits, docs, etc. for the new version? so people like me can use this thing?
    I apologize for the valuable time it took you to read this.
    And again Thank you

  10. abhishek says:

    Hi. Julian Sir,

    Sir I was designing the MPPT and got lot of help from your videos and website.

    Sir can I use buck-boost converter with the same coding, so that we can charge battery when panel voltage becomes low due to shading.

    • Julian says:

      I considered that, but I think the boost function would be used for so little time – it’s not worthwhile. So I’m just using a bucj converter.

  11. Arsalan Rahi says:

    Hi Julian Saw your all video series about arduino based MPPT solar charge controller Thanks for that.
    I have a question what if we want to increase the current rating of MPPT means if we increase battery bank with PV array for much MEGAWATTS. ?

  12. Medo says:

    Thanks for sharing your great work. Can you please tell me about what is the inductance L1 value?

  13. James says:

    Hi, thanks for the great vids and this diagram. I am not a hardware person first off, please can you explain how to come to the C1 and C2 values?

  14. M.JEANNE says:


    what is the potentiometer (on A0) for ?
    (sorry if bad english, I’m french)

  15. Akila says:

    Hey Julian !
    I cannot find the diode of 805Q045. Sellers say the never heard about this type of part #.could you make some guide for me ?


  16. Akila says:

    Thank Julian for your fast response, my problem solved :)

  17. Akila says:

    Another one what is the max Ampire of Pv pannel can input this circuit ?

  18. Akila says:

    how about 10SQ045 ?

Leave a Reply