AS5600 Magnetic Rotary Encoder Module

Japanese page

Breakout board of the AS5600 (ams AG) magnetic absolute rotary encoder with 12-bit (4096ppr) resolution to 2.54mm pitch.
A neodymium magnet is included.
Power supply pins for 5V, 3.3V, and GND, and pins for I2C, analog, PWM outputs are provided. The supply voltage is 5V or 3.3V.

Feature

Included Items

Specification

How to mount

  1. Attach the included magnet to the center of the rotor shaft.
  2. Attach the board to the fixture so that the center of the AS5600 aligns with the center of the magnet.
Example

Program example with Arduino

Angle acquisition via I2C

Wiring diagram
Source code
Minimum code
#include <Wire.h>
#define AS5600_AS5601_DEV_ADDRESS      0x36
#define AS5600_AS5601_REG_RAW_ANGLE    0x0C

void setup() {
  // I2C init
  Wire.begin();
  Wire.setClock(400000);

  // Read RAW_ANGLE value from encoder
  Wire.beginTransmission(AS5600_AS5601_DEV_ADDRESS);
  Wire.write(AS5600_AS5601_REG_RAW_ANGLE);
  Wire.endTransmission(false);
  Wire.requestFrom(AS5600_AS5601_DEV_ADDRESS, 2);
  uint16_t RawAngle = 0;
  RawAngle  = ((uint16_t)Wire.read() << 8) & 0x0F00;
  RawAngle |= (uint16_t)Wire.read();
  // Raw angle value (0 ~ 4095) is stored in RawAngle
}

void loop() {
}

Obtaining angles via analog pins

Wiring diagram
Source code
Minimum code
#include <stdint.h>

void setup() {
  uint16_t AnalogValue = 0;
  AnalogValue = analogRead(0);
  AnalogValue &= 0x03FF;
  AnalogValue = 0x03FF - AnalogValue;
  // Angle value (0 ~ 1023) is stored in AnalogValue
}

void loop() {
}

Documents

Schematic

PDF File:schematic-v1_0.pdf

Dimensions

DXF File: dimension_dxf.zip

3D CAD Data

STEP File:3d_step.zip