CircuitPython Programming Documentation

CircuitPython includes many individual modules as part of the application programming interface (API) to support different kinds of hardware and other standard computing algorithms. The details of each module are documented on separate pages indexed below.

Core CircuitPython Modules

The full set of documentation is available on the Adafruit CircuitPython - API Reference site.

Following is an index to the documentation of our most commonly used core modules:

The following modules implement a subset of standard Python:

For devices with WiFi networking:

CircuitPython Library Bundles

Additional optional libraries provide support for many specific devices. If you would like to use a specific sensor, display, or peripheral device in your project, there may already be a library to support it.

Each CircuitPython firmware release also includes a large bundle of compiled library files. To install a library, you will need to download the library bundle zip file matching your firmware, unpack it, then copy specific files into the lib/ folder of your device CIRCUITPY drive.

The library bundle releases can be downloaded from CircuitPython Libraries.

A good place to start looking for a device-specific libary is the Adafruit Sponsored Libraries and Drivers on GitHub page.

CircuitPython Library Modules

Following is an index to the documentation of our most commonly used optional modules:

Source Code Repositories

If you wish to delve deeply into the internals of either the core CircuitPython system or the libraries, the Adafruit github account hosts the source code. Note also that the API documentation frequently has source code links for inspecting the code.

  1. Adafruit CircuitPython Library Bundle (github).

    Source code for the main Adafruit library bundle required for most examples. This is primarily a host module for submodules and refers to many other individual repositories.

  2. CircuitPython Community Library Bundle (github).

    Source code for additional library support for interfacing to a wide variety of devices.

  3. CircuitPython (github).

    Source code for the core language system itself, derived from MicroPython. It includes the C sources for the interpreter and compiler, the mpy-cross cross-compiler for creating .mpy files, and low-level hardware drivers for each target system.

  4. MicroPython (github).

    Source code for the MicroPython system for embedded microcontrollers. Note that this upstream version supports a wider variety of microcontrollers than CircuitPython, notably including the ESP8266 which is no longer supported by CircuitPython.