MPPT-Charger 20A
AJEngineering·MPPT-Charger_20A
About the MPPT-Charger 20A PCB
MPPT-Charger 20A is an open source STM32 PCB design by AJEngineering, published on GitHub under the CC-BY-SA-4.0 license. It is a board measuring 114.5 × 60.5 mm, with 141 components from 62 distinct parts.
Its main chip is the STM32F072CB, from the STM32 family. Other key parts include the LM5107, AZ1117, MP2459, AP2210-3.3 and 24AA01. By type, the board carries 50 resistors, 40 capacitors, 9 diodes, 8 ICs, 7 transistors and 7 connectors.
It belongs with the power & battery designs in this gallery.
From the project
Hackable and open source MPPT solar charge controller
This is the new version of the charge controller, now based on 32 bit ARM MCU instead of ATmega AVR, in order to be able to implement CANopen stack.
Moved from Eagle to KiCAD because of the new license model introduced by Autodesk. Caution: Developed using nightly build of KiCAD (better STEP export).

Main components on the MPPT-Charger 20A
MPPT-Charger 20A bill of materials (BOM)
141 components, 62 distinct parts — part numbers from the project's BOM.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | LM5107 Texas Instruments | SOIC-8_3.9x4.9mm_Pitch1.27mm | U1 |
| 1 | STM32F072CB STMicroelectronics | LQFP-48_7x7mm_P0.5mm | U2 |
| 1 | AZ1117 Diodes Inc. | SOT-223-3_TabPin2 | U3 |
| 1 | MP2459 Monolithic Power | SOT-23-6 | U4 |
| 1 | AP2210-3.3 Diodes Inc. | SOT-23-5 | U5 |
| 1 | 24AA01 Microchip | SOT-23-5 | U6 |
| 1 | LM258 Texas Instruments | SOIC-8_3.9x4.9mm_Pitch1.27mm | U7 |
| 1 | TJA1042T/3 NXP | SOIC-8_3.9x4.9mm_Pitch1.27mm | U8 |
| 4 | CSD18540Q5B Texas Instruments | 5X6_MOSFET | Q1, Q2, Q3, Q4 |
| 3 | BSS84 Fairchild | SOT-23 | Q5, Q6, Q7 |
| 1 | 8MHZ 8MHz Murata | Resonator_Murata_CSTCE_G | Y1 |
| 1 | SOLAR Phoenix Contact | Phoenix_Contact_MKDS_5-2-952 | J1 |
| 1 | LOAD Phoenix Contact | Phoenix_Contact_MKDS_5-2-952 | J2 |
| 1 | BAT Phoenix Contact | Phoenix_Contact_MKDS_5-2-952 | J3 |
| 1 | UEXT | Box_Header_2x05x2.54mm_Straight | J4 |
| 1 | CONN_01X03 Phoenix Contact | Phoenix_Contact_MC_1,5_3-G-3,81 | J5 |
| 1 | CONN_01X02 | PinHeader_1x02_P2.54mm_Vertical | P1 |
| 1 | USB Micro B FCI | USB_Micro-B_10103594-0001LF | P3 |
| 1 | 25A Keystone | KEYSTONE-FUSE-3557-2 | F1 |
| 2 | 200MA 200mA Bel | R_1206_3216 | F2, F3 |
Show 42 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 2 | RJ45_NS Amphenol FCI | RJ45_8P8C | JP1, JP2 |
| 1 | Jumper_NC_Small | PinHeader_1x02_P2.54mm_Horizontal | JP3 |
| 1 | 10K 10k TDK | R_0603_1608 | RT1 |
| 1 | SW_PUSH C&K Components | SW_SPST_EVQP7A | SW1 |
| 1 | ST_Nucleo_SWD | PinHeader_1x06_P2.54mm_Vertical | SWD1 |
| 4 | MMBT3904 Diodes Inc. | SOT-23 | T1, T2, T3, T4 |
| 1 | LED_red Lite-On | LED_0603_1608Metric | LED1 |
| 1 | LED_green Lite-On | LED_0603_1608Metric | LED2 |
| 3 | 1N4148 Diodes Inc. | D_SOD-123 | D1, D9, D10 |
| 1 | SS16FP Diodes Inc. | D_PowerDI-123 | D2 |
| 1 | USBLC6-2SC6Y STMicroelectronics | SOT-23-6 | D3 |
| 1 | NUP2105L ON Semiconductor | SOT-23 | D4 |
| 1 | SMBJ36A Bourns | D_SMB | D5 |
| 1 | LM4040CYM3-2.5 Microchip | SOT-23 | D6 |
| 1 | MM3Z12VT1G ON Semiconductor | D_SOD-323 | D8 |
| 1 | 22UH 22uH Feryster | L-FERYSTER-DTMSS-27 | L1 |
| 1 | 4.7UH 4.7uH Murata | L_0805_2012Metric | L2 |
| 1 | 47UH 47uH Tayo Yuden | Bourns_SRN6045TA | L3 |
| 1 | 600R Murata | L_0603_1608Metric | L4 |
| 2 | 1000U 1000u United Chemi-Con | CP_Radial_D16.0mm_P7.50mm | C1, C2 |
| 3 | 4.7U 4.7u Murata | C_1210_3225 | C3, C4, C15 |
| 1 | 820U 820u Panasonic | CP_Radial_D10.0mm_P5.00mm | C5 |
| 1 | 1n Murata | C_0603_1608 | C6 |
| 4 | 1u Murata | C_0805_2012 | C7, C8, C14, C27 |
| 15 | 100N 100n Murata | C_0603_1608 | C9, C10, C16, C19, C22, C25, C26, C29 +7 |
| 5 | 10N 10n Murata | C_0603_1608 | C11, C13, C17, C18, C28 |
| 5 | 2.2U 2.2u Murata | C_0603_1608 | C12, C23, C33, C36, C38 |
| 3 | 10U 10u Murata | C_0805_2012 | C20, C21, C24 |
| 1 | 100P 100p Murata | C_0603_1608 | C35 |
| 3 | 3.3 Yageo | R_0805_2012 | R1, R3, R10 |
| 4 | 1M Yageo | R_0603_1608 | R2, R39, R40, R50 |
| 1 | 2.2 Yageo | R_1206_3216 | R4 |
| 6 | 100K 100k Yageo | R_0603_1608 | R5, R24, R25, R33, R46, R47 |
| 2 | 2m Bourns | R_Bourns_CRE2512 | R6, R17 |
| 14 | 2.2K 2.2k Yageo | R_0603_1608 | R7, R8, R11, R12, R13, R18, R19, R20 +6 |
| 4 | 56K 56k Yageo | R_0603_1608 | R9, R30, R45, R49 |
| 4 | 150K 150k Yageo | R_0603_1608 | R14, R15, R21, R22 |
| 7 | 10K 10k Yageo | R_0603_1608 | R16, R23, R27, R29, R37, R44, R48 |
| 1 | 5.6K 5.6k Yageo | R_0603_1608 | R26 |
| 1 | 110K 110k Yageo | R_0603_1608 | R28 |
| 1 | 120 Yageo | R_1206_3216 | R36 |
| 2 | 330 Yageo | R_0603_1608 | R42, R43 |
MPPT-Charger 20A design files
The KiCad project lives in the AJEngineering/MPPT-Charger_20A repository on GitHub; these links point at the commit this page was built from.
MPPT-Charger 20A: common questions
What microcontroller does the MPPT-Charger 20A use?
The MPPT-Charger 20A is built around the STM32F072CB, from the STM32 family.
How big is the MPPT-Charger 20A PCB?
The MPPT-Charger 20A measures 114.5 × 60.5 mm and is 1.6 mm thick.
How many components are on the MPPT-Charger 20A?
141 components, from 62 distinct parts, with part numbers taken from the project's own BOM. The full bill of materials is listed on this page.
Where can I download the MPPT-Charger 20A design files?
From the AJEngineering/MPPT-Charger_20A repository on GitHub, which has the KiCad layout and the BOM; the links under Design files point to each one.
Can I use the MPPT-Charger 20A design in my own project?
Yes, under the terms of its CC-BY-SA-4.0 license, which AJEngineering chose for the repository.
Can I test firmware for the MPPT-Charger 20A without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug STM32 firmware against it before you order a PCB.
Similar boards
STM32
LumenPnP Motherboard
opulo-inc
149 × 95 mm296 parts4LCC-BY-SA-4.03.7kSTM32
AxxSolder
AxxAxx
39 × 82.5 mm122 parts2LGPL-3.01.7kSTM32
AIOC
skuep
21 × 31.5 mm47 parts2LMIT1.4kSTM32
Ferris
pierrechevalier83
208.8 × 86.8 mm102 parts2LSHL-2.11.3kSTM32
176 pin board
rusefi
61.8 × 73.2 mm76 parts2LGPL-3.01.2kSTM32
Brain board STM32F407
rusefi
61.8 × 73.2 mm69 parts2LGPL-3.01.2k