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…
MicroPython: Time-related functions, timers & interrupts in ESP8266 and ESP32
Timers are one of the common hardware features in all microcontrollers. Timers and timer interrupts are of great use in microcontroller applications. The timer interrupts are often used when precise timing is required without a fraction of error. All MicroPython ports have one or more timers. Some of these timers may be reserved for specific…
MicroPython – Reading analog signals in ESP8266 and ESP32
The majority of sensors have an analog output. Few sensors come with a built-in controller and can stream the output measurements over a digital protocol. That is why analog to digital conversion is one of the basic features that every microcontroller/port has. The other basic features include digital input/output, analog output, PWM generation, and serial…
How to use ESP8266/ESP32 as a TCP server and client with sockets
ESP8266 and ESP32 are popular WiFi development boards. These microcontroller boards are ideal for building the internet of things (IoT). We covered how to connect ESP8266 and ESP32 (or any MicroPython port) with a network connection for use as a WiFi station here. We used the MicroPython network module. This network module provides a driver…