SlideShare a Scribd company logo
1 of 20
Download to read offline
1
TOPIC
Connect a chips to
Azure
A journary around the Azure SDK for small
device (bare metal)
Microsoft MVP Windows Developer
Mirco Vanini
Thanks for collaboration
Who I am
@MircoVanini
https://github.com/MircoVanini
https://www.linkedin.com/in/proxsoft/
Mirco Vanini
Microsoft MVP Windows Developer
Agenda
• MCU/CPU
• Azure IoT SDKs
• Azure SDK for Embedded C
• Tools
• Demo
MCU, CPU, what’s the difference?
A Micro Controller Unit (MCU) is a small processor, usually a
synonym for low power consumption, and small size. Modern ones
like STM32F7, ESP32, TI CC1352R are ARM Cortex M based,
embedding few hundreds of kilobytes of RAM, small flash and a
decent few hundred million of hertz clock cadence.
A Central Processing Unit (CPU) is a larger processor, in this category,
you’ll find all the traditional x86, x64, but as well other ARM
processors like the one used in Raspberry Pi.
Azure IoT products and services
Microsoft Azure IoT SDKs
Azure IoT SDK for Python
Azure IoT SDK for Node.js
Azure IoT SDK for Java
Azure IoT SDK for .NET
Azure IoT SDK for C
Azure IoT SDK for Embedded C
Azure IoT middleware for Azure RTOS
Azure IoT middleware for FreeRTOS
Azure IoT C SDKs
The Azure IOT Hub Device SDK allows applications written in C99 or later or
C++ to communicate easily with Azure IoT Hub, Azure IoT Central and
to Azure IoT Device Provisioning.
Support Azure IoT TLS over TCP/IP
Support SHA-256 (optional): necessary to generate the secure token for authenticating the
device with the service. Different authentication methods are available and not all require SHA-
256.
Have a Real Time Clock or implement code to connect to an NTP server: necessary for both
establishing the TLS connection and generating the secure token for authentication.
Having at least 64KB of RAM: the memory footprint of the SDK depends on the SDK and
protocol used as well as the platform targeted. The smallest footprint is achieved targeting
microcontrollers.
Azure IoT C SDKs
Azure IoT SDK for Embedded C is an alternative for constrained devices which enables
the BYO (bring your own) network approach: IoT developers have the freedom of choice
to bring MQTT client, TLS and Socket of their choice to create a device solution.
Azure IoT middleware for Azure RTOS builds on top of the embedded SDK and tightly
couples with the Azure RTOS family of networking and OS products. This gives you very
performant and small applications for real-time, constrained devices.
Azure IoT middleware for FreeRTOS builds on top of the embedded SDK and takes care
of the MQTT stack while integrating with FreeRTOS. This maintains the focus on
constrained devices and gives users a distilled Azure IoT feature set while allowing for
flexibility with their networking stack.
Azure IoT C SDK
Application Code
Embedded C SDK
MQTT
TLS
Socket
• Telemetry
• CDC messages
• Device Twin
• Direct Methods
• Device Provisioning
The core implementation of the SDK
is IoTHubClient library that contains the
implementation of the lowest API layer in the
SDK. The library depends on other open-
source libraries:
The Azure C shared utility library, which
provides common functionality for basic tasks
(such as strings, list manipulation, and IO)
needed across several Azure-related C SDKs.
The Azure uAMQP library, which is a client-
side implementation of AMQP optimized for
resource constrained devices.
The Azure uMQTT library, which is a general-
purpose library implementing the MQTT
protocol and optimized for resource
constrained devices.
Azure SDK for Embedded C – Design philosophy.
Optimize for size
Customer choice
No dynamic memory
Full embrace MQTT
BYO Network stack
Our “Everywhere SDK*”
*on any device that can connect to a network
Azure SDK for Embedded C – IoT client libraries.
The Azure IoT Client library is created
to facilitate connectivity to Azure IoT
services alongside an MQTT and TLS
stack of the user's choice.
This means that this SDK is NOT a
platform but instead is a true SDK
library.
From a functional perspective, this
means that the user's application code
(not the SDK) calls directly to the
MQTT stack of their choice.
The SDK provides utilities (functions,
default values, etc.) that help make the
connection and feature set easier to
use.
Communicate with your IoT hub using the MQTT protocol
Azure IoT Client MQTT State Machine
Azure SDK for Embedded C – Key Features
platformio.org
Professional collaborative platform for embedded
development
• A lightweight but powerful cross-platform source code editor
• Smart code completions based on variable types, function
definitions, and library dependencies
• Multi-projects workflow with easy navigation around project
codebase, multiple panes, and themes support
• Seamless integration with PlatformIO Home (UI) with board and
library managers
• Intuitive project wizard and a wide range of example projects
• Built-in Terminal with PlatformIO Core (CLI) and powerful Serial
Port Monitor
ESP32-DevKitC
ESP-Prog
ESP-Prog is one of Espressif’s development and
debugging tools, with functions including automatic
firmware downloading, serial communication, and
JTAG online debugging. ESP-Prog’s automatic
firmware downloading and serial communication
functions are supported on both the ESP8266 and
ESP32 platforms, while the JTAG online debugging is
supported only on the ESP32 platform
Ultrasonic Ranging Module HC – SR04
Stepper Motor 5V 4-Phase 5-Wire & ULN2003 Driver Board
DEMO
Thanks
Questions?
https://github.com/MircoVanini @MircoVanini https://www.linkedin.com/in/proxsoft/
Microsoft MVP Windows Developer

More Related Content

Similar to Connect a chips to Azure

Similar to Connect a chips to Azure (20)

IoT Device Fleet Management: Create a Robust Solution with Azure
IoT Device Fleet Management: Create a Robust Solution with AzureIoT Device Fleet Management: Create a Robust Solution with Azure
IoT Device Fleet Management: Create a Robust Solution with Azure
 
Are you ready for Microsoft Azure Sphere?
Are you ready for Microsoft Azure Sphere?Are you ready for Microsoft Azure Sphere?
Are you ready for Microsoft Azure Sphere?
 
Global Azure boot camp 2015 - Microsoft IoT Solutions with Azure
Global Azure boot camp 2015 - Microsoft IoT Solutions with AzureGlobal Azure boot camp 2015 - Microsoft IoT Solutions with Azure
Global Azure boot camp 2015 - Microsoft IoT Solutions with Azure
 
Machine to Machine Communication with Microsoft Azure IoT Edge & HiveMQ
Machine to Machine Communication with Microsoft Azure IoT Edge & HiveMQMachine to Machine Communication with Microsoft Azure IoT Edge & HiveMQ
Machine to Machine Communication with Microsoft Azure IoT Edge & HiveMQ
 
From IoT Central to IoT Hub
From IoT Central to IoT HubFrom IoT Central to IoT Hub
From IoT Central to IoT Hub
 
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
 
C# on a CHIPs
C# on a CHIPsC# on a CHIPs
C# on a CHIPs
 
Internet of things (IoT) with Azure
Internet of things (IoT) with AzureInternet of things (IoT) with Azure
Internet of things (IoT) with Azure
 
Io t solutions world congress 2018 review Henk Jan van Wijk Conclusion Connect
Io t solutions world congress 2018 review Henk Jan van Wijk  Conclusion Connect Io t solutions world congress 2018 review Henk Jan van Wijk  Conclusion Connect
Io t solutions world congress 2018 review Henk Jan van Wijk Conclusion Connect
 
RIOT: towards open source, secure DevOps on microcontroller-based IoT
RIOT: towards open source, secure DevOps on microcontroller-based IoTRIOT: towards open source, secure DevOps on microcontroller-based IoT
RIOT: towards open source, secure DevOps on microcontroller-based IoT
 
#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...
#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...
#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...
 
IoTSummit: Design and architect always disconnected iot system
IoTSummit: Design and architect always disconnected iot systemIoTSummit: Design and architect always disconnected iot system
IoTSummit: Design and architect always disconnected iot system
 
Christchurch Embedded .NET User Group - Introduction to Microsoft Embedded pl...
Christchurch Embedded .NET User Group - Introduction to Microsoft Embedded pl...Christchurch Embedded .NET User Group - Introduction to Microsoft Embedded pl...
Christchurch Embedded .NET User Group - Introduction to Microsoft Embedded pl...
 
IoT Day - Introducing Azure Sphere
IoT Day -  Introducing Azure SphereIoT Day -  Introducing Azure Sphere
IoT Day - Introducing Azure Sphere
 
IoT on azure
IoT on azureIoT on azure
IoT on azure
 
Developing IoT Applications Using Intel® System Studio | Eclipse IoT Day Sant...
Developing IoT Applications Using Intel® System Studio | Eclipse IoT Day Sant...Developing IoT Applications Using Intel® System Studio | Eclipse IoT Day Sant...
Developing IoT Applications Using Intel® System Studio | Eclipse IoT Day Sant...
 
Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux – Unified IoT Pl...
Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux –  Unified IoT Pl...Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux –  Unified IoT Pl...
Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux – Unified IoT Pl...
 
Qt Oss to Commercial 2019-09-10
Qt Oss to Commercial 2019-09-10Qt Oss to Commercial 2019-09-10
Qt Oss to Commercial 2019-09-10
 
Integration of Things (Sam Vanhoutte @Iglooconf 2017)
Integration of Things (Sam Vanhoutte @Iglooconf 2017) Integration of Things (Sam Vanhoutte @Iglooconf 2017)
Integration of Things (Sam Vanhoutte @Iglooconf 2017)
 
Sa*ple
Sa*pleSa*ple
Sa*ple
 

More from Mirco Vanini

More from Mirco Vanini (20)

.NET 7 Performance Improvements_10_03_2023.pdf
.NET 7 Performance Improvements_10_03_2023.pdf.NET 7 Performance Improvements_10_03_2023.pdf
.NET 7 Performance Improvements_10_03_2023.pdf
 
Debugging a .NET program after crash (Post-mortem debugging)
Debugging a .NET program after crash (Post-mortem debugging)Debugging a .NET program after crash (Post-mortem debugging)
Debugging a .NET program after crash (Post-mortem debugging)
 
How to modernise WPF and Windows Forms applications with Windows Apps SDK
How to modernise WPF and Windows Forms applications with Windows Apps SDKHow to modernise WPF and Windows Forms applications with Windows Apps SDK
How to modernise WPF and Windows Forms applications with Windows Apps SDK
 
.NET Conf 2021 - Hot Topics Desktop Development
.NET Conf 2021 - Hot Topics Desktop Development.NET Conf 2021 - Hot Topics Desktop Development
.NET Conf 2021 - Hot Topics Desktop Development
 
Async Debugging A Practical Guide to survive !
Async Debugging A Practical Guide to survive !Async Debugging A Practical Guide to survive !
Async Debugging A Practical Guide to survive !
 
IoT support for .NET (Core/5/6)
IoT support for .NET (Core/5/6)IoT support for .NET (Core/5/6)
IoT support for .NET (Core/5/6)
 
Async Debugging - A Practical Guide to survive !
Async Debugging - A Practical Guide to survive !Async Debugging - A Practical Guide to survive !
Async Debugging - A Practical Guide to survive !
 
IoT support for .NET Core
IoT support for .NET CoreIoT support for .NET Core
IoT support for .NET Core
 
IoT support for .NET Core - IoT Saturday 2020
IoT support for .NET Core - IoT Saturday 2020IoT support for .NET Core - IoT Saturday 2020
IoT support for .NET Core - IoT Saturday 2020
 
.NET Conf 2020 - Hot Topics Desktop Development
.NET Conf 2020 - Hot Topics Desktop Development.NET Conf 2020 - Hot Topics Desktop Development
.NET Conf 2020 - Hot Topics Desktop Development
 
IoT Day 2019 Naples - Microsoft Azure Shpere
IoT Day 2019 Naples - Microsoft Azure ShpereIoT Day 2019 Naples - Microsoft Azure Shpere
IoT Day 2019 Naples - Microsoft Azure Shpere
 
Debugging with VS2019
Debugging with VS2019Debugging with VS2019
Debugging with VS2019
 
Azure Sphere
Azure SphereAzure Sphere
Azure Sphere
 
Optimising code using Span<T>
Optimising code using Span<T>Optimising code using Span<T>
Optimising code using Span<T>
 
Azure Sphere
Azure SphereAzure Sphere
Azure Sphere
 
Xe OneDay - Modernizing Enterprise Apps
Xe OneDay - Modernizing Enterprise AppsXe OneDay - Modernizing Enterprise Apps
Xe OneDay - Modernizing Enterprise Apps
 
Introducing Azure Sphere
Introducing Azure SphereIntroducing Azure Sphere
Introducing Azure Sphere
 
Debugger Tips and Tricks for .Net developers with Microsoft Visual Studio 2017
Debugger Tips and Tricks for .Net developers with Microsoft Visual Studio 2017 Debugger Tips and Tricks for .Net developers with Microsoft Visual Studio 2017
Debugger Tips and Tricks for .Net developers with Microsoft Visual Studio 2017
 
Xe One Day - Adaptive Code
Xe One Day - Adaptive CodeXe One Day - Adaptive Code
Xe One Day - Adaptive Code
 
Debugging Performance Issues Using Visual Studio
Debugging Performance Issues Using Visual StudioDebugging Performance Issues Using Visual Studio
Debugging Performance Issues Using Visual Studio
 

Recently uploaded

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 

Recently uploaded (20)

%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 

Connect a chips to Azure

  • 1. 1 TOPIC Connect a chips to Azure A journary around the Azure SDK for small device (bare metal) Microsoft MVP Windows Developer Mirco Vanini
  • 4. Agenda • MCU/CPU • Azure IoT SDKs • Azure SDK for Embedded C • Tools • Demo
  • 5. MCU, CPU, what’s the difference? A Micro Controller Unit (MCU) is a small processor, usually a synonym for low power consumption, and small size. Modern ones like STM32F7, ESP32, TI CC1352R are ARM Cortex M based, embedding few hundreds of kilobytes of RAM, small flash and a decent few hundred million of hertz clock cadence. A Central Processing Unit (CPU) is a larger processor, in this category, you’ll find all the traditional x86, x64, but as well other ARM processors like the one used in Raspberry Pi.
  • 6. Azure IoT products and services
  • 7. Microsoft Azure IoT SDKs Azure IoT SDK for Python Azure IoT SDK for Node.js Azure IoT SDK for Java Azure IoT SDK for .NET Azure IoT SDK for C Azure IoT SDK for Embedded C Azure IoT middleware for Azure RTOS Azure IoT middleware for FreeRTOS
  • 8. Azure IoT C SDKs The Azure IOT Hub Device SDK allows applications written in C99 or later or C++ to communicate easily with Azure IoT Hub, Azure IoT Central and to Azure IoT Device Provisioning. Support Azure IoT TLS over TCP/IP Support SHA-256 (optional): necessary to generate the secure token for authenticating the device with the service. Different authentication methods are available and not all require SHA- 256. Have a Real Time Clock or implement code to connect to an NTP server: necessary for both establishing the TLS connection and generating the secure token for authentication. Having at least 64KB of RAM: the memory footprint of the SDK depends on the SDK and protocol used as well as the platform targeted. The smallest footprint is achieved targeting microcontrollers.
  • 9. Azure IoT C SDKs Azure IoT SDK for Embedded C is an alternative for constrained devices which enables the BYO (bring your own) network approach: IoT developers have the freedom of choice to bring MQTT client, TLS and Socket of their choice to create a device solution. Azure IoT middleware for Azure RTOS builds on top of the embedded SDK and tightly couples with the Azure RTOS family of networking and OS products. This gives you very performant and small applications for real-time, constrained devices. Azure IoT middleware for FreeRTOS builds on top of the embedded SDK and takes care of the MQTT stack while integrating with FreeRTOS. This maintains the focus on constrained devices and gives users a distilled Azure IoT feature set while allowing for flexibility with their networking stack.
  • 10. Azure IoT C SDK Application Code Embedded C SDK MQTT TLS Socket • Telemetry • CDC messages • Device Twin • Direct Methods • Device Provisioning The core implementation of the SDK is IoTHubClient library that contains the implementation of the lowest API layer in the SDK. The library depends on other open- source libraries: The Azure C shared utility library, which provides common functionality for basic tasks (such as strings, list manipulation, and IO) needed across several Azure-related C SDKs. The Azure uAMQP library, which is a client- side implementation of AMQP optimized for resource constrained devices. The Azure uMQTT library, which is a general- purpose library implementing the MQTT protocol and optimized for resource constrained devices.
  • 11. Azure SDK for Embedded C – Design philosophy. Optimize for size Customer choice No dynamic memory Full embrace MQTT BYO Network stack Our “Everywhere SDK*” *on any device that can connect to a network
  • 12. Azure SDK for Embedded C – IoT client libraries. The Azure IoT Client library is created to facilitate connectivity to Azure IoT services alongside an MQTT and TLS stack of the user's choice. This means that this SDK is NOT a platform but instead is a true SDK library. From a functional perspective, this means that the user's application code (not the SDK) calls directly to the MQTT stack of their choice. The SDK provides utilities (functions, default values, etc.) that help make the connection and feature set easier to use. Communicate with your IoT hub using the MQTT protocol Azure IoT Client MQTT State Machine
  • 13. Azure SDK for Embedded C – Key Features
  • 14. platformio.org Professional collaborative platform for embedded development • A lightweight but powerful cross-platform source code editor • Smart code completions based on variable types, function definitions, and library dependencies • Multi-projects workflow with easy navigation around project codebase, multiple panes, and themes support • Seamless integration with PlatformIO Home (UI) with board and library managers • Intuitive project wizard and a wide range of example projects • Built-in Terminal with PlatformIO Core (CLI) and powerful Serial Port Monitor
  • 16. ESP-Prog ESP-Prog is one of Espressif’s development and debugging tools, with functions including automatic firmware downloading, serial communication, and JTAG online debugging. ESP-Prog’s automatic firmware downloading and serial communication functions are supported on both the ESP8266 and ESP32 platforms, while the JTAG online debugging is supported only on the ESP32 platform
  • 18. Stepper Motor 5V 4-Phase 5-Wire & ULN2003 Driver Board
  • 19. DEMO