NOS3 Open Source comes packaged with hardware specific applications that can be used if the hardware meets the needs of a mission. As an example, the novatel_oem615 application is provided to communicate with a Novatel OEM615 over UART.

Also provided is an IO driver API which is the main method to communicate between I2C, UART, and SPI devices within NOS3. The HWLIB contains both the APIs, and the NOS3 specific implementation of the APIs to communicate with the Hardware simulators.

When building for specific flight computer targets, a new API implementations can be added with a simple CMAKE change.

Generic Fixes:

  • Some applications still used the old location for tables "cf/apps/.tbl", this is changed to "cf/.tbl in all relevant locations
  • Added the cfe table build macros to CMakeLists where needed

├── ~/nos3/

|   ├── /fsw

|   |   ├── /components

|   |   |   ├── /arducam

|   |   |   ├── /clyde_eps

|   |   |   ├── /generic_reaction_wheel

|   |   |   ├── /hwlib

|   |   |   |   ├── fsw

|   |   |   |   ├── sim

|   |   |   ├── /novatel_oem615

|   |   |   ├── /sample

|   |   |   ├── ComponentSettings.cmake

|   |   └── ... 


An overview of what each of these does:

File / DirectoryDescription


This repository contains the ArduCAM cFS application.


This repository contains the Clyde Space cFS application.


This repository contains the generic reaction wheel cFS application.


This Repository contains device driver libraries to support hardware applications.


Device specific drivers for hardware command and telemetry, and IO driver APIs


NOS3 IO driver implementation


This repository contains the NovAtel OEM 615 cFS application.


This repository contains the Sample cFS application.


CMAKE build file