You can develop applications for Azure Sphere on Windows 10 Anniversary Update or later, or a Linux machine running Ubuntu 20.04 LTS or 18.04 LTS.
- For Windows, install the Windows SDK. You can use Visual Studio, Visual Studio Code, or the command line to build, deploy, and debug applications on Windows.
- For Linux, install the Linux SDK. You can use Visual Studio Code or the command line to build, deploy, and debug applications on Linux.
The Tutorials walk you through building and deploying your first application. We also provide a samples repo on GitHub that includes sample applications that demonstrate how to program Azure Sphere hardware and use the APIs.
Azure Sphere Application Runtime
The Azure Sphere Application Runtime provides two sets of libraries for high-level application development: the base APIs and the applibs APIs. The base APIs are based on libraries that don't exclusively target Azure Sphere devices, whereas the applibs APIs specifically target Azure Sphere devices. High-level applications built with the Azure Sphere SDK compile and link against these interfaces. These APIs can't be used in real-time capable applications.
|C standard library||POSIX-based C development library.|
|curl library||Transfers data over HTTP/HTTPS.|
|Azure IoT C SDK library||Interacts with an IoT Hub.|
|TLS utilities library||Supports mutual authentication over TLS.|
The header files are installed in the Sysroots\API set\usr\include folders of the Azure Sphere SDK installation directory. See base APIs for documentation.
|ADC||Interacts with analog-to-digital converters (ADCs).|
|Application||Communicates with and controls real-time capable applications.|
|EventLoop||Monitors and dispatches events.|
|GPIO||Interacts with GPIOs (general-purpose input/output).|
|I2C||Interacts with I2C (Inter-Integrated Circuit) bus devices.|
|Log||Logs debug messages that are displayed when you debug an application through the Azure Sphere SDK. Applications do not have stdout or stdin.|
|Networking||Manages network connectivity.|
|Power management||Enables applications to change the device power state.|
|PWM||Interacts with pulse-width modulators (PWMs).|
|RTC||Interacts with the real-time clock (RTC).|
|SPI||Interacts with SPI (Serial Peripheral Interface) devices.|
|Storage||Supports the use of on-device storage.|
|SysEvent||Interacts with system event notifications.|
|UART||Interacts with UARTs (Universal Asynchronous Receiver/Transmitter).|
|WiFiConfig||Manages Wi-Fi network connectivity.|
The header files are installed in the Sysroots\API set\usr\include\applibs folder of the Azure Sphere SDK installation directory. See Azure Sphere application libraries for reference documentation.
The Azure Sphere SDK includes the azsphere command-line tool for managing devices, developing and deploying applications, and working with cloud services.