Skip to main content

Getting Started with Arduino

Sudolearn Technologies - What is Arduino
What is Arduino?
Arduino is basically an open source electronics platform which is having easy to use hardware and software implementation. It’s a microcontroller interfaced with other vital components like programmer ICs, voltage regulator etc.

With the help of this, we can interface various input (sensors) and output (LEDs) components.

Why Arduino?
Arduino is not just a microcontroller it is also interfaced with several other components which make the job of the user very simple.
Arduino Summer Training
Arduino Uno Pin-Out

How Arduino works?
An input of 5v is given to the board using a USB cable (not necessary) through a laptop or any other convenient power source.
Microcontrollers are usually programmed through a programmer unless we have a firmware in our microcontroller that allows installing new firmware without any external programmer. This is bootloader.
All the controllers present in UNO are from ATMEL Semiconductor (Now acquired by Microchip).
We have a programming IC in Arduino which does the conversion from USB to serial.
It is available in various variants like in the original Arduino we have Atmega16, in the Indian Arduino we have CP2102 manufactured by Si-Labs and we have CH340 programmer in Arduino Nano/other.
The easiest way to control the software part is using Arduino IDE. The environment is written in Java and based on processing and other open-source software. The board is programmed in simple C programming through IDE.
General Block Diagram of Arduino

The above is a block diagram of Arduino UNO.

Advantages Include:
  • Since it’s an open-source platform we can get full access to everything including libraries, internal codes etc.
  • Arduino also provides a coding platform named Arduino IDE containing useful examples, and coding can be done with simple C language.
  • The software can be downloaded from the link given below
  • It can also be programmed with other software’s like MATLAB.
  • The Arduino software is cross platform it runs on Windows, Linux etc. 
Every coin has two sides similarly Arduino has Disadvantages too
  • Both the input power ports cannot be used simultaneously.
  • No on /off switch is present on board we need to remove the power source to do that.
    The ICSP pins can be used to supply power.
      Summer Training Program in Bhubaneswar

      The use of analog reference:

      Configures the reference voltage used for analog input.
      We have the following options to use it:
      • DEFAULT-the default analog reference of 5v or 3.3v.
      • INTERNAL-an built-in reference, equal to 1.1volts on the ATmega168 or ATmega328 and 2.56 volts on the Atmega8.
      • INTERNAL1V1-a built in 1.1v reference (Mega only).
      • INTERNAL@V56-a built in 2.56V reference (Mega only).
      • External-the voltage applied to the AREF pin is used as the reference.
      • Syntax-analogReference(type). 

      The use of I/O reference:
      • This is a voltage corresponding to the i/o of that board, for example, an Uno would supply 5v to this pin, but a Due would supply 3.3v.Sending a signal to this pin does nothing.


      Join our hands-on training courses.

      To know more visit us at


      Popular posts from this blog

      IoT - LPG Gas Sensor Logging with NodeMCU and Thingspeak.

      In this tutorial, will learn, how to interface MQ-5 Module with Node Mcu(ESP8266).

      The Grove - Gas Sensor(MQ5) module is useful for gas leakage detection (in home and industry). It is suitable for detecting H2, LPG, CH4, CO, Alcohol. Due to its high sensitivity and fast response time, measurements can be taken as soon as possible. The sensitivity of the sensor can be adjusted by using the potentiometer.

      Components Required
      NodeMcu(ESP8266) MQ-5 LPG SENSOR Module Few male to female connecting wires Breadboard  Follow the image below for circuit connection reference:-
      After making the circuit dump the code given below:-

      // Karkhana Report
      // Analyse the volume of the gas using
      // Hardware: NodeMCU,MQ-5

      #include <ESP8266WiFi.h>
      String apiKey = "Enter the API key"; // Enter your Write API key from ThingSpeak
      const char *ssid = "Enter ssid"; // replace with your wifi ssid and wpa2 key
      const char *pass = "Enter password";
      const char* server = &qu…

      IoT - Humidity and Temperature Logging using NodeMCU and ThingSpeak

      Hey Folks,
      In this tutorial, we will learn, how to interface DHT 11 with Node Mcu(ESP8266).
      The DHT11 is a basic, ultra low-cost digital temperature and humidity sensor. It uses a capacitive humidity sensor and a thermistor to measure the surrounding air and spits out a digital signal on the data pin (no analog input pins needed).

      Components Required
      NodeMcu(ESP8266) DHT 11 SENSOR Few male to female connecting wires Breadboard
      Follow the image below for circuit connection reference.
      In this circuit, we have connected the output pin to the D3 pin of the NodeMcu module and NC pin remain disconnected. After making the circuit dump the code given below.
      // Karkhana Report
      // temperature and humidity data using
      // Hardware: NodeMCU,DHT11
      #include <DHT.h> // Including library for dht
      #include <ESP8266WiFi.h>
      String apiKey = "THINGSPEAK API KEY"; // Enter your Write API key from ThingSpeak
      const char *ssid = "ENTER YOUR SSID"; // replace with your wifi ssid a…

      Servo Motor Control using ESP8266 and Blynk App

      Hey folks, 
      In this tutorial we will learn how to interface Servo motor with NodeMcu(ESP8266)module and operate it with the Blynk app. Servos are controlled by sending an electrical pulse of variable width, or pulse width modulation (PWM), through the control wire. There is a minimum pulse, a maximum pulse, and a repetition rate. A servo motor can usually only turn 90° in either direction for a total of 180° movement.
         Follow the image below for circuit connection reference. In this circuit, we have connected the output pin to the D0 pin of the NodeMcu module. If want to control the servo motor manually then connect a 10K potetiometer . The 10K potentiometer will work as a voltage divisor, changing the analog input level on  NodeMCU (A0) from 0 to 3.3V. Internally, the 10 bits ADC (Analog-Digital converter) will generate a digital value (from 0 to 1023), the PotReading, equivalent to the analog voltage input.
      After making the circuit dump the code given below.
      /*NodeMCU */
      #include <ESP…