The OH137 is a unipolar Hall effect switch IC fabricated with reverse voltage protection, a Schmitt trigger, and an open-collector output stage — converting a south-pole magnetic field into a clean digital LOW signal. Unlike a bipolar latch, it resets automatically when the magnet is removed, making it ideal for speed sensing, position detection, and contactless switching across a wide 4V–24V supply range.
- Unipolar switch — south pole activates, output pulls LOW; no magnet = HIGH
- 4V–24V supply range, 25 mA open-collector output
- Fast switching — 0.13 µs rise, 0.10 µs fall time
- Schmitt trigger hysteresis — clean switching, no chatter
- Reverse polarity protection built in
- −40°C to +85°C operating temperature range
- TO-92S through-hole package, direct logic interface
- Compatible with Arduino, ESP32, Raspberry Pi and more
Specifications
What's in the pack
Quantity as selected. TO-92S through-hole package, ready to use.
Great for
Getting started
- Orient the sensor
Hold the TO-92S package with the flat printed face toward you, legs pointing down. Pins 1, 2, 3 run left to right. The flat face is the active sensing surface.
- Wire power and ground
Connect Pin 1 (VCC) to your supply — 5V for Arduino, or 5V Vin on ESP32 (minimum 4.5V required). Connect Pin 2 to GND.
- Connect the output with a pull-up
Connect Pin 3 (OUT) to a digital GPIO. Use
pinMode(pin, INPUT_PULLUP)in Arduino, or add a 10 kΩ resistor from Pin 3 to VCC. - Read the output
digitalRead()returns LOW when a south-pole magnet faces the flat surface, HIGH otherwise. UseattachInterrupt()for RPM counting without polling.
How it works
Common questions
Does the north pole trigger the OH137?
No — the OH137 is unipolar and only responds to a south magnetic pole facing the flat face. The north pole has no effect on the output. If you need both poles to trigger switching, see the US1881 bipolar Hall latch.
Does the output hold state when the magnet is removed?
No. The OH137 is non-latching — the output goes LOW while the south pole is present and returns HIGH as soon as the magnet is removed. There is no memory. For latching behaviour, use the US1881.
Do I need a pull-up resistor?
Yes. The output is open-collector, so it needs a pull-up to read HIGH. Use INPUT_PULLUP in Arduino to enable the internal pull-up, or wire a 10 kΩ resistor from Pin 3 to VCC.
Can I use it with a 3.3V ESP32?
Yes, with care. Power Pin 1 (VCC) from the ESP32's 5V Vin rail — the sensor needs a minimum of 4.5V on VCC. The open-collector output on Pin 3 is safe for a 3.3V GPIO input provided the pull-up resistor goes to 3.3V, not 5V.
What's the maximum switching speed?
The OH137 has a 0.13 µs rise time and 0.10 µs fall time, giving it a wide operating frequency suitable for high-speed RPM counting and gear tooth detection. Use attachInterrupt() rather than polling for best accuracy at high speeds.
South pole only: The OH137 is unipolar — the north pole has no effect on the output. A pull-up resistor is always required; the open-collector output will float without one. For switching with both poles, see the US1881 bipolar Hall latch.
