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 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 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…
What are Global Navigation Satellite Systems (GNSS) and how are they used?
Determining a precise location is necessary in several industries for several reasons, including navigation, direction, timing, tracing, and safety. Global Navigation Satellite Systems (GNSS) let users pinpoint exact locations via satellites. GNSS supports critical infrastructure, emergency response, and navigation. GPS, GLONASS, Galileo, and Beidou are the only navigation systems offering global coverage. Regional satellite systems…
Arduino-based optical proximity sensor using IR LEDs
Proximity sensors are used to detect something approaching near. These sensors are useful in many applications like collision avoidance, obstacle detection, path following, touchless sensing, motion detection, and object detection. There are different types of proximity sensors like optical, ultrasonic, capacitive, inductive, and magnetic. The capacitive, inductive, and magnetic proximity sensors are used in specific…
How to use the Raspberry Pi camera with OpenCV
OpenCV is a popular cross-platform framework for image processing and real-time computer vision. The software framework is useful for efficiently developing real-time computer vision applications that would be extremely time-consuming to create from scratch. The power of OpenCV’s framework is that it runs seamlessly on embedded platforms like microcomputers. This means developing and running embedded…
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 convert Arduino into USB Rubber Ducky for automatic Gmail login
You might have heard about USB rubber ducky. A Rubber ducky is a programmed USB HID device, often a pen drive, to send a programmed sequence of keystrokes and mouse events to a computer. It is a powerful device that can unlock a PC or login credentials by inserting a USB stick. Even a rubber…
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 choose and e-bike controller
The motor controller is one of the most important components of an electric bicycle or e-bike. It’s an electronic device that manages the operation of an electric motor. It also connects to all other major parts of an e-bike, including the battery, brakes, sensors, throttle, and motor. The motor controller acts like the brain of…
What role do automotive sensors play in modern vehicles?
A network of sensors is embedded throughout vehicles, serving as a critical type of “nervous system” that detects and measures different automotive parameters. This network is essential for a vehicle’s safety, performance, and efficiency. Several types of sensors are responsible for different roles, such as monitoring the temperature of engine components, the speed of the…
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…
How to build an Arduino-based biometric voting machine
Typical electronic voting machines require voters to push a button to cast their ballots. However, there have been security concerns with these devices and whether they’re at risk for tampering. One solution is to use biometric-based voting machines, which use fingerprint matching or a retina scan to verify an authorized voter. In this project, we’ll…
How to control LEDs using the MIT App Inventor and Bluetooth
In a previous tutorial, we discussed the MIT App Inventor, a popular online platform for building mobile applications using visual programming. The platform is helpful for quickly prototyping Internet-of-Things (IoT) applications and simple embedded systems that interact with mobile devices. We already reviewed the platform’s architecture and user interface. Its visual programming platform is ideal for…