The KY-003 Hall Magnetic Sensor module is a switch that reacts to the presence of a magnetic field, turning itself on or off. Compatible with popular microcontrolers like Arduino, Raspberry Pi and ESP32.
This module offers a digital output, it looks similar to the KY-035 analog hall magnetic sensor, and it is functionally similar to the KY-024, a digital/analog magnetic sensor.


Ky-003 Specifications
This module consists of a 3144EUA-S Hall-effect switch, a 680Ω resistor, an LED and 3 male header pins.
Operating Voltage | 4.5V to 24V |
Operating Temperature Range | -40°C to 85°C [-40°F to 185°F] |
Board Dimensions | 18.5mm x 15mm [0.728in x 0.591in] |
Connection Diagram
Connect the board power line (middle) and ground (-) to +5 and GND on the Arduino respectively.
Connect signal (S) to pin 3 on the Arduino.
KY-003 | Arduino |
---|---|
S | Pin 3 |
middle | +5V |
– | GND |

KY-003 Arduino Code
The following Arduino sketch will turn on the LED on pin 13 when you put a magnet near the module.
int led = 13;//LED pin
int sensor = 3; //sensor pin
int val; //numeric variable
void setup()
{
pinMode(led, OUTPUT); //set LED pin as output
pinMode(sensor, INPUT); //set sensor pin as input
}
void loop()
{
val = digitalRead(sensor); //Read the sensor
if(val == LOW) //when magnetic field is detected, turn led on
{
digitalWrite(led, HIGH);
}
else
{
digitalWrite(led, LOW);
}
}
I like to have a signal sensor
guaglio ma come cazzo si feic la simulazione
Mattia ricorda di portare quel foglio
Is the output of this sensor digital or analog? I saw a video of a guy who tested the ky-003 and the serial plotter showed a linear output according to the strength of the magnetic field. However, I always find in the descriptions of the ky-003 that it is a digital sensor. Could you help me with this clarification?
I have a ky-003 here Gisele and per its datasheet (there’s a Schmitt trigger there) it does appear to hard switch. There are linear sensors but the one on the ky-003 is a solid-state switch by my own tests. The block diagram suggests the trigger is driving the base of an open collector NPN transistor so it can source current directly.
I just checked with one I have here and there’s a very clear hysteresis effect from the Schmitt trigger as so there’s a small “dead spot” (designed) so the device doesn’t stutter as the magnetic passes through the sensitive range.
What you’re thinking of is the KY-024 which is slightly more complex on board but has both digital and analog outputs.
this line should be… 14 if(val == LOW)
You’re right, thanks! I updated the code.
Amazing dood