adafruit-circuitpython-ssd1306


Nameadafruit-circuitpython-ssd1306 JSON
Version 2.12.22 PyPI version JSON
download
home_pageNone
SummaryCircuitPython library for SSD1306 OLED displays.
upload_time2025-10-20 21:48:14
maintainerNone
docs_urlNone
authorNone
requires_pythonNone
licenseMIT
keywords adafruit ssd1306 oled displays hardware micropython circuitpython
VCS
bugtrack_url
requirements Adafruit-Blinka adafruit-circuitpython-busdevice adafruit-circuitpython-framebuf
Travis-CI No Travis.
coveralls test coverage No coveralls.
            Introduction
============

.. image:: https://readthedocs.org/projects/adafruit-circuitpython-ssd1306/badge/?version=latest
    :target: https://docs.circuitpython.org/projects/ssd1306/en/latest/
    :alt: Documentation Status

.. image:: https://raw.githubusercontent.com/adafruit/Adafruit_CircuitPython_Bundle/main/badges/adafruit_discord.svg
    :target: https://adafru.it/discord
    :alt: Discord

.. image:: https://github.com/adafruit/Adafruit_CircuitPython_SSD1306/workflows/Build%20CI/badge.svg
    :target: https://github.com/adafruit/Adafruit_CircuitPython_SSD1306/actions/
    :alt: Build Status

.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
    :target: https://github.com/astral-sh/ruff
    :alt: Code Style: Ruff

Adafruit CircuitPython driver for SSD1306 or SSD1305 OLED displays. Note that SSD1305 displays are back compatible so they can be used in-place of SSD1306 with the same code and commands.

This driver implements the `adafruit_framebuf interface <https://docs.circuitpython.org/projects/framebuf/en/latest/>`__. It is **not** the `displayio` driver for the SSD1306. See the `Adafruit CircuitPython DisplayIO SSD1306 <https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_SSD1306/>`_ driver for `displayio` support.


Dependencies
=============
This driver depends on:

* `Adafruit CircuitPython <https://github.com/adafruit/circuitpython>`_
* `Bus Device <https://github.com/adafruit/Adafruit_CircuitPython_BusDevice>`_
* `Adafruit framebuf <https://github.com/adafruit/Adafruit_CircuitPython_framebuf>`_

Please ensure all dependencies are available on the CircuitPython filesystem.
This is easily achieved by downloading
`the Adafruit library and driver bundle <https://github.com/adafruit/Adafruit_CircuitPython_Bundle>`_.

Installing from PyPI
====================

On supported GNU/Linux systems like the Raspberry Pi, you can install the driver locally `from
PyPI <https://pypi.org/project/adafruit-circuitpython-ssd1306/>`_. To install for current user:

.. code-block:: shell

    pip3 install adafruit-circuitpython-ssd1306

To install system-wide (this may be required in some cases):

.. code-block:: shell

    sudo pip3 install adafruit-circuitpython-ssd1306

To install in a virtual environment in your current project:

.. code-block:: shell

    mkdir project-name && cd project-name
    python3 -m venv .venv
    source .venv/bin/activate
    pip3 install adafruit-circuitpython-ssd1306

Usage Example
=============

.. code-block:: python3

  # Basic example of clearing and drawing pixels on a SSD1306 OLED display.
  # This example and library is meant to work with Adafruit CircuitPython API.
  # Author: Tony DiCola
  # License: Public Domain

  # Import all board pins.
  from board import SCL, SDA
  import busio

  # Import the SSD1306 module.
  import adafruit_ssd1306


  # Create the I2C interface.
  i2c = busio.I2C(SCL, SDA)

  # Create the SSD1306 OLED class.
  # The first two parameters are the pixel width and pixel height.  Change these
  # to the right size for your display!
  display = adafruit_ssd1306.SSD1306_I2C(128, 32, i2c)
  # Alternatively you can change the I2C address of the device with an addr parameter:
  #display = adafruit_ssd1306.SSD1306_I2C(128, 32, i2c, addr=0x31)

  # Clear the display.  Always call show after changing pixels to make the display
  # update visible!
  display.fill(0)

  display.show()

  # Set a pixel in the origin 0,0 position.
  display.pixel(0, 0, 1)
  # Set a pixel in the middle 64, 16 position.
  display.pixel(64, 16, 1)
  # Set a pixel in the opposite 127, 31 position.
  display.pixel(127, 31, 1)
  display.show()

More examples and details can be found in the `adafruit_framebuf docs <https://docs.circuitpython.org/projects/framebuf/en/latest>`__.


Documentation
=============

API documentation for this library can be found on `Read the Docs <https://docs.circuitpython.org/projects/ssd1306/en/latest/>`_.

For information on building library documentation, please check out `this guide <https://learn.adafruit.com/creating-and-sharing-a-circuitpython-library/sharing-our-docs-on-readthedocs#sphinx-5-1>`_.

Contributing
============

Contributions are welcome! Please read our `Code of Conduct
<https://github.com/adafruit/adafruit_CircuitPython_SSD1306/blob/main/CODE_OF_CONDUCT.md>`_
before contributing to help this project stay welcoming.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "adafruit-circuitpython-ssd1306",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "adafruit, ssd1306, oled, displays, hardware, micropython, circuitpython",
    "author": null,
    "author_email": "Adafruit Industries <circuitpython@adafruit.com>",
    "download_url": "https://files.pythonhosted.org/packages/22/7a/b0b3e65237f8dc8297098dbf962d634db4d715d8fae7ee81ead922f2649f/adafruit_circuitpython_ssd1306-2.12.22.tar.gz",
    "platform": null,
    "description": "Introduction\n============\n\n.. image:: https://readthedocs.org/projects/adafruit-circuitpython-ssd1306/badge/?version=latest\n    :target: https://docs.circuitpython.org/projects/ssd1306/en/latest/\n    :alt: Documentation Status\n\n.. image:: https://raw.githubusercontent.com/adafruit/Adafruit_CircuitPython_Bundle/main/badges/adafruit_discord.svg\n    :target: https://adafru.it/discord\n    :alt: Discord\n\n.. image:: https://github.com/adafruit/Adafruit_CircuitPython_SSD1306/workflows/Build%20CI/badge.svg\n    :target: https://github.com/adafruit/Adafruit_CircuitPython_SSD1306/actions/\n    :alt: Build Status\n\n.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json\n    :target: https://github.com/astral-sh/ruff\n    :alt: Code Style: Ruff\n\nAdafruit CircuitPython driver for SSD1306 or SSD1305 OLED displays. Note that SSD1305 displays are back compatible so they can be used in-place of SSD1306 with the same code and commands.\n\nThis driver implements the `adafruit_framebuf interface <https://docs.circuitpython.org/projects/framebuf/en/latest/>`__. It is **not** the `displayio` driver for the SSD1306. See the `Adafruit CircuitPython DisplayIO SSD1306 <https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_SSD1306/>`_ driver for `displayio` support.\n\n\nDependencies\n=============\nThis driver depends on:\n\n* `Adafruit CircuitPython <https://github.com/adafruit/circuitpython>`_\n* `Bus Device <https://github.com/adafruit/Adafruit_CircuitPython_BusDevice>`_\n* `Adafruit framebuf <https://github.com/adafruit/Adafruit_CircuitPython_framebuf>`_\n\nPlease ensure all dependencies are available on the CircuitPython filesystem.\nThis is easily achieved by downloading\n`the Adafruit library and driver bundle <https://github.com/adafruit/Adafruit_CircuitPython_Bundle>`_.\n\nInstalling from PyPI\n====================\n\nOn supported GNU/Linux systems like the Raspberry Pi, you can install the driver locally `from\nPyPI <https://pypi.org/project/adafruit-circuitpython-ssd1306/>`_. To install for current user:\n\n.. code-block:: shell\n\n    pip3 install adafruit-circuitpython-ssd1306\n\nTo install system-wide (this may be required in some cases):\n\n.. code-block:: shell\n\n    sudo pip3 install adafruit-circuitpython-ssd1306\n\nTo install in a virtual environment in your current project:\n\n.. code-block:: shell\n\n    mkdir project-name && cd project-name\n    python3 -m venv .venv\n    source .venv/bin/activate\n    pip3 install adafruit-circuitpython-ssd1306\n\nUsage Example\n=============\n\n.. code-block:: python3\n\n  # Basic example of clearing and drawing pixels on a SSD1306 OLED display.\n  # This example and library is meant to work with Adafruit CircuitPython API.\n  # Author: Tony DiCola\n  # License: Public Domain\n\n  # Import all board pins.\n  from board import SCL, SDA\n  import busio\n\n  # Import the SSD1306 module.\n  import adafruit_ssd1306\n\n\n  # Create the I2C interface.\n  i2c = busio.I2C(SCL, SDA)\n\n  # Create the SSD1306 OLED class.\n  # The first two parameters are the pixel width and pixel height.  Change these\n  # to the right size for your display!\n  display = adafruit_ssd1306.SSD1306_I2C(128, 32, i2c)\n  # Alternatively you can change the I2C address of the device with an addr parameter:\n  #display = adafruit_ssd1306.SSD1306_I2C(128, 32, i2c, addr=0x31)\n\n  # Clear the display.  Always call show after changing pixels to make the display\n  # update visible!\n  display.fill(0)\n\n  display.show()\n\n  # Set a pixel in the origin 0,0 position.\n  display.pixel(0, 0, 1)\n  # Set a pixel in the middle 64, 16 position.\n  display.pixel(64, 16, 1)\n  # Set a pixel in the opposite 127, 31 position.\n  display.pixel(127, 31, 1)\n  display.show()\n\nMore examples and details can be found in the `adafruit_framebuf docs <https://docs.circuitpython.org/projects/framebuf/en/latest>`__.\n\n\nDocumentation\n=============\n\nAPI documentation for this library can be found on `Read the Docs <https://docs.circuitpython.org/projects/ssd1306/en/latest/>`_.\n\nFor information on building library documentation, please check out `this guide <https://learn.adafruit.com/creating-and-sharing-a-circuitpython-library/sharing-our-docs-on-readthedocs#sphinx-5-1>`_.\n\nContributing\n============\n\nContributions are welcome! Please read our `Code of Conduct\n<https://github.com/adafruit/adafruit_CircuitPython_SSD1306/blob/main/CODE_OF_CONDUCT.md>`_\nbefore contributing to help this project stay welcoming.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "CircuitPython library for SSD1306 OLED displays.",
    "version": "2.12.22",
    "project_urls": {
        "Homepage": "https://github.com/adafruit/Adafruit_CircuitPython_SSD1306"
    },
    "split_keywords": [
        "adafruit",
        " ssd1306",
        " oled",
        " displays",
        " hardware",
        " micropython",
        " circuitpython"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f3b1da6bdb605eefbc0458d323da08a17f3e336d50083729597cba7f4aa6cab5",
                "md5": "35f1bbbed060c40eb1409bd121343cbd",
                "sha256": "29c7ff39fe1955ea0e6d6362e8b54f96a157211311712d4a7ecfa32afda0f88b"
            },
            "downloads": -1,
            "filename": "adafruit_circuitpython_ssd1306-2.12.22-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "35f1bbbed060c40eb1409bd121343cbd",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 7619,
            "upload_time": "2025-10-20T21:48:13",
            "upload_time_iso_8601": "2025-10-20T21:48:13.376225Z",
            "url": "https://files.pythonhosted.org/packages/f3/b1/da6bdb605eefbc0458d323da08a17f3e336d50083729597cba7f4aa6cab5/adafruit_circuitpython_ssd1306-2.12.22-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "227ab0b3e65237f8dc8297098dbf962d634db4d715d8fae7ee81ead922f2649f",
                "md5": "daa383fe07c24c26b5c08b2ee30bc3b0",
                "sha256": "cf8a77541fdef9e5279a5049b23136947961a9a7662ca5a74bec917a86f8ae3a"
            },
            "downloads": -1,
            "filename": "adafruit_circuitpython_ssd1306-2.12.22.tar.gz",
            "has_sig": false,
            "md5_digest": "daa383fe07c24c26b5c08b2ee30bc3b0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 37659,
            "upload_time": "2025-10-20T21:48:14",
            "upload_time_iso_8601": "2025-10-20T21:48:14.447430Z",
            "url": "https://files.pythonhosted.org/packages/22/7a/b0b3e65237f8dc8297098dbf962d634db4d715d8fae7ee81ead922f2649f/adafruit_circuitpython_ssd1306-2.12.22.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-20 21:48:14",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "adafruit",
    "github_project": "Adafruit_CircuitPython_SSD1306",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "Adafruit-Blinka",
            "specs": []
        },
        {
            "name": "adafruit-circuitpython-busdevice",
            "specs": []
        },
        {
            "name": "adafruit-circuitpython-framebuf",
            "specs": []
        }
    ],
    "lcname": "adafruit-circuitpython-ssd1306"
}
        
Elapsed time: 2.45213s