Roto Smart Rotary Encoder
Encoder Module
Hardware

Roto

Smart rotary encoder featuring an onboard ATTINY85 microcontroller that handles all the complex encoder position tracking. With the simple GNDHOG library, you just need to call encoder.tick() to get an updated position value - no more dealing with interrupt handling or debouncing!

ATTINY85 Onboard 24 Steps/Revolution I2C Interface GNDHOG Library Push Button

⚙️ Technical Specifications

Microcontroller
ATTINY85
Encoder Type
Rotary encoder with push button
Interface
I2C communication
Power
3.3V - 5V
Position Resolution
24 steps per revolution
Library
Simple GNDHOG library included

🎯 Key Features

🧠 ATTINY85 Onboard

Built-in ATTINY85 microcontroller handles all encoder position tracking, debouncing, and data processing internally. No external interrupts or complex code needed.

📚 Simple GNDHOG Library

Ultra-simple library interface - just use encoder.tick() to get the current position. No complex interrupt handling required! Perfect for beginners and experts alike.

🎯 Precise Position Tracking

Accurate rotary position detection with built-in debouncing and noise filtering for reliable operation. 24 steps per revolution for smooth control.

🔌 Easy Integration

Drop-in replacement for standard rotary encoders with enhanced functionality and simplified code. I2C interface makes wiring a breeze.

🔘 Push Button Included

Built-in push button functionality for selection and confirmation actions. Perfect for menu navigation and user interface applications.

⚡ Dual Voltage Support

Works with both 3.3V and 5V systems without level shifting. Compatible with Arduino, Raspberry Pi, ESP32, and most microcontroller platforms.

💻 Code Example

🚀 Basic Usage

#include <GndHogRoto.h>

GndHogRoto encoder;

void setup() {
    encoder.begin();
    Serial.begin(9600);
    Serial.println("Roto Encoder Ready!");
}

void loop() {
    int position = encoder.tick();
    bool buttonPressed = encoder.buttonPressed();
    
    Serial.print("Position: ");
    Serial.print(position);
    if (buttonPressed) {
        Serial.print(" - Button Pressed!");
    }
    Serial.println();
    
    delay(10);
}

🚀 Getting Started

1

Install Library

Download and install the GNDHOG Roto library from our repository or Arduino Library Manager.

2

Wire It Up

Connect VCC, GND, SDA, and SCL pins to your microcontroller. Only 4 wires needed!

3

Start Coding

Include the library, create an encoder object, and call encoder.tick() in your loop. That's it!