Giter Site home page Giter Site logo

esp8266-oled's Introduction

ESP8266 OLED

Setup

  1. Extract MSYS2 zip to C:\
  2. Extract contents of xtensa-lx106-elf folder from toolchain zip into C:\msys32\mingw32\
  3. Launch MinGW32 shell using C:\msys32\mingw32.exe
  4. Clone ESP8266_RTOS_SDK into ~/esp/ESP8266_RTOS_SDK

With ESP8266_RTOS_SDK v3 and above it should be possible to use the ESP-IDF framework for building and everything else (CMake, debugging?), but I have yet to try.

PlatformIO would be an obvious choice but it still uses an old and outdated SDK.

OSRAM Pictiva 3.3-inch 288x48 display

Controller pin functions

Pin I2C SPI
BS1 1 0
SA0 addr LSB -
D/C# - 0=command, 1=data
CS# - 0=enabled
D0 SCL SCLK
D1 SDAin SDIN
D2 SDAout open
D3-D7 - ground
E - ground
R/W - ground

Connections for SPI mode

Controller datasheet timing diagrams specify a minimum clock period of 250ns, which translates to a maximum clock speed of 4MHz.

Pin Name To ESP8266 (NodeMCU DevKit)
1 VSS ground
2 - -
3 VDD 3.3V
4 BS1 ground
5 IREF ~900KOhm to ground for VCC=12V
6 CS# SPI chip select D8 (GPIO15 / HSPI CS) or ground if it's the only device
7 RES# 10kOhm pullup to 3.3V, low to reset D1 (GPIO5)
8 D/C# data/command D2 (GPIO4)
9 R/W# ground
10 E# ground
11 CLK SPI clock D5 (GPIO14 / HSPI CLK)
12 D_IN SPI MOSI D7 (GPIO13 / HSPI MOSI)
13 D_OUT -
14 - -
15 VCOMH 100nF ceramic capacitor to ground
16 VCL ground
17 VCC 12V
18 -
19 -
20 -

Controller/display details

COM0 to COM63: common (row) drivers, 64 in total but this display only uses 48.
SEG0 (SA0/SB0/SC0) to SEG95 (SA95/SB95/SC95): segment (column) drivers, 3 subpixels * 96 columns = 288, this display maps each subpixel to a single physical column.

Multiplex ratio is set to 47 because we only use COM0 to COM47 (48 rows).
COM Split Odd Even is enabled because the row connections are interlaced.

Native display origin (COM0, SEG0) is at lower right; to move the origin to the top left:

  • enable COM Remap (inverts row scanning)
  • enable Column Address Mapping (inverts column scanning)

References

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.