Using the Nimbus Embedded API

Atmosphere comes equipped with the Nimbus Embedded API that can be used with your project through the Embedded tab’s code editor. Written in C, the Nimbus Embedded API is divided into several types which include the base peripheral drivers, protocol-specific functions, and support for third party hardware drivers such as sensors and external devices.

When an embedded element is added to the AtmStudio canvas, its embedded code is displayed in the code editor. This code can be modified using the Nimbus Embedded API to expand the functionality of your project, with each embedded element corresponds to a driver within the Nimbus API.

Atmo API within the Studio Code Editor

Nimbus Embedded API Drivers

The Nimbus Embedded API’s drivers allow you to interface with low-level hardware, primarily for basic functionality with peripherals such as GPIO, PWM, ADC, I2C, SPI, and UART. These are a set of common APIs that can be found on any Atmosphere supported device. The API was designed and built in a way that makes it portable from processor to processor, and allows you to easily port higher-level drivers and applications from one platform to another.

Select a driver to learn more about the API’s functions and usage:

Driver General Usage
ADC Driver Interacting with ADC functions.
BLE Driver Controlling advanced settings and BLE features such as advertising data, notifications, and GATT characteristics.
Block Driver Used by the file system driver to talk to low-level storage, such as a SPI flash or SD card.
Cellular Driver Used to interact with cellular modules and modems.
Cloud Driver Communicating with Atmosphere, such as sending/receiving data and registering a device.
Core Driver Basic functions within the platform.
Date / Time Driver Keeping track of the date and time.
File System Driver Reading and writing of files.
HTTP Driver Sending HTTP POST/GET requests.
GPIO Driver Interacting with a device’s GPIO pins.
I2C Driver Working with I2C devices.
Interval Driver Registering abilities to execute at a given interval of time.
NFC Driver Writing internal NFC tag.
PWM Driver Interacting with PWM functions.
Ring Buffer Driver Generic data structures.
SPI Driver Working with SPI devices.
TCP Client Driver Connecting and communicating with TCP servers.
TCP Server Driver Connecting and communicating with TCP clients.
UART Driver Communicating over a device’s UART line.
Wi-Fi Driver Controlling a device’s Wi-Fi peripheral.