Build a CubeSat – Hardware
Build a CubeSat (BAC) is an effort to design an affordable, accessible and available open-source CubeSat ecosystem – modular hardware aimed at educators, researchers, enthusiasts, entrepreneurs and seeking to participat in the space exploration and economy. This repository holds work-in-progress hardware designs for the Build a CubeSat architecture: power systems, SBC and MCU carrier boards, mechanical panels, the bacBus interconnect standard, and various utility PCBs, all created with KiCad. Dev Kit v1 will be available for purchase in 3Q26, with an Edu Kit v1 to follow in 2027 and flight hardware later on.
For now, every design here is experimental and not flight-rated. The boards are intended for ground-based development, lab testing, high-altitude balloon experiments, and suborbital rockets – but the longer-term goal is a flight-qualified CubeSat kit, and that work is underway.
New designs are licensed under CERN OHL-S 2.0 going forward. Older designs released under CC BY-SA 4.0 retain that license unless explicitly relicensed – check individual board folders for the applicable license. Forks may carry their own licenses.
Overview
Boards
- EPS – Main board, charger module, voltage regulator module, and battery contact PCBs
- SBC – Carrier board for the Raspberry Pi CM5 module (software lives in bac-software)
- MCU – Microcontroller carrier boards using the SparkFun MicroMod form factor (firmware lives in bac-software)
Panels
- PV Panel – Solar panels (redesign pending)
- Hatch Panel – Breakout panel with connector access (redesign pending)
- ADCS – Placeholder PCBs for XY plane magnetorquers (1U, 1.5U, 2U, 3U)
Interconnect & Utilities
- bacBus – Custom M.2-based interconnect standard (M.2 Key-M form factor)
- Utilities – Breadboard PCB for development and testing
Status Legend
- 🚧 Development: Not yet released
- 🧪 Testing: Released for hardware testing; bring-up still pending
- ✅ 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.
Hardware Overview
EPS
| Render | Board Name | Status | Latest Release | Version | Date | Schematic | BOM | Ordering Info |
|---|---|---|---|---|---|---|---|---|
![]() |
Main Board | 🧪 Testing | eps-main-board-v2r2 | v2r2 | 2026-05-04 | Yes | Yes (PCBWay) | |
![]() |
Buck Module TPSM5D1806 | 🧪 Testing | eps-buck-module-tpsm5d1806-v2r2 | v2r2 | 2026-04-30 | Yes | Yes (PCBWay) | |
![]() |
Charger Module BQ25306 | 🧪 Testing | eps-charger-module-bq25306-v1r3 | v1r3 | 2026-05-03 | Yes | Yes (PCBWay) | |
| Battery Contact 18650 2s2p | 🧪 Testing | eps-battery-contact-18650-2s2p-v2r1 | v2r1 | 2026-05-07 | Yes | 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 |
|---|---|---|---|---|---|---|---|---|
| Utility Breadboard | 🧪 Testing | utils-breadboard-v2r1 | v2r1 | 2026-05-07 | No | Yes | Yes (PCBWay) |
Repository Notes
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
File Structure
Each board subfolder is structured like this:
<subsystem>/
<board-name>/
graphics/ # DXF edge cuts, preview renders, etc.
kicad*/ # KiCad project files (older boards may use kicad9/)
docs/ # PDFs and such, if any are needed
README.md # Board-specific documentation
Usage
- Use KiCad 10+ 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
New designs are licensed under CERN OHL-S 2.0. Older designs released under CC BY-SA 4.0 retain that license unless explicitly relicensed – check the individual board folder for the applicable license. Forks may carry their own licenses.
Community
Have questions, suggestions, or bug reports? Open an issue or join the Discord. Development is documented on YouTube.
Related Projects
- bac-docs – WIP: Onboarding guide, architecture overview, and project documentation
- bac-software – WIP: Flight software for the SBC (NASA F Prime on Yocto Linux) and MCU carrier boards (Zephyr RTOS)
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:











