The AH3503 is a ratiometric linear Hall effect sensor in a TO-92 package. It outputs a continuous analog voltage proportional to magnetic field strength -- rising above the midpoint for a north pole and falling below for a south pole. Works directly with Arduino, ESP32, and Raspberry Pi (with an external ADC).
- Linear analog output -- continuous voltage, not a switch
- Ratiometric: output scales with supply voltage
- Bipolar -- detects north and south poles
- Supply voltage 3.5V-6.6V (3.3V and 5V systems)
- Sensitivity 15.25 mV/mT typical at 5V
- Linear range ±80 mT
- Output range 0.1V-4.9V at 5V supply
- Zero-field output ~2.5V at 5V (VCC / 2)
- TO-92A package, 3-pin, 1.27 mm lead pitch
- Operating temp -40°C to +85°C
Specifications
| Model | AH3503 |
| Output type | Linear analog (ratiometric) |
| Supply voltage | 3.5V-6.6V DC |
| Output voltage | 0.1V-4.9V (at 5V supply) |
| Zero-field output | ~2.5V at 5V supply (VCC / 2) |
| Sensitivity | 15.25 mV/mT typical at 5V |
| Linear range | ±80 mT (bipolar) |
| Package | TO-92A, 3-pin, 1.27 mm lead pitch |
| Sensing face | Flat (printed) face of TO-92 body |
| Operating temp | -40°C to +85°C |
| MCU compatibility | Arduino, ESP32, Raspberry Pi (via ADC) |
Wiring & getting started
- Hold the sensor with the flat printed face toward you, legs pointing down. Pins 1, 2, 3 run left to right.
- Pin 1 -- VCC: 5V for Arduino Uno; 3.3V for ESP32 or Raspberry Pi.
- Pin 2 -- GND: common ground of your circuit.
-
Pin 3 -- analog in (A0): read with
analogRead(A0). Returns 0-1023 on a 5V Arduino. - Calibrate zero field: no magnet present reads around 512. Above 512 = north pole; below 512 = south pole.
Great for
Count magnet passes per revolution for accurate motor, fan, or wheel speed measurement.
Smooth linear throttle control for electric vehicle drive systems and speed controllers.
Detect rotor position in brushless DC motors for precise electronic commutation timing.
Non-contact position sensing with a sliding or rotating magnet -- no wear, no contact.
Joint angle sensing, gripper position detection, and servo arm control in robotics builds.
Direct analog read on Arduino A0 -- no extra components or op-amp needed.
FAQ
Is the AH3503 a digital or analog Hall sensor?
Will it work with an Arduino Uno at 5V?
analogRead(A0) to read 0-1023. Around 512 = no field; above 512 = north pole; below 512 = south pole.Can I use this with an ESP32 or Raspberry Pi?
What output voltage with no magnet present?
Which face of the TO-92 is the sensing side?
Does it detect both north and south magnetic poles?
Good to know: For higher precision, add a 100 nF decoupling capacitor between VCC and GND close to the sensor pins. On ESP32, always calibrate at your actual 3.3V supply -- the ratiometric output shifts with voltage.
