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 type | A3144 digital Hall-effect switch (unipolar, latching-free — switches back off when the magnet moves away) |
| Operating voltage | 4.5V–24V DC (5V typical for microcontroller projects) |
| Operating current | ~9 mA typical |
| Output type | Open-collector digital output — requires an external pull-up resistor (often included on breakout boards) |
| Response | Output switches LOW when a sufficiently strong magnetic pole is detected, HIGH otherwise (with pull-up) |
| Detection distance | A few millimeters, dependent on magnet strength and orientation |
| Response speed | Fast enough for RPM sensing on typical hobby motors and wheels (well into the kHz range) |
| Interface | Single digital output pin, read directly or via interrupt for pulse counting |
A3144 Pinout
| Pin | Name | Description |
|---|---|---|
| 1 | VCC | Power, 4.5–24V DC (5V typical) |
| 2 | GND | Ground |
| 3 | OUT | Open-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 pin | Arduino Uno pin | Note |
|---|---|---|
| VCC | 5V | — |
| GND | GND | — |
| OUT | D2 | D2 is one of the Uno's two hardware-interrupt pins (the other is D3) — needed for reliable pulse counting |
Example code
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

Arduino Uno R3 Pinout: Every Pin Explained (Digital, Analog, PWM, Power)
Complete Arduino Uno R3 pinout reference: all 14 digital pins, 6 analog inputs, PWM, UART, SPI, I2C, AREF, and power rails explained with wiring tips and common mistakes.

Ultimate Arduino Mega 2560 Pinout Guide: Complete Power & I/O Reference
Master the Arduino Mega 2560 pinout. Detailed reference for all 54 digital pins, 16 analog inputs, PWM, UARTs, SPI, I2C, interrupts, and power. Includes a printable table and practical wiring tips.

Interfacing HC-SR04 Ultrasonic Sensor with Arduino
Measure distance accurately using ultrasonic sound waves and an Arduino Uno — no complex math, no expensive hardware.
HC‑SR04 Ultrasound Distance Measurement with Arduino – Parking Alert (LCD & Buzzer)
Learn HC‑SR04 ultrasound distance measurement with Arduino Uno. Build a parking alert system with 16x2 LCD and buzzer – shows distance and beeps faster as you approach.