Skip to Content

Expansion Module CJMCU-SX1509 16 channel I/O Output Module GPIO

Need more GPIO pins for your Arduino or microcontroller project? The CJMCU SX1509 is a powerful and flexible 16-channel I/O expander with I2C interface, designed to greatly expand your device's digital pin count. This module offers more than just GPIO extension—it supports PWM signal generation, LED dimming, keypad scanning (up to 64 buttons), and more. Ideal for LED control, servo operations, custom keypads, and battery-powered devices, it works with signal levels from 1.2V to 5.5V.

Package Includes

  • 1 x CJMCU SX1509 I/O Expander Module

52.50 AED 52.50 AED Tax Included
52.50 AED Tax Included

Not Available For Sale

This combination does not exist.

IO Expansion Module

Terms and Conditions
30-day money-back guarantee
Shipping: 2-3 Business Days

 

Based on the same Semtech SX1509 chip used in SparkFun’s version, it’s fully compatible with their Arduino library.

 

Features

  • 16 GPIOs via I2C interface
  • Integrated 8x8 keypad matrix controller (supports up to 64 buttons)
  • Internal 2MHz oscillator with LED driver clock
  • PWM support with 256 brightness levels
  • LED breath, fade-in/out, and blink control functions
  • Programmable pull-up resistors per pin
  • Selectable open-drain or push-pull output mode
  • Supports interrupts on input pins (with edge detection and bitmasking)
  • Four selectable I2C addresses
  • Signal level shifting support: operates from 1.2V to 5.5V signals
  • Low power consumption (as low as 1μA in sleep mode)
  • Wide operating temperature range: -40°C to +85°C
  • 2kV ESD protection

Specifications

Parameter Value
VCC Supply Voltage 1.425V - 3.6V
Current Consumption 1µA (Oscillator OFF), 365µA (Oscillator ON)
Input High Voltage 0.7 × VCC to 5.5V
Input Low Voltage -0.4V to 0.3 × VCC (VCC > 2V)
-0.4V to 0.2 × VCC (VCC < 2V)
Max Output Current 8mA (when VCC > 2V)

Applications

  • Expanding I/O for microcontrollers (Arduino, ESP32, STM32, etc.)
  • LED brightness control and light effects
  • DIY custom keypad or control panels
  • Servo control and PWM generation
  • Battery-powered embedded systems

Library & Downloads

Example Project: LED Breathing Effect

In this example, the SX1509 is used to drive a breathing LED effect. You can control the brightness using the onboard PWM LED driver. Connect an LED to pin 15 of the SX1509 module.

const byte SX1509_LED_PIN = 15;

void setup() {
  // Configure SX1509, start I2C, set LED pin as output, initialize PWM
}

void loop() {
  // Create a breathing LED pattern using PWM
}

Wiring Diagrams

RTL8195 Wiring:

RTL8195 Wiring Diagram

RTL8710 Wiring:

RTL8710 Wiring Diagram