Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/adafruit/Adafruit_CircuitPython_SSD1306
Adafruit CircuitPython framebuf driver for SSD1306 or SSD1305 OLED displays. Not for use with displayio. See README.
https://github.com/adafruit/Adafruit_CircuitPython_SSD1306
circuitpython hacktoberfest monochrome-oled-displays oled-display oled-display-ssd1306 ssd1306
Last synced: 6 days ago
JSON representation
Adafruit CircuitPython framebuf driver for SSD1306 or SSD1305 OLED displays. Not for use with displayio. See README.
- Host: GitHub
- URL: https://github.com/adafruit/Adafruit_CircuitPython_SSD1306
- Owner: adafruit
- License: mit
- Created: 2017-01-09T19:40:39.000Z (almost 8 years ago)
- Default Branch: main
- Last Pushed: 2024-10-07T22:20:31.000Z (about 1 month ago)
- Last Synced: 2024-10-29T16:58:20.335Z (14 days ago)
- Topics: circuitpython, hacktoberfest, monochrome-oled-displays, oled-display, oled-display-ssd1306, ssd1306
- Language: Python
- Homepage:
- Size: 176 KB
- Stars: 296
- Watchers: 27
- Forks: 72
- Open Issues: 2
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
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/badge/code%20style-black-000000.svg
:target: https://github.com/psf/black
:alt: Code Style: BlackAdafruit 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 `__. It is **not** the `displayio` driver for the SSD1306. See the `Adafruit CircuitPython DisplayIO SSD1306 `_ driver for `displayio` support.
Dependencies
=============
This driver depends on:* `Adafruit CircuitPython `_
* `Bus Device `_
* `Adafruit framebuf `_Please ensure all dependencies are available on the CircuitPython filesystem.
This is easily achieved by downloading
`the Adafruit library and driver bundle `_.Installing from PyPI
====================On supported GNU/Linux systems like the Raspberry Pi, you can install the driver locally `from
PyPI `_. 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-ssd1306Usage 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 `__.
Documentation
=============API documentation for this library can be found on `Read the Docs `_.
For information on building library documentation, please check out `this guide `_.
Contributing
============Contributions are welcome! Please read our `Code of Conduct
`_
before contributing to help this project stay welcoming.