Skip to content
@Cube-OS

Cube-OS

Cube-OS

Cube-OS is an OpenSource Linux based operating system and framework for CubeSats and other satellites. (based on KubOS)

On this page you find all the repositories you need to run your own satellite.

More Documentation can be found here

Cube-OS SDK

Please follow the instructions provided in the repository to install the Cube-OS SDK

cubeos-dev

Cube-OS framework

cubeos-service

API for Services on Cube-OS. Please read the README file before making your own code.

Cube-OS Payload APIs, Services and Apps + Interactions

Here's an example how to write an API, Service and App for your Payload or Subsystem.

The API describes how the OBC interacts with the payload.

example-api

The Service can be compiled for use on the satellite and as a ground station twin. On the satellite the service allows Apps and the satellite controller on the ground to interact with the payload. The ground station twin enables the communication with the satellite service by translating JSON commands from the command line interface to UDP commands.

example-service

The App enables autonomy on the satellite. During the mission the controller will schedule Apps for execution to run payloads autonomously in orbit.

example-app

The command line interface (CLI) enables the user to send commands and receive telemetry from the satellite.

cli

The WebApp is a graphical version of the CLI.

!!!TODO

Compile your service (requires rust 1.55.0 or above)

As shown above, cubeos-service uses features so the user can decide the use case at compile time.

UDP handling

cargo build

or with cross compiler

OBC: cargo kubos -c build --target kubos-linux-isis-gcc -- --release (requires KubOS SDK)

BBB: cargo kubos -c build --target kubos-linux-beaglebone-gcc -- --release (requires KubOS SDK)

terminal:

cargo build --features terminal

Additionally the UDP handling and terminal features can be combined with debug, e.g.:

cargo build --features debug

cargo build --features terminal,debug

Run a service

To run a service simply transfer the executable to the satellite or ground station to a desired folder (e.g. /home/kubos/) and run:

./executable

This requires a config file /etc/kubos-config.toml. Alternatively run the executable with the -c flag to specify a config file:

./executable -c path/to/config

Troubleshooting

CubeOS uses git ssh URL's for dependencies within the Organisation. Pls make sure to add your to the repository:

start ssh-agent eval `ssh-agent`

add key (in repo) ssh-add ~/.ssh/$your-key

e.g. ssh-add ./.ssh/id_rsa

Pinned Loading

  1. cubeos-service cubeos-service Public

    Rust 1

  2. kubos-linux-build-rpi kubos-linux-build-rpi Public

    Shell 1 1

  3. toolchains toolchains Public

  4. cli cli Public

    Rust

Repositories

Showing 10 of 47 repositories
  • tle_translator Public

    convert the TLE to orbit parameters for CubeADCS update

    Cube-OS/tle_translator’s past year of commit activity
    Python 0 0 0 0 Updated Sep 15, 2024
  • Cube-OS/cuava-beacon-decoder’s past year of commit activity
    Rust 0 Apache-2.0 0 0 0 Updated Aug 21, 2024
  • crates Public
    Cube-OS/crates’s past year of commit activity
    0 0 0 0 Updated Aug 8, 2024
  • Cube-OS/isis-eps-api’s past year of commit activity
    Rust 0 0 0 0 Updated Aug 8, 2024
  • Cube-OS/cubeos-service’s past year of commit activity
    Rust 1 Apache-2.0 0 1 3 Updated Aug 7, 2024
  • Cube-OS/terminal-macro’s past year of commit activity
    Rust 0 0 0 0 Updated Aug 7, 2024
  • udp-rs Public
    Cube-OS/udp-rs’s past year of commit activity
    Rust 0 Apache-2.0 0 0 0 Updated Aug 7, 2024
  • Cube-OS/system-api’s past year of commit activity
    Rust 0 Apache-2.0 0 0 5 Updated Aug 7, 2024
  • uart-rs Public
    Cube-OS/uart-rs’s past year of commit activity
    Rust 0 Apache-2.0 0 0 0 Updated Aug 7, 2024
  • Cube-OS/hal-stream’s past year of commit activity
    Rust 0 0 0 0 Updated Aug 7, 2024

Top languages

Loading…

Most used topics

Loading…