Open-source firmware framework for amateur rocketry, targeting ESP32-S3 microcontrollers. Solaris provides reusable sensor drivers and a software architecture built around the Solaris Packet Protocol (SPP), designed so that teams without the time or resources to build their own stack can get flying faster.
| Document | Contents |
|---|---|
| Software Architecture | Repo structure, firmware layers (HAL / SPP), components |
| System Architecture | Remote development setup: WireGuard VPN, VPS, ESP32, VS Code |
| Website | How the project website is hosted and updated |
You need Git to clone the repository. If you don't have it:
| OS | Command |
|---|---|
| Ubuntu / Debian | sudo apt install git |
| Fedora | sudo dnf install git |
| Arch | sudo pacman -S git |
| Windows | Open PowerShell as Administrator → winget install Git.Git → open a new terminal |
| Any OS | Download from git-scm.com |
git clone --recurse-submodules https://github.com/Software-Solaris/solaris-software.git
cd solaris-software
--recurse-submodulesis required — ESP-IDF and the SPP libraries are git submodules. Use HTTPS for this first clone since SSH keys are configured in the next step.
The script installs Docker and VS Code, generates SSH keys, configures Git identity, and sets up everything for the Dev Container. It is safe to run multiple times — it skips anything already done and offers to pull the latest repo changes on subsequent runs.
The script will ask for your name and email and write them to ~/.gitconfig (Linux) or %USERPROFILE%\.gitconfig (Windows):
[user]
name = Your Name
email = [email protected]Linux (Ubuntu / Debian / Fedora / Arch) — run with sudo:
sudo ./scripts/install-linux.shThe script adds your user to the
dockergroup and opens a new session automatically to apply it — no manual logout needed.
Windows — open PowerShell as Administrator:
Set-ExecutionPolicy Bypass -Scope Process -Force
.\scripts\install-windows.ps1The Windows script checks for common issues (virtualisation disabled, insufficient disk space, WSL2 not enabled, missing winget) and gives step-by-step instructions for each. A reboot may be required after enabling WSL2; re-run the script afterwards.
code .VS Code will detect the .devcontainer configuration and prompt:
"Reopen in Container" → click it.
If the prompt does not appear: Ctrl+Shift+P → Dev Containers: Reopen in Container.
Docker builds the image on the first run — this takes a few minutes. Subsequent opens are instant.
Once inside the container, open a terminal (Ctrl+ `):
cd solaris-v1
idf.py buildA successful build produces the firmware binaries under solaris-v1/build/.
Flashing and debugging require access to the remote development station via WireGuard VPN. See System Architecture for the full setup.
| Version | Status | Description |
|---|---|---|
solaris-v0.1 |
Legacy | BMP390 barometer — standalone ESP-IDF driver |
solaris-v0.2 |
Legacy | ICM20948 IMU — standalone ESP-IDF driver |
solaris-v1 |
Active | Combined sensors + SPP v2 bare-metal superloop |
Contributions, ideas and improvements are welcome.
Fork the repository, make your changes on a branch, and open a pull request against main.
Solaris Software License v1.0 — key points:
- Free for personal, educational and amateur rocketry use.
- Commercial use is unconditionally prohibited. No commercial licence exists or will ever be granted. Any profits generated must be paid in full to Team Solaris.
- Military use is unconditionally prohibited.
- All modifications must be published under this same licence (copyleft).
- Academic use (TFG/TFM) is allowed provided the work is public and credits this repository.
See LICENSE.md for the full terms.