Mppt-2420-rc
LibreSolar·mppt-2420-rc·kicad/mppt-2420-rc.kicad_pcb
About the Mppt-2420-rc PCB
Mppt-2420-rc is an open source STM32 PCB design by LibreSolar, published on GitHub under the CC-BY-SA-4.0 license. It is a board measuring 67.7 × 86.4 mm, with 112 components from 58 distinct parts.
Its main chip is the STM32G431CBTX, from the STM32 family. Other key parts include the LM5107, TLV9001, LMR16006X, TCAN334 and 24AA32. By type, the board carries 35 capacitors, 32 resistors, 12 diodes, 7 connectors, 6 ICs and 4 transistors.
It belongs with the power & battery and sensors designs in this gallery.
From the project
Solar/Wind MPPT charge controller for DIN rail mounting
Bill of Materials: CSV file or interactive HTML BOM
This charge controller is mainly developed to test the following features:
- Very compact and modular housing design for DIN rail mounting - Thermal performance and maximum heat dissipation via internal heat sinks - Performance of the internal OpAmp of the STM32G431 MCU for current measurement - Dump-load control for small wind turbines using the existing PV reverse blocking MOSFET

Main components on the Mppt-2420-rc
Mppt-2420-rc bill of materials (BOM)
112 components, 58 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 | STM32G431CBTX STM32G431CBTx ST Microelectronics | LQFP-48_7x7mm_P0.5mm | U2 |
| 1 | TLV9001 Texas Instruments | SOT-23-5 | U3 |
| 1 | LMR16006X Texas Instruments | SOT-23-6 | U4 |
| 1 | TCAN334 Texas Instruments | SOIC-8_3.9x4.9mm_Pitch1.27mm | U5 |
| 1 | 24AA32 Microchip | SOT-23-5 | U6 |
| 3 | IPP045N10N3G Infineon | TO-220-3_Vertical | Q1, Q2, Q8 |
| 1 | DMP10H4D2S Diodes Inc. | SOT-23 | Q9 |
| 1 | 8MHZ 8MHz Murata | Resonator_Murata_CSTNE | Y1 |
| 1 | MKDS 5/ 3-9,5 Phoenix Contact | Phoenix_Contact_MKDS_5-3-9,5 | J1 |
| 1 | MKDS 5/ 2-9,5 Phoenix Contact | Phoenix_Contact_MKDS_5-2-9,5 | J2 |
| 2 | 8P8C Amphenol FCI | RJ45_8P8C | J3, J4 |
| 1 | Phoenix Contact MC 1,5 | Phoenix_Contact_MC_1,5_2-G-3,81 | J5 |
| 1 | CONN_01X02 Conn_01x02 | PinHeader_1x02_P2.54mm_Vertical | J6 |
| 1 | UEXT | Box_Header_2x05x2.54mm_Straight | J7 |
| 2 | 600MA 600mA | Fuse_1206_3216Metric | F2, F3 |
| 1 | Heatsink Fischer Elektronik | Fischer_Elektronik_SK573_37,5 | HS1 |
| 1 | Jumper_NC_Small | PinHeader_1x02_P2.54mm_Vertical | JP1 |
| 1 | 10K 10k TDK | R_0603_1608 | RT1 |
| 1 | 82V Bourns | RV_Disc_D12mm_W4.3mm_P7.5mm | RV2 |
Show 38 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | ST_Nucleo_SWD Any | PinHeader_1x05_P2.54mm_Vertical | SWD1 |
| 3 | MMBT3904 Diodes Inc. | SOT-23 | T2, T6, T10 |
| 1 | ATO blade fuse Keystone | Keystone-Fuse-3557-2 | XF1 |
| 1 | red Lite-On | LED_D3.0mm | LED1 |
| 1 | SS16FP Diodes Inc. | D_PowerDI-123 | D1 |
| 2 | NRVTS260ESFT1G ON Semiconductor | D_SOD-123 | D2, D3 |
| 3 | 12V ON Semiconductor | D_SOT-23_ANK | D5, D9, D11 |
| 3 | SS14FL ON Semiconductor | D_SOD-123 | D7, D14, D15 |
| 1 | 2.5V ON Semiconductor | D_SOD-123 | D8 |
| 2 | 1N4148 Diodes Inc. | D_SOD-123 | D10, D16 |
| 1 | 33µH Feryster | L-FERYSTER-DTMSS-27 | L1 |
| 1 | 4.7µH Murata | L_0805_2012Metric | L2 |
| 1 | 47µH Tayo Yuden | Bourns_SRN6045TA | L3 |
| 2 | 560µF United Chemi-Con | CP_Radial_D18.0mm_P7.50mm | C1, C2 |
| 3 | 1µF Murata | C_0805_2012 | C3, C18, C40 |
| 1 | 100NF 100nF Murata | C_0805_2012 | C4 |
| 1 | 820µF Panasonic | CP_Radial_D10.0mm_P5.00mm | C5 |
| 2 | 1NF 1nF | C_0603_1608 | C6, C15 |
| 12 | 100NF 100nF Murata | C_0603_1608 | C7, C9, C10, C11, C20, C22, C29, C30 +4 |
| 5 | 10NF 10nF Murata | C_0603_1608 | C8, C14, C16, C17, C34 |
| 5 | 2.2µF Murata | C_0603_1608 | C12, C33, C39, C41, C49 |
| 1 | 4.7µF Murata | C_1210_3225 | C19 |
| 2 | 10µF Murata | C_0805_2012 | C21, C23 |
| 1 | 0.22µF | C_Rect_L7.2mm_W3.5mm_P5.00mm_FKS2_FKP2_MKS2_MKP2 | C44 |
| 4 | 3R3 Yageo | R_0805_2012 | R1, R2, R3, R5 |
| 1 | 2R2 Yageo | R_1206_3216 | R4 |
| 1 | 2m Bourns | R_Bourns_CRE2512 | R6 |
| 8 | 10K 10k Yageo | R_0603_1608 | R7, R24, R39, R41, R45, R64, R65, R66 |
| 5 | 2.2K 2.2k Yageo | R_0603_1608 | R8, R10, R14, R20, R21 |
| 2 | 68K 68k Yageo | R_0603_1608 | R9, R11 |
| 1 | 0R Yageo | R_0603_1608 | R12 |
| 2 | 100K 100k Yageo | R_0603_1608 | R13, R17 |
| 2 | 1k Yageo | R_0603_1608 | R15, R42 |
| 1 | 5.6K 5.6k Yageo | R_0603_1608 | R18 |
| 1 | 120R | R_1206_3216 | R22 |
| 2 | 33K 33k Yageo | R_0603_1608 | R23, R60 |
| 1 | 100R Yageo | R_0603_1608 | R40 |
| 1 | 1M Yageo | R_0603_1608 | R56 |
Mppt-2420-rc design files
The KiCad project lives in the LibreSolar/mppt-2420-rc repository on GitHub; these links point at the commit this page was built from.
Mppt-2420-rc: common questions
What microcontroller does the Mppt-2420-rc use?
The Mppt-2420-rc is built around the STM32G431CBTX, from the STM32 family.
How big is the Mppt-2420-rc PCB?
The Mppt-2420-rc measures 67.7 × 86.4 mm and is 1.6 mm thick.
How many components are on the Mppt-2420-rc?
112 components, from 58 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-2420-rc design files?
From the LibreSolar/mppt-2420-rc 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-2420-rc design in my own project?
Yes, under the terms of its CC-BY-SA-4.0 license, which LibreSolar chose for the repository.
Can I test firmware for the Mppt-2420-rc 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
Module 16S
stuartpittaway
71.1 × 89.6 mm113 parts4LCC-BY-NC-4.01.1kSTM32
Djinn
tzarc
192.3 × 150.5 mm216 parts2LCERN-OHL-S-2.0988