The TLV493D 3-axis magnetometer is a great little sensor for detecting magnets in 3D. In fact, the manufacturer Infineon suggests it could be used to make a joystick!
You could also use it for other cool things like detecting objects with magnets attached, like the lid of a box, or maybe a statue that unlocks your secret lair when placed on your mantle?
The TLD493D excels at measuring nearby magnetic fields in three dimensions. It's not going to make a good compass, it's not sensitive enough to pick up the Earth's magnetic field, but you can use it to track the movement of nearby magnets in three dimensions.
Here are a few specs:
Digital output via 2-wire based standard I2C interface up to 1 MBit/sec
12-bit data resolution for each measurement direction
Bx, By and Bz linear field measurement up to +130 mT
Excellent matching of X/Y measurement for accurate angle sensing
As we are wont to do, Adafruit have made the TLV easy to use by putting it on a breakout PCB along with the circuitry to support it. A voltage regulator and logic level shifting combine to make it usable with a range of microcontrollers with either 3.3V or 5V logic levels. They even give you a pin for you to use the excess 3.3V juice not needed by the TLV493D.
They've also outfitted the breakout with SparkFun Qwiic compatible STEMMA QT connectors to allow you to use it with other similarly equipped boards without needing to solder. Because the TLV493D "speaks" I2C, you only need two wires (in addition to power) to interface with your microcontroller, and you can share those pins with other I2C sensors. The manufacturer Infineon was kind enough to provide a library to use the sensor with Arduino, and Adafruit have written one to use it with CircuitPython and Python for use on Raspberry Pi and other Linux computers.
TECHNICAL DETAILS
Product Dimensions: 25.4mm x 17.8mm x 4.6mm / 1.0" x 0.7" x 0.2"
Product Weight: 1.8g / 0.1oz
LEARN
Primary Guide: Adafruit TLV493 Triple-Axis Magnetometer - For when you can't orient your magnets!