Skip to the content
PCBKitNew board
2 layers96 × 90 mmTPP, the printed circuit board in 3D

Sistema de Gestión de Energía para Satélites Cubesat

Size
96 × 90 mm
Copper layers
2
Thickness
1.6 mm
Parts
212
Nets
301
Pads
789
Tracks, vias
289, 0
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
26 Sep 2024
Updated
7 Dec 2025

Overview

TPP is an open-source printed circuit board by juan-LARRAYA, from the juan-LARRAYA/TPP repository on GitHub. It is a 2-layer board of 96 × 90 mm with 212 parts on 301 nets, routed with 289 tracks and 0 vias.

It is built around the ATMEGA1284P-PU, MT3608 and LM2831YMF, with the LM358, MP5035GJ-P and CD74HC4067SM96 among its other parts. Its parts include 72 resistors, 47 capacitors, 35 diodes, 32 ICs and 16 inductors. It belongs with the STM32 and AVR (ATmega, ATtiny) boards of this library.

Main components

9

README

README.md

EPS CubeSat - Sistema de Gestión de Energía

Sistema de gestión de energía (EPS - Electric Power System) para CubeSat, diseñado para cumplir con las especificaciones requeridas en tensiones de salida, tasas de datos para comunicación con periféricos y vida útil extendida.

Autores

Director y Codirectores

  • Director: Enrique Jorge Castelli
  • Codirectores:
    • Fernando Filippetti
    • Monica Viviana Nitoli

Introducción

El EPS es uno de los subsistemas más críticos de un satélite, ya que de su correcto funcionamiento depende la operación continua de los demás módulos, tales como el sistema de comunicaciones, el control de actitud y el payload. Su rol principal es gestionar la energía captada por los paneles solares, regular y distribuir las tensiones necesarias, cargar las baterías y garantizar tanto la protección de las mismas como la seguridad de los circuitos asociados. Además, debe ser capaz de sensar parámetros eléctricos y térmicos para reportarlos al computador a bordo y así optimizar la eficiencia energética durante la misión.

Motivación

Este proyecto surge de la escasa oferta de módulos EPS en Sudamérica y de los elevados costos de los productos disponibles en el mercado internacional, que en muchos casos carecen de documentación abierta para su integración. Ante esta situación, se plantea la oportunidad de desarrollar un sistema propio que no solo satisfaga las necesidades técnicas del CubeSat propuesto, sino que también contribuya al crecimiento de la industria espacial argentina mediante la generación de conocimiento y tecnología local.

Objetivos

El proyecto entrega un prototipo operativo junto con:

  • Documentación técnica completa
  • Mediciones necesarias para su validación
  • Circuito esquemático para realizar copias del circuito industrialmente a escala en un PCB bajo la norma PC104

Características Técnicas

El sistema EPS desarrollado cuenta con las siguientes características:

Diseño Modular

  • PPC (Power Processing and Control): Optimizado con control digital directo
  • BMS (Battery Management System): Sistema de gestión de baterías a medida
  • PDU (Power Distribution Unit): Unidad de distribución de energía eficiente

Monitoreo y Sensado

  • Bus I²C con sensores INA219 para monitoreo preciso y escalable
  • Medición de tensión, corriente y temperatura en puntos críticos del sistema
  • Telemetría completa de parámetros eléctricos y térmicos

Gestión Inteligente de Baterías (BMS)

  • Protección integral contra sobre y baja tensión
  • Protección contra sobrecorriente
  • Monitoreo de temperatura
  • Estado de carga (SOC)
  • Capacidad de balanceo de celdas

Cargador de Baterías con MPPT

  • Extracción de máxima potencia de los paneles solares
  • Algoritmo MPPT para optimización de eficiencia de carga
  • Tres canales de entrada fotovoltaica independientes

Regulación y Distribución de Energía

  • Tres buses de alimentación regulados (3.3V, 5V)
  • Redundancia en las salidas de 3.3V y 5V
  • Limitadores de corriente en cada canal
  • Compatibilidad con norma PC104

Interfaz de Comunicación

  • Comunicación UART/USART con la computadora a bordo del CubeSat
  • Comandos y lectura de registros de estado de todos los módulos
  • Bus I²C para sensores y periféricos

Desarrollo del Proyecto

Prototipo Final

Prototipo EPS CubeSat - Vista Principal

Prototipo EPS CubeSat - Detalle del Sistema

Fallos Encontrados y Soluciones Implementadas

Durante el desarrollo del proyecto se enfrentaron desafíos significativos que requirieron cambios en la metodología y arquitectura del sistema:

1. Fallo Funcional del Primer Prototipo Monolítico

Problema: El diseño inicial, concebido como una solución "todo en uno" y fabricado profesionalmente, falló en las pruebas iniciales. Esto se debió a la complejidad inherente de un sistema monolítico, donde la interdependencia de los componentes dificulta la depuración y la identificación de la causa raíz de los fallos.

Primer prototipo monolítico - Fallo

Solución: Se adoptó una metodología de desarrollo modular e incremental. El sistema EPS se descompuso en sus bloques funcionales principales (PPC, BMS, PDU), y cada módulo se implementó y probó de forma aislada utilizando prototipos de bajo costo. Esta estrategia permitió una depuración más controlada y económica.

2. Ineficiencia en la Adquisición de Datos (Mapeo Directo por ADC)

Problema: El enfoque preliminar utilizaba divisores de tensión y amplificadores operacionales conectados directamente a las entradas ADC del microcontrolador. Esto resultaba en un alto consumo de pines, complejidad del circuito debido a la circuitería de acondicionamiento de señal para cada medición, y susceptibilidad al ruido en las largas pistas analógicas.

Sistema de adquisición con ADC directo

Solución: Se migró a una arquitectura de monitoreo digital y distribuida basada en el bus I²C, utilizando sensores de corriente y potencia INA219. Estos dispositivos integran un amplificador de precisión y un ADC de 12 bits, transmitiendo mediciones de forma digital. Esta solución redujo drásticamente el uso de pines del microcontrolador, simplificó la interconexión, aumentó la precisión y la robustez frente al ruido.

Estructura del Repositorio

text
TPP/
├── firmware/                      # Código fuente del firmware
│   ├── TPP STM/                  # Firmware principal para STM32
│   └── demos/                    # Demostraciones y pruebas
│       ├── DuinoSTM32/          # Ejemplos con Arduino IDE para STM32
│       ├── STM32CubeIDE/        # Proyectos de STM32CubeIDE
│       ├── filmwareSTM32/       # Firmware de prueba STM32
│       └── pruebasMppt/         # Pruebas del algoritmo MPPT
│           ├── arduino/         # Versión Arduino
│           ├── esp32/           # Versión ESP32
│           └── bluePIlPrueba/   # Versión Blue Pill (STM32F103)
│
├── hardware/                      # Diseños de hardware
│   ├── PowerSis-V0.0/           # Versión inicial del diseño
│   └── kikads/                   # Diseños en KiCad
│       ├── PowerSis-V4.4+modFinales/  # Versión 4.4 con modificaciones finales
│       ├── PowerSis-V5.0/            # Versión 5.0 (última versión)
│       └── superados/                # Versiones anteriores superadas
│
├── utilidades/                    # Herramientas y scripts de utilidad
│
├── Info util CubeSat ENERGIA/    # Información y documentación de referencia
│
└── TPP Informe.pdf               # Informe técnico del proyecto

¿Qué puedes hacer con este proyecto?

1. Explorar el Diseño de Hardware

Navega a la carpeta hardware/kikads/PowerSis-V5.0/ para encontrar:

  • Esquemáticos del circuito completo
  • Layout del PCB en formato PC104
  • Lista de materiales (BOM)
  • Archivos de fabricación (Gerbers)

2. Compilar y Cargar el Firmware

El firmware principal se encuentra en firmware/TPP STM/:

  • Compatible con STM32
  • Incluye implementación de BMS, MPPT y PDU
  • Comunicación I²C y UART
  • Drivers para sensores INA219

3. Probar Módulos Individuales

Utiliza los demos en firmware/demos/ para:

  • Probar el algoritmo MPPT de forma aislada
  • Verificar la comunicación con el BQ (BMS IC)
  • Testear PWM y control de conversores
  • Desarrollar sobre diferentes plataformas (Arduino, ESP32, STM32)

4. Replicar el Sistema

Con la documentación incluida puedes:

  • Fabricar tu propio PCB siguiendo el diseño PC104
  • Ensamblar el sistema con la lista de materiales
  • Cargar el firmware en un microcontrolador STM32
  • Integrar el EPS en tu propio CubeSat

5. Modificar y Adaptar

El proyecto es completamente abierto para:

  • Adaptar las tensiones de salida a tus necesidades
  • Modificar los algoritmos de control
  • Agregar nuevos sensores o funcionalidades
  • Optimizar para diferentes perfiles de misión

Documentación

  • Informe Técnico Completo: TPP Informe.pdf
  • Información de Referencia: Carpeta Info util CubeSat ENERGIA/
  • Esquemáticos: hardware/kikads/PowerSis-V5.0/

Requisitos

Para el Hardware

  • PCB fabricado según diseño PC104
  • Componentes según BOM incluida
  • Paneles solares compatibles
  • Baterías LiPo/Li-Ion

Para el Firmware

  • STM32 (recomendado STM32F103 o superior)
  • IDE: Arduino IDE con soporte STM32 o STM32CubeIDE
  • Programador ST-Link V2 o compatible
  • Sensores INA219 para telemetría

Primeros Pasos

  1. Revisar la documentación: Lee el informe técnico (TPP Informe.pdf)
  2. Explorar el hardware: Abre los esquemáticos en KiCad desde hardware/kikads/PowerSis-V5.0/
  3. Compilar un demo: Prueba el código MPPT desde firmware/demos/pruebasMppt/
  4. Cargar el firmware principal: Desde firmware/TPP STM/

Licencia

Este proyecto se desarrolla como Trabajo Práctico Profesional de la Facultad de Ingeniería - UBA, con el objetivo de contribuir al desarrollo de la tecnología espacial argentina.

Contacto

Para consultas sobre el proyecto, contactar a los autores a través de sus correos electrónicos listados arriba.


Universidad de Buenos Aires - Facultad de Ingeniería Trabajo Práctico Profesional - 2024

Parts

212
QtyValueFootprintReferences
291K5Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR1, R2, R3, R22, R26, R36, R38, R42, R44, R46, R48, R55, R56, R57, R58, R59 +13
2222uFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC10, C11, C12, C16, C17, C18, C32, C33, C34, C35, C36, C37, C38, C39, C40, C41 +6
21CRS08Diode_SMD:D_SMAD1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D25, D26, D27, D28, D29 +5
1210pFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC50, C51, C52, C53, C54, C55, C56, C57, C58, C59, C60, C61
12SMZxxxDiode_SMD:D_MELFD19, D20, D21, D22, D23, D24, D30, D31, D32, D33, D34, D35
910kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR18, R19, R20, R28, R30, R32, R33, R34, R35
9INA199xxDCKPackage_TO_SOT_SMD:SOT-363_SC-70-6U3, U4, U5, U18, U19, U20, U21, U22, U23
9RcsResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR10, R11, R12, R49, R50, R51, R52, R53, R54
856KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR4, R5, R6, R7, R8, R9, R21, R37
7100nFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC1, C2, C3, C4, C5, C15, C19
610uHInductor_SMD:L_Abracon_ASPI-0630LRL17, L18, L19, L20, L21, L22
6180kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR15, R16, R17, R27, R29, R31
6MP5035GJ-PPackage_TO_SOT_SMD:TSOT-23-6_HandSolderingU24, U25, U26, U27, U28, U29
6MT3608Package_TO_SOT_SMD:SOT-23-6U6, U8, U9, U10, U15, U17
522uHInductor_SMD:L_Abracon_ASPI-0630LRL2, L3, L4, L11, L12
4110KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR41, R43, R45, R47
422pFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC62, C63, C64, C65
44.7uHInductor_SMD:L_Abracon_ASPI-0630LRL13, L14, L15, L16
4Conn_01x04Connector_JST:JST_XH_S4B-XH-A-1_1x04_P2.50mm_HorizontalJ1, J2, J3, J4
4LM2831YMFPackage_TO_SOT_SMD:SOT-23-5U12, U13, U14, U16
20.47Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR23, R25
2100Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR13, R24
21N4148WDiode_SMD:D_SOD-123D7, D8
21uFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC13, C14
2Battery_CellBattery:BatteryHolder_MPD_BH-18650-PC2BT1, BT2
2Conn_02x26_Odd_EvenConnector_PinSocket_2.54mm:PinSocket_2x26_P2.54mm_VerticalH1, H2
2LM358Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU1, U2
10.1Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR14
11K1Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR40
1220KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR39
1220uHInductor_SMD:L_Abracon_ASPI-0630LRL1
1ATmega1284P-PPackage_QFP:TQFP-44_10x10mm_P0.8mmU34
1BQ76905Package_DFN_QFN:QFN-20-1EP_3x3mm_P0.4mm_EP1.65x1.65mm_ThermalViasU7
1CD74HC4067SMPackage_SO:SSOP-24_5.3x8.2mm_P0.65mmU33
1CrystalCrystal:Crystal_HC49-U_VerticalY1
1LM7805_TO220Package_TO_SOT_THT:TO-220-3_VerticalU11
1RU8205GPackage_SO:TSSOP-8_4.4x3mm_P0.65mmQ1
1STM32F103C8TxPackage_QFP:LQFP-48_7x7mm_P0.5mmU35

Questions

How big is the TPP PCB?

It measures 96 × 90 mm and has 2 copper layers, 1.6 mm thick.

What parts does the TPP use?

212 parts, built around the ATMEGA1284P-PU, MT3608, LM2831YMF and LM358. 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 TPP KiCad files?

From the juan-LARRAYA/TPP repository on GitHub, at the commit this page was made from: the board is hardware/power sistem/superados/PowerSis-V1.0/TPP.kicad_pcb and its schematic hardware/power sistem/superados/PowerSis-V0.0/TPP.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the TPP design in my own project?

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

More from juan-LARRAYA/TPP

3
  • 2 layers96 × 90 mmTPP, the printed circuit board in 3D

    TPP

    juan-LARRAYA/TPP

    Sistema de Gestión de Energía para Satélites Cubesat

    268 parts
  • 2 layers96 × 90 mmTPP, the printed circuit board in 3D

    TPP

    juan-LARRAYA/TPP

    Sistema de Gestión de Energía para Satélites Cubesat

    212 parts
  • 2 layers96 × 90 mmTPP, the printed circuit board in 3D

    TPP

    juan-LARRAYA/TPP

    Sistema de Gestión de Energía para Satélites Cubesat

    185 parts

Similar boards

  • 4 layers90 × 80 mmLaser Driver v3, the printed circuit board in 3D

    Laser Driver v3

    Laser4DIY/Laser-Driver-v2

    MCU-based multipurpose Laser Diode driver

    102 parts23
  • 2 layers195.6 × 113 mmHVA, the printed circuit board in 3D

    HVA

    blue-wind-25/JxMake

    JxMake is a Java-based, cross-platform build system primarily inspired by the syntax and features of GNU Make, Perforce Jam, and CMake.

    228 parts
  • 6 layers85 × 56 mmKarnix ASB, the printed circuit board in 3D

    Karnix ASB

    Fabmicro-LLC/Karnix_ASB-254

    Karnaugh Interactive Extendable ASIC Simulation Board AKA Karnix ASB-254

    368 parts19
  • 4 layers225 × 185.6 mmPCB schematics with overcurrent protection, the printed circuit board in 3D

    PCB schematics with overcurrent protection

    SA-04/Data-Recorder-GWRC-

    An open source and open hardware IoT-connected SDI-12-enabled remote data recorder capable of deployment for environmental monitoring by New Zealand Regional Councils.

    129 parts
  • 2 layersIR Schreib Lesekopf RS232 Neu, the printed circuit board in 3D

    IR Schreib Lesekopf RS232 Neu

    greenMikeEU/shrdzm

    SHRDZM (just a name, not an acronym) is an ESP8285/ESP8266 based sensor and actor integration platform.

    24 partsGPL-3.0
  • 4 layers285 × 94.6 mmSaturn60, the printed circuit board in 3D

    Saturn60

    Charading/Saturn60

    Nova Saturn60

    315 parts
  • 2 layers229.9 × 111.8 mmAvr colorvideo, the printed circuit board in 3D

    Avr colorvideo

    74hc595/Amethyst

    8-bit ATmega1284 retro computer

    148 parts306BSD-3-Clause