AS5600 - How it works
The AS5600 is a magnetic rotary position sensor from AMS OSRAM that measures the angular position of a rotating magnet without physical contact.
Datasheet
For an in-depth look at technical specifications, see the official AS5600 Datasheet:
AS5600 Datasheet
Detailed technical documentation for the AS5600 sensor
How the sensor works
The AS5600 uses a Hall-effect magnetic sensor, an internal ADC, and digital signal processing to detect the orientation of a nearby diametric magnet and convert it to an angle value. It reads the magnet's field and tracks its position through a full 360° of rotation, and the internal ADC resolves that into up to 4096 positions per revolution (12-bit resolution) for smooth, precise readings. Since nothing physically touches the magnet, there's no mechanical wear over time. The result is available over I2C, as an analog voltage, or as PWM, whichever output your project needs.
I2C Communication
The AS5600 communicates over I2C with a fixed address of 0x36. A host microcontroller can request the current angle, raw angle value, and sensor status over the SDA and SCL lines.
Every I2C transaction follows the same pattern shown below: the host pulls SDA low while SCL is high to signal a start condition (S), then SCL toggles once per bit as the data (the register address you're reading, or the angle value coming back) shifts out one bit at a time over SDA, and the transaction ends with a stop condition (P), SDA going high while SCL is high. The AS5600 Arduino library handles all of this for you, readAngle() and rawAngle() run this exact exchange internally and just hand you back the final number.