💻 BIRDS Software Guide
This guide walks you through the software that powers BIRDS CubeSats — from low-level microcontroller code to high-level mission logic.
You’ll find architecture diagrams, programming conventions, examples, and testing tools that help you work with or build upon the flight software.
🧠 What’s Inside
- Bootloader and initialization routines
- Communication protocols (e.g., AX.25)
- Housekeeping and telemetry handling
- Payload command/control logic
- Sample ground station scripts
🧰 Development Workflow
The BIRDS software follows modular principles to support mission-specific customization while keeping a clean baseline. Key topics include:
- How to set up your development environment
- Coding standards and directory structure
- Simulating subsystems
- Flashing firmware and debugging
📦 Example: See our Hello World example for a minimal startup app.
What tools do we use in development?
- Computer Aided Design (CAD) tools for Design: Fusion 360
- Simulation Tools: Thermal desktop, STK for mission analysis
- Programming Languages: C/C++, Python
- Programming Environment: CCS Compiler, MPLAB IDE
- Communication Protocols: UART, SPI
- Version Control: Git/ [GitHub]
Software Development Guides
Learn how to configure, compile, and flash software onto the system:
- Writing the Board-Specific Software File
- Compiling the Software
- Flashing the Software onto the Microcontroller
Troubleshooting Guides
If you encounter issues, check the troubleshooting guides for solutions:
- Common Assembly Issues and Fixes
- Software Compilation Errors and Debugging
- Flashing and Microcontroller Connection Issues
Additional Resources
For troubleshooting, reference documentation, and best practices, refer to:
If you encounter issues or need further clarification, feel free to reach out to the development team.