diff options
author | Derf Null <derf@finalrewind.org> | 2023-04-22 17:30:09 +0200 |
---|---|---|
committer | Derf Null <derf@finalrewind.org> | 2023-04-22 17:30:09 +0200 |
commit | 888ad2d273ce8353dc90b3bdc99021a0fefa635b (patch) | |
tree | 54b26472e39a53ac08bdbd5ee7719e675bdc1feb | |
parent | 21d9eb389db0cb466eb08646fe4ad5061945d385 (diff) |
Add README
-rw-r--r-- | README.md | 34 |
1 files changed, 34 insertions, 0 deletions
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) +``` |