Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use AMT103: Examples, Pinouts, and Specs

Image of AMT103
Cirkit Designer LogoDesign with AMT103 in Cirkit Designer

AMT103 Magnetic Encoder Documentation

1. Introduction

The AMT103 is a non-contact magnetic encoder designed to provide precise angular position feedback. It operates using a Hall effect sensor to detect the position of a rotating magnet, ensuring high accuracy and reliability. This encoder is widely used in motion control systems, robotics, industrial automation, and other applications requiring precise rotational measurements.

Key Features:

  • Non-contact magnetic sensing for durability and reliability.
  • High-resolution angular position feedback.
  • Compact and lightweight design.
  • Easy integration with microcontrollers and motor control systems.

Common Applications:

  • Robotics (e.g., joint position feedback).
  • Industrial automation (e.g., motor shaft position monitoring).
  • CNC machines and 3D printers.
  • Servo motor control systems.
  • Precision measurement devices.

2. Technical Specifications

The following table outlines the key technical details of the AMT103 magnetic encoder:

Parameter Value
Supply Voltage (Vcc) 3.3V to 5.5V
Current Consumption 6 mA (typical)
Output Signal Type Quadrature (A/B)
Resolution Configurable (up to 2048 PPR)
Operating Temperature -40°C to +125°C
Maximum Rotational Speed 60,000 RPM
Communication Interface Digital (A/B quadrature signals)
Mounting Hole Diameter 2.0 mm
Dimensions 28 mm x 28 mm x 10 mm

Pin Configuration

The AMT103 has a 5-pin interface. The pinout and descriptions are as follows:

Pin Name Description
1 VCC Power supply input (3.3V to 5.5V).
2 GND Ground connection.
3 A Quadrature signal A (digital output).
4 B Quadrature signal B (digital output).
5 Index Index pulse (optional, one pulse per revolution).

3. Usage Instructions

Connecting the AMT103 to a Circuit

To use the AMT103, follow these steps:

  1. Power Supply: Connect the VCC pin to a 3.3V or 5V power source and the GND pin to the ground.
  2. Signal Outputs: Connect the A and B pins to the digital input pins of your microcontroller or motor controller. These pins provide the quadrature signals for position and direction detection.
  3. Index Pulse (Optional): If your application requires an index pulse, connect the Index pin to a digital input pin on your microcontroller.

Example Circuit Diagram

Below is a simple connection diagram for interfacing the AMT103 with an Arduino UNO:

AMT103 Encoder       Arduino UNO
----------------     ------------
VCC (Pin 1)   --->   5V
GND (Pin 2)   --->   GND
A (Pin 3)     --->   Digital Pin 2
B (Pin 4)     --->   Digital Pin 3
Index (Pin 5) --->   Digital Pin 4 (optional)

Important Considerations:

  • Ensure the encoder is mounted securely to avoid misalignment during operation.
  • Use pull-up resistors on the A and B signal lines if required by your microcontroller.
  • Avoid placing the encoder near strong magnetic fields, as they may interfere with its operation.

4. Arduino Example Code

The following example demonstrates how to read the quadrature signals from the AMT103 using an Arduino UNO. This code calculates the position and direction of rotation.

// AMT103 Encoder Example Code
// Connect A to Pin 2, B to Pin 3, and Index (optional) to Pin 4.

#define ENCODER_PIN_A 2  // Quadrature signal A
#define ENCODER_PIN_B 3  // Quadrature signal B

volatile int encoderPosition = 0;  // Tracks the encoder position
volatile int lastEncoded = 0;      // Stores the last encoder state

void setup() {
  pinMode(ENCODER_PIN_A, INPUT);
  pinMode(ENCODER_PIN_B, INPUT);
  digitalWrite(ENCODER_PIN_A, HIGH);  // Enable pull-up resistor
  digitalWrite(ENCODER_PIN_B, HIGH);  // Enable pull-up resistor

  // Attach interrupts to handle encoder signals
  attachInterrupt(digitalPinToInterrupt(ENCODER_PIN_A), updateEncoder, CHANGE);
  attachInterrupt(digitalPinToInterrupt(ENCODER_PIN_B), updateEncoder, CHANGE);

  Serial.begin(9600);  // Initialize serial communication
}

void loop() {
  // Print the encoder position to the Serial Monitor
  Serial.print("Encoder Position: ");
  Serial.println(encoderPosition);
  delay(100);  // Update every 100ms
}

void updateEncoder() {
  int MSB = digitalRead(ENCODER_PIN_A);  // Most significant bit
  int LSB = digitalRead(ENCODER_PIN_B);  // Least significant bit

  int encoded = (MSB << 1) | LSB;        // Combine A and B signals
  int sum = (lastEncoded << 2) | encoded;  // Track state changes

  // Determine direction and update position
  if (sum == 0b1101 || sum == 0b0100 || sum == 0b0010 || sum == 0b1011) {
    encoderPosition++;
  } else if (sum == 0b1110 || sum == 0b0111 || sum == 0b0001 || sum == 0b1000) {
    encoderPosition--;
  }

  lastEncoded = encoded;  // Update the last state
}

Code Explanation:

  • The updateEncoder function is triggered by interrupts on the A and B pins.
  • The function calculates the direction of rotation based on the quadrature signals.
  • The encoderPosition variable tracks the current position of the encoder.

5. Troubleshooting and FAQs

Common Issues and Solutions

Issue Possible Cause Solution
No output signals from the encoder. Incorrect wiring or loose connections. Verify all connections and ensure proper wiring.
Erratic or noisy position readings. Electrical noise or poor grounding. Use shielded cables and ensure proper grounding.
Incorrect position or direction. Misaligned encoder or incorrect mounting. Re-align the encoder and ensure secure mounting.
Index pulse not detected. Index pin not connected or configured. Verify the Index pin connection and code.

FAQs

  1. Can the AMT103 operate at 3.3V?

    • Yes, the AMT103 supports a supply voltage range of 3.3V to 5.5V.
  2. What is the maximum resolution of the AMT103?

    • The AMT103 supports resolutions up to 2048 pulses per revolution (PPR).
  3. How do I configure the resolution?

    • The resolution can be configured using the encoder's onboard DIP switches. Refer to the manufacturer's datasheet for details.
  4. Can I use the AMT103 with other microcontrollers?

    • Yes, the AMT103 is compatible with any microcontroller that can read digital signals.

This documentation provides a comprehensive guide to using the AMT103 magnetic encoder. For further details, refer to the manufacturer's datasheet or contact technical support.

Explore Projects Built with AMT103

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Arduino Mega 2560-Based Multi-Sensor Vehicle Tracker with GSM and GPS
Image of alcohol_detector: A project utilizing AMT103 in a practical application
This is a vehicle safety and tracking system that uses an Arduino Mega 2560 to monitor alcohol levels with an MQ-3 sensor, track location with a GPS module, communicate via GSM with a Sim800l module, display data on an LCD, and control a motor with an L293D driver. It also includes temperature sensing and vibration detection for additional monitoring and feedback.
Cirkit Designer LogoOpen Project in Cirkit Designer
Solar-Powered Environmental Monitoring System with ESP32-C3 and MPPT Charge Control
Image of Gen Shed Xiao ESP32C3 INA3221 AHT21 -1: A project utilizing AMT103 in a practical application
This circuit is designed for solar energy management and monitoring. It includes a 12V AGM battery charged by solar panels through an MPPT charge controller, with voltage monitoring provided by an INA3221 sensor. Additionally, a 3.7V battery is connected to an ESP32-C3 microcontroller and an AHT21 sensor for environmental data collection, with power management handled by a Waveshare Solar Manager.
Cirkit Designer LogoOpen Project in Cirkit Designer
Solar-Powered Environmental Monitoring System with ESP32-C3 and Battery Management
Image of Generator Shed - 3: A project utilizing AMT103 in a practical application
This circuit is designed for solar energy harvesting and battery management. It includes a solar panel connected to an MPPT (Maximum Power Point Tracking) 12V charge controller for efficient charging of a 12V AGM battery. Additionally, a 6V solar panel charges a 3.7V battery through a TP4056 charge controller. The circuit also features an AHT21 sensor for temperature and humidity readings and an INA3221 for current and voltage monitoring across various points, interfaced with an ESP32-C3 microcontroller for data processing and possibly IoT connectivity.
Cirkit Designer LogoOpen Project in Cirkit Designer
Battery-Powered Emergency Alert System with NUCLEO-F072RB, SIM800L, and GPS NEO 6M
Image of women safety: A project utilizing AMT103 in a practical application
This circuit is an emergency alert system that uses a NUCLEO-F072RB microcontroller to send SMS alerts and make calls via a SIM800L GSM module, while obtaining location data from a GPS NEO 6M module. The system is powered by a Li-ion battery and includes a TP4056 module for battery charging and protection, with a rocker switch to control power to the microcontroller.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with AMT103

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of alcohol_detector: A project utilizing AMT103 in a practical application
Arduino Mega 2560-Based Multi-Sensor Vehicle Tracker with GSM and GPS
This is a vehicle safety and tracking system that uses an Arduino Mega 2560 to monitor alcohol levels with an MQ-3 sensor, track location with a GPS module, communicate via GSM with a Sim800l module, display data on an LCD, and control a motor with an L293D driver. It also includes temperature sensing and vibration detection for additional monitoring and feedback.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Gen Shed Xiao ESP32C3 INA3221 AHT21 -1: A project utilizing AMT103 in a practical application
Solar-Powered Environmental Monitoring System with ESP32-C3 and MPPT Charge Control
This circuit is designed for solar energy management and monitoring. It includes a 12V AGM battery charged by solar panels through an MPPT charge controller, with voltage monitoring provided by an INA3221 sensor. Additionally, a 3.7V battery is connected to an ESP32-C3 microcontroller and an AHT21 sensor for environmental data collection, with power management handled by a Waveshare Solar Manager.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Generator Shed - 3: A project utilizing AMT103 in a practical application
Solar-Powered Environmental Monitoring System with ESP32-C3 and Battery Management
This circuit is designed for solar energy harvesting and battery management. It includes a solar panel connected to an MPPT (Maximum Power Point Tracking) 12V charge controller for efficient charging of a 12V AGM battery. Additionally, a 6V solar panel charges a 3.7V battery through a TP4056 charge controller. The circuit also features an AHT21 sensor for temperature and humidity readings and an INA3221 for current and voltage monitoring across various points, interfaced with an ESP32-C3 microcontroller for data processing and possibly IoT connectivity.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of women safety: A project utilizing AMT103 in a practical application
Battery-Powered Emergency Alert System with NUCLEO-F072RB, SIM800L, and GPS NEO 6M
This circuit is an emergency alert system that uses a NUCLEO-F072RB microcontroller to send SMS alerts and make calls via a SIM800L GSM module, while obtaining location data from a GPS NEO 6M module. The system is powered by a Li-ion battery and includes a TP4056 module for battery charging and protection, with a rocker switch to control power to the microcontroller.
Cirkit Designer LogoOpen Project in Cirkit Designer