Community development of new 20A MPPT

The BOM of the new MPPT 2420 HPX is totally different from the previous MPPT 2420 LC.

I decided some time ago to not store the BOM in the repository anymore, as I sometimes forgot to update it when I updated the board, so it got inconsistent. This page describes how to export the BOM. I’m working on a way to generate the BOM automatically after each push to the server using the Interactive HTML BOM tool. However, I didn’t find a way to run the script via continuous deployment yet, as it needs to be called from within KiCad.

im also about to order now the PCB and the components to have a try, would you recommend that i try the new MPPT 2420 HPX one? Where do i find the KiCad document?

Greetings, thanks for your work!

The KiCad files are on github.

I would recommend to go ahead with the new board, but maybe wait another week until I got some first tests finished. As the new MCU is not supported by mbed, I’m currently porting the firmware to Zephyr RTOS (keeping mbed in parallel for existing charge controllers for now). That’s taking quite a lot of time. But without working firmware it’s not possible to test the hardware :wink:

I read for the MPPT-2420-HPX that the in/out of the PWM can be used as dump load, if no solar panels are connected to the system. Source:

As I can understand on another source, is an dump load required when using a wind turbine. When having solar panels next to a wind turbine, would you then place the dump load outside of the control of the MCU ? - Maybe where you rectify the power of the wind turbine?.. Doesn’t the MCU need the on/off control of that dump load somehow to manage the charge? - Is that the point where the CAN or another port has to be used?..

The other source regards required dump load:

Yes, dump loads are required for wind turbines to slow them down (by using the generated power) if the battery is full or cannot handle all the generated power.

The dump load control may be also outside the charge controller and switch on as soon as the wind generator voltage reaches a certain threshold. Or some wind turbines may not need a dump load because they break the turbine mechanically if they get too fast. In this case you can use the PWM port for a solar panel.
If you want to use the dump load in a more smart way and e.g. heat water instead of wasting the surplus energy, you do need some sort of control. This could be done via CAN (if an external dump load switch is smart enough) or if you use the charge controller as a pure wind turbine controller, it can be done directly in the charge controller with the dump load connected to the PWM switch port.

Regards dump load; Would it be a big mess in the existing PCB circuit to integrate a separate line out for dump loads?

My thinking is the following:

  • It would make the charge controller more complete as a charge controller, instead of having to build external “unique” solutions. “Dangling” around in different colors, making it less “pretty” and “finished” as a product.
  • You always come to the point where the battery is full, and you want to use the surplus of energy for something useful, instead of not using it. Why leave that functionality out of a charge controller? Why not embrace the possibility of making the product a more complete product?

ALTERNATIVELY to this separate surplus or dump line, would it be nice to be able to know what surplus exist at any given moment. Is that possible? I mean, it surely is, but how prepared is the hardware for that? - I ask as I clearly can see a benefit in this. With that knowledge, would you be able to send commands to single devices like washing machines, pumps, elevators or whatever to start and stop. - Of course, only if this does not force further charge on the battery. I mean, that energy has to bypass the charging of the battery if the battery is already full, or not? How prepared is the hardware for such a case, as an alternative to a separate surplus/dump line?

I see a bigger advantage in the “alternative”, as to the separate surplus/dump load line.

I guess there is no “catalogue” of use cases, alias functionality? - Is there something like a manual in PDF?

So I’ve been thinking about this a bit more in the last few days. It is probably better to split the charge controller in smaller units that communicate with each other instead of adding an additional port to the already quite complex charge controller design. Have to think about it a bit more, but it might be possible to have just two types of modules (DC/DC and switch) that can be mounted on DIN rails and talk to each other. In this way, you can build a charging system with as many loads, dump loads and solar/wind/hydro inputs as you like. But at the same time people who want a very simple system don’t have to build the complex full-featured charge controller PCB.

Regarding surplus energy: It’s not very easy to estimate how much is available and for how long. But if you switch on loads when the battery is full while still having more solar power available available, the charge controller will automatically try to get as much power as possible from the solar panel and not use the battery.

There is currently no manual of the new charge controller design. For the MPPT 1210 HUS there is one (see link in github repository).

Paragraph “So I’ve been thinking about…” - Yes. Sound very good in my ears. I am open to discuss how to do that. Tell me when you have a page/document to continue on that idea.

Paragraph “Regarding surplus energy…” - Thank you for that information. I think there could be some ways in estimating that. It could be done by information via internet, vague - or by different hardware. I will not go into details now. It may not be so important as other things, for now.

Paragraph “There is currently no manual…” - Can we make a place for it?.. Or is that too early?.. We could make the requirements, or functionality that we plan to introduce, a preliminary manual. So if we had a place describing those requirements/the functionality, that could be the start of the manual. - How about creating such a page?..

i might have overseen it in the thread but are there any test results already on the new board? would love to order one myself. if you anyone has ordered a second BOM, board - let me know

Nope, there are no published test results yet, as I’m still struggling with the firmware. Porting to the new MCU (including change to Zephyr OS) took more time than intended. The two ADCs are still not working well with DMA, so I couldn’t test the DC/DC power stage yet. Hope to get there till end of the week.

Other things like I2C communication with a display work fine. But that’s not most important, I guess :wink:

1 Like

I’ve just seen that the new design is alpha-stage now. I like the highside switch and highside shunt. No flawn found so far. Same as at the MPPT 2420 charger before, i can offer emi analysis for the new design if wanted. Same as done at our c-turm, i can offer fieldtest for the new design. We plan to use the battery powered solar system in summer for ham radio activity again. So we can compare the emi behaviour directly between old MPPT 2420 and new design. Old design had emi-issues in 2m radio wavelength range.

Yeah the good news is that I just tested the high-side switch and the charge pump successfully. The charge pump is working well, so the LT spice simulation made before making the schematic did a good job.

I’d be happy to do some testing regarding EMI. It should be much better than the previous 20A charge controller, as I included some learnings from previous design and testing in the board layout. In the summer the design should be fully working and I should have some more boards available.

I will probably update the design a bit and include the RJ45 ports for CAN bus directly on the board again. And if I find some hardware bugs during ongoing testing, they will be fixed aswell, of course.

Hello Martin,

thank you very much for sharing your MPPT charger design.
I really appreciate that you would like to include the CAN Bus directly on the Board.
Have you already thought about which pinout you will use?
I mean like canopen or something?
Did you also think about the Transceiver that will be build into your design?

I’m planning to use this pinout, which is compatible with CANopen, but uses the reserved pins for improved bus power supply.

I’d probably use the TCAN334 transceiver, as it doesn’t need separate 5V supply and contains ESD protection already.

Needs to be Durable and modular? not compact, not the smallest components but larger rather.
MPPT BMS should be same size stackable taking into account heat sink mounting and display position?

1 Like

Hello Martin,

Do you think paralleling with more Mosfets for current sharing might be a good thing to reduce the heat dissipation. Has the heat dissipation on the Mosfets improved with the the new design of mppt-2420-hpx.

Multiple MOSFETs for current sharing create issues with the PCB layout as it’s impossible to place them all very close to each other to prevent large loops with high di/dt. The better solution would be to create a dual-phase converter with 180° phase shift, which also reduces the current ripple on the capacitors. However, you also need a second inductor.

With the MPPT-2420-HPX you can screw the MOSFETs to a large heat sink, so there should not be any issues at all depending on the heat sink size. I’m currently testing without heat sink in order to get better accessibility to the pins for snubber layout etc. When that’s finished, I will mount it to a heat sink and do further tests.


Hello Martin,

The Q8 Mosfet which works as PV reverse current protection needs to be turned on for measuring the High Side Voltage. So during night we are back powering the solar panels if they are connected at the HV side every time we measure the High side voltage.

Will this damage the solar panels. What do we do to mitigate this issue.

You don’t need to switch on Q8 for measuring the PV module voltage. If you keep it off, the measured voltage will have an offset of the body diode drop of Q8. But that’s not an issue as you only want to detect if the panel voltage is at least a few volts higher than the battery voltage.

Hello Martin,

Thank you very much for sharing your MPPT charger project!
I have a small set-up 290W solar panel and 8S- 40Ah LiFePO4 and this charger fits well.
So I’m planning to build one, make tests and contribute to project. I’m not afraid of pcb soldering so first step is to get a pcb for current design. Do you have any spare pcb left from previous run?
Meanwhile I’ve checked design wih JLCPCB and their offer is around 65$ for 5 PCB including shipping and taxes to my location (Sofia,BG) (or 10 PCB for 75$) Their 4 layer layout stack is based on 35um/17um/17um/35um cooper thickness. Do you think it is OK for current MPPT design?