Electronic communication comprises many different hardware options with many software protocols.

RS 232, Bluetooth, IoT, USB, WiFi, . . .

ESP8266 Automated M2M with IFTTT


Machine to machine communication with 2 ESP8266 WIFIs to the cloud.

Now we will add to the simple Basic example of a switch input client to an LED display client.

ESP8266 Button > IFTTT > Adafruit IO >ESP8266 LED

The ESP8266 Button will wait and read a button toggle state change and then send a changed value to IFTTT.

The IFTTT event will send the change to the Adafruit IO.

The Adafruit IO will then send the change to the ESP8266 LED.

The ESP8266 LED will then change the LED status.

First you need to get an Adafruit account and copy the AIO key

Create the FEED ( needed for IFTTT ) and Dashboard with Blocks.

( Free Plan per account 30 data points per minute, 30 days of data storage, 10 feeds, & 5 dashboards )

Then create a free IFTTT account.

Create an IFTTT Webhook event to send to Adafruit.

Create the Adafruit Dashboard , Feed , & Block ( Toggle Button or Gauge ).

Modify the included programs with your wifi and cloud account information and upload to each ESP.

You can use the Arduino IDE after you make the needed changes as explained in :

The ESP8266 Button is wired with a toggle switch to D4 input pin GPIO2 and a 1K to 10K resistor to ground.

The ESP8266 LED is wired to D4 input pin GPIO2 with 1K resistor inline with an LED to ground.



Serial Monitor Basic PC to Arduino

Serial Monitor

Here is a basic USB PC - Arduino Interface via the Arduino IDE included Serial Monitor.
You can send single character commands to the Arduino program with the Serial Monitor SEND button
You will see the Arduino response in the Serial Monitor text display
The advantage is you can command the Arduino without any PC code.
The disadvantage is your portable Arduino needs to be attached to your PC with a 6 foot max USB cable
as you can see with the sendReading, you can still do other things too

Arduino Ethernet Shield NTP time

ethernet shield

One of the standard niceties of Data Acquisition systems with PCs is the ability to use  the PC timestamp.

Arduinos do not have a built in RTC timer or easy access for an internet time clock update.

One solution for this is an ethernet shield.

If you are using an Arduino for data logging, you can access the NTP time via an ethernet shield.

Here is a simple example on getting the NTP time.

An added benefit on some shields is an additional SD card for storage.

This works fine alone on the Uno, but comes close to maxing out the 32K of memory.

This shield is also compatible with the Arduino Mega2560 with 256K of memory.


Python Firmata USB-Serial

firmata wiring

Using built in tools is one of the quickest ways to leverage new projects.

Use Python on a PC via the standard USB cable for serial communications to your Arduino.


On Arduino you will want to load the standard firmata example program.

No changes needed !

File > Examples > Firmata > Standard Firmata

Analog potentiometer connections standard 5 VDC in, Gnd out, with Analog pin connected in center.


This tutorial is based on Python 3.7.

Demonstrates Digital input, Digital output, & Analog input.

No Analog output DAC on the Arduino Uno.

Install pyFirmata and time libraries in Python3.

For windows open the command prompt.

For Linux open the terminal.


pip install pyfirmata

pip install time

Use CTRL-C to stop program.



Python Tkinter USB Pyserial to Arduino

Python Tkinter USB Pyserial to Arduino

One of the most simple and straight forward way to communicate with an Arduino is to use the serial communications via USB already part of the programming environment.

Here is the Arduino code with the need Python code.

Download Python3 Pyserial  and Tkinter setup before running the Python code.

Digital output 11 pin changes with Tkinter ON/OFF button.

Use a digital multimeter to see or use a simple LED with limiting resistor.

Note change the port per operating system :

Linux  ( Ras Pi ) use :  port = "/dev/ttyACM0"

Windows use: port = "COM3"

Check your OS for the exact port used.

NOTE: Arduino Tools> Serial Monitor and Serial Plotter are not usable while the Python comm is in use.


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.