Using the Atmo API

Atmosphere comes equipped with the Atmo API that can be used with your project through the Embedded tab’s code editor. Written in C, the Atmo 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 Studio canvas, its embedded code is displayed in the code editor. This code can be modified using the Atmo API to expand the functionality of your project, with each embedded element corresponds to a driver within the Atmo API.

Atmo API within the Studio Code Editor

Atmo API Drivers

The Atmo 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.