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

How to Use Adafruit I2C Quad Rotary Encoder Breakout: Examples, Pinouts, and Specs

Image of Adafruit I2C Quad Rotary Encoder Breakout
Cirkit Designer LogoDesign with Adafruit I2C Quad Rotary Encoder Breakout in Cirkit Designer

Introduction

The Adafruit I2C Quad Rotary Encoder Breakout (Manufacturer Part ID: 5752) is a versatile breakout board designed to simplify the integration of up to four rotary encoders into your project. It communicates via the I2C protocol, reducing the number of GPIO pins required and enabling precise control and input for various applications. This breakout board is ideal for projects involving user interfaces, menu navigation, volume control, and other applications requiring rotary input.

Explore Projects Built with Adafruit I2C Quad Rotary Encoder Breakout

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 UNO with I2C Multiplexer and Multiple AS5600 Magnetic Encoders
Image of Thesis: A project utilizing Adafruit I2C Quad Rotary Encoder Breakout in a practical application
This circuit consists of an Arduino UNO microcontroller interfaced with multiple AS5600 magnetic encoders through an Adafruit TCA9548A I2C multiplexer. The encoders are connected to different channels of the multiplexer, allowing the Arduino to communicate with each encoder individually over the I2C bus. The purpose of this circuit is to read multiple rotary positions simultaneously without I2C address conflicts, likely for precision control or feedback in a robotic or automation application.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Nano Controlled Optical Encoder with I2C LCD Display
Image of G7_DISTANCE_CALCULATOR: A project utilizing Adafruit I2C Quad Rotary Encoder Breakout in a practical application
This circuit features an Arduino Nano microcontroller interfaced with an Optical Encoder Sensor Module and an I2C LCD 16x2 Screen. The encoder module is connected to the Arduino's digital pin D2 for signal input, while the LCD screen is connected via I2C protocol to pins A4 (SDA) and A5 (SCL) for data display. Power is managed through a 18650 Li-Ion battery connected via a rocker switch to the Arduino's VIN pin, with common ground and 5V connections distributed among the components.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO Rotary Encoder with I2C LCD Display
Image of rotary: A project utilizing Adafruit I2C Quad Rotary Encoder Breakout in a practical application
This circuit consists of an Arduino UNO microcontroller interfaced with an I2C LCD display and a rotary encoder. The Arduino reads the rotary encoder's position and button state, and communicates with the LCD display via I2C to show relevant information.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Nano Controlled OLED Display with Rotary Encoder and Button Input
Image of space impact: A project utilizing Adafruit I2C Quad Rotary Encoder Breakout in a practical application
This circuit features an Arduino Nano microcontroller interfaced with a 0.96" OLED display for visual output, a rotary encoder for input with position and button press detection, and an additional tactile switch for user input. The OLED communicates with the Arduino via I2C, while the encoder and switch provide interactive control, all powered by the Arduino's 5V supply.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with Adafruit I2C Quad Rotary Encoder Breakout

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 Thesis: A project utilizing Adafruit I2C Quad Rotary Encoder Breakout in a practical application
Arduino UNO with I2C Multiplexer and Multiple AS5600 Magnetic Encoders
This circuit consists of an Arduino UNO microcontroller interfaced with multiple AS5600 magnetic encoders through an Adafruit TCA9548A I2C multiplexer. The encoders are connected to different channels of the multiplexer, allowing the Arduino to communicate with each encoder individually over the I2C bus. The purpose of this circuit is to read multiple rotary positions simultaneously without I2C address conflicts, likely for precision control or feedback in a robotic or automation application.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of G7_DISTANCE_CALCULATOR: A project utilizing Adafruit I2C Quad Rotary Encoder Breakout in a practical application
Arduino Nano Controlled Optical Encoder with I2C LCD Display
This circuit features an Arduino Nano microcontroller interfaced with an Optical Encoder Sensor Module and an I2C LCD 16x2 Screen. The encoder module is connected to the Arduino's digital pin D2 for signal input, while the LCD screen is connected via I2C protocol to pins A4 (SDA) and A5 (SCL) for data display. Power is managed through a 18650 Li-Ion battery connected via a rocker switch to the Arduino's VIN pin, with common ground and 5V connections distributed among the components.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of rotary: A project utilizing Adafruit I2C Quad Rotary Encoder Breakout in a practical application
Arduino UNO Rotary Encoder with I2C LCD Display
This circuit consists of an Arduino UNO microcontroller interfaced with an I2C LCD display and a rotary encoder. The Arduino reads the rotary encoder's position and button state, and communicates with the LCD display via I2C to show relevant information.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of space impact: A project utilizing Adafruit I2C Quad Rotary Encoder Breakout in a practical application
Arduino Nano Controlled OLED Display with Rotary Encoder and Button Input
This circuit features an Arduino Nano microcontroller interfaced with a 0.96" OLED display for visual output, a rotary encoder for input with position and button press detection, and an additional tactile switch for user input. The OLED communicates with the Arduino via I2C, while the encoder and switch provide interactive control, all powered by the Arduino's 5V supply.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • User interface controls for embedded systems
  • Volume and parameter adjustment in audio devices
  • Menu navigation in graphical or text-based displays
  • Robotics and automation systems requiring precise input
  • Gaming controllers and custom input devices

Technical Specifications

The Adafruit I2C Quad Rotary Encoder Breakout is built for ease of use and flexibility. Below are its key technical details:

Key Technical Details

Parameter Value
Operating Voltage 3.3V or 5V
Communication Protocol I2C
Default I2C Address 0x36 (configurable via jumpers)
Number of Encoders Up to 4
Encoder Type Supported Incremental (rotary)
Pull-up Resistors Integrated
Dimensions 25mm x 25mm x 4mm

Pin Configuration and Descriptions

The breakout board has the following pin layout:

Pin Name Description
VIN Power input (3.3V or 5V)
GND Ground connection
SCL I2C clock line
SDA I2C data line
A1, B1 Encoder 1 signal pins (A and B channels)
A2, B2 Encoder 2 signal pins (A and B channels)
A3, B3 Encoder 3 signal pins (A and B channels)
A4, B4 Encoder 4 signal pins (A and B channels)

Usage Instructions

How to Use the Component in a Circuit

  1. Power the Board: Connect the VIN pin to a 3.3V or 5V power source and the GND pin to ground.
  2. Connect I2C Lines: Connect the SCL and SDA pins to the corresponding I2C pins on your microcontroller (e.g., Arduino UNO).
  3. Attach Rotary Encoders: Connect the A and B signal pins of your rotary encoders to the corresponding A1/B1, A2/B2, etc., pins on the breakout board.
  4. Set the I2C Address: If using multiple boards, configure unique I2C addresses by adjusting the solder jumpers on the back of the board.
  5. Install Required Libraries: Use the Adafruit Adafruit_seesaw library to interface with the board.

Important Considerations and Best Practices

  • Ensure that the I2C pull-up resistors are enabled if your microcontroller does not have them.
  • Use shielded cables for longer connections to minimize noise interference.
  • Avoid exceeding the maximum voltage rating of the board (5V).
  • If using multiple boards, ensure each has a unique I2C address to avoid conflicts.

Example Code for Arduino UNO

Below is an example of how to use the Adafruit I2C Quad Rotary Encoder Breakout with an Arduino UNO:

#include <Wire.h>
#include "Adafruit_seesaw.h"

// Create a seesaw object for the breakout board
Adafruit_seesaw ss;

void setup() {
  Serial.begin(115200); // Initialize serial communication for debugging
  while (!Serial) delay(10); // Wait for Serial to initialize

  // Initialize the seesaw board
  if (!ss.begin(0x36)) { // Default I2C address is 0x36
    Serial.println("Failed to find seesaw device! Check wiring.");
    while (1);
  }
  Serial.println("Seesaw device found!");

  // Configure the rotary encoder pins
  ss.pinMode(24, INPUT_PULLUP); // Encoder 1 A pin
  ss.pinMode(25, INPUT_PULLUP); // Encoder 1 B pin
}

void loop() {
  // Read encoder position (example for Encoder 1)
  int32_t encoderPosition = ss.getEncoderPosition(0); // Encoder 0 corresponds to A1/B1
  Serial.print("Encoder 1 Position: ");
  Serial.println(encoderPosition);

  delay(100); // Small delay to avoid flooding the serial monitor
}

Notes:

  • Install the Adafruit_seesaw library via the Arduino Library Manager before running the code.
  • Modify the I2C address in the ss.begin() function if you have changed the default address.

Troubleshooting and FAQs

Common Issues and Solutions

  1. The board is not detected on the I2C bus.

    • Ensure the VIN and GND pins are properly connected to the power supply.
    • Verify the SCL and SDA connections to the microcontroller.
    • Check for conflicting I2C addresses if multiple devices are connected.
  2. Rotary encoder readings are inconsistent or incorrect.

    • Ensure the encoder signal pins (A and B) are securely connected to the breakout board.
    • Verify that the encoders are incremental and compatible with the board.
  3. Multiple boards are not working together.

    • Ensure each board has a unique I2C address by adjusting the solder jumpers.

FAQs

Q: Can I use fewer than four rotary encoders?
A: Yes, you can use as few as one encoder. Simply connect the encoder to the desired pins and leave the others unconnected.

Q: What is the maximum cable length for the I2C connection?
A: The maximum length depends on the pull-up resistor values and the operating frequency. For standard 100kHz I2C, lengths up to 1 meter are typically reliable.

Q: Can I use this board with a Raspberry Pi?
A: Yes, the board is compatible with any device that supports I2C communication, including Raspberry Pi. Use the appropriate libraries for your platform.

Q: How do I change the I2C address?
A: Adjust the solder jumpers on the back of the board to set a new address. Refer to the Adafruit documentation for the address mapping.

This concludes the documentation for the Adafruit I2C Quad Rotary Encoder Breakout.