no-OS

August 4, 2026 · View on GitHub

Build Status

Analog Devices Inc. bare-metal software framework for systems without an operating system.

What is no-OS?

Most of ADI's products are peripherals to a non-ADI digital engine (FPGA, microprocessor, or microcontroller). While there is major work underway on FPGAs (Xilinx and Intel/Altera) and microprocessors (running an operating system like Linux), the efforts on microcontrollers are fragmented due to the diverse nature of the microcontroller market. no-OS provides reference projects for lower-end processors that can't run Linux or aren't running a specific operating system, helping customers use FPGAs/microcontrollers with ADI parts.

It provides:

  • Platform-agnostic device drivers for ADI components that run without an operating system.
  • A hardware abstraction layer so the same driver works across Xilinx, Intel, Maxim, STM32, ADuCM3029, Raspberry Pi Pico and more.
  • Ready-to-build project examples you can flash to supported evaluation boards to get started quickly.

Getting started

New to no-OS? Follow these steps:

  1. Clone the repository:

    git clone https://github.com/analogdevicesinc/no-OS
    
  2. Set up your toolchain and build by following the Build Guide for your platform.

  3. Pick a project from the projects list that matches your evaluation board, then build and flash it.

  4. Explore the drivers you need in the drivers list.

Documentation

Full documentation is hosted at developer.analog.com/docs/no-os:

  • Build Guide — set up your toolchain and build no-OS for your platform.
  • Projects list — ready-to-build example projects, grouped by application area.
  • Drivers list — reference documentation for every no-OS device driver.
  • Drivers guide — how no-OS drivers are structured and how to create or port one.
  • Contributing — submission checklist and coding style for pull requests.

Code documentation is automatically generated using Doxygen and is available in the Doxygen Documentation.

Contributing

Contributions are welcome! Please read the Contributing guide for the submission checklist and coding style before opening a pull request.

Which branch should I use?

  • If you want to use the most stable code base, always use the latest release branch.

  • If you want to use the greatest and latest, check out the main branch.

Support

Feel free to ask any question at EngineerZone.