A watchdog timer (WDT) is a hardware timer that automatically generates a system reset if the main program neglects to periodically service it. It is often used to automatically reset an embedded device that hangs because of a software or hardware fault. The Arduino Uno board has an ATmega328P chip as its controlling unit, which has a Watchdog Timer that helps the system recover from scenarios when the system hangs or freezes due to errors in the code or due to conditions that may arise due to hardware issues.

How does the Watchdog timer work?

The watchdog timer uses an…

An interrupt is a signal that tells the processor to immediately stop its current task and handle another high priority processing. This high priority processing is called an Interrupt Handler/Interrupt Service Routine. Almost every electronic device comes across a scenario where an interrupt needs to ‘interrupt’ the regular process and attend to an important task at hand. So technically, interrupts are a mechanism by which an I/O or an instruction can suspend the normal execution of the processor and get serviced since it has a high priority. …

The Analog to Digital converter in the Arduino Uno is a very useful feature that converts an analog voltage into digital and gives it to the microcontroller. By converting the analog value to digital ones, we can start using electronics to interface to the analog world around us. For example, when we interface sensors or need to integrate biometric applications — the output of the sensor is most of the time analog in nature, but the microcontroller processes digital signals. So, for such scenarios, we use ADC that acts as a mediator between the sensor and microcontroller.

ADC in Arduino…

Serial Peripheral Interface (SPI) is a synchronous serial data protocol used by microcontrollers for communicating with one or more peripheral devices quickly over short distances. It can also be used for communication between two microcontrollers.

In an SPI connection, there is always a master device (usually a microcontroller) that controls the peripheral devices.

SPI uses the following four wires:

SCK − This is the serial clock driven by the master that synchronizes the data transmission.

MOSI − This is the master output/slave input driven by the master.

MISO − This is the master input/slave output driven by the master.


The term I2C stands for ‘Inter-Integrated Circuits’. It’s normally denoted as I2C or I squared C or even as 2-wire protocol (TWI) in some instances — all indicative of the same. I2C is a synchronous communication protocol, unlike the UART; synchronous implies that both the devices that are sharing the information share a common clock signal. It consists of only two wires to share information, out of which one is used for the clock signal and the other one is used for sending and receiving data.

How does I2C work?

I2C communication protocol was first introduced by Philips. As mentioned…

UART (Universal Asynchronous Receiver/Transmitter), is a hardware device (or circuit) used for serial communication between two devices. In this blog, we will discuss what UART communication is and how it works. We’ll also write a simple sketch to show it’s with the Arduino Uno.

How does UART work?

The UART protocol requires two wires between the devices that are communication, one for each direction of communication. Each of these devices have an independent transmitting and receiving module. These modules do not have to be in sync with each other, hence asynchronous.

When a device transmits data, it sends it as…

Pulse Width Modulation or PWM is a technique for obtaining analog outputs with digital means. It used to vary the width of the pulses in a pulse-train and has many applications such as controlling the brightness of LEDs, voltage regulation, audio signal generation, speed control of servo motors etc. In this blog, we will learn about PWM and how you can get the PWM output from the digital pins of Arduino. If you’re new to the Arduino, you can have a look at its basic setup and a beginner’s project out here.

Basic principle of PWM

The state of the…

Timers are an important part of the functionalities in microcontrollers and play a vital role in controlling various aspects of it. A timer or a counter is a piece of hardware built in the Arduino board to measure events and carry out specific tasks at a particular interval of time.

Few of the applications of the timers are as follows:

  1. PWM — Pulse Width Modulation is a method to control the duty cycle, thereby the digital output of the controller. It has a wide range of applications from motor control to LED dimming and much more.
  2. Timer Interrupts — In…

The Arduino Uno is one of the most popular microcontroller boards used for a variety of purposes — from basic DIY projects to complex robotics. In this blog, we’ll be taking a closer look at the Arduino hardware, and more specifically, the Arduino Uno pinout. The Arduino Uno pinout consists of 14 digital input/output pins, 6 analog inputs, a power jack, USB connection and a ICSP header. The versatility of the pinout provides applications of many different options such as driving motors, LEDs, reading sensors and more.

Image for post
Image for post

Let’s look at the different pins on the Arduino and their functionalities:


What is Arduino?

Arduino is an open-source electronics platform based on easy-to-use hardware and software. Intrinsically, Arduino boards read inputs such as — light on a sensor, a finger on a button, or a Twitter message and transform it into an output like — activating a motor, turning on an LED, publishing something online. Over the years Arduino has been the brain of thousands of projects, from everyday objects to complex scientific instruments. Arduino was born at the Ivrea Interaction Design Institute as an easy tool for fast prototyping, aimed at students without a background in electronics and programming. …

Aditi Shah

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store