Stufin
Home Quick Cart Profile

MXChip Microsoft Azure IoT Developer Kit

Buy Now on Stufin

The MXChip Microsoft Azure IoT Developer Kit offers a range of features that make it an ideal choice for IoT development

  • Hardware Components:

STM32F413 microcontroller

Wi-Fi and Ethernet connectivity options

USB, UART, and SPI interfaces

Grove connectors for sensor integration

Onboard sensors

temperature, humidity, pressure, and ambient light

Support for external sensors and peripherals

  • Software Development Kit (SDK):

Microsoft Azure IoT SDK for C and Python

Support for Azure IoT Hub, IoT Edge, and Machine Learning services

Compatibility with Visual Studio Code and other development environments

  • Cloud Integration:

Seamless integration with Microsoft Azure IoT services

Support for Azure IoT Hub, IoT Edge, and Machine Learning

Real-time data processing and analytics capabilities

  • Security Features:

Secure boot mechanism

Authentication and authorization protocols

Support for SSL/TLS encryption

  • Development Tools and Resources:

Azure IoT Workbench

a visual interface for IoT project development

Azure IoT Device Explorer

a tool for device management and monitoring

Tutorials, samples, and documentation for rapid development and deployment

Benefits

  • Rapid Prototyping: Quickly develop and test IoT projects with a comprehensive development board and SDK.
  • Seamless Cloud Integration: Leverage the power of Microsoft Azure IoT services for scalable and secure IoT deployments.
  • Advanced Analytics and Machine Learning: Unlock insights from IoT data with real-time analytics and machine learning capabilities.
  • Enterprise-Grade Security: Ensure the security and integrity of IoT data with built-in security features and protocols.
The MXChip Microsoft Azure IoT Developer Kit offers several benefits for developers, including

Target Audience

The MXChip Microsoft Azure IoT Developer Kit is suitable for

  • IoT Developers: Build and deploy IoT projects with ease, leveraging the kit's comprehensive features and Azure IoT services.
  • Enterprise Developers: Develop and deploy scalable, secure, and manageable IoT solutions with Azure IoT services.
  • Students and Hobbyists: Learn and experiment with IoT development using a comprehensive and affordable kit.

Pin Configuration

  • MXChip Microsoft Azure IoT Developer Kit Pinout Guide
  • The MXChip Microsoft Azure IoT Developer Kit is a versatile development board designed for creating IoT projects. It features a range of pins that provide access to various peripherals, interfaces, and sensors. Here's a detailed explanation of each pin, point by point:
  • Microcontroller Pins
  • 1. VIN (Pin 1): Input voltage pin, accepts 5V supply.
  • 2. GND (Pin 2): Ground pin, connected to the system ground.
  • 3. RST (Pin 3): Reset pin, active low. Connect to a button or a reset circuit to reset the microcontroller.
  • 4. 3V3 (Pin 4): 3.3V power output pin, regulated from the input voltage.
  • 5. D13 (Pin 5): Digital pin 13, can be used for digital input/output or as a PWM output.
  • 6. D12 (Pin 6): Digital pin 12, can be used for digital input/output or as a PWM output.
  • 7. D11 (Pin 7): Digital pin 11, can be used for digital input/output or as a PWM output.
  • 8. D10 (Pin 8): Digital pin 10, can be used for digital input/output or as a PWM output.
  • 9. D9 (Pin 9): Digital pin 9, can be used for digital input/output or as a PWM output.
  • 10. D8 (Pin 10): Digital pin 8, can be used for digital input/output or as a PWM output.
  • 11. D7 (Pin 11): Digital pin 7, can be used for digital input/output or as a PWM output.
  • 12. D6 (Pin 12): Digital pin 6, can be used for digital input/output or as a PWM output.
  • 13. D5 (Pin 13): Digital pin 5, can be used for digital input/output or as a PWM output.
  • 14. D4 (Pin 14): Digital pin 4, can be used for digital input/output or as a PWM output.
  • 15. D3 (Pin 15): Digital pin 3, can be used for digital input/output or as a PWM output.
  • 16. D2 (Pin 16): Digital pin 2, can be used for digital input/output or as a PWM output.
  • 17. D1 (Pin 17): Digital pin 1, can be used for digital input/output or as a PWM output.
  • 18. D0 (Pin 18): Digital pin 0, can be used for digital input/output or as a PWM output.
  • Communication and Interface Pins
  • 19. TX (Pin 19): UART serial transmission pin.
  • 20. RX (Pin 20): UART serial reception pin.
  • 21. SCL (Pin 21): I2C clock pin.
  • 22. SDA (Pin 22): I2C data pin.
  • 23. SCK (Pin 23): SPI clock pin.
  • 24. MOSI (Pin 24): SPI master output slave input pin.
  • 25. MISO (Pin 25): SPI master input slave output pin.
  • 26. CS (Pin 26): SPI chip select pin.
  • Analog Pins
  • 27. A0 (Pin 27): Analog input pin 0.
  • 28. A1 (Pin 28): Analog input pin 1.
  • 29. A2 (Pin 29): Analog input pin 2.
  • 30. A3 (Pin 30): Analog input pin 3.
  • 31. A4 (Pin 31): Analog input pin 4.
  • 32. A5 (Pin 32): Analog input pin 5.
  • Sensor and Module Pins
  • 33. Temp (Pin 33): Temperature sensor pin (connected to a TMP102 temperature sensor).
  • 34. Lux (Pin 34): Ambient light sensor pin (connected to a BH1750 light sensor).
  • 35. Hum (Pin 35): Humidity sensor pin (connected to a HTS221 humidity sensor).
  • 36. Acc (Pin 36): Accelerometer pin (connected to a STMicroelectronics LIS2DH12 accelerometer).
  • 37. MIC (Pin 37): Microphone pin (connected to a Knowles SPH1642HT5H microphone).
  • Power Management Pins
  • 38. VBAT (Pin 38): Battery voltage pin, connected to the battery connector.
  • 39. VUSB (Pin 39): USB voltage pin, connected to the USB connector.
  • JTAG and Debug Pins
  • 40. JTMS (Pin 40): JTAG test mode select pin.
  • 41. JTCK (Pin 41): JTAG test clock pin.
  • 42. JTDI (Pin 42): JTAG test data in pin.
  • 43. JTDO (Pin 43): JTAG test data out pin.
  • 44. NRST (Pin 44): JTAG reset pin.
  • Miscellaneous Pins
  • 45. SWDIO (Pin 45): Serial wire debug I/O pin.
  • 46. SWCLK (Pin 46): Serial wire debug clock pin.
  • Connecting the Pins
  • When connecting the pins, ensure that you:
  • Use a breadboard or a PCB to connect components and modules.
  • Use jumper wires or ribbon cables to connect pins to components or modules.
  • Connect GND pins to the system ground to prevent voltage differences.
  • Connect VCC pins to the power source (5V or 3.3V) accordingly.
  • Use pull-up or pull-down resistors as needed for digital input pins.
  • Follow datasheet specifications for each component or module when connecting to the corresponding pins.
  • Remember to handle the pins with care to avoid damage to the board or components. Always double-check connections before powering on the board.

Code Examples

MXChip Microsoft Azure IoT Developer Kit
=============================================
Overview
--------
The MXChip Microsoft Azure IoT Developer Kit is a comprehensive development board designed to accelerate the development of IoT projects. It integrates a range of sensors, a microcontroller, and wireless communication capabilities, making it an ideal platform for building IoT solutions. This kit is powered by the Azure IoT services, providing a seamless integration with the Azure ecosystem.
Hardware Components
-------------------
STM32F413RG microcontroller
 Wi-Fi and Ethernet connectivity
 Sensors:
	+ Temperature and humidity sensor
	+ Accelerometer
	+ Gyroscope
	+ Magnetometer
	+ Light sensor
	+ UV sensor
	+ Infrared sensor
 OLED display
 LEDs and buttons for user interaction
Software Components
-------------------
Azure IoT Device SDK for C
 Azure IoT Hub
 Azure IoT Device Explorer
Code Examples
-------------
### Example 1: Sending Sensor Data to Azure IoT Hub using C
This example demonstrates how to collect sensor data from the onboard sensors and send it to Azure IoT Hub using the Azure IoT Device SDK for C.
```c
#include <az_iot_hub.h>
#include <az_iot_hub_client.h>
#include <sensor.h>
// Initialize the Azure IoT Hub client
az_iot_hub_client client;
az_iot_hub_client_init(&client, "your_iothub_name", "your_device_id", "your_device_key");
// Initialize the temperature and humidity sensor
sensor temp_humidity_sensor;
sensor_init(&temp_humidity_sensor, SENSOR_TYPE_TEMP_HUMIDITY);
while (1) {
    // Read temperature and humidity data from the sensor
    float temperature, humidity;
    sensor_read(&temp_humidity_sensor, &temperature, &humidity);
// Create a telemetry message to send to Azure IoT Hub
    az_iot_hub_telemetry telemetry;
    telemetry.properties_count = 2;
    telemetry.properties[0].key = "temperature";
    telemetry.properties[0].value = temperature;
    telemetry.properties[1].key = "humidity";
    telemetry.properties[1].value = humidity;
// Send the telemetry message to Azure IoT Hub
    az_iot_hub_client_send_telemetry(&client, &telemetry);
// Wait for 1 minute before sending the next message
    delay(60000);
}
```
### Example 2: Controlling LEDs using Azure IoT Hub and Azure Functions
This example demonstrates how to use Azure IoT Hub and Azure Functions to control the onboard LEDs remotely.
```c
#include <az_iot_hub.h>
#include <az_iot_hub_client.h>
// Initialize the Azure IoT Hub client
az_iot_hub_client client;
az_iot_hub_client_init(&client, "your_iothub_name", "your_device_id", "your_device_key");
// Initialize the LEDs
gpio_init(LED1, GPIO_MODE_OUTPUT);
gpio_init(LED2, GPIO_MODE_OUTPUT);
while (1) {
    // Receive messages from Azure IoT Hub
    az_iot_hub_client_receive(&client);
// Check if a message is available
    if (az_iot_hub_client_message_available(&client)) {
        char message = az_iot_hub_client_get_message(&client);
        if (strstr(message, "-turn_on_led1")) {
            gpio_write(LED1, 1);
        } else if (strstr(message, "turn_off_led1")) {
            gpio_write(LED1, 0);
        } else if (strstr(message, "turn_on_led2")) {
            gpio_write(LED2, 1);
        } else if (strstr(message, "turn_off_led2")) {
            gpio_write(LED2, 0);
        }
        free(message);
    }
}
```
### Example 3: Displaying Sensor Data on the OLED Display using C
This example demonstrates how to read sensor data and display it on the onboard OLED display.
```c
#include <oled.h>
#include <sensor.h>
// Initialize the OLED display
oled_init();
// Initialize the temperature and humidity sensor
sensor temp_humidity_sensor;
sensor_init(&temp_humidity_sensor, SENSOR_TYPE_TEMP_HUMIDITY);
while (1) {
    // Read temperature and humidity data from the sensor
    float temperature, humidity;
    sensor_read(&temp_humidity_sensor, &temperature, &humidity);
// Clear the OLED display
    oled_clear();
// Display temperature and humidity data on the OLED display
    char buffer[20];
    sprintf(buffer, "Temperature: %.2f C", temperature);
    oled_display_string(0, 0, buffer);
    sprintf(buffer, "Humidity: %.2f %%", humidity);
    oled_display_string(1, 0, buffer);
// Wait for 1 second before updating the display again
    delay(1000);
}
```
These examples demonstrate the capabilities of the MXChip Microsoft Azure IoT Developer Kit and provide a starting point for building a wide range of IoT projects.