ESP32 is a series of low-cost, low-power system on a chip microcontrollers with integrated Wi-Fi and dual-mode Bluetooth.

The ESP32 series employs a Tensilica Xtensa LX6 microprocessor in both dual-core and single-core variations and includes built-in antenna switches, RF balun, power amplifier, low-noise receive amplifier, filters, and power-management modules.

ESP32 is created and developed by Espressif Systems, a Shanghai-based Chinese company, and is manufactured by TSMC using their 40 nm process.

It is a successor to the ESP8266 microcontroller.

 

ESP32 BLE Server

Picture

This will allow an ESP32 to transfer it's data to a smart phone via BLE.

Bluetooth has a limited range, so you must go to an ESP32 and read the data with a smart phone app.

In this case we will use "nRF Connect".

The data will be automatically acquired temperatures with a DS18B20 probe every 2 seconds.

The ESP32 will act as the server and you will connect with NRF Connect as the client.

nRF Connect is pretty straight forward with many helpful videos.

To see just

Start the App > SCAN > ESP32_DS18B20 Connect > Unkown Services  > Unkown Characteristics (NOTIFY ICON )

You should then see the Values in characters with the numerical value string at the end.

 

 

 

 

 

ESP32 Begin BLE

Picture

When you download the ESP board for Arduino will get some examples.

We are going to use two of those Bluetooth Low Energy (BLE) examples BLE_NOTIFY and BLE_SCAN.

All you will need are 2 ESP32 boards and the Arduino IDE examples.

Load the BLE_NOTIFY on one ESP32 and BLE_SCAN on the other.

(Note: Remember to press the BOOT button when the download begins. )

Both boards need power, but you will need the BLE_SCAN to be connected to your PC so you can see the Serial Monitor.

If all is working properly, you should see the following screen:

BLE_Serial_Monitor

Now your hardware is good and we can move on to more interesting projects.

 

ESP32 MQTT shiftr

Picture

ESP32 has huge possibilities for IoT with it's built in WiFi.

To take advantage of this without needing more hardware, you can connect to a cloud MQTT broker to sent data back and forth between ESP32s.

This example will use 2 ESP32s each with one PUBLISH ( send) and one SUBSCRIBE (read ) via shiftr.io

You can add a lot of power and complexity with all the ESP32 capabilities, but that can overwhelm the IoT server limits.

To prove the point simply, we will limit each ESP32 to 1 input SUBSCRIBE and 1 output PUBLISH.

 

ESP32 Begin Basic Functionality

Picture

There are many variations using the ESP32.

These examples are based on a nice solder free breadboard version :

ESP32 ESP-32S Development Board 2.4GHz Dual-Mode WiFi + Bluetooth Dual Cores Microcontroller Processor Integrated with ESP32s Antenna RF AMP Filter AP STA for Arduino IDE

Here is a nice link to the many versions:

To begin ESP32 and verify you have the right board that is working properly, lets start with the most basic functionality of reading a momentary push button switch input and turning on/off an LED output.

The ESP is similar to Arduino boards and is also compatible with the Arduino IDE.

Arduino IDE needs to be installed,  the Silicon Labs CP210x USB to UART Bridge Driver will be automated loaded

for your Windows OS when you connect the board .

ESP8266 Github Page:

Boards manager link JSON:

Installation Video 

CH340G Driver:

Documentation:

This is the digital equivalent of Hello World.

Here is a modified version on the Arduino IDE included Files>Examples>Digital>Debounce with the pin I/O changed for the ESP32 board and Serial Monitor added. ( That is how similar the ESP32 is to other Arduino boards. )

Connect a Push button and a 1 kΩ pull up resistor to the GPIO32 pin.

Connect a LED and a 1 kΩ current limiting resistor to the GPIO26 pin.

The result will display on the Serial Monitor.

If all works fine your Arduino IDE is successfully configured and the ESP8266 board is functional.

The board LED light will go on when D4 is 0 and off when D4 is 1.

Now we can use this as a basis for more advanced applications.

Tutorials

Here are some helpful tutorials on some the systems available with Scada123 to try on your own.

You can view videos at:     Youtube Channel Scada LLC

Sort through Topics on the left Menu "Tutorial Menu"

Click on one the Topic Tags that interest you.

License : All programs in the tutorial section are free software. You can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful,  but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.