15 KiB
Build a CubeSat – Hardware
This repository contains the open hardware designs for the CubeSat architecture developed as part of the Build a CubeSat (BAC) project. It includes power systems, SBC and MCU carrier boards, mechanical panels, interconnect standards, and various utility PCBs — all created using KiCad.
The Build a CubeSat project is an effort to design an affordable and accessible open-source CubeSat ecosystem. The goal is to enable modular, reproducible hardware for educational, experimental, and research purposes — both on the bench and in near-space environments.
All designs in this repository are experimental and not rated for spaceflight. They are intended for use in ground-based development, lab testing, and high-altitude balloon experiments.
Development is ongoing and documented on YouTube. Contributions, forks, and collaboration are welcome. If you have questions, suggestions, or bug reports, feel free to open an issue.
The best way to get involved, ask questions or just follow the development is to join the Discord.
Unless noted otherwise in specific subfolders (e.g. in cases of forks), all hardware designs in this repository are licensed under CC BY-SA 4.0.
Overview
This repo includes all major hardware components of the CubeSat platform:
Boards
- MCU – Microcontroller carrier boards (e.g. MicroMod, custom MCUs)
- EPS – Power management, battery charger, regulators, and connectors
- SBC – Carrier board for Raspberry Pi CM5 module
Panels
- PV Panel – Solar panel carrier with slots and pin cutouts (mainly mechanical, currently in need of redesign)
- Hatch Panel – Breakout panel with connector access
- ADCS – Placeholder PCBs for XY plane magnetorquers
Other
- bacBus – Custom M.2-based interconnect standard (mechanical format: M.2 Key-M)
- Utilities – USB adapters and other support boards used for testing, interfacing, or system extension
Manufacturing Releases
- 🚧 Development: Not yet released
- 🧪 Testing: Released, but not fully tested yet
- ✅ Released: Works as expected
- ⛔ Do Not Use: Non-functional, fixes pending
- 🪦 Deprecated: End of life, will not be updated or fixed
- 📁 Archived: Moved to https://codeberg.org/buildacubesat-archive/bac-hardware
- 📦 External: Third party contributions
Manufacturing files (Gerbers, BOMs, ordering instructions for PCBWay) are provided in the Codeberg release section.
LFS
Footprint 3D models are stored using LFS (large file storage). If you clone the repo without having LFS installed locally, you will get empty pointer files instead of 3D models. Please refer to the Codeberg Docs on how to install and work with LFS.
Pruning
On January 15 2026, the repo was pruned to prevent bloat. Before that, a snapshot was stored in this public archive repo: https://codeberg.org/buildacubesat-archive/bac-hardware
Hardware Overview
EPS
| Render | Board Name | Status | Latest Release | Version | Date | Schematic | BOM | Ordering Info |
|---|---|---|---|---|---|---|---|---|
![]() |
Main Board (Minimal) | ⛔ Do Not Use | eps-main-board-minimal-v1r1 | v1r1 | 2025-04-03 | Yes | Yes (PCBWay) | |
![]() |
Buck Module TPSM5D1806 | 🧪 Testing | eps-buck-module-tpsm5d1806-v2r1 | v2r1 | 2026-01-29 | Yes | Yes (PCBWay) | |
![]() |
Charger Module BQ25306 | 🧪 Testing | eps-charger-module-bq25306-v1r2 | v1r2.2 | 2026-01-29 | Yes | Yes (PCBWay) | |
![]() |
Battery Contact 18650 2s2p | ✅ Released | eps-battery-contact-18650-2s2p-v1r2 | v1r2 | 2025-04-03 | No | Yes (PCBWay) |
MCU
| Render | Board Name | Status | Latest Release | Version | Date | Schematic | BOM | Ordering Info |
|---|---|---|---|---|---|---|---|---|
![]() |
MicroMod Main Board (Dual Function, Single bacBus) | 📁 Archived | mcu-micromod-main-board-dual-function-single-bacbus-v1r1 | v1r1 | 2025-04-03 | Yes | Yes (PCBWay) |
SBC
| Render | Board Name | Status | Latest Release | Version | Date | Schematic | BOM | Ordering Info |
|---|---|---|---|---|---|---|---|---|
![]() |
CM5 Carrier Board | ⛔ Do Not Use | sbc-cm5-carrier-board-v1r1 | v1r1 | 2025-04-03 | Yes | Yes (PCBWay) |
Panels
| Render | Board Name | Status | Latest Release | Version | Date | Schematic | BOM | Ordering Info |
|---|---|---|---|---|---|---|---|---|
![]() |
Panel Hatch | ⛔ Do Not Use (update due in 3Q2026) | ||||||
![]() |
Panel PV | ⛔ Do Not Use (update due in 3Q2026) | ||||||
![]() |
Magnetorquer Placeholder XY 1U | ✅ Released | adcs-magnetorquer-placeholder-xy-1U-v1r2 | v1r2 | 2025-04-03 | No | No | Yes (PCBWay) |
![]() |
Magnetorquer Placeholder XY 1.5U | ✅ Released | adcs-magnetorquer-placeholder-xy-1.5U-v1r2 | v1r2 | 2025-04-03 | No | No | Yes (PCBWay) |
![]() |
Magnetorquer Placeholder XY 2U | ✅ Released | adcs-magnetorquer-placeholder-xy-2U-v1r2 | v1r2 | 2025-04-03 | No | No | Yes (PCBWay) |
![]() |
Magnetorquer Placeholder XY 3U | ✅ Released | adcs-magnetorquer-placeholder-xy-3U-v1r2 | v1r2 | 2025-04-03 | No | No | Yes (PCBWay) |
bacBus
| Render | Board Name | Status | Latest Release | Version | Date | Schematic | BOM | Ordering Info |
|---|---|---|---|---|---|---|---|---|
![]() |
Interconnect 17.5mm | 🧪 Testing | bacbus-interconnect-17.5mm-v1r1 | v1r1 | 2025-12-08 | No | Yes, panelized (PCBWay) |
Utilities
| Render | Board Name | Status | Latest Release | Version | Date | Schematic | BOM | Ordering Info |
|---|---|---|---|---|---|---|---|---|
![]() |
Breadboard | ⛔ Do Not Use | utilities-breadboard-v1r1 | v1r1 | 2025-05-21 | Yes | Yes (PCBWay) | |
| EPS Module Tester (Butter Robotics) | 📦 External | – | v1r1 | – | PDF (GitHub) | No | No |
File Structure
Each board subfolder is structured like this:
<subsystem>/
<board-name>/
graphics/ # DXF edge cuts, preview renders, etc.
kicad*/ # KiCad project files with version indicated
docs/ # PDFs and such, if any are needed
README.md # Board-specific documentation
Usage
- Use KiCad 9+ to open and edit the designs.
- Releases with manufacturing files are hosted on Codeberg as tagged versions and ready for ordering from a fab house (PCBWay is recommended)
- Boards follow a versioning scheme:
v<version>r<revision>[.<patch>](e.g.v1r2orv3r4.1).
Licensing
All hardware is licensed under CC BY-SA 4.0, unless a subfolder states otherwise (e.g., in forks).
Contributing
Contributions to the Build a CubeSat hardware ecosystem are highly appreciated! To keep things structured, here’s how you can contribute:
Fixes & Improvements to Existing Designs
If you’re fixing a bug, optimizing an existing design, or making incremental improvements, please:
- Create a new feature branch in this repository (
git checkout -b feature/your-feature-name). - Commit your changes (
git commit -m 'Brief description of change'). - Push to the branch (
git push origin feature/your-feature-name). - Submit a Pull Request (PR) with a clear description of the changes. Keep your PRs focused – one fix or improvement per PR is ideal.
New Designs & Community Contributions
- If you’re designing something new, like a module, testing jig, expansion board, or an accessory:
- Create your own repository (e.g., on Codeberg, GitHub, or another platform).
- Feel free to share a link in our community discussions or open an issue to let us know about it!
- If your project is relevant to the community, I will gladly reference it in the docs.
This approach helps keep the core project focused while encouraging community-driven innovation. Thanks for contributing! 🙌
Supporting This Project
I am truly grateful for your insights about how these PCBs could be improved.
If you’d like to support the Build a CubeSat project further, consider these options:













