Arduino
Arduino is an open-source microcontroller development board used to build electronics,
sensor-based, and automation projects easily.
Arduino has many models. Choose based on requirement:
Board Suitable For
UNO Beginner projects, simple I/O
Nano Compact projects, wearable devices
Mega More pins, robotics, many sensors
ESP32/ESP8266 (Arduino-compatible) IoT + Wi-Fi + Bluetooth
It helps you:
Read data from sensors
Control motors, LEDs, relays
Send/receive signals
Build IoT devices
It contains:
A microcontroller chip (e.g., ATmega328P)
Digital & analog input/output pins
Power supply pins
USB port
Reset button
Clock crystal
Voltage regulator
Components on an Arduino Board
1. Microcontroller (ATmega328P) – The Brain
The main IC (chip) on the board.
Stores the program.
Reads sensors and controls devices.
Function:
Executes your Arduino code line by line.
2. USB Port
Used to upload code from your computer.
Also powers the board (5V).
3. Voltage Regulator
Controls voltage supply.
Makes sure the board receives a stable voltage (5V/3.3V).
Function:
Protects the board from voltage damage.
4. Power Jack (Barrel Jack)
Connects external power supply (7–12V).
Used when USB is not used.
5. Digital Input/Output Pins (0–13)
Used to read digital sensors (ON/OFF).
Used to control devices: LED, relay, motors.
Special pins:
Pins 0 & 1 = UART communication (RX, TX)
Pins 3, 5, 6, 9, 10, 11 = PWM output (~ symbol). PWM pins control Motor speed,
LED brightness.
6. Analog Input Pins (A0–A5)
Read analog sensors (variable values).
Example: temperature, humidity, light sensor.
7. Reset Button
Restarts the program.
Useful for debugging or resetting the board.
8. Power Pins (3.3V, 5V, GND, Vin)
These are used to supply power to sensors.
5V / 3.3V → power output for sensors
GND → ground
Vin → input power when using adapter
9. Crystal Oscillator (16 MHz)
Small metal can on the board.
Provides clock signal to microcontroller.
Function:
Controls how fast the microcontroller runs.
10. ICSP Header (In-Circuit Serial Programming)
Used to program the microcontroller directly.
Useful if the bootloader is corrupted.
11. TX/RX LEDs
TX blinks when board is transmitting data.
RX blinks when board is receiving data.
12. Power LED (ON)
Lights up when the board is powered.
Confirms the board is working.
Things to Consider When Developing on Arduino
1. Choose the Right Arduino Board
Arduino has many models. Choose based on requirement:
Board Suitable For
UNO Beginner projects, simple I/O
Nano Compact projects, wearable devices
Mega More pins, robotics, many sensors
ESP32/ESP8266 (Arduino-compatible) IoT + Wi-Fi + Bluetooth
2. Understand Power Requirements
Arduino can be powered by:
USB (5V)
External adapter (7–12V)
Battery (Li-ion/9V)
⚠️Over-voltage can damage the board.
⚠️Motors require external power, not Arduino Vcc.
3. Select Sensors and Actuators Properly
Check:
Operating voltage (3.3V or 5V)
Output type (Analog/Digital)
Current requirements
Communication protocol (I2C, SPI, UART)
📌 Arduino UNO works at 5V logic.
4. Pin Limitations
Arduino has limited digital/analog pins.
Example: UNO has:
14 Digital I/O
6 Analog
6 PWM
5. Memory Constraints
Arduino has limited memory because it is a microcontroller.
For example (UNO):
Flash: 32 KB
SRAM: 2 KB
EEPROM: 1 KB
⚠️Cannot run heavy code like image processing or ML.
⚠️Code must be efficient.
6. Programming Language Used (Arduino IDE)
Arduino is programmed using:
C/C++ (Arduino Sketch)
7. Circuit Design and Safety
When connecting components:
Use resistors for LEDs
Use transistor or relay for motors
Use capacitors for noise removal
Do not connect heavy loads directly
Double-check connections before powering
⚠️Wrong wiring can burn the board.
8. Communication Interfaces
If your project needs external modules, learn protocols:
UART (Serial communication) → Bluetooth, GPS
I2C → OLED displays, sensors
SPI → SD cards, displays
📌 Make sure the board supports required communication.
9. Libraries
Arduino has many libraries for sensors and modules.
Before choosing a library, check:
Compatibility with your board
Memory usage
Community support
Active updates
Architecture of Raspberry Pi
Raspberry Pi is a small single-board computer (SBC). It is a credit card-sized computer that
can be plugged into a monitor. It acts as a minicomputer by connecting the keyboard, mouse,
and display. Raspberry Pi has an ARM processor and 512MB of RAM.