Introduction
An MPPT, or maximum power point tracker is an electronic DC to DC converter that optimizes the match between the solar array (PV panels), and the battery bank or utility grid. To put it simply, they convert a higher voltage DC output from solar panels (and a few wind generators) down to the lower voltage needed to charge batteries. Most PV panels are built to put out a nominal 12 volts. The catch is "nominal". In actual fact, almost all "12-volt" solar panels are designed to put out from 16 to 18 volts. The problem is that a nominal 12-volt battery is pretty close to an actual 12 volts - 10.5 to 12.7 volts, depending on state of charge. Under charge, most batteries want from around 13.2 to 14.4 volts to fully charge. So to cope with this problem, a charge controller is required. To work on this amazing project, Aneel Kumar & Muhammad Javed Worked in team and had a very vast learning experience under the supervision of respected Dr. Asim Samejo.
Design Requirements
Our design requirement was that it should be as much compact as we can make it. Also, we must have main board and microcontroller board adjusted on each other. For that we had to make a main BCB board of MPPT Solar charge controller and a PCB board of Arduino Leonardo to control the main circuit.
Sample Image of Required Design
While designing the circuit, a rough sketch was needed so that we can refer to a particular design and idea. After thinking a lot on this, we came up with a sketch that our project should look like this.

Seeing this design we had in mind that in the enclosure will contain the PCB boards inside it and it will look presentable.
Project Execution Plan
Since it was a semester project, so we had 4 months to complete our project. We dived this duration into month wise work progress as in following pattern.
# | Task Name | 1 | 2 | 3 | 4 |
---|---|---|---|---|---|
1 | Literature Review | ||||
2 | Preparation of Scheme / Model | ||||
3 | Implementation of Scheme / Model | ||||
4 | Final Design & Write-up |
Task Distribution
Keeping above work progress in mind, we divided the tasks in team so that we can work more effectively to reach our target. The division of this work is given below:
Task | Assigned Person |
---|---|
Literature Review | Javed |
Components & its Info | Javed |
schematic desiging & Routing | Aneel |
PCB Population | Aneel |
Software Implemention | Collective Task |
Testing And Troubleshooting | Collective Task |
Case Designing | Javed |
Documentation | Collective Task |
High Level Design
For understanding the high level designing of this project, let’s have a look on following diagram.

Voltage is coming from solar panel and is being fed to buck converter, voltage sensor and current sensor. Buck converter steps down the voltage. Leonardo board assigns the suitable voltage for charging of battery which is being fed by the buck converter. This information goes to the Leonardo board which then displays this info on LCD. We can connect load with this battery also.
Components Used:
-
1.44’’ 128x128 TFT LCD
This Color TFT LCD display has 128 x 128 resolution and 262 color, it uses SPI interface to communicate with controller such Arduino, it is the best upgrading of the Nokia5110
-
MOSFETs
MOSFETs are tri-terminal, voltage-controlled, high input impedance devices which form an integral part of vast variety of electronic circuits. It is also used for switching as well as signal amplifications.
- Voltage Sensors
- Current Sensor
- Buck Converter
- Arduino Leonardo
- Inductor
- Capacitors
- Resistors
- Voltage Regulators
PCB Schematics:
Now for designing PCB, we used Eagle software. The boards of micro-controller and of main circuit had to be designed separately. Those designs are given below:
- Arduino Leonardo Board
- MPPT Solar Charger Circuit


Troubleshooting we faced during Routing:
Having schematic of controller board and main Board separately, when we started to route our boards, the first issue we faced was that how should we route two boards in a way that we can connect them easily, so what we do was that we used two connectors to connect controller board with main board in a way that main board is placed on controller board. The next thing that troubled us was how route these two boards, so after routing and derouting the board around 4 to 5 times, we got a direction and started to route controller board by taking reference to Atmega238P and connectors in main board. When we have routed many of components, one more issue we faced was the components that were left could have a possible path to route them, so there we used resistors of 0 ohms to provide path to those components.
PCB Layout:
After routing, we got our final PCB layouts. Those layouts are shown below:


Milling Process:
After the finishing of these boards, SRM files were generated to get our PCB boards milled by SRM-20 machine available in our fablab

Above shown picture was captured while milling was in process.
Fabricated PCB:
After the milling process, we finally got our PCB boards in our hands.

PCB Board of Arduino Leonardo

PCB Board of MPPT Solar Charge Controller
Bill of Material:
After this process, we were given components to populate the PCBs.

Populated PCB:
After the successful mlling of PCBs, now the next task was to populate them with components. That was don through soldering. The soldered PCBs are shown below:

Populated PCB of MPPT

Populated PCB of Arduino Leonardo
Procedure adopted to burn Bootloader:
We were using bootloader connector which was connected to PC through USB port, Then we opened the Arduino program and write the bootloader program there, which was then uploaded to the controller board.

Testing of LCD:
Now that we built our micro-controller and successfully bootloaded it, so that was he time for testing. We started with testing of LCD with a simple Hello World display program.
The results if that test is shown below;

Build-up Circuit:
After the successful testing of LCD ,now was the time to build our circuit in a proper manner and then test it.

Above picture shows the testing ofour main circuit with Arduino Leonardo. For running of Leonardo board, 5volts were needed. We gave 12volts and used LM7805 voltage regulator which converts 5volts from 12volts. Another voltage regulator was used to convert 5volt into 3v3 volts which was used by LCD. Another 12 volts were applied to circuit which was is requirement to run. For solar panel reference voltage, we used a variable power supply and gave 17 volts to the circuit. So, that’s how we implemented our main circuit
Coding:
Code was designed according to our circuit requirement which is attached iin the zip file.
Results:
Attachment of video.
Cost of the Project
# | Components | Cost |
---|---|---|
1 | Atmega328u4 | 700 |
2 | Crystal Oscillator | 10 |
3 | Capacitors | 5xQuantity |
4 | Resistors | 10/12 |
5 | Diodes | 6 |
6 | BJTs | 5 |
7 | MOSEFTs | 40 |
8 | LEDs | 5 |
9 | LCD | 1000 |
So, our project will cost around 2000/-
Commercialization Aspects:
The MPPT Charge Controller can also be used as a BUSINESS MODEL as people in many far flung areas are still deprived of the basic need of electricity, so if this charge controller is used in these areas, it will help the people to at least use a bulb at night or also they can used it for charging purposes of phones etc. Also, It can also be sale to the companies who use batteries as there backup for electricity as this charge controller will help them to increase the life of batteries. Also it is a cheap product that everyone can find it affordable as compared to other means of controlling battery systems.
Conclusion:
That was all from us. A little effort to apply the knowledge we gained through this subject. In the end we want to express our gratitude to sir Asim Samejo for guiding us through all manners. From providing helping material to providing components to always having a visionary thought and for being always available for help. We also want to thank Mr. Aizaz Ali Larik and Mr. Nadir Ali for always being there for us. They helped us in every manner they could. Without the helping hands of these gentlemen, this project would have much more difficult and much more challenging for us.
Appendix:
Zip File:
Complete Circuit of MMPT
Report Submitted on Time .......................
Matlab Profeciency .......................