Skip to main content

Command Palette

Search for a command to run...

Exploring IoT with ESP8266, Servo Motors, and Thingspeak

Updated
4 min read
A
Iam a student interested in cybersecurity and more into analysis, reporting, documenting, auditing, policies, scanning and automation side of cybersecurity.

Unlike many of the tutorials I’ve been through before, where I was building a certain product or trying to follow a series of steps, this project began from my having no particular end in mind, apart from seeing what I could do with some spare components.

Getting Started

What piqued my interest was that there were images of WiFi and Bluetooth connectivity on this circuit board, along with NodeMCU on top of it and CH341, which is the USB-to-Serial converter on the back end of the board. As I mentioned above, I barely knew anything about microcontrollers but curiosity drove me towards them.

Firstly, I installed Arduino IDE on my machine since I had an ESP8266 board that has USB connectivity and uses the USB-to-Serial CH341 chip. Therefore, I installed its drivers, as well, so that the computer would detect my device. After the set-up and the connection, I went into the IDE and set the board type and communication method in the IDE.

Watching my power LED blinking was fun, but at this point, I did not have any clue where to go next.

Learning Through Experimentation

The examples that came with the Arduino IDE ranged from functional to dysfunctional. Not wishing to make random changes to code whose workings were completely unknown to me, I set out looking for another approach to learning.

In my search, I came across the Tuniot coding platform developed by EasyCoding, which offers a visual programming approach that is applicable specifically to ESP8266-based devices.

This was particularly appealing to me as a new learner in this field because it seemed to be an effective way of grasping program logic without syntax and configuration errors.

Controlling a Servo Motor

Once I was comfortable with the software, I hooked up the servo motor to the ESP8266 via the breadboard and jump wires.

Once all the necessary connections were made, I designed a basic program for rotating the servo motor. The most rewarding part of this process was uploading this program and watching the servo motor perform according to my command.

It made the whole experience much more tangible and satisfying.

Taking It a Step Further with ThingSpeak

Having controlled the servo successfully, I decided to think about how to make the project more challenging for myself.

In addition to controlling the motor's motion, I decided to somehow record or observe data concerning the motion of the motor. In this case, ThingSpeak, which is a platform used in IoT, came into play, which allows users to use API and transmit data from their devices to the cloud.

After setting up ThingSpeak and creating my own channel and API keys, I adjusted the code on the Arduino, so now the ESP8266 can interact with the platform through Wi-Fi.

What I Learned

Despite being fairly straightforward, the assignment taught me several important lessons about:

Driver installation for microcontroller development kits

Arduino IDE set up and configuration

Esp8266 node mcu board working

Hardware connections using breadboards and jumper wires

Software control over servo motors

Visual programming techniques for learning the basic principles of embedded systems

Wi-Fi connectivity to establish Internet connection with devices

API usage for sending data to the cloud platform

Basic IoT knowledge

Final Thoughts

This was not necessarily a task aimed at producing a ready product but rather an investigation into what IoT could be done by working with the existing parts.

In fact, my interest in IoT started with the desire to explore an ESP8266 module, and it resulted in a practical study of microcontrollers, IoT cloud interaction, and even programming. As I can see from this experience, one does not have to create complicated things to open up completely new horizons.

IoT was an interesting and educational way for me to discover more about connecting devices via the Internet of Things.