Back to Sensors & Actuators Series

Magnetic Sensor: A3144 Hall Effect Switch

July 21, 2025 Wasil Zafar 7 min read

A3144 deep dive — Hall effect switching principle, electrical characteristics, interrupt-based RPM counting code, and real-world applications.

Contents

  1. Working Principle
  2. Electrical Characteristics
  3. Interfacing with MCU
  4. Calibration
  5. Code Example
  6. Real-World Applications
  7. Limitations

Working Principle

The A3144 is a unipolar digital Hall effect switch. Inside its SIP-3 package, a thin-film Hall element sits on a silicon die. When the south pole of a magnet approaches the branded face, the resulting magnetic field deflects charge carriers via the Lorentz force, generating a Hall voltage. An internal Schmitt trigger with built-in hysteresis converts this voltage into a clean digital output — LOW when a field exceeds the operate point (~10 mT) and HIGH when it falls below the release point (~5 mT).

Electrical Characteristics

A3144 Key Specifications

ParameterValue
Supply Voltage4.5–24 V DC
Output TypeOpen-drain (needs pull-up resistor)
Operating Point (BOP)~10 mT (south pole, branded face)
Release Point (BRP)~5 mT (hysteresis prevents chatter)
Supply Current~4.4 mA (typical)
Output Sink Current (max)25 mA
Response Time< 2 µs

Interfacing with an MCU

Connect VCC to 5 V (or 3.3 V via logic-level variant), GND to ground, and the output pin to a GPIO with a 10 kΩ pull-up resistor to VCC (the open-drain output cannot source current). Place a neodymium magnet on a rotating shaft, door frame, or conveyor belt; the sensor detects each pass.

Calibration

Hall switches are factory-calibrated — no user calibration needed. To adjust sensitivity, vary the magnet-to-sensor air gap. Closer = stronger field = more reliable trigger. Use stronger magnets (N35+) for gaps > 10 mm.

Code Example

// A3144 Hall Effect switch — RPM counter on Arduino
#include <Arduino.h>

#define HALL_PIN 2   // A3144 output (with 10k pull-up)

volatile unsigned long pulse_count = 0;
unsigned long last_time = 0;

void hall_isr() {
    pulse_count++;
}

void setup() {
    Serial.begin(115200);
    pinMode(HALL_PIN, INPUT_PULLUP);
    attachInterrupt(digitalPinToInterrupt(HALL_PIN), hall_isr, FALLING);
    Serial.println("A3144 RPM Counter — attach magnet to shaft");
}

void loop() {
    unsigned long now = millis();
    if (now - last_time >= 1000) {
        noInterrupts();
        unsigned long count = pulse_count;
        pulse_count = 0;
        interrupts();

        float rpm = count * 60.0;  // 1 magnet per revolution
        Serial.print("Pulses/s: "); Serial.print(count);
        Serial.print("  RPM: "); Serial.println(rpm, 0);
        last_time = now;
    }
}

Real-World Applications

Washing Machine Drum Speed

Consumer appliances use Hall effect switches identical to the A3144 to monitor drum rotation speed during spin cycles. A small magnet on the drum passes the sensor once per revolution, allowing the motor controller to regulate RPM for different fabric types and achieve precise spin-dry targets.

AppliancesMotor ControlRPM Sensing

Limitations

  • Unipolar only: Detects only south-pole fields on the branded face. Use bipolar (latch) variants like the US1881 for alternating-pole magnets.
  • Temperature drift: Operate/release thresholds shift ±20% over -40°C to +85°C range.
  • No analog output: Cannot measure exact field strength. Use linear Hall sensors (SS49E, DRV5055) for proportional readings.
  • Open-drain output: Requires external pull-up resistor; forgetting this causes a floating input.