This tutorial may be outdated. It is no longer recommended for beginners, and may need modifications to code or hardware that is not indicated in the tutorial.

Overview

This guide is no longer supported. Please checkout IS31FL3731 guide for CircuitPython and Python usage of CharliePlex matrices: https://learn.adafruit.com/i31fl3731-16x9-charliplexed-pwm-led-driver/python-circuitpython
Note the video above was made showing the MicroPython version of this library. Follow the guide to see both CircuitPython and MicroPython versions of the IS31FL3731 library.

Charlieplex displays use a unique wiring structure so many LEDs can be controlled with just a few shared wires.  There are even specialized driver chips like the IS31FL3731 which can control a large number of Charlieplexed LEDs using pulse-width modulation to dim and brighten them at different intensity levels.  Adafruit's Charlieplex FeatherWing and breakout use this driver chip to make a large matrix of tiny LEDs that are super easy to control.  Using a CircuitPython or MicroPython IS31FL3731 module you can even control Charlieplex matrices from Python code!  This guide explores how to use the Charlieplex FeatherWing and breakout with CircuitPython.

Before you get started be sure to check out the Charlieplex FeatherWing guide or Charlieplex driver guide for details on the Charlieplex display options.

This guide was first published on Nov 02, 2016. It was last updated on Nov 02, 2016. This page (Overview) was last updated on May 22, 2019.