Displaying potentiometer value and temperature using LM35 In my previous tutorial series on displaying sensor data (value) on OLED display, I have explained how to display values of different sensors like a potentiometer, LM35, soil moisture sensor, DHT, HC SR04, etc. on a tiny 1” OLED display. This time, I will demonstrate and explain how…
The top LoRa transceivers and development boards of 2024
LoRaWAN is a popular low-power wireless communication technology that provides a range of up to 15 km. LoRa signals can penetrate buildings and obstacles, providing reliable device-to-device communication over a broad coverage area. Thousands of Internet-of-Things (IoT) devices can be integrated within this range for seamless peer-to-peer communication. These radio devices are power-efficient and easily…
How to design a heart-rate monitor using LoRa and Arduino
In this electronics project, we’ll design a healthcare solution over LoRa, using an Arduino Nano and a heart-rate sensor connected via the I2C bus. This device demonstrates the potential of the Internet-of-Things (IoT) in enhancing healthcare services and improving patient outcomes. The system measures a person’s heart rate in beats per minute (BPM) from a…
How to play MP3 files on Arduino using the DFPlayer Mini or the MP3-TF-16P
Including an audio option with an electronic or Internet-of-Things (IoT) project is often an ideal addition. However, microcontrollers cannot process MP3 files, which is the most common audio file format. Fortunately, there is a solution. It is possible to play MP3 audio files on Arduino using dedicated MP3 decoders like the DFPlayer Mini or MP3-TF-16P.…
How to design a weighing scale using Arduino
Weighing scales are frequently used to measure the weight of goods, such as bulk items and raw materials. We sometimes use them at grocery stores to weigh produce or at home to measure our weight. Building a weighing scale is no simple task. It involves a combination of load cells, amplifier circuits, and microcontrollers or…
How to design an OTP-based door lock
Today, mobile-based authentication to verify a person’s identity is common. Online service providers often use it for access to services, approval of transactions, or to change a user’s credentials. Imagine using a similar mobile-based authentication to enter your home, office, or any private space. It’s possible. In this project, we’ll design a mobile-based access system…
How to design a LoRa-based asset-tracking system for supply chain management
In this project, we’ll design a GPS-based location-tracking system using LoRa technology, offering versatile asset-tracking capabilities. LoRa-based asset tracking This system employs a GPS module, establishing a virtual circle roughly 20 meters from the initial location. The location data is transmitted to the Arduino Nano through UART communication. For location updates, the system follows a…
How to design an automatic streetlight system using Arduino
In this project, we’ll design an automatic, energy-efficient streetlight system using Arduino. A streetlight will automatically turn on when the outside ambient light falls below a certain threshold, as evening turns to night. They turn off when sufficient light returns in the morning to conserve energy. So, these streetlights only power on when needed. The…
Arduino compatible coding 01: Arduino MCU family
Embedded electronics are in a countless number of devices and appliances, with microcontrollers at the heart of the operation. A microcontroller is a compact integrated circuit that controls a specific operation in an embedded system. There was a time when only BASIC stamp microcontrollers, with a simple interpreter, were available for designing, prototyping, and testing…
Arduino compatible coding 02: Getting started with Arduino
Arduino are single-board microcontrollers that are easily programmable through a USB connection. They are used with electronics to design embedded system prototypes, the Internet-of-Things (IoT), and electronic gadgets. Much like other microcontrollers, Arduino provides software-backed computing and embedded control to basic electronics applications. That means getting started with Arduino is no different than with other…
Arduino compatible coding 03: Basics of Arduino sketches and Embedded C
The previous tutorial included a discussion about the tools and components necessary to get started with Arduino. However, before starting with Arduino UNO (or any other Arduino board) — and experimenting with hardware projects on various sensors, actuators, and modules — it’s important to get through the basics of Arduino sketches and the embedded C…
Arduino compatible coding 04: Interfacing and driving LED by digital output
In the previous tutorial, we discussed the basics about Arduino sketches, with a a quick Arduino language reference. Now, it’s time to get our hands dirty. Interfacing LED and driving digital output from a source is the “Hello World” of embedded systems. As discussed in the previous tutorial, a microcontroller interfaces and interacts with other…
Arduino compatible coding 05: Interfacing buttons for digital input
In the previous tutorial, we discussed digital output from Arduino to drive an LED. A controller can interface and interact with other devices in five ways: digital output, digital input, analog output, analog input, and serial communication. In this tutorial, we will use digital input from Arduino to read the state of a tactile switch…
Arduino compatible coding 06: Analog output (PWM) on Arduino and LED fading
In the previous tutorial, we discussed the digital input process for using Arduino. We also explained push buttons (momentary type buttons) and how to use them for data or command input via a digital input. Any controller can interface and interact with other electronic devices in five ways: digital output, digital input, analog output, analog input,…
How to build a real-time vehicle tracking system
A vehicle tracking system is a technology that tracks and monitors a vehicle’s location in real time. It uses the Global Navigation Satellite System (GNSS) — typically, the Global Positioning System (GPS) — to accurately determine a vehicle’s location. The GPS monitors and relays data to a server through a cellular or satellite network. In…
How to turn Arduino into 16-bit IO port
In this project, we’ll design a 16-bit IO port (input-output port) library for Arduino. It’s possible to send direct 16-bit data to any Arduino board using this library. It connects any of Arduino’s 16 pins, so they work as a 16-bit IO port. First, you must select 16 pins from Arduino to combine as the…
Fingerprint-based access control system using Arduino and R307/Adafruit fingerprint sensor
Optical fingerprint scanners are prominent security devices nowadays. These scanners are low-cost and easy to use with any embedded hardware platform. The scanners have built-in memory and a controller to store and compare fingerprints. Usually, optical fingerprint scanners have a USB and/or UART port to communicate with external controllers or computers. The scanner handles enrollment…
How to troubleshoot common ESP32-CAM problems
ESP32-CAM is a compact camera module that combines the popular Wi-Fi development board ESP32 with the OV2640 camera sensor. The camera is part of the ESP32 series of Wi-Fi and Bluetooth-enabled system-on-chip (SoC) devices developed by Espressif Systems. ESP32 is a dual-core 32-bit microcontroller with built-in Bluetooth and Wi-Fi capabilities — based on the Espressif…
How to build an IoT-based digital menu using the MIT Inventor App
Digitalization has significantly shifted us toward a paperless society, impacting both personal and professional lives. Take restaurants, for example, where many establishments now offer digital menus. Providing a digital option offers several advantages to restaurant owners, their customers, and the environment. It reduces paper waste, allowing for an interactive experience and real-time updates for the…
How to build a paint application using Arduino
In this project, we’ll build a paint application on Arduino UNO/Arduino Mega that runs on a 3.5-inch TFT touchscreen display based on the ILI9486 driver. The ILI9486 touchscreen has a display resolution of 320×480 pixels. Using a stylus, you can draw, paint, and write on it (even in your own handwriting ). Required components Arduino…