In this project, we’ll design an analog display clock using ESP32. The clock is an Internet-of-Things (IoT) device that retrieves the local time from a Network Time Protocol (NPT) server and displays the time (as well as the date) like an analog clock. The display used to build this IoT clock is SSD1306. However,…
How to design an app-controlled irrigation system
In this project, we’ll design a mobile app-controlled watering system that drip irrigates a home garden or small farm. This system is developed on an ESP8266 microcontroller, which controls the water pump through a 3V relay or an electronic valve. The user can switch the water’s motor/electronic valve ON or OFF and even set a…
How to build an IoT-based flood monitor using ESP8266
Floods are generally considered natural disasters. Depending on their severity, they can have a devastating impact on human life, agriculture, and infrastructure. In serious cases, floods can result in significant economic losses due to property damage, disruption of transportation, and the cost of emergency response and recovery efforts. This is why, flood monitoring is crucial…
How to build a plant health monitor using ESP8266 and the MIT App Inventor
Most house plants require temperature, humidity, and moisture monitoring for optimal care. Temperatures exceeding the optimal range can cause stress, wilting, stunted growth, and even death, while cold temperatures can slow plant development, leading to weak growth and susceptibility to frost damage. Excessive humidity encourages fungal diseases and prevents proper transpiration, while drier air typically…
How to build a fire alarm with SMS and WhatsApp alerts
Fire alarms are critical in homes and buildings, mitigating fire risks and ensuring safety. These alarms aim to safeguard lives and property, providing a warning and initiating emergency procedures. In this project, we’ll build a fire alarm system using ESP32, a flame sensor, and an MQ2 gas sensor. This device will trigger a buzzer and…
How to build a sign-to-speech converter
Sign language is a system of communication using visual gestures. However, not everyone understands sign language. So, in this project, we’ll build a device that converts hand gestures into speech. What’s required: flex sensors, a DF Mini Player, and a microcontroller that has an analog input and supports serial communication via a universal asynchronous receiver/transmitter…
ESP32 voice-operated home automation with ThingSpeak MQTT, IFTTT and Google Assistant
This article explains how to build a voice-based Home Automation to control Home Appliances. Google Assistant is used to input voice commands or text commands. The main intention of this project is to introduce various IoT tools and integrate them to build a real-time project. As home automation is a friendly project, it is chosen…
How to build an app-controlled alarm mat
Waking up isn’t always easy, especially when the snooze button is typically only a short reach away. Overcoming the desire to stay in the comfort of our beds often requires an understanding of intrinsic motivation. But we have a solution that requires one simple device — a smart mat. In this project, we’ll design a…
How to make an Internet clock using ESP8266
The Internet of things (IoT) offers several interesting applications, including an Internet clock. This timekeeping device uses an Internet connection to synchronize the time with a time server. This ensures highly accurate timekeeping, aligning with online servers’ coordinated universal time (UTC). Most Internet clocks use NTP, a protocol designed to synchronize clocks over a network.…
How to design an IoT-based smart alarm
We might not always appreciate them, but that morning wake-up alarm is important for everyday life. It ensures we wake up in time for work, school, meetings, appointments, or other essential tasks. Alarms can also help us keep a regular sleep/wake schedule. In this project, we’ll use the Internet of Things (IoT) to set a…
How to send email alerts from Arduino/ESP8266/ESP32 through IFTTT
IFTTT plays a significant role in the Internet of Things (IoT) ecosystem. As IoT involves the interconnection of various devices and platforms, IFTTT provides a simple and user-friendly platform for devices to integrate together and automate embedded applications. IFTTT provides a cross-platform integration of among a multitude of platforms, brands, and standards, bridging the “things”…
How to design an ESP32 WiFi manager using MicroPython
Nearly all the devices we use today — from smartphones, tablets, wearables, and even many of our appliances — connect to the Internet via a home (or office) WiFi network. Internet access to smart devices is typically managed through a web interface or mobile app. Similarly, when we’re out and about, we’ll access WiFi for…
How to build a portable WiFi repeater using ESP32 or ESP8266
Typically, a WiFi network has a range that’s above 45 meters. The signals are strongest near the router. The further away you move, the weaker the signal. The same is true of thick walls or additional floors in a home or building. The WiFi signals could be completely lost on other floors of a premise. …
Getting started with ESP8266 and ESP32 on Arduino IDE
ESP8266 and ESP32 are popular WiFi development solutions that can be programmed in several ways using different programming languages. Common languages include MicroPython, C, JavaScript, and LUA script. The choice of embedded firmware and software tools makes it possible to program ESP8266 and ESP32 in different languages. The versatility and flexibility to program ESP boards…
How to send messages to WhatsApp or Telegram from ESP32
In many Internet-of-Things (IoT) applications, it’s necessary to send alerts to the user in the form of messages. Typically, text messages are sent via WiFi or SMS. But sometimes text messaging is unavailable between devices. So, what if these messages could be sent via the IoT to a user’s WhatsApp or Telegram account instead? In…
What is Lightweight Internet Protocol (LwIP)?
Connecting embedded microcontrollers to the internet is a crucial task in modern applications. The embedded controllers, particularly in consumer devices and wearables, now essentially require ping online. This is more important as the devices are getting smarter. Connecting to the internet is not just crucial but a hefty task as well. The typical TCP/IP stack…
ESP8266/ESP32-based WiFi access point using MicroPython
Many IoT applications are controlled with the help of a webpage or an HTML website running within a Local Area Network (LAN) or Wireless Local Area Network (WLAN). Some examples of such IoT applications include home automation, office automation, and smart farming. The HTML webpage or website controlling the things is hosted on a microcomputer…
Getting started with MicroPython on ESP8266
MicroPython is an implementation of Python 3 for microcontrollers. It’s an awesome firmware that combines the powerful features of Python programming language with the low-level access of microcontrollers. Following is a list of microcontrollers supported by the MicroPython framework. Arch Mix, Actinius icarus, Arduino Nano RP2040 Connect, Arduino Primo, B_L072Z_LRWAN1, B_L475E_IOT01A, blueio_tag_evim, C3 mini, CERB40,…
Using MicroPython SSD1306 driver to interface an OLED display with ESP8266 & ESP32
You’ve likely heard about SSD1306 or SSD1315 organic light-emitting diode (OLED) displays. These monochrome screens are typically in a similar price range as character displays, providing a more aesthetic appeal. More significantly, they provide a truly graphical interface for an embedded device. The OLED displays are available in ready-to-use breakout boards that can easily push…
How to use ESP8266’s sleep modes in MicroPython
Networking applications consume a lot of power. If such applications are battery-powered, there’s a risk the battery will exhaust because of the high power demands of networking functions. Frequently, power is also wasted in non-essential microcontroller activities. For example, the power might remain on for various built-in peripherals irrespective of their use or relevance in…