Skip to content
A3144

Motion

Interfacing A3144 Motion with Arduino Uno

What is the A3144?

A digital Hall-effect sensor used for contactless RPM counting, door-open detection, and brushless motor commutation sensing. The A3144 outputs a simple digital signal that switches state whenever a sufficiently strong magnetic field (from a passing magnet) is detected nearby, with no moving parts and no physical contact required — a common building block for spinning-wheel RPM sensors, door/window open detection (as a solid-state alternative to a reed switch), and sensing magnet positions on brushless DC motors.

Specifications

Sensor typeA3144 digital Hall-effect switch (unipolar, latching-free — switches back off when the magnet moves away)
Operating voltage4.5V–24V DC (5V typical for microcontroller projects)
Operating current~9 mA typical
Output typeOpen-collector digital output — requires an external pull-up resistor (often included on breakout boards)
ResponseOutput switches LOW when a sufficiently strong magnetic pole is detected, HIGH otherwise (with pull-up)
Detection distanceA few millimeters, dependent on magnet strength and orientation
Response speedFast enough for RPM sensing on typical hobby motors and wheels (well into the kHz range)
InterfaceSingle digital output pin, read directly or via interrupt for pulse counting

A3144 Pinout

PinNameDescription
1VCCPower, 4.5–24V DC (5V typical)
2GNDGround
3OUTOpen-collector digital output — connect through a pull-up resistor (or use the microcontroller's internal pull-up) to a digital input pin

The bare A3144 IC has an open-collector output and needs an external pull-up resistor (typically 10kΩ to VCC) to read a clean HIGH when no magnet is present — most breakout boards already include this pull-up onboard, so check your specific board before assuming one is needed. Because the output is unipolar and switches state only for one magnetic pole, the orientation of the passing magnet matters: test which face needs to point at the sensor before finalizing a mechanical design.

Setting Up A3144 with Arduino Uno

Wiring

Component pinArduino Uno pinNote
VCC5V
GNDGND
OUTD2D2 is one of the Uno's two hardware-interrupt pins (the other is D3) — needed for reliable pulse counting

Example code

C++

The A3144 output is open-collector, so INPUT_PULLUP on the Arduino pin is required (or an external pull-up resistor) — without it the pin will float and register false triggers. RPM math above assumes one magnet on the rotating part; multiply by the number of magnets if you use more.

Related Guides & Projects