Skip to content

Getting Started

This guide will tell you how to compile and flash your firmware.
Make sure you read Configuration first if you want custom functionalities.

Locally

Prerequisites

Install rust: https://www.rust-lang.org/tools/install

shell
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Install probe-rs:

shell
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/probe-rs/probe-rs/releases/latest/download/probe-rs-tools-installer.sh | sh

Clone the main repository:

shell
cd /folder/of/your/choice
git clone https://github.com/orbit-firmware/orbit.git orbit

Compiling

INFO

MY_KEYBOARD should be replaced with the keyboard of your choice.
A full list is available here

if gnu make is installed

shell
cd orbit
make kb=MY_KEYBOARD

or plain script

shell
cd orbit
cargo install cargo-play # only required once

cargo play ./orbit/build.rs -- MY_KEYBOARD
cd build
cargo objcopy --release -- -O binary ../firmware.bin
cargo objcopy --release -- -O ihex ../firmware.hex

This produces firmware.hex/bin in the orbit directory.

Flashing

INFO

MY_KEYBOARD should be replaced with the keyboard of your choice.
A full list is available here

if gnu make is installed

shell
cd orbit
make flash kb=MY_KEYBOARD
# optionally pass the debug feature if you want to debug via st-link or j-link
make flash kb=MY_KEYBOARD features="debug"

or plain script

shell
cd orbit
cargo install cargo-play # only required once
cargo install cargo-embed # only required once

cargo play ./orbit/build.rs -- MY_KEYBOARD
cd build
cargo embed

# optionally pass the debug feature if you want to debug via st-link or j-link
cargo embed --features debug

Locally (Docker)

You can also use docker to produce the firmware files.
This allows you to not intstall any tools (except docker itself) on your harddrive.

To install docker, visit https://www.docker.com/.

if gnu make is installed

shell
cd orbit

# creates container and connects to docker tty
make docker

# once conencted to the docker container
make kb=MY_KEYBOARD

or plain script

shell
cd orbit/docker

# creates container and connects to docker tty
docker-compose up -d
docker exec -it orbit bash

# once conencted to the docker container
make kb=MY_KEYBOARD

This produces firmware.hex/bin in the orbit directory.

Github Actions

Github actions allow you to remotely compile the firmware,
without even needing anyhing on ur computer.
Though you have to fork the user repository.

More Information can be found inside the repository.