Skip to product information
1 of 3

Axiometa

Rotary Encoder

Rotary Encoder

SKU:AX22-0003

This AX22-sized module integrates an ALPS Alpine incremental rotary encoder on a compact 22 × 22 mm PCB. The encoder outputs clean two-channel quadrature signals plus an optional push-switch, making it straightforward for any microcontroller to read direction, step count, and clicks without extra debouncing circuitry. It’s perfect for tweaking parameters like brightness, volume, or menu selections and slips seamlessly into AX22 systems with no special wiring. Use it in custom control panels, user-input dials, or interactive gadgets where precise, tactile rotary input is essential.
Regular price $3.49
Regular price Sale price $3.49
Sale Sold out
Taxes included. Shipping calculated at checkout.
View full details
  • Technical Details

    - 22 mm × 22 mm square
    - 4× ⌀2.7 mm Mounting Holes
    - Integrated Push Button
    - 1.8 V, 3.3 V, 5.0 V
    - Arduino IDE Compatible
    - MicroPython Compatible
    - MicroBlocks Compatible

    Material Datasheet 
  • Pinout

  • Interface

  • Top

  • Bottom

#include <RotaryEncoder.h>

#define PIN_IN1 15
#define PIN_IN2 45

RotaryEncoder encoder(PIN_IN1, PIN_IN2, RotaryEncoder::LatchMode::TWO03);

void setup() {
  Serial.begin(9600);
}

void loop() {
  static int pos = 0;
  encoder.tick();

  int newPos = encoder.getPosition();
  if (pos != newPos) {
    Serial.print("pos:");
    Serial.print(newPos);
    Serial.print(" dir:");
    Serial.println((int)(encoder.getDirection()));
    pos = newPos;
  }
}