Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/AnthonyKNorman/MicroPython_SSD1306


https://github.com/AnthonyKNorman/MicroPython_SSD1306

Last synced: about 1 month ago
JSON representation

Awesome Lists containing this project

README

        

ESP8266 Micropython driver for SSD1306 OLED 128x64 display.

**font5x7.fnt** is a 5 x 7 font file. It holds the font in pure binary and so uses only 480 bytes
When the display needs a character it reads the five bytes it needs from the file rather than loading the whole font into memory

**bmp.py** converts a 24-bit BITMAP file to a displayed image. Although this is a colour format, the image must be black and white.

**lcd_gfx.py** is not my work. It came from here https://forum.micropython.org/viewtopic.php?t=195

**icon.bmp** is the bitmap that is displayed in main.py. Be aware there is cuerrently no positioning, size check or resizing.

invoke the display with:

from SSD1306 import SSD1306

if you use different pins then you will need to specify these in the inital call

d = PCD8544()

d.poweron()

d.init_display() # displays the Project Pages logo

d.clear() # clears the display buffer

d.display() # writes the buffer to the actual display

d._row is the character row

d._col is the character column

d.p_char('x')
* puts the character into the display buffer
* advances _row and _col accordingly. They will wrap back to the top of the screen
* requires d.display() to show it

d.p_string('hello world')
* prints the string to the display buffer
* advances _row and _col accoridngly. They will wrap back to the top of the screen
* requires d.display() to show it

d.pixel(x,y,fill)
* sets a pixel in the display buffer
* this is for use by the lcd_gfx.py
* this allows you to draw lines, rectangles, triangles and circles. Filled or not

I have added a **main.py** that demonstrates the string printing and drawing capabilities