You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Welcome to the Onboard Computer (OBC) team! This page will guide you through the first steps to begin working with the BIRDS OBC subsystem using the available open-source resources.
17
15
18
-
- Table of Contents
19
-
{:toc}
16
+
> 🔧 **Note:** Some elements like board files are currently proprietary. However, [we're building an open version]({{site.url}}//project-list.html#3-kicad-design-of-an-open-source-cubesat-onboard-computer-obc), and your contributions are welcome.
20
17
21
-
</details>
18
+
---
19
+
20
+
## 1. Clone the Repository
21
+
22
+
First, clone the OBC hardware and firmware repositories to your local machine:
> 📢 **Want to help?** We're building an open OBC board. Check out the [`obc-open-hardware`]({{site.url}}//project-list.html#3-kicad-design-of-an-open-source-cubesat-onboard-computer-obc) project in our Project List to contribute.
While the OBC board files aren’t public yet, we recommend trying the antenna panel as a practice project.
47
+
48
+
Steps:
49
+
50
+
1. Go to the [`BIRDS3 Antenna Panel`](https://github.com/BIRDSOpenSource/BIRDS3-AntennaPanel) Github page and download the `.brd` and `.sch` files.
1.**Overview of CubeSat Onboard Computer (OBC) Systems**
26
-
- Role of the OBC in CubeSat subsystems.
27
-
- Interfaces with payloads, communication, ADCS, and EPS.
54
+
2. Open your PCB designer of choice e.g [KiCad](https://www.kicad.org), [Fusion 360 Electronics](https://www.autodesk.com/products/fusion-360/electronics-engineer), etc.
55
+
3. Open the `.sch` and `.brd` files in the PCB designer.
56
+
57
+
58
+
59
+
4. Export Gerber files via **File → Plot**, and generate drill files via **File → Fabrication Outputs**.
60
+
61
+
> 🔍 Although we use **Fusion 360**, the antenna panel is fully accessible in **KiCad** for open testing.
62
+
>
63
+
> Troubleshooting? Try [working with .brd files guide](https://www.linkedin.com/pulse/guide-working-brd-files-best-practices-insights-shirley-leung-a3llc/).
64
+
>
65
+
> You can view the file online [here first](https://www.altium365.com/viewer/).
66
+
67
+
---
28
68
29
-
2.**Evolution of OBC Design in BIRDS Projects**
30
-
- Lessons learned from BIRDS-X, BIRDS-5, and BIRDS-4 OBC designs.
31
-
- Comparisons of architectures and technologies used.
69
+
## 4. Open the Bill of Materials (BOM)
32
70
33
-
## Introduction
34
-
{:toc}
35
-
This guide provides foundational knowledge of CubeSat system architecture and software, tailored for new OBC team members.
71
+
You can find the OBC parts list (`OBC_BOM.xlsx`) in the hardware repo.
36
72
73
+
- It includes current and obsolete components.
74
+
- We’re developing a **solution mapping sheet** that suggests updated, drop-in replacements.
37
75
38
-
## Role and Responsibilities of the OBC Team
39
-
{:toc}
40
-
The Onboard Computer (OBC) serves as the CubeSat’s central command center, coordinating subsystems, managing mission-critical tasks, and ensuring seamless data flow throughout the satellite.
41
-
- It processes attitude data from the Attitude Determination and Control System (ADCS) and issues control commands to maintain and adjust the CubeSat’s orientation.
42
-
- The OBC is responsible for controlling deployment mechanisms, including antennas and burner circuits for solar panel deployment, ensuring the satellite’s functionality post-launch.
43
-
- It manages power line regulation and protection by controlling Digital Input/Outputs (DIOs) and Overcurrent Protection Systems (OCPS) and
44
-
- handles connections to communication transceivers to facilitate telemetry, command, and mission data exchange between the CubeSat and the ground station.
76
+
> 🔄 This is a living document. If you find alternatives, please submit a pull request or open an issue.
77
+
78
+
---
79
+
80
+
## 5. Explore the Firmware
81
+
82
+
Explore the structure of the PIC firmware in the `OBC-Firmware` repo.
83
+
84
+
- Each subsystem has its own folder.
85
+
- Code comments and function headers guide you through main functionalities.
86
+
- The [Software Developers Manual (in development)](https://github.com/BIRDSOpenSource/docs/blob/main/software_manual.md) will help clarify more advanced logic.
87
+
88
+
---
89
+
90
+
## 6. Build and Flash the PIC Microcontroller
91
+
92
+
You will need:
93
+
94
+
- MPLAB IPE v6.00 or later (Free to download from Microchip)
95
+
- PICkit 3.5 debugger/programmer (since PICkit 3 is obsolete)
96
+
- HEX firmware file (typically in the `dist/` folder)
97
+
98
+
### Flashing Steps:
99
+
100
+
1. Open **MPLAB IPE** and select your device (e.g., PIC18F series).
101
+
2. Choose the PICkit 3.5 as your tool.
102
+
3. Browse for your `.hex` file.
103
+
4. Click *"Connect"*, then *"Program"*.
104
+
105
+
> 🛑 Always verify power and orientation before flashing to avoid damaging your board.
106
+
107
+
---
108
+
109
+
## 7. Troubleshooting Tips
110
+
111
+
- If MPLAB fails to connect: check USB cable, driver, and power source.
112
+
- Ensure that the MCU is not in reset mode or receiving unstable power.
113
+
- Cross-check your configuration bits (sometimes mismatches cause boot issues).
114
+
- Check if a watchdog timer is unintentionally enabled.
115
+
116
+
---
117
+
118
+
## ✅ Getting Started Checklist
119
+
120
+
-[ ] Clone the OBC repositories
121
+
-[ ] Open the schematics in Fusion 360 Electronics
122
+
-[ ] Review and explore the firmware repository
123
+
-[ ] Test PCB export using antenna panel in KiCad
124
+
-[ ] Review the BOM and suggest replacements if possible
125
+
-[ ] Flash the MCU using MPLAB IPE + PICkit 3.5
126
+
-[ ] Browse the troubleshooting section and keep notes of your setup
127
+
128
+
---
45
129
46
-
Additionally, the OBC oversees mission routing, ensuring that tasks like data acquisition, storage, and downlink operations occur according to mission schedules, making it an indispensable component of CubeSat operations.
130
+
> 💡 Need help or want to contribute improvements to this guide? Join the discussion on [GitHub Discussions](https://github.com/orgs/BIRDSOpenSource/discussions).
Copy file name to clipboardExpand all lines: obc-members/obc-page.md
+70-1Lines changed: 70 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,9 @@ The On-Board Computer (OBC) is the central processing unit of a CubeSat, respons
16
16
17
17
This is the OBC used in BIRDS 3 and 4. It has three microcontrollers: Main, Reset and Com, all 8 bit PICs. The Main PIC is a PIC18F67J94 and the Reset and Com PICs are PIC16F1789. They are connected as showed in the following diagram:
*A visual representation of the OBC's architecture, showing its connections to other subsystems such as power, communication, and payload.*
@@ -29,8 +31,75 @@ For the documentation and files related to the OBC itself, please see [**this re
29
31
30
32
If you want to purchase the commercial version of FAB/OBC/EPS, please contact SAGAMI Electronics Industry Ltd.
31
33
The contact address is **takei@sagami-net.co.jp**.
34
+
32
35
---
33
36
37
+
## OBC Board Block Diagram (includes Start PIC)
38
+
{:toc}
39
+
40
+
```mermaid
41
+
flowchart LR
42
+
43
+
subgraph Power_Lines
44
+
RAW[RAW POWER]
45
+
DCDC1[DC/DC → 3.3V #1]
46
+
DCDC2[DC/DC → 3.3V #2]
47
+
DCDC3[DC/DC → 5.0V]
48
+
DCDC4[DC/DC → Unreg #1]
49
+
DCDC5[DC/DC → Unreg #2]
50
+
RAW --> DCDC1 --> MAIN_PIC
51
+
RAW --> DCDC2 --> COM_PIC
52
+
RAW --> DCDC3 --> RESET_PIC
53
+
RAW --> DCDC4 --> START_PIC
54
+
RAW --> DCDC5 --> BURNER
55
+
end
56
+
57
+
subgraph OBC_Module
58
+
MAIN_PIC[MAIN PIC]
59
+
COM_PIC[COM PIC]
60
+
RESET_PIC[RESET PIC]
61
+
START_PIC[START PIC]
62
+
MAIN_FM[MAIN FM]
63
+
COM_FM[Shared COM FM]
64
+
MSN_FM[Shared MSN FM]
65
+
MUX1[MUX 1]
66
+
MUX2[MUX 2]
67
+
end
68
+
69
+
MAIN_PIC -- SPI --> MUX1
70
+
MUX1 -- SPI --> MAIN_FM
71
+
72
+
COM_PIC -- SPI --> MUX2
73
+
MUX2 -- SPI --> COM_FM
74
+
75
+
MAIN_PIC -- UART --> COM_PIC
76
+
MAIN_PIC -- UART --> RESET_PIC
77
+
COM_PIC -- UART --> START_PIC
78
+
RESET_PIC -- UART --> START_PIC
79
+
80
+
MAIN_PIC -- SPI --> MSN_FM
81
+
COM_PIC -- UART --> OLD_TRX
82
+
COM_PIC -- UART --> NEW_TRX
83
+
84
+
subgraph External_Components
85
+
CPLD[CPLD]
86
+
FAB_PIC[FAB PIC]
87
+
MSN_BOSS[MSN BOSS]
88
+
BURNER[BURNER CCT]
89
+
UHF[UHF TRX]
90
+
OLD_TRX[OLD TRX - ADDNICS]
91
+
NEW_TRX[NEW TRX]
92
+
end
93
+
94
+
MSN_BOSS -- UART --> MAIN_PIC
95
+
CPLD -- UART --> MSN_BOSS
96
+
FAB_PIC -- UART --> MAIN_PIC
97
+
MAIN_PIC -- UART --> BURNER
98
+
BURNER -- Power --> UHF
99
+
```
100
+
101
+
---
102
+
34
103
## Background
35
104
36
105
The design of the OBC in the BIRDS bus is influenced by the need for a reliable and efficient computing system that can operate within the constraints of a CubeSat. Historically, CubeSats have relied on commercial off-the-shelf (COTS) components to reduce costs and development time. However, the harsh conditions of space, including radiation and extreme temperatures, require components that are both durable and energy-efficient. The PIC microcontroller was chosen for its proven performance in space applications and its ability to meet these stringent requirements.
0 commit comments