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 this page describes how to use a MicroPython.org version of this library with MicroPython boards. Skip back to the previous page if you're using a CircuitPython board like the Feather M0 express!

In addition to CircuitPython there's an older MicroPython version of the IS31FL3731 library that you can use with some MicroPython boards.  Before you get started it will help to be familiar with these guides for working with MicroPython:

See all the MicroPython guides in the learning system for more information.

MicroPython Module Install

To use the Charlieplex display with your MicroPython board you'll need to install the micropython-adafruit-is31fl3731 MicroPython module on your board.  Remember this module is for MicroPython.org firmware and not Adafruit CircuitPython!

First make sure you are running the latest version of MicroPython for your board.  If you're using the ESP8266 MicroPython port you must be running version 1.8.5 or higher as earlier versions do not support using .mpy modules as shown in this guide.  

Next download the latest is31fl3731.mpy file from the releases page of the micropython-adafruit-is31fl3731 GitHub repository and copy it to the root of the board's filesystem using a tool like ampy to copy the file to the board.

Usage

The following section will show how to control the IS31FL3731 from the board's Python prompt / REPL.   First connect to the board's serial REPL so you are at the MicroPython >>> prompt.

I2C Initialization

First you'll need to initialize the I2C bus for your board.  On MicroPython.org firmware which uses the machine API you can initialize I2C like the MicroPython I2C guide mentions.  For example on a board like the ESP8266 you can run (assuming you're using the default SDA gpio #4 and SCL gpio #5 pins like on a Feather & IS31FL3731 Charlieplex FeatherWing):

import machine
i2c = machine.I2C(scl=machine.Pin(5), sda=machine.Pin(4))

Then import the is31fl3731 module under the name adafruit_is31fl3731 so that you can follow along with the same code as from CircuitPython:

import is31fl3731 as adafruit_is31fl3731

Charlieplex Usage

At this point you're ready to use the library to start controlling the Charlieplex display!  The usage of the MicroPython module is exactly the same as the CircuitPython module so check the CircuitPython usage page for details on how to use the module.  After initializing the displays, the same usage code will work between MicroPython and CircuitPython!

This guide was first published on Nov 02, 2016. It was last updated on Mar 08, 2024.

This page (MicroPython) was last updated on Mar 08, 2024.

Text editor powered by tinymce.