mirror of
https://codeberg.org/buildacubesat-project/bac-hardware.git
synced 2026-04-11 10:15:51 +00:00
Full history preserved at buildacubesat-archive/bac-hardware (tag: archive-preprune-2026-01-15). Source commit: d073c27b2d50e3f6b97c3c1f11f1b9646280a7ce
122 lines
4.4 KiB
Markdown
122 lines
4.4 KiB
Markdown
# MCU Carrier Board – CM5-Compatible (Single bacBus)
|
||
|
||
**Subsystem**: MCU
|
||
**Status**: ✅ Released
|
||
|
||
**Latest Release**:
|
||
- **Version**: v1r1
|
||
- **Date**: 2025-04-03
|
||
- **KiCad**: v9
|
||
|
||
## Overview
|
||
This board is a respin of the [CM5 MINIMA Rev2 by Pierluigi Colangeli](https://github.com/piecol/CM5_MINIMA_REV2), adapted to fit within the _Build a CubeSat_ structure. It accepts a Raspberry Pi Compute Module 4 or 5 and provides a Key-M M.2 slot for 2230/2242 PCIe cards. Both CSI camera connectors are available, as well as 10/100 Ethernet via PicoBlade (for use with BotBlox switches) and USB 2.0 via USB-C.
|
||
|
||
The board integrates into the system using a single bacBus bus and is intended as a compact, flexible CubeSat payload computer.
|
||
|
||
Please consider starring [CM5 MINIMA](https://github.com/piecol/CM5_MINIMA_REV2) and [supporting Pierluigi](https://www.buymeacoffee.com/pierluigicj) for his foundational work.
|
||
|
||
## Respin Changelog
|
||
### 1. Deletions
|
||
- 1x USB-C
|
||
- HDMI
|
||
- IO:
|
||
- SPI conn
|
||
- I2C conn
|
||
- Power LED
|
||
- Env sensor
|
||
- PCI-E 3v3 buck converter
|
||
|
||
### 2. Changes
|
||
- Move CSI0 further left
|
||
- Extend M.2 to 2242
|
||
- Passives: 0402 -> 0603
|
||
- Horizontal USB-C conn
|
||
- ~~M3 solder nuts~~
|
||
- Switches -> jumper pads
|
||
|
||
### 3. Additions
|
||
- CSI1
|
||
- PicoBlade for ethernet (instead of RJ45)
|
||
- CAN controller/transceiver: MCP251863T-H/SS
|
||
- Power multiplexing
|
||
- 2 current sensors: INA260
|
||
- bacBus M.2 connectors: MDT350M01001VT
|
||
- IMU: BNO086
|
||
|
||
## Specifications
|
||
- **Dimensions**: 85 mm × 85 mm
|
||
- **Layer Count**: 6
|
||
- **Panelization**: No
|
||
- **Mounting**: Via rails or M3 bolts
|
||
- **Stacking**: bacBus connection on Xp side only, top and bottom.
|
||
|
||
## Connectors & Interfaces
|
||
- **Compute Module**: Raspberry Pi CM4 or CM5
|
||
- **Expansion Slot**: Key-M M.2 2230/2242 (PCIe)
|
||
- **USB**: USB-C for data + power
|
||
- **Ethernet**: 10/100 via PicoBlade
|
||
- **Camera**: Dual CSI camera connectors
|
||
- **bacBus**: System connection for power, I2C, and CAN
|
||
|
||
## Files
|
||
- **Design files**: Located in the `kicad9/` folder
|
||
- **Schematics**: [PDF](https://codeberg.org/buildacubesat-project/bac-hardware/releases/download/sbc-cm5-carrier-board-v1r1/bac-sbc-cm5-carrier-board-v1r1-schematic.pdf)
|
||
- **3D Render**:
|
||

|
||
|
||
## Manufacturing
|
||
- **Release**: [sbc-cm5-carrier-board-v1r1](https://codeberg.org/buildacubesat-project/bac-hardware/releases/tag/sbc-cm5-carrier-board-v1r1)
|
||
- **BOM**: Included
|
||
- **Instruction**:
|
||
- **Ordering**: Included (PCBWay)
|
||
- **Sourcing**: Not Included
|
||
- **Assembly**: Not Included
|
||
|
||
## Notes
|
||
This board is intended for development and test environments including high-altitude ballooning. Not spaceflight-rated.
|
||
|
||
## Acknowledgments
|
||
Adapted from [CM5 MINIMA Rev2 by Pierluigi Colangeli](https://github.com/piecol/CM5_MINIMA_REV2) – many thanks to Pier for sharing his excellent work and providing guidance on this respin.
|
||
|
||
## Known Bugs and Limitations
|
||
- No onboard 3.3 V rail for PCIe – must be supplied externally when EPS is not connected
|
||
- USB breakout not yet implemented
|
||
- Single bacBus connection
|
||
- Additional GPIO and interfaces could be broken out
|
||
- No coin cell backup battery for RTC
|
||
|
||
## Ongoing Testing Results
|
||
### Untested
|
||
- Ethernet via PicoBlade
|
||
- M.2 Slot
|
||
- CAN
|
||
|
||
### Working
|
||
- The CM5 :]
|
||
- Both CSI
|
||
|
||
### Not Working
|
||
- IMU - bad clock?
|
||
|
||
## License
|
||
This PCB is licensed under [CERN-OHL-S-2.0](LICENSE) in accordance with the upstream CM5 MINIMA REV2 project.
|
||
|
||
## 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
|
||
1. Create a **new feature branch** (`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
|
||
|
||
### New Designs & Community Contributions
|
||
- Create your own repository
|
||
- Share a link in community discussions or open an issue
|
||
- If relevant, it’ll be referenced in the docs 🙌
|
||
|
||
## Supporting This Project
|
||
- [Patreon](https://www.patreon.com/buildacubesat)
|
||
- [KoFi](https://ko-fi.com/buildacubesat)
|
||
- [PayPal](https://tinyurl.com/bac-donate)
|