ESP32 Azure IoT Kit

This is a ESP32 based board based on ESP-WROVER-B module designed by espressif and Microsoft as a reference IoT Kit Azure. It is no more manufactured.

This is Work in progress

This board is no longer manufactured but in case you have it arround here you find details.

ESP32 Azure IoT Kit

The ESP32 based board is equipped with some interesting sensors, buttons, leds and a display and can easily be used for development.

I2C bus

The sensors and the display are reachable on the I2C bus using the signals (sda=25, scl=26).

The env.json configuration includes these settings in the Device Element.

I2c Address Sensor
0x0e Magnetometer MAG3110
0x23 Ambient Light Sensor BH1750
0x3c Display SSD1306
0x5f Humidity and Temperature Sensor HTS221
0x68 (RTC,DS1307)
0x6d Barometer FBM320

LEDs

There are 2 green LEDs available:

Both LEDs are not connected directyl but through a small MOSFET that inverts the signal. The LEDs will light up when the signal level is HIGH.

{
  "digitalout": {
    "led-azure": {
      "value": "1",
      "title": "digitalout/led-azure",
      "pin": "33"
    },
    "led-wifi": {
      "value": "1",
      "title": "digitalout/led-wifi",
      "pin": "32"
    }
  }
}

Input Buttons

There are 2 buttons available

The right button is pulling the input level to LOW when pressed.

The env.json configuration includes the settings using the Digitalin Element.

Buzzer

The buzzer on board is connected to pin 27. This is a passive speaker that can be used with the Tone Element to make some noise.

The env.json configuration includes these settings in the Tone Element.

Ambient Light Sensor BH1750

This sensor is available on the i2c bus on address 0x23 (default).

In the description of the BH1750 Element you can find more details.

The env.json configuration includes these settings in the BH1750 Element.

Motion Sensor MPU6050

3-axis gyroscope, 3-axis accelerometer

This sensor is available on the i2c bus on address 0x68.

Barometer FBM320

0x6D

Magnetometer MAG3110

0x0E

Humidity and Temperature Sensor HTS221

0x5F

Battery charging

SD Card

The SD card is available at the standard SPI bus of ESP32. The SD Card Element can be used to extend the filesystem and to mount the sd card file system on the /sd folder.

function ESP32 pin
CS GPIO13
SPI-bus VSPI

Device Configuration

This is a device specific configuration for this board :

{
  "device": {
    "0": {
      "name": "azurekit",
      "title": "Azure Kit",
      "description": "ESP32 Azure IoT Kit by Espressif",
      "button": "0",
      "led": "33",
      "i2c-SDA": "25",
      "i2c-SCL": "26",
      "i2c-frequency": "50000"
    }
  },
  "ota": {
    "0": {
      "port": 8266,
      "passwd": "123"
    }
  },
  "diag": {
    "0": {}
  },
  "ntptime": {
    "on": {
      "zone": "CET-1CEST,M3.5.0,M10.5.0/3"
    }
  },
  "displayssd1306": {
    "0": {
      "address": "60",
      "xresetpin": "D6",
      "brightness": "80",
      "xrotation": 90,
      "width": 128,
      "height": 64
    }
  },

  "digitalin": {
    "key": {
      "pin": "0"
    }
  },

  "tone": {
    "on": {
      "pin": "27",
      "tones": "fifth:d=4,o=4,b=80:8p,8g,8g,8g,2d#,8p,8f,8f,8f,1d"
    }
  }

}

ESP32 WROVER Module

Compile with

OLED Display

SSD1306

https://forum.arduino.cc/t/how-to-best-configure-esp32-arduino-vs-code-debug/698140

https://www.esp32.com/viewtopic.php?t=23393

See also

https://www.espressif.com/sites/default/files/documentation/esp32-azure_iot_kit_hardware_design_guide__en.pdf

https://github.com/lzyms/ESP32IoTCentral

https://github.com/ewertons/esp32-azureiotkit-sensors

https://iotexpert.com/debugging-ssd1306-display-problems/

Microsoft Tutorial: Connect an ESPRESSIF ESP32-Azure IoT Kit to IoT Hub

Tags

Board