Skip to content

Standardized CubeSat & PocketQube form factor specifications + launch provider deployer constraints — no hardcoding required. pip install cubesat-specs

License

Notifications You must be signed in to change notification settings

JuliusPinsker/cubesat-specs

Repository files navigation

cubesat-specs

PyPI version conda-forge Python 3.9+ License: MIT Tests Docs DOI

Standardized CubeSat and PocketQube form factor specifications, design constraints, and launch provider deployer data — no hardcoding required.

pip install cubesat-specs     # PyPI
conda install -c conda-forge cubesat-specs  # conda-forge (coming soon)

Non-Python? All data is also available as machine-readable JSON files — use them from MATLAB, Julia, C++, JavaScript, or any language.

Quick Start

from cubesat_specs import (
    CUBESAT_FORM_FACTORS,
    POCKETQUBE_FORM_FACTORS,
    get_form_factor,
    get_compatible_providers,
    CDS,   # CubeSat Design Specification Rev 14.1
    PQS,   # PocketQube Standard Issue 1
)

# Look up a 3U CubeSat
ff = get_form_factor("3U")
print(ff.width_mm, ff.depth_mm, ff.height_mm)  # 100.0 100.0 340.5
print(ff.max_mass_kg)                            # 6.0
print(ff.volume_liters)                          # 3.405

# Centre-of-gravity check (CDS Rev 14.1 Table 2)
ff.cg_limits.within(1.0, 1.0, 5.0)  # True — within ±2/±2/±7 cm

# PocketQube 2p
pq = get_form_factor("2p")
print(pq.max_mass_kg)          # 0.5
pq.cg_limits.within(0.5, 0.5, 0.5)  # True — within ±1 cm (PQ-Mass-04)

# CDS constraints
print(CDS.rf_silence_minutes)       # 45
print(CDS.outgassing_tml_max_pct)   # 1.0

# PocketQube Standard constraints
print(PQS.min_kill_switches)        # 2
print(PQS.component_envelope_mm)    # 7.0

# Which launch providers accept a 6U?
for provider in get_compatible_providers("6U"):
    deployer_names = [d.name for d in provider.deployers
                      if "6U" in d.supported_form_factors]
    print(f"{provider.name}: {deployer_names}")

CubeSat Form Factors (CDS Rev 14.1)

Key W × D × H (mm) Max mass (kg) CG limits ±cm (X/Y/Z)
0.5U 100 × 100 × 56.75 1.00 2/2/2 *
1U 100 × 100 × 113.5 2.00 2/2/2
1.5U 100 × 100 × 170.25 3.00 2/2/3
2U 100 × 100 × 227.0 4.00 2/2/4.5
3U 100 × 100 × 340.5 6.00 2/2/7
3U+ 100 × 100 × 360.0 6.00 2/2/7
6U 226.3 × 100 × 366.0 12.00 4.5/2/7
12U 226.3 × 226.3 × 366.0 24.00 4.5/4.5/7
16U 226.3 × 226.3 × 488.0 32.00
27U 300 × 300 × 340.5 54.00

* 0.5U, 3U+, 16U, and 27U are community-derived, not in CDS Rev 14.1.

PocketQube Form Factors (PocketQube Standard Issue 1)

Key W × D × H (mm) Max mass (g) CG limit
1p 50 × 50 × 50 250 ±1 cm
2p 50 × 50 × 114 500 ±1 cm
3p 50 × 50 × 178 750 ±1 cm

Dimensions are without the 1.6 mm sliding backplate (Y-axis).

Design Constraints

The CDS and PQS singletons expose every quantitative constraint from the respective standards as simple attributes:

CDS Rev 14.1 highlights

Attribute Value CDS §
rail_min_width_mm 8.5 2.2.5
max_protrusion_mm 6.5 2.2.3
outgassing_tml_max_pct 1.0 % 2.1.7
outgassing_cvcm_max_pct 0.1 % 2.1.7
rf_silence_minutes 45 2.4.5
deployable_wait_minutes 30 2.4.4
min_deployment_switches 1 2.3.2
battery_faa_guideline_wh 100 2.1.5

PocketQube Standard Issue 1 highlights

Attribute Value PQ req.
min_kill_switches 2 Mech-12
component_envelope_mm 7.0 Mech-08
deployable_envelope_mm 10.0 Mech-08
cg_max_offset_cm 1.0 Mass-04
mass_per_unit_kg 0.250 Mass-01
backplate_thickness_mm 1.6 Table 1
pyrotechnics_allowed False Gen-02

Launch Providers & Deployers

Provider key Provider Deployers
nanoracks NanoRacks NRCSD, NRCSD-E, NRCSD DoubleWide
calpoly Cal Poly P-POD Mk III
isis ISIS ISIPOD 3U, ISIPOD 6U
exolaunch Exolaunch GmbH EXOpod 6U, EXOpod 12U
spaceflight SpaceFlight Inc. Sherpa-FX
rocketlab Rocket Lab Electron Rideshare Deployer
alba Alba Orbital PocketQube Deployer (4p)
jaxa JAXA J-SSOD (10 cm class)
dorbit D-Orbit ION Satellite Carrier
maverick Maverick Space Systems Mercury-3, Mercury-6, Mercury-12

Each DeployerSpec carries: supported_form_factors, max_payload_mass_kg, optional deployment_velocity_min/max_ms and tip_off_rate_max_deg_s (None when proprietary), and optional inclination_deg / altitude_km_min/max.

Data Sources

Machine-Readable Data (JSON)

All data is shipped as JSON files in src/cubesat_specs/data/ for use from any language:

File Contents
form_factors.json CubeSat (0.5U–27U) and PocketQube (1p–3p) dimensions, mass, CG limits
deployers.json All deployer specs (velocity, mass, form factors)
launch_providers.json Provider names, websites, deployer references
standards_cds.json CDS Rev 14.1 constraints
standards_pqs.json PocketQube Standard Issue 1 constraints

Regenerate with python scripts/export_json.py.

Citing

If you use this data in academic work, please cite:

@software{cubesat_specs,
  author  = {Pinsker, Julius},
  title   = {cubesat-specs},
  url     = {https://github.com/JuliusPinsker/cubesat-specs},
  version = {0.2.1},
  year    = {2026},
}

A CITATION.cff is included — GitHub shows a "Cite this repository" button automatically.

Contributing

PRs welcome! Priority areas:

  • Additional deployers (Tyvak, GomSpace, AAC Clyde Space)
  • VEGA/Ariane-6 rideshare specs
  • Updated NanoRacks specs post-Voyager acquisition
  • SpaceX Transporter mission orbit parameters per flight

License

MIT

About

Standardized CubeSat & PocketQube form factor specifications + launch provider deployer constraints — no hardcoding required. pip install cubesat-specs

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages