Get help on your project, we are training digital electronics and Arduino (free)

Click here to register
NovaTech Engineerics
KY-024 Linear Magnetic Hall Switch
Availability: In Stock
Condition: New
3 in stock
Will be calculated after you select all properties
Buy Now

The KY-024 Linear magnetic Hall sensor reacts in the presence of a magnetic field. It has a potentiometer to adjust the sensitivity of the sensor and it provides both analog and digital outputs.

The digital output acts as a switch that will turn on/off when a magnet is near, similar to the KY-003. On the other hand, the analog output can measure the polarity and relative strength of the magnetic field.


The KY-024 module consists of a 49E Linear Hall-Effect Sensor, an LM393 Dual Differential Comparator, a potentiometer, two LEDs and six resistors. It's compatible with popular electronics platforms like Arduino, Raspberry Pi, Esp8266, and Teensy.


Operating Voltage2.7V to 6.5V
Sensitivity1.0 mV/G min., 1.4 mV/G typ., 1.75 mV/G max.
Board Dimensions1.5cm x 3.6cm [0.6in x 1.4in]

Arduino KY-024 Connection Diagram

Connect board's power line (+) and ground (G) to 5V and GND respectively. Connect the digital signal (D0) to pin 3 on the Arduino and the board's analog signal (A0) to pin A0 on the Arduino.

KY-024 Arduino connection diagram

KY-024 Example Code

The following Arduino sketch will read values from both digital and analog interfaces on the KY-024.  The digital interface will turn on the Arduino's LED when a magnetic field is detected.

The analog interface starts at an initial value determined by the input voltage and the potentiometer, this value will increase or decrease depending on the intensity and polarity of the magnetic field.


int led = 13 ; // LED on arduino
int digitalPin = 3; // linear Hall magnetic sensor digital interface
int analogPin = A0; // linear Hall magnetic sensor analog interface
int digitalVal ; // digital readings
int analogVal; // analog readings

void setup ()
  pinMode (led, OUTPUT); 
  pinMode (digitalPin, INPUT); 
  //pinMode(analogPin, INPUT); 

void loop ()
  // Read the digital interface
  digitalVal = digitalRead(digitalPin) ; 
  if (digitalVal == HIGH) // When magnetic field is present, Arduino LED is on
    digitalWrite (led, HIGH);
    digitalWrite (led, LOW);
  // Read the analog interface
  analogVal = analogRead(analogPin);
  Serial.println(analogVal); // print analog value



Setting the analog pin as input (line 11) is not necessary, the analogRead() function will automatically set the pin as analog input when used.

Use Tools > Serial Plotter on the Arduino IDE to visualize the changes in intensity and polarity of the magnetic field.

KY-024 arduino output on serial

Technical Details:

Seller SKU: 15
Minimum order quantity: 1
Date first listed on Novatech: Aug 24, 2020

No reviews