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 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…
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…
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 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 design an Arduino library for an 8-bit IO port
In this project, we’ll create an 8-bit IO port Arduino library that reads and writes all eight bits in a single command by combining Arduino’s pins. This means sending and receiving the 8-bit data from a single pin will be possible. Arduino provides digital output using the digitalWrite() function and receives digital input via the…
How to use the TCS230/TCS3200 color-recognition sensor with Arduino
Color detection is the process of identifying and distinguishing colors within an image, video, scene, or object. Many embedded and robotic applications require this feature, as it’s useful for sorting, selection, test strip reading, path determination, and more. Two standard sensors used for color detection include TCS230 or TCS3200. TCS3200 recognizes various colors based on…
CAN communication between PIC and Arduino
This project helps in understanding the insights of CAN protocol interfacing two different Microcontroller for example, PIC and Arduino. Controller Area Network or CAN protocol is a methodology of communication between various electronic devices like engine management systems, gear control, active suspension, ABS, lighting control, air conditioning, airbags, central locking etc. embedded in an automobile. For further learnings refer this article.
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 measure current using Arduino and ACS712 current sensor
In this tutorial, I am going to measure DC current using Acs712 Hall Effect-Based Linear Current Sensor and arduino uno. Acs712 can measure current precisely and accurately if properly managed. I have gone through various blogs on internet about interfacing acs712 current sensor with arduino and other microcontrollers. I found that all of them are…
Arduino-based portable pollution monitor with OLED display
A majority of middle-aged people suffer from health issues like asthma and breathing problems, particularly in cities. Air pollution is the major cause of it. In this project, we have designed a portable device that detects different air pollution metrics and displays them on a small OLED screen. People with respiratory issues can use the…
Arduino-based walking steps and distance calculator
A very common feature in Android and iOS fitness apps is calculating the number of steps the user walks and the distance he covers. These apps calculate the number of steps walked by the user either using GPS location and manipulating the geospatial data or by monitoring the acceleration vector of the device using an…
How to design an Arduino-based RLC metal detector using an RC-A-354 sensor
Metal detectors offer several useful applications. A few examples include: Security checks Positioning detection for production equipment Elevator floor control Mineral prospecting Unearthing relics and artifacts Collecting traffic statistics Metallic waste detection Game entertainment Each detection circuit employs different electronic components and designs. A simple metal detector can be constructed using an RLC circuit. In…
Arduino-based altitude meter using BMP180 sensor
BMP180 is a digital pressure sensor designed for low-power, low-voltage operation in mobile phones, navigation devices, and personal digital assistants. The sensor has an I2C interface to communicate sensor data. It can operate on 2.5~3.6V and consumes only 12 uA even in the ultra-high-resolution mode. The sensor can be used for several applications, including measuring…