Overview

Hall Effect sensors detect magnetic fields and are commonly used for speed sensing, position detection, and proximity applications. They work by measuring the Hall voltage generated when a magnetic field is applied perpendicular to the current flow. These sensors are contactless, reliable, and perfect for applications requiring precise magnetic field detection.

Technical Specifications

Operating Voltage: 3.3V - 5V DC
Operating Current: 3-25mA
Sensitivity: 1.3mV/Gauss
Detection Range: ±1000 Gauss
Output: Analog & Digital
Response Time: < 2 µs
Operating Temperature: −40 °C to +150 °C
Package: TO-92, SOT-23

Key Features

  • Contactless magnetic field detection
  • High sensitivity and accuracy
  • Fast response time (microseconds)
  • Wide operating temperature range
  • No mechanical wear or tear
  • Immune to dust and moisture
  • Low power consumption
  • Long lifespan and reliability

Wiring Diagram

Basic Connection (Arduino Uno)

Hall Sensor Pin Arduino Pin
VCC 5V (or 3.3V)
GND GND
AO (Analog) Analog Pin A0
DO (Digital) Digital Pin 2

Note: Use a magnet to test the sensor. Bring it close to activate the sensor output.

Common Applications

Speed Sensing

Motor RPM measurement and wheel speed detection

Position Detection

Door/window open/close status monitoring

Proximity Sensing

Contactless object detection and counting

Current Sensing

Non-invasive AC/DC current measurement

Quick Info

Difficulty: Beginner
Price Range: ₹30-100
Interface: Analog/Digital

Sample Code

#define HALL_DIGITAL 2
#define HALL_ANALOG A0
#define LED_PIN 13

void setup() {
  Serial.begin(9600);
  pinMode(HALL_DIGITAL, INPUT);
  pinMode(LED_PIN, OUTPUT);
  
  Serial.println("Hall Effect Sensor Test");
}

void loop() {
  int digitalValue = digitalRead(HALL_DIGITAL);
  int analogValue = analogRead(HALL_ANALOG);
  
  if (digitalValue == LOW) {
    digitalWrite(LED_PIN, HIGH);
    Serial.println("Magnet Detected!");
  } else {
    digitalWrite(LED_PIN, LOW);
    Serial.println("No Magnet");
  }
  
  Serial.print("Magnetic Field Strength: ");
  Serial.println(analogValue);
  
  delay(500);
}