bac-hardware/README.md
2026-03-11 08:17:15 +01:00

157 lines
15 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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](https://youtube.com/@buildacubesat). Contributions, forks, and collaboration are welcome. If you have questions, suggestions, or bug reports, feel free to [open an issue](https://codeberg.org/buildacubesat-project/bac-hardware/issues).
The best way to get involved, ask questions or just follow the development is to join [the Discord](https://discord.gg/yeusgM75ys).
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](LICENSE).
## 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](https://codeberg.org/buildacubesat-project/bac-hardware/releases).
## 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](https://docs.codeberg.org/git/using-lfs/) 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 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| ![render](https://codeberg.org/buildacubesat-project/bac-hardware/releases/download/eps-main-board-minimal-v1r1/bac-eps-main-board-minimal-v1r1.webp) | [Main Board (Minimal)](https://codeberg.org/buildacubesat-project/bac-hardware/src/branch/main/eps/main-board/minimal) | ⛔ Do Not Use | [eps-main-board-minimal-v1r1](https://codeberg.org/buildacubesat-project/bac-hardware/releases/tag/eps-main-board-minimal-v1r1) | v1r1 | 2025-04-03 | [PDF](https://codeberg.org/buildacubesat-project/bac-hardware/releases/download/eps-main-board-minimal-v1r1/bac-eps-main-board-minimal-v1r1-schematic.pdf) | Yes | Yes (PCBWay) |
| ![render](https://codeberg.org/buildacubesat-project/bac-hardware/releases/download/eps-buck-module-tpsm5d1806-v2r1/bac-eps-tpsm5d1806-buck-module-v2r1-render.webp) | [Buck Module TPSM5D1806](https://codeberg.org/buildacubesat-project/bac-hardware/src/branch/main/eps/voltage-regulator-module/tpsm5d1806-buck-module) | 🧪 Testing | [eps-buck-module-tpsm5d1806-v2r1](https://codeberg.org/buildacubesat-project/bac-hardware/releases/tag/eps-buck-module-tpsm5d1806-v2r1) | v2r1| 2026-01-29 | [PDF](https://codeberg.org/buildacubesat-project/bac-hardware/releases/download/eps-buck-module-tpsm5d1806-v2r1/bac-eps-tpsm5d1806-buck-module-v2r1-schematic.pdf) | Yes | Yes (PCBWay) |
| ![render](https://codeberg.org/buildacubesat-project/bac-hardware/releases/download/eps-charger-module-bq25306-v1r2/bac-eps-bq25306-charger-module-v1r2-render.webp) | [Charger Module BQ25306](https://codeberg.org/buildacubesat-project/bac-hardware/src/branch/main/eps/battery-charger-module/bq25306-charger-module) | 🧪 Testing | [eps-charger-module-bq25306-v1r2](https://codeberg.org/buildacubesat-project/bac-hardware/releases/tag/eps-charger-module-bq25306-v1r2) | v1r2.2 | 2026-01-29 | [PDF](https://codeberg.org/buildacubesat-project/bac-hardware/releases/download/eps-charger-module-bq25306-v1r2/bac-eps-bq25306-charger-module-v1r2-schematic.pdf) | Yes | Yes (PCBWay) |
| ![render](https://codeberg.org/buildacubesat-project/bac-hardware/releases/download/eps-battery-contact-18650-2s2p-v1r2/bac-eps-battery-contact-18650-2s2p-v1r2.webp) | [Battery Contact 18650 2s2p](https://codeberg.org/buildacubesat-project/bac-hardware/src/branch/main/eps/battery-contact/18650-2s2p) | ✅ Released | [eps-battery-contact-18650-2s2p-v1r2](https://codeberg.org/buildacubesat-project/bac-hardware/releases/tag/eps-battery-contact-18650-2s2p-v1r2) | v1r2 | 2025-04-03 | [PDF](https://codeberg.org/buildacubesat-project/bac-hardware/releases/download/eps-battery-contact-18650-2s2p-v1r2/bac-eps-battery-contact-18650-2s2p-v1r2-schematic.pdf) | No | Yes (PCBWay) |
### MCU
| Render | Board Name | Status | Latest Release | Version | Date | Schematic | BOM | Ordering Info |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| ![render](https://codeberg.org/buildacubesat-project/bac-hardware/releases/download/mcu-micromod-main-board-dual-function-single-bacbus-v1r1/bac-mcu-micromod-main-board-dual-function-single-bacbus-v1r1.webp) | [MicroMod Main Board (Dual Function, Single bacBus)](https://codeberg.org/buildacubesat-archive/bac-hardware/src/branch/main/mcu/micromod-main-board/dual-function-single-bacbus) | 📁 Archived | [mcu-micromod-main-board-dual-function-single-bacbus-v1r1](https://codeberg.org/buildacubesat-project/bac-hardware/releases/tag/mcu-micromod-main-board-dual-function-single-bacbus-v1r1) | v1r1 | 2025-04-03 | [PDF](https://codeberg.org/buildacubesat-project/bac-hardware/releases/download/mcu-micromod-main-board-dual-function-single-bacbus-v1r1/bac-mcu-micromod-main-board-dual-function-single-bacbus-v1-schematic.pdf) | Yes | Yes (PCBWay) |
### SBC
| Render | Board Name | Status | Latest Release | Version | Date | Schematic | BOM | Ordering Info |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| ![render](https://codeberg.org/buildacubesat-project/bac-hardware/releases/download/sbc-cm5-carrier-board-v1r1/bac-sbc-cm5-carrier-board-v1r1.webp) | [CM5 Carrier Board](https://codeberg.org/buildacubesat-project/bac-hardware/src/branch/main/sbc/cm5-carrier-board) | ⛔ Do Not Use | [sbc-cm5-carrier-board-v1r1](https://codeberg.org/buildacubesat-project/bac-hardware/releases/tag/sbc-cm5-carrier-board-v1r1) | v1r1 | 2025-04-03 | [PDF](https://codeberg.org/buildacubesat-project/bac-hardware/releases/download/sbc-cm5-carrier-board-v1r1/bac-sbc-cm5-carrier-board-v1r1-schematic.pdf) | Yes | Yes (PCBWay) |
### Panels
| Render | Board Name | Status | Latest Release | Version | Date | Schematic | BOM | Ordering Info |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| ![render](https://codeberg.org/buildacubesat-project/bac-hardware/raw/branch/main/panel/hatch/graphics/bac-panel-hatch-v1r1.webp) | [Panel Hatch](https://codeberg.org/buildacubesat-project/bac-hardware/src/branch/main/panel/hatch) | ⛔ Do Not Use (update due in 3Q2026) |   |   |   |   |   |   |
| ![render](https://codeberg.org/buildacubesat-project/bac-hardware/raw/branch/main/panel/pv/graphics/bac-panel-pv-v1r1.webp) | [Panel PV](https://codeberg.org/buildacubesat-project/bac-hardware/src/branch/main/panel/pv) | ⛔ Do Not Use (update due in 3Q2026) |   |   |   |   |   |   |
| ![render](https://codeberg.org/buildacubesat-project/bac-hardware/releases/download/adcs-magnetorquer-placeholder-xy-1U-v1r2/bac-magnetorquer-placeholder-xy-1U-v1r2.webp) | [Magnetorquer Placeholder XY 1U](https://codeberg.org/buildacubesat-project/bac-hardware/src/branch/main/adcs/magnetorquer-placeholder-XY/1U) | ✅ Released | [adcs-magnetorquer-placeholder-xy-1U-v1r2](https://codeberg.org/buildacubesat-project/bac-hardware/releases/tag/adcs-magnetorquer-placeholder-xy-1U-v1r2) | v1r2 | 2025-04-03 | No | No | Yes (PCBWay) |
| ![render](https://codeberg.org/buildacubesat-project/bac-hardware/releases/download/adcs-magnetorquer-placeholder-xy-1.5U-v1r2/bac-magnetorquer-placeholder-xy-1.5U-v1r2.webp) | [Magnetorquer Placeholder XY 1.5U](https://codeberg.org/buildacubesat-project/bac-hardware/src/branch/main/adcs/magnetorquer-placeholder-XY/1.5U) | ✅ Released | [adcs-magnetorquer-placeholder-xy-1.5U-v1r2](https://codeberg.org/buildacubesat-project/bac-hardware/releases/tag/adcs-magnetorquer-placeholder-xy-1.5U-v1r2) | v1r2 | 2025-04-03 | No | No | Yes (PCBWay) |
| ![render](https://codeberg.org/buildacubesat-project/bac-hardware/releases/download/adcs-magnetorquer-placeholder-xy-2U-v1r2/bac-magnetorquer-placeholder-xy-2U-v1r2.webp) | [Magnetorquer Placeholder XY 2U](https://codeberg.org/buildacubesat-project/bac-hardware/src/branch/main/adcs/magnetorquer-placeholder-XY/2U) | ✅ Released | [adcs-magnetorquer-placeholder-xy-2U-v1r2](https://codeberg.org/buildacubesat-project/bac-hardware/releases/tag/adcs-magnetorquer-placeholder-xy-2U-v1r2) | v1r2 | 2025-04-03 | No | No | Yes (PCBWay) |
| ![render](https://codeberg.org/buildacubesat-project/bac-hardware/releases/download/adcs-magnetorquer-placeholder-xy-3U-v1r2/bac-magnetorquer-placeholder-xy-3U-v1r2.webp) | [Magnetorquer Placeholder XY 3U](https://codeberg.org/buildacubesat-project/bac-hardware/src/branch/main/adcs/magnetorquer-placeholder-XY/3U) | ✅ Released | [adcs-magnetorquer-placeholder-xy-3U-v1r2](https://codeberg.org/buildacubesat-project/bac-hardware/releases/tag/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 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| ![render](https://codeberg.org/buildacubesat-project/bac-hardware/releases/download/bacbus-interconnect-17.5mm-v1r1/bac-bacbus-interconnect-17.5mm-v1r1.webp) | [Interconnect 17.5mm](https://codeberg.org/buildacubesat-project/bac-hardware/src/branch/main/bacbus/interconnect/17mm) | 🧪 Testing | [bacbus-interconnect-17.5mm-v1r1](https://codeberg.org/buildacubesat-project/bac-hardware/releases/tag/bacbus-interconnect-17.5mm-v1r1) | v1r1 | 2025-12-08 | [PDF](https://codeberg.org/buildacubesat-project/bac-hardware/releases/download/bacbus-interconnect-17.5mm-v1r1/bac-bacbus-interconnect-17.5mm-v1r1-schematic.pdf) | No | Yes, panelized (PCBWay) |
### Utilities
| Render | Board Name | Status | Latest Release | Version | Date | Schematic | BOM | Ordering Info |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| ![render](https://codeberg.org/buildacubesat-project/bac-hardware/releases/download/utils-breadboard-pcb-v1r1/bac-utilities-breadboard-v1r1.webp) | [Breadboard](https://codeberg.org/buildacubesat-project/bac-hardware/src/branch/main/utilities/breadboard) | ⛔ Do Not Use | [utilities-breadboard-v1r1](https://codeberg.org/buildacubesat-project/bac-hardware/releases/tag/utils-breadboard-pcb-v1r1) | v1r1 | 2025-05-21 | [PDF](https://codeberg.org/buildacubesat-project/bac-hardware/releases/download/utils-breadboard-pcb-v1r1/bac-utilities-breadboard-v1r1-schematic.pdf) | Yes | Yes (PCBWay) |
|   | [EPS Module Tester (Butter Robotics)](https://github.com/butter-robotics/Butter.CubeSat.Utils/tree/master/eps-module-tester) | 📦 External | | v1r1 | | [PDF (GitHub)](https://github.com/butter-robotics/Butter.CubeSat.Utils/blob/master/eps-module-tester/assets/drawing.pdf) | 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. `v1r2` or `v3r4.1`).
## Licensing
All hardware is licensed under [CC BY-SA 4.0](LICENSE), 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, heres how you can contribute:
### Fixes & Improvements to Existing Designs
If youre **fixing a bug, optimizing an existing design, or making incremental improvements**, please:
1. Create a **new feature branch** in this repository (`git checkout -b feature/your-feature-name`).
2. **Commit** your changes (`git commit -m 'Brief description of change'`).
3. **Push** to the branch (`git push origin feature/your-feature-name`).
4. 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 youre 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 youd like to support the _Build a CubeSat_ project further, consider these options:
* [Patreon](https://www.patreon.com/buildacubesat)
* [KoFi](https://ko-fi.com/buildacubesat)
* [PayPal](https://tinyurl.com/bac-donate)