Rotation Speed Data Acquisition Guide

Hall-effect sensors and tachometer pulses for motor RPM, drilling rigs, and rotating-equipment monitoring.

When working with any kind of system that has a rotational component, it is often useful to quantify just how fast the component is spinning. This can be done by measuring the revolutions per minute, or RPM. Then, speed itself can be determined from the RPM data.

The most common sensor used to collect RPM measurements is a Hall Effect sensor. This sensor works by way of magnetic detection, and can be either unipolar or bipolar in operation. Unipolar sensors are insensitive to the pole of a magnet and record a signal every time a magnetic field is sensed. Bipolar sensors, conversely, require that both a north pole and a south pole to function. When the sensor picks up on one pole a signal is generated, and it remains in the “on” state until the sensor passes a magnet of the opposite pole, which turns it “off.” Generally, a magnet (or two, depending on the type of sensor) is placed on the component that is spinning, and the sensor is held stationary in a fixed location very close to the rotating piece.6

Just one application of measuring rotation is in a drilling system. In such a system, it is crucial to know how fast the drill is spinning, and this can be determined by readings from a Hall Effect sensor. In the image below, there are many magnets attached to the drill to increase resolution. The data read by the bipolar Hall Effect sensor is then divided by the number of magnets present to determine RPM.

Hall effect sensors can be either digital or analog inputs, and they are frequently powered by 3.3 V or 5 V, depending on the specific sensor.

6 Allwine, Elmer. 1998. “Magnetic Position Sensor Having A Variable Width Magnet Mounted Into A Rotating Disk And A Hall Effect Sensor”. US.


Recommended DAQ

Recommended DAQ: Nyquist 1

Hall-effect sensors typically deliver clean digital pulses. All three Nyquist variants have 16 bidirectional digital I/O channels — NQ1 is the cost-effective fit for pure rotation work.

Compare all three Nyquist variants →

Code example

The DAQiFi Python SDK exposes a property-based API. Below is a minimal stream — discover the device, enable an analog-input channel, and print samples at 1 kS/s.

from daqifi import DAQiFiDevice

with DAQiFiDevice.discover_first() as dev:
    dev.channels.ai0.enable()
    for sample in dev.stream(rate_hz=1000):
        print(sample)

For C#, Java, LabVIEW, or Node.js examples, see the open-source stack page or jump straight into the reference example app on GitHub.


← Back to Data Acquisition Wiki  ·  Browse DAQiFi DAQ devices →  ·  Open-source stack →