Skip to the content
6 layers90.2 × 95.9 mmEPS mppt board, the printed circuit board in 3D

Maximum Power Point Tracking board meant for use in the QSET 3U CubeSat

Size
90.2 × 95.9 mm
Copper layers
6
Thickness
1.6 mm
Parts
287
Nets
317
Pads
1,274
Tracks, vias
2,997, 671
Pours
163
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
14 Mar 2026
Updated
30 Aug 2026

Overview

EPS mppt board is an open-source printed circuit board by JaronCyna, from the JaronCyna/sat_mppt_pcb repository on GitHub. It is a 6-layer board of 90.2 × 95.9 mm with 287 parts on 317 nets, routed with 2,997 tracks and 671 vias.

It is built around the TCAN337GD, MR20H40DF and LTC4417HUF#PBF, with the TPS3823A-33DBVR, M80-5400642 and SIR5607DP-T1-RE3 among its other parts. Its parts include 110 capacitors, 108 resistors, 19 ICs, 15 transistors and 13 diodes. It belongs with the STM32 boards of this library.

Main components

9

README

README.md

CubeSat 4-Channel Distributed MPPT & Electrical Power System (EPS)

A flight-ready 4-channel distributed Maximum Power Point Tracking (MPPT) battery charging and power distribution board designed in KiCad for CubeSat nanosatellite missions. Engineered for the Queen's Space Engineering Team (QSET) satellite branch.


Key Features

  • 4x Distributed Synchronous MPPT Buck Chargers (LTC4162):
    • 4 independent MPPT tracking channels (1 per CubeSat body face), eliminating partial shading and thermal mismatch losses across orbit.
    • Autonomous Constant-Current / Constant-Voltage (CC/CV) power-path management charging a 2S Li-ion battery bus (~8.4V nominal).
    • Phase-synchronized 1.5 MHz switching frequency via MCU clock distribution buffer to prevent harmonic beat frequencies and reduce EMI.
  • Microcontroller & Rad-Tolerant Storage Core:
    • STM32L496 ARM Cortex-M4: Ultra-low-power MCU handling housekeeping telemetry, fault recovery, and bus communications.
    • 4 MB Radiation-Hardened MRAM: Immune to Single-Event Upsets (SEU) and Total Ionizing Dose (TID), preserving black-box flight telemetry across power resets.
    • 4-Pin High-Vibration Crystal Oscillator: Superior mechanical stability against rocket launch vibrational loads compared to traditional 2-pin crystals.
    • Deterministic Hardware Watchdog (TPS3823A): Hardware supervisor with active-low reset and Schottky diode isolation protecting against SEU lockups in LEO.
  • Satellite Bus Communications & Auxiliary Power Path:
    • Dual Redundant CAN Bus Transceivers: Conforms to European CubeSat standard bus communication architecture.
    • I2C Bus Multiplexer (TI TCA9548A): 8-channel I2C switch addressing 4 identical LTC4162 chargers at fixed I2C addresses.
    • Dual Synchronous Buck Converter (LTC3633): Monolithic dual synchronous buck generating regulated +3.3V and +5.0V system rails (<15 mV ripple).
    • Autonomous Power-Path & Cold-Start (LTC4412): Ideal diode controller providing seamless fallback between battery and direct solar harvest for dead-battery bootstrapping.
  • Power Telemetry & Comprehensive eFuse Protection:
    • INA3221 Triple-Channel Current/Voltage Monitor: Digital I2C telemetry reporting bus voltages, currents, and power consumption.
    • TPS25947 Precision eFuses: Dedicated protection on output rails with programmable current limits (1.33 A clamp on +3.3V), slew rate inrush control (5 V/ms), transient blanking (0.44 ms), hardware UVLO/OVLO windowing (3.02 V – 3.63 V), and remote MCU/OBC shutdown.
  • Form Factor & Mechanical Integrity:
    • Standard PC/104 CubeSat stackable form factor.
    • Dedicated battery interface with 4-wire Kelvin sensing and NTC thermistor inputs.
    • 6-Layer stackup with solid ground reference planes, top-side RF/switching hot loops, and vibration-resistant soft-termination MLCC capacitors.

System Architecture & PCB Renders

Full Board 3D Model

Full Board 3D Model

Top & Bottom Layout Renders

Top Layer (Switching & Hot Loops)Bottom Layer (Routing & Ground Shield)
Top BoardBottom Board

Top-Level Hierarchical Schematic

Top-Level Schematic


Technical Specifications

ParameterSpecification / ValueEngineering Notes
Solar Input Channels4 independent MPPT channels1 channel per satellite face (up to ~18V $V_{\text{oc}}$ per string)
Battery Bus Configuration2S Li-ion (6.0V – 8.4V)Direct autonomous CC/CV charging
MPPT Switching Frequency1.5 MHz (Synchronized)Phase-locked via MCU PWM buffer to eliminate beat frequencies
+3.3V Regulated Bus3.3V @ 3A max (<15 mV ripple)Generated by LTC3633 monolithic buck; eFuse clamped at 1.33A
+5.0V Regulated Bus5.0V @ 3A max (<15 mV ripple)Generated by LTC3633 monolithic buck
Telemetry Storage4 MB SPI MRAMImmune to SEU and TID radiation effects in LEO
Bus InterfacesDual CAN Bus + I2CRedundant CubeSat standard bus communication
PCB Stackup6-Layer FR4 (1.6mm)Top: Switching, L2: GND, L3: Mix, L4: Mix, L5: GND, L6: Digital
Mechanical StandardPC/104 CubeSat StandardCustom battery interface with Kelvin sense + NTC

Power Telemetry & eFuse Configuration

Each regulated rail is protected by a TI TPS25947 eFuse and monitored by a TI INA3221 current/voltage telemetry IC:

  • Current Limit Threshold ($I_{\text{LIM}}$): $$I_{\text{LIM}} = \frac{13.33}{R_{\text{ILIM}}\ [\text{k}\Omega]} = \frac{13.33}{10\text{ k}\Omega} = 1.33\text{ A}$$
  • Output Slew Rate & Inrush Control ($\frac{dV}{dt}$): $$\frac{dV}{dt} = \frac{500}{C_{dV/dt}\ [\text{pF}]} = \frac{500}{100\text{ pF}} = 5\text{ V/ms}$$
  • Overcurrent Fault Blanking Timer ($t_{\text{ITIMER}}$): $$t_{\text{ITIMER}} = C_{\text{ITIMER}}\ [\text{nF}] \times 0.2 = 2.2\text{ nF} \times 0.2 = 0.44\text{ ms}$$
  • Voltage Window (UVLO / OVLO): $$\text{Operational Window: } 3.02\text{ V} \le V_{\text{IN}} \le 3.63\text{ V}$$

Hierarchical Schematic Structure

The hardware schematic is split into modular hierarchical sheets:

Schematic SheetDescriptionPrimary Components
EPS_mppt_board.kicad_schRoot top-level hierarchical sheetInterconnects and top-level bus routing
MPPT_IC.kicad_schQuad MPPT top-level sheet4x instances of MPPT_indv.kicad_sch
MPPT_indv.kicad_schSingle-channel MPPT buck chargerLTC4162, power inductors, input/output caps
3.3V.kicad_schDual synchronous buck converterLTC3633 (generates +3.3V and +5.0V rails)
MPPT_3.3V_logic.kicad_schPower-path and bootstrappingLTC4412 Ideal Diode Controller
Sensing.kicad_schPower telemetry and fault protectionINA3221 monitor, TPS25947 eFuses
STM32L4.kicad_schMicrocontroller, MRAM, and clockingSTM32L496, 4MB MRAM, 4-pin OSC, 1:6 PWM buffer
I2C.kicad_schI2C bus multiplexerTCA9548A 8-channel I2C switch
External Watchdog IC.kicad_schDeterministic hardware supervisorTPS3823A watchdog IC + Schottky pull-up
PC104.kicad_schSatellite bus interface & connectorsPC/104 bus header, battery Kelvin sense, solar inputs

Repository Structure

text
Sat_MPPT_PCB/
├── .gitignore                      # Standard KiCad ignore rules
├── README.md                       # Board documentation and specifications
│
├── docs/                           # Documentation & exports
│   ├── bom/
│   │   └── EPS_mppt_board.csv      # Complete Bill of Materials
│   ├── pdf/
│   │   └── EPS_mppt_board.pdf      # Complete schematic PDF
│   └── svg/                        # Exported vector schematics per sheet
│       ├── EPS_mppt_board.svg
│       ├── EPS_mppt_board-3.3V Logic.svg
│       ├── EPS_mppt_board-MPPT IC.svg
│       └── ...
│
├── scripts/                        # Simulation & analysis tools
│   └── mppt_efficiency_sim.py      # 4-MPPT vs 1-MPPT orbital comparison simulation
│
├── archive/                        # Early design prototypes and iterations
│   └── prototypes/
│
├── 3D_Models/                      # 3D STEP/STP component models
│
├── sym-lib-table                   # KiCad Symbol Library Table

Simulation & Verification

  • Switching & Transient Simulations: LTspice models verified buck converter stability, hot-loop parasitic response, and transient load step response (0.1A to 3.0A step with <15 mV voltage deviation).

  • SPICE: All IC's with available SPICE models were simullated in PSPICE or LTSPICE.


Project Background

Parts

287
QtyValueFootprintReferences
2410kResistor_SMD:R_0805_2012MetricR22, R23, R24, R25, R27, R28, R34, R39, R44, R54, R55, R56, R57, R58, R59, R104 +8
19100nCapacitor_SMD:C_0603_1608MetricC16, C24, C25, C27, C28, C29, C30, C31, C32, C34, C35, C37, C56, C108, C109, C110 +3
1647 uFCapacitor_Tantalum_SMD:CP_EIA-7343-43_Kemet-XC17, C18, C19, C20, C64, C65, C66, C75, C76, C77, C86, C87, C88, C97, C98, C99
13100kResistor_SMD:R_0603_1608MetricR11, R12, R13, R16, R19, R20, R21, R37, R38, R48, R53, R63, R64
11100nFCapacitor_SMD:C_0603_1608MetricC1, C2, C3, C4, C8, C9, C38, C42, C48, C49, C51
11Q_NMOSzLibrary:IFX-PG-TSDSON-8-44-VQ5, Q6, Q7, Q8, Q9, Q10, Q11, Q12, Q13, Q14, Q15
910 uFCapacitor_SMD:C_1206_3216MetricC21, C72, C74, C83, C85, C94, C96, C105, C107
8100nCapacitor_SMD:C_0402_1005MetricC67, C69, C78, C80, C89, C91, C100, C102
810mResistor_SMD:R_0612_1632MetricR77, R79, R85, R87, R93, R95, R101, R103
84.7kResistor_SMD:R_0603_1608MetricR74, R75, R82, R83, R90, R91, R98, R99
610Resistor_SMD:R_0805_2012MetricR41, R42, R49, R50, R51, R52
5100pFCapacitor_SMD:C_0603_1608MetricC12, C13, C40, C47, C53
510kResistor_SMD:R_0603_1608MetricR76, R84, R92, R100, R110
510uFCapacitor_SMD:C_1206_3216MetricC14, C15, C41, C50, C54
51uFCapacitor_SMD:C_0603_1608MetricC5, C33, C43, C44, C45
52.2nFCapacitor_SMD:C_0603_1608MetricC10, C11, C39, C46, C52
533Resistor_SMD:R_0402_1005MetricR105, R106, R107, R108, R109
5TPS259470ARPWRzLibrary:RPW0010A-MFGU2, U3, U10, U11, U13
41 uFCapacitor_SMD:C_0603_1608MetricC73, C84, C95, C106
4100nResistor_SMD:R_0402_1005MetricC71, C82, C93, C104
4182kResistor_SMD:R_0603_1608MetricR14, R17, R35, R46
42.5Resistor_SMD:R_1206_3216MetricR73, R81, R89, R97
420kResistor_SMD:R_0603_1608MetricR15, R18, R36, R47
422nFCapacitor_SMD:C_0402_1005MetricC68, C79, C90, C101
422uFCapacitor_SMD:C_1210_3225MetricC55, C58, C60, C63
44.7 uFCapacitor_SMD:C_0603_1608MetricC70, C81, C92, C103
44.7uHzLibrary:XAL6060472MECL3, L4, L5, L6
463.4kResistor_SMD:R_0603_1608MetricR78, R86, R94, R102
4D_SchottkyDiode_SMD:D_SOD-128D3, D4, D5, D6
4LTC4162IUFD-LADM_PBFPackage_DFN_QFN:QFN-28-1EP_4x5mm_P0.5mm_EP2.65x3.65mm_ThermalViasU15, U16, U17, U18
4M80-5400642zLibrary:HARWIN_M80-5400642J2, J3, J4, J5
4MountingHole_PadMountingHole:MountingHole_3.2mm_M3_PadH1, H2, H3, H4
4SIR5607DP-T1-RE3Package_SO:PowerPAK_SO-8_SingleQ1, Q2, Q3, Q4
4SMAJ22ADiode_SMD:D_SMAD10, D11, D12, D13
31MResistor_SMD:R_0603_1608MetricR1, R4, R7
3330Resistor_SMD:R_0603_1608MetricR29, R32, R33
34mResistor_SMD:R_0815_2038MetricR40, R43, R45
210pFCapacitor_SMD:C_0603_1608MetricC22, C26
2ESQ-126-39-G-DzLibrary:SAMTEC_ESQ-126-39-G-DJ6, J7
2TCAN337GPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU20, U21
10Resistor_SMD:R_0603_1608MetricR26
11 uHzLibrary:IND_PA4332_PUL-ML1
11.5 uHzLibrary:IND_SRP4020_BRN-ML2
110 uFCapacitor_SMD:C_0603_1608MetricC36
1100uFCapacitor_Tantalum_SMD:CP_EIA-7361-38_AVX-VC7
1140kResistor_SMD:R_0603_1608MetricR6
12.2 uFCapacitor_SMD:C_0402_1005MetricC62
12.21kResistor_SMD:R_0603_1608MetricR10
1215kResistor_SMD:R_0603_1608MetricR68
131.6kResistor_SMD:R_0603_1608MetricR62
1348kResistor_SMD:R_0603_1608MetricR61
14.7uFCapacitor_SMD:C_0603_1608MetricC23
1412kResistor_SMD:R_0603_1608MetricR9
145.3kResistor_SMD:R_0603_1608MetricR66
152.3kResistor_SMD:R_0603_1608MetricR3
157.6kResistor_SMD:R_0603_1608MetricR2
15kResistor_SMD:R_0603_1608MetricR65
16.8nFCapacitor_SMD:C_0603_1608MetricC6
160.4kResistor_SMD:R_0603_1608MetricR5
1600 ohms @ 100MHzInductor_SMD:L_0603_1608MetricFB1
173.2kResistor_SMD:R_0603_1608MetricR71
18 MHZ OscillatorCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
182.5kResistor_SMD:R_0603_1608MetricR8
1BAT54JDiode_SMD:D_SOD-323FD1
1Blue LEDLED_SMD:LED_0603_1608MetricD9
1Conn_01x04_PinConnector_JST:JST_EH_B4B-EH-A_1x04_P2.50mm_VerticalJ1
1D_SchottkyDiode_SMD:D_0603_1608MetricD2
1ESQ-106-39-G-DzLibrary:SAMTEC_ESQ-106-39-G-DJ8
1Green LEDLED_SMD:LED_0603_1608MetricD8
1INA3221Package_DFN_QFN:Texas_RGV0016A_VQFN-16-1EP_4x4mm_P0.65mm_EP2.1x2.1mmU12
1LMK1C1106PWRzLibrary:PW0014A-IPC_BU19
1LTC3633AIUFDPBFPackage_DFN_QFN:QFN-28-1EP_4x5mm_P0.5mm_EP2.65x3.65mm_ThermalViasU14
1LTC4417HUFPackage_DFN_QFN:QFN-24-1EP_4x4mm_P0.5mm_EP2.6x2.6mmU1
1MR20H40Package_DFN_QFN:DFN-8-1EP_6x5mm_P1.27mm_EP4x4mmU5
1Red LEDLED_SMD:LED_0603_1608MetricD7
1STM32L496RGTxPackage_QFP:LQFP-64_10x10mm_P0.5mmU6
1S_JumperJumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mmJP1
1SolderJumperJumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mm_NumberLabelsJP2
1TCA9548AMRGERPackage_DFN_QFN:Texas_RGE0024C_VQFN-24-1EP_4x4mm_P0.5mm_EP2.1x2.1mmU9
1TPS3823A-33DBVRPackage_TO_SOT_SMD:SOT-23-5_HandSolderingU4

Similar boards

  • 6 layers120 × 50 mmUsb switch, the printed circuit board in 3D

    Usb switch

    cubicap/usb4-thing

    An attemt at creating a USB4 multiplexer controlled by ESP32-S3.

    65 parts
  • 4 layers95.9 × 90.2 mmKENSAT EPS v1.2, the printed circuit board in 3D

    KENSAT EPS v1.2

    kenchangh/kensat

    KENSAT, Edge-AI Compute in Orbit - A 2U CubeSat that runs a large language model on-orbit. A power-gated NVIDIA Jetson Orin Nano executes neural-network inference in space, and the results are downlinked over a custom…

    218 parts119
  • 6 layers90.2 × 95.9 mmCubesat rp2040, the printed circuit board in 3D

    Cubesat rp2040

    macnetic/rp2040-cubesat

    A CubeSat Onboard Computer, using the RP2040 microcontroller.

    215 parts4
  • 4 layers90.2 × 95.9 mmHestia, the printed circuit board in 3D

    Hestia

    mawson-rovers/hestia

    Hestia is a space-ready heater & temperature measurement system developed by Mawson Rovers in Sydney. Its first mission will demonstrate a novel UTS heatsink design, aboard the Waratah Seed cubesat mission.

    184 parts3MIT
  • 4 layers96 × 90.2 mmTransceiver, the printed circuit board in 3D

    Transceiver

    ngrabbs/ember

    Open pvpanel.kicadpro with KiCad 10. The project contains the recovered schematic, routed PCB, project-local footprint libraries, and solar-module STEP model.

    161 parts1CC0-1.0
  • 4 layers90.2 × 95.9 mmHEDGE2-SCI, the printed circuit board in 3D

    HEDGE2-SCI

    yrromero04/HEDGE2-SCI_PCB

    87 parts
  • 6 layers90.2 × 95.9 mmSatnogs comms, the printed circuit board in 3D

    Satnogs comms

    PeakSat/COMMSBoard_PCB

    PeakSat's COMMS Board PCB files

    294 parts1
  • 4 layers90.2 × 95.9 mmPowerDistribution, the printed circuit board in 3D

    PowerDistribution

    UChicago-Space-Program/pulse-hardware

    This is the central repository for documents related to PULSE-A hardware development.

    188 parts1

Questions

How big is the EPS mppt board PCB?

It measures 90.2 × 95.9 mm and has 6 copper layers, 1.6 mm thick.

What parts does the EPS mppt board use?

287 parts, built around the TCAN337GD, MR20H40DF, LTC4417HUF#PBF and TPS3823A-33DBVR. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the EPS mppt board KiCad files?

From the JaronCyna/sat_mppt_pcb repository on GitHub, at the commit this page was made from: the board is EPS_mppt_board.kicad_pcb and its schematic 3.3V.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the EPS mppt board design in my own project?

Its repository states no licence, so its author keeps all rights: ask JaronCyna before reusing the design.