Reference: ECSS-E-ST-20C (Space Engineering - Electrical and Electronic), CubeSat Design Specification Rev. 14
Profile scope: this file details the 3U CubeSat reference build. Per-class power envelopes (peak/average/battery/solar-capable) for every supported profile are in
flight-software/core/form_factors.py.
| Parameter | Value |
|---|---|
| Solar Constant (AM0) | 1361 W/m² |
| Panel Type | GaAs Triple Junction (Spectrolab UTJ) |
| BOL Cell Efficiency | 29.5% |
| EOL Cell Efficiency (2 yr) | 27.1% (8% degradation) |
| Panel Area (per face) | 60 cm² (0.006 m²) |
| Active Cell Area (per face) | 52.8 cm² (88% packing factor) |
| Number of Body-Mounted Panels | 6 (3 long faces + 2 end faces + 1 deployable) |
| Deployable Panel Area | 300 cm² (1 wing, single-sided) |
| Total Active Area | 616.8 cm² |
The power generated by a solar panel is:
P_gen = S * A_cell * eta_cell * cos(theta) * F_packaging * F_degradation
Where:
For a tumbling 3U CubeSat, the average projected area is approximately:
A_avg = (2 * A_long + 2 * A_short) / pi (for isotropic tumbling)
A_avg ~ 0.035 m² effective illuminated area
| Condition | Generation (W) |
|---|---|
| BOL, sunlit, best orientation | 8.2 |
| BOL, sunlit, average orientation | 5.6 |
| EOL, sunlit, average orientation | 5.1 |
| BOL, orbit average (incl. eclipse) | 3.6 |
| EOL, orbit average (incl. eclipse) | 3.3 |
Degradation factors over 2-year mission (per ECSS-E-ST-20C):
| Factor | Annual Loss | 2-Year Cumulative |
|---|---|---|
| Radiation (trapped proton/electron) | 2.5% | 5.0% |
| UV degradation (coverglass darkening) | 0.5% | 1.0% |
| Thermal cycling fatigue | 0.5% | 1.0% |
| Micrometeorite damage | 0.25% | 0.5% |
| Contamination (outgassing) | 0.25% | 0.5% |
| Total degradation | 4.0% | 8.0% |
+---> SAFE MODE (autonomous, minimal power)
|
LAUNCH ──> DETUMBLE ──> COMMISSIONING ──> NOMINAL ──> SCIENCE
| |
+--- COMM ---+
|
+---> ECLIPSE STANDBY
| Subsystem | Safe (W) | Eclipse Standby (W) | Nominal (W) | Comm Pass (W) | Science (W) | Peak (W) |
|---|---|---|---|---|---|---|
| OBC (STM32F4) | 0.50 | 0.50 | 0.50 | 0.50 | 0.50 | 0.80 |
| EPS Controller | 0.15 | 0.15 | 0.15 | 0.15 | 0.15 | 0.15 |
| COMM UHF RX | 0.20 | 0.20 | 0.20 | 0.20 | 0.20 | 0.20 |
| COMM UHF TX | OFF | OFF | OFF | 1.50 | OFF | 1.50 |
| COMM S-band TX | OFF | OFF | OFF | 2.50 | OFF | 2.50 |
| ADCS Sensors | 0.10 | 0.20 | 0.30 | 0.30 | 0.30 | 0.30 |
| ADCS Magnetorquers | 0.20 | OFF | 0.50 | 0.50 | 0.50 | 0.80 |
| ADCS Reaction Wheels | OFF | OFF | OFF | OFF | 0.40 | 0.40 |
| GNSS Receiver | OFF | OFF | 0.30 | 0.30 | 0.30 | 0.40 |
| Camera | OFF | OFF | OFF | OFF | 3.00 | 3.00 |
| Payload (Radiation) | OFF | OFF | 0.50 | OFF | 0.80 | 0.80 |
| Battery Heater | OFF | 2.00 | OFF | OFF | OFF | 2.00 |
| Harness Losses (5%) | 0.06 | 0.15 | 0.12 | 0.30 | 0.31 | 0.64 |
| Total | 1.21 | 3.20 | 2.57 | 6.25 | 6.46 | 13.49 |
| Transition | Trigger | Battery SOC | Action |
|---|---|---|---|
| Any –> SAFE | V_bat < 12.4V (3.1V/cell) | < 15% | Disable all non-essential loads |
| SAFE –> NOMINAL | V_bat > 14.0V (3.5V/cell) AND sun detected | > 50% | Re-enable subsystems sequentially |
| NOMINAL –> COMM | GS in view AND schedule match | > 40% | Enable TX, prioritize downlink |
| NOMINAL –> SCIENCE | Imaging target in view | > 60% | Enable camera + RW pointing |
| NOMINAL –> ECLIPSE STANDBY | Eclipse entry detected | > 30% | Reduce ADCS, enable heater if T < 0C |
| ECLIPSE STANDBY –> NOMINAL | Eclipse exit + V_bat > 13.2V | > 25% | Restore nominal operations |
| SCIENCE –> NOMINAL | Imaging complete OR SOC < 40% | - | Disable camera + RW |
| Parameter | Value |
|---|---|
| Cell Type | Panasonic NCR18650B (Li-ion NCA) |
| Configuration | 4S1P |
| Nominal Cell Voltage | 3.6 V |
| Cell Capacity | 3.4 Ah (12.24 Wh per cell) |
| Pack Nominal Voltage | 14.4 V |
| Pack Capacity | 48.96 Wh (3.4 Ah at 14.4V) |
| Usable Capacity (20-80% SOC) | 29.4 Wh |
| Voltage Range | 12.0 V (cutoff) – 16.8 V (full) |
| Charge Cutoff | 4.2 V/cell (CC-CV charging) |
| Discharge Cutoff | 3.0 V/cell (hardware cutoff) |
| Software Low Limit | 3.1 V/cell (triggers SAFE mode) |
| Max Charge Rate | 0.5C (1.7 A) |
| Max Discharge Rate | 1C (3.4 A) |
| Operating Temp (charge) | 0C to +45C |
| Operating Temp (discharge) | -10C to +45C |
| Storage Temp | -20C to +50C |
At 550 km SSO, the satellite experiences ~15 orbits/day, yielding ~5,475 charge/discharge cycles per year.
| Parameter | Value |
|---|---|
| Cycles per orbit | 1 |
| Cycles per year | 5,475 |
| Cycles over 2-year mission | 10,950 |
| Depth of Discharge (nominal) | 10-15% |
| DoD (worst case, comm + eclipse) | 25% |
| NCR18650B rated cycles at 15% DoD | > 15,000 cycles |
| NCR18650B rated cycles at 25% DoD | > 8,000 cycles |
| Capacity retention at EOL (2 yr) | ~85% at 15% DoD avg |
Capacity degradation model (empirical fit for NCR18650B):
C(n) = C_0 * (1 - 0.00002 * n - 5e-10 * n^2)
Where n = cycle count
At n = 10,950: C(n)/C_0 = 0.852 (14.8% capacity loss)
EOL usable capacity: 29.4 Wh * 0.852 = 25.0 Wh
| Parameter | Value |
|---|---|
| Orbital Period | 95.7 min (5742 s) |
| Sunlit Duration | 62.2 min (65%) |
| Eclipse Duration | 33.5 min (35%) |
| Maximum Eclipse (solstice) | 36.1 min (37.7%) |
| Minimum Eclipse (near equinox) | 0 min (full sun near summer solstice) |
E_generated = P_gen_avg * t_sun
= 5.1 W * (62.2/60) h = 5.29 Wh (EOL, avg orientation)
E_consumed = P_nominal * t_sun + P_eclipse * t_eclipse
= 2.57 W * (62.2/60) h + 3.20 W * (33.5/60) h
= 2.66 Wh + 1.79 Wh = 4.45 Wh
E_net = 5.29 - 4.45 = +0.84 Wh per orbit (POSITIVE)
E_generated = P_gen_EOL * t_sun_min
= 5.1 W * (59.6/60) h = 5.07 Wh
E_consumed = P_nominal * t_sun + P_eclipse_comm * t_eclipse
= 2.57 * (59.6/60) + 6.25 * (36.1/60)
= 2.55 + 3.76 = 6.31 Wh
E_net = 5.07 - 6.31 = -1.24 Wh per orbit (NEGATIVE)
This worst case requires battery supplementation. Recovery occurs in subsequent non-comm orbits.
| Scenario | Orbits | E_gen (Wh) | E_cons (Wh) | E_net (Wh) | SOC Trend |
|---|---|---|---|---|---|
| Nominal (BOL) | 15 | 84.4 | 66.8 | +17.6 | Charging |
| Nominal (EOL) | 15 | 79.4 | 66.8 | +12.6 | Charging |
| With 4 comm passes/day (BOL) | 15 | 84.4 | 75.3 | +9.1 | Charging |
| With 4 comm passes/day (EOL) | 15 | 79.4 | 75.3 | +4.1 | Marginal |
| Worst case (EOL + science) | 15 | 79.4 | 82.6 | -3.2 | Discharging |
Per ECSS-E-ST-20C, minimum power margin shall be > 10% for nominal operations.
Power Margin = (P_generated - P_consumed) / P_consumed * 100%
| Mode | P_gen (W) | P_cons (W) | Margin | Requirement | Status |
|---|---|---|---|---|---|
| Nominal (BOL) | 5.6 | 2.57 | +118% | > 10% | PASS |
| Nominal (EOL) | 5.1 | 2.57 | +98% | > 10% | PASS |
| Comm (BOL, sunlit) | 5.6 | 6.25 | -10.4% | > 10% | Battery assisted |
| Comm (EOL, eclipse) | 0.0 | 6.25 | -100% | N/A | Battery only |
| Science (BOL) | 5.6 | 6.46 | -13.3% | > 10% | Battery assisted |
| Safe Mode | 5.1 | 1.21 | +321% | > 10% | PASS |
Note: Comm and Science modes are inherently battery-supplemented (short duration < 15 min). The relevant metric is per-orbit energy balance, which is positive for all nominal scenarios.
The beta angle (angle between orbital plane and sun vector) determines eclipse fraction:
Eclipse fraction = (1/pi) * arccos( sqrt(h^2 + 2*R_E*h) / ((R_E + h) * cos(beta)) )
Where: R_E = 6371 km, h = 550 km
| Beta Angle | Eclipse Duration (min) | Eclipse Fraction | Annual Occurrence |
|---|---|---|---|
| 0 deg | 35.7 | 37.3% | Equinoxes |
| 20 deg | 34.1 | 35.6% | Common |
| 40 deg | 30.2 | 31.5% | Common |
| 60 deg | 22.3 | 23.3% | Moderate |
| 71.6 deg | 0 (full sun) | 0% | Near summer solstice |
SOC (%)
100 |
90 | ____ ____ ____
80 | / \ / \ / \
70 |/ \ / \ / \
60 | \ / \ / \
50 | \/ \/ \
40 |
30 |.........SAFE mode trigger (15%)...........
+----+----+----+----+----+----+----+----> Time
Orbit 1 Orbit 2 Orbit 3 Orbit 4
Legend: /\ = sunlit period (charging), \/ = eclipse (discharging)
+------------------+
Solar Panels ──────────>| MPPT Controller |
(6 faces + deployable) | (buck converter) |
+--------+---------+
|
+--------v---------+
| Power Bus |
| (14.4V nom.) |
+--+--+--+--+--+---+
| | | | |
+---------+ | | | +--------+
| | | | |
+----v----+ +---v--v--v---+ +----v----+
| Battery | | Load Switch | | Heater |
| Charger | | Array (8ch) | | Control |
| (CC-CV) | | w/ current | | (PWM) |
+----+-----+ | limiters | +---------+
| +--+--+--+---+
+----v----+ | | |
| 4S1P | 3.3V 5V 12V
| Battery | (buck converters)
| Pack | | | |
+---------+ OBC GNSS ADCS...
| Rail | Voltage | Max Current | Subsystems |
|---|---|---|---|
| VBAT | 12.0-16.8V | 3.4 A | Heater, S-band PA |
| 5V0 | 5.0V +/- 2% | 1.5 A | Camera, Payload |
| 3V3 | 3.3V +/- 2% | 2.0 A | OBC, ADCS, GNSS, UHF |
| 1V8 | 1.8V +/- 3% | 0.5 A | OBC core (if needed) |