From 888ad2d273ce8353dc90b3bdc99021a0fefa635b Mon Sep 17 00:00:00 2001 From: Derf Null Date: Sat, 22 Apr 2023 17:30:09 +0200 Subject: Add README --- README.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..c938a8e --- /dev/null +++ b/README.md @@ -0,0 +1,34 @@ +# ESP8266 Lua/NodeMCU framebuffer + module for SSD1306 OLEDs + +This repository contains a Lua module (`ssd1306.lua`), framebuffer +(`framebuffer.lua`) and fonts (`pixeloperator.lua`, `terminus16.lua`) +for using **SSD1306**-based OLEDs with ESP8266/NodeMCU firmware. + +## Dependencies + +ssd1306.lua and framebuffer.lua have been tested with Lua 5.1 on NodeMCU +firmware 3.0.1 (Release 202112300746, integer build). They require the +following modules. + +* bit +* i2c + +## Usage + +Copy **framebuffer.lua**, **ssd1306.lua** and (depending on your font choice) +**pixeloperator.lua** or **terminus16.lua** to your NodeMCU board and set them +up as follows. + +```lua +i2c.setup(0, sda_pin, scl_pin, i2c.SLOW) +ssd1306 = require("ssd1306") +fn = require("pixeloperator") -- or "terminus16" +fb = require("framebuffer") +collectgarbage() + +ssd1306.init(128, 64) -- assuming that a 128x64 OLED is connected +ssd1306.contrast(255) -- maximum contrast +fb.init(128, 64) -- initialize framebuffer for 128x64 pixels +fb.print(fn, "Hello from NodeMCU!\nHello yes, this is Lua\n") +ssd1306.show(fb.buf) +``` -- cgit v1.2.3