Iot Experiment-: 1
1. Aim / Objective
To understand the architecture and pin configuration of ESP8266 and Arduino boards, and compare
their functionalities for various applications.
2. Apparatus Required / Components Required
• ESP8266 Board
• Arduino Board (Arduino Uno, Nano, or Mega)
• USB Cable (for both ESP8266 and Arduino)
• Breadboard
• Connecting Wires
• Multimeter (optional, for checking connections)
• Computer with Arduino IDE
• Power Supply (if needed)
3. Theory
ESP8266 Architecture and Pin Configuration
ESP8266 is a low-cost Wi-Fi microchip with full TCP/IP stack and microcontroller capability. It is widely
used for IoT projects. The ESP8266 has a 32-bit processor, GPIO pins, and operates at 3.3V.
• Key features:
o Tensilica L106 32-bit processor running at 80 MHz.
o 16 GPIO pins (General Purpose Input/Output).
o Operating Voltage: 3.3V.
o Supports UART, SPI, and I²C protocols.
o Built-in Wi-Fi connectivity.
Pin Configuration:
• GPIO Pins: Used for digital I/O operations.
• TX/RX Pins: Used for serial communication.
• RST Pin: Used to reset the module.
• VCC Pin: Power supply (3.3V).
Arduino Architecture and Pin Configuration
Arduino boards are open-source microcontroller platforms based on the ATmega family of
microcontrollers. The most commonly used Arduino board is the Arduino Uno, which operates at 5V.
• Key features:
o 14 digital I/O pins (of which 6 can be used as PWM outputs).
o 6 analog inputs.
o 16 MHz quartz crystal.
o Power supply: 7-12V.
Pin Configuration:
• Digital Pins (0-13): Used for digital I/O operations.
• Analog Pins (A0-A5): Used for analog input.
• PWM Pins: Special pins for Pulse Width Modulation.
• TX/RX Pins: Used for serial communication.
• 5V/3.3V Pins: Power supply.
• GND Pins: Ground connections.
Comparison:
Feature ESP8266 Arduino
Operating Voltage 3.3V 5V
Digital I/O Pins 16 GPIO pins 14 Digital pins
Built-in Wi-Fi Yes No
Clock Speed 80 MHz 16 MHz
Communication Protocols UART, SPI, I²C UART, SPI, I²C
4. Code (if any)
ESP8266 Example Code
This is a basic example of using the ESP8266 to connect to a Wi-Fi network:
#include <ESP8266WiFi.h>
const char* ssid = "Your_SSID";
const char* password = "Your_PASSWORD";
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
Serial.println("Connected to WiFi");
void loop() {
// Add code to interact with GPIO pins or sensors
Arduino Example Code
This example turns an LED on and off using one of the digital pins:
int ledPin = 13;
void setup() {
pinMode(ledPin, OUTPUT);
void loop() {
digitalWrite(ledPin, HIGH); // turn the LED on
delay(1000); // wait for a second
digitalWrite(ledPin, LOW); // turn the LED off
delay(1000); // wait for a second
5. Result
The pin configurations and architectures of ESP8266 and Arduino boards were successfully studied.
The ESP8266 is more suitable for IoT applications due to its built-in Wi-Fi capability, while Arduino is
preferred for simpler hardware control and sensor-based projects.
6. Applications
• ESP8266: Ideal for IoT applications like home automation, remote sensing, and real-time
data monitoring.
• Arduino: Best suited for hardware prototyping, sensor interfacing, and automation control
systems.