A3144 Hall-Effect Tachometer
Glue a magnet to a fan, point a Hall sensor at it, and read RPM straight off the serial monitor.
Difficulty: Breadboard. Estimated build time: about 30 minutes. Estimated parts cost: about US$2.00. 6-line bill of materials. Compare supplier offers when available. The A3144 is a digital Hall-effect switch — a tiny TO-92 chip whose output goes from high to low when one specific pole of a magnet gets close enough.
Identify the A3144 pinout
Hold the A3144 with the flat (labelled) face toward you and the leads pointing down. Pin 1 (left) is VCC, pin 2 (centre) is GND, pin 3 (right) is OUT. Note the order — many beginner mistakes come from confusing this with a TO-92 BJT, where the pinout differs. Wire VCC to your 5 V rail and GND to ground. The chip will draw 3–9 mA from VCC.
Add the output pull-up
OUT is open-drain — internally it is a transistor that pulls low when triggered, but cannot drive high. Wire a 10 kΩ pull-up from OUT to VCC so the line idles high. When the magnet's south pole crosses near the sensor face, OUT pulls low; remove the magnet and OUT springs back high through the pull-up.
Wire OUT to an Arduino interrupt pin
Connect OUT to Arduino digital pin 2 (one of the two external-interrupt pins on an Uno). Optionally add a 5 mm LED + 1 kΩ from OUT to GND so you have a visual when the magnet is in range.
Mount the magnet on something that spins
Glue or tape a small neodymium disc magnet to the side of a 5 V cooling fan, or to the output shaft of a 28BYJ-48 stepper. Position the A3144 so the magnet sweeps within 3–5 mm of its labelled face. Power up — the LED should flash once per revolution. If it does not, flip the magnet over (the A3144 is unipolar — only one pole triggers it).
Compute RPM in software
Use attachInterrupt(digitalPinToInterrupt(2), tick, FALLING) so each magnet pass increments a count. In loop(), every 1,000 ms read the count, multiply by 60 to get RPM, then reset the count. Print it to Serial. For a single magnet on a fan, one falling edge equals one rotation. If you glue two magnets 180 ° apart you get twice the resolution at half the timing window — handy for slow shafts where one event per second is too sparse.