• Stars
    star
    187
  • Rank 200,531 (Top 5 %)
  • Language
    C
  • License
    MIT License
  • Created about 5 years ago
  • Updated 10 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

SSD1306/SH1106 Driver for esp-idf

esp-idf-ssd1306

SSD1306/SH1106 driver for esp-idf

I used this repository as a reference.
I used this font file.

Software requirements

ESP-IDF V4.4/V5.x.

Note for ESP32C2.
ESP-IDF V5.0 ESP32C2 i2c driver has a bug.
ESP-IDF V5.1 is required when using i2c of ESP32C2.

Note for ESP32C6.
ESP-IDF V5.1 is required when using ESP32C6.

Installation

git clone https://github.com/nopnop2002/esp-idf-ssd1306
cd esp-idf-ssd1306/TextDemo/
idf.py set-target {esp32/esp32s2/esp32s3/esp32c2/esp32c3/esp32c6}
idf.py menuconfig
idf.py flash

Note for ESP32C3
For some reason, there are development boards that cannot use GPIO06, GPIO08, GPIO09, GPIO19 for SPI clock pins.
According to the ESP32C3 specifications, these pins can also be used as SPI clocks.
I used a raw ESP-C3-13 to verify that these pins could be used as SPI clocks.

Configuration

You have to set this config value with menuconfig.

  • CONFIG_INTERFACE
  • CONFIG_PANEL
  • CONFIG_OFFSETX
  • CONFIG_FLIP
  • CONFIG_SDA_GPIO
  • CONFIG_SCL_GPIO
  • CONFIG_RESET_GPIO
  • CONFIG_MOSI_GPIO
  • CONFIG_SCLK_GPIO
  • CONFIG_CS_GPIO
  • CONFIG_DC_GPIO

config-main


Generic SSD1306 128x32 i2c

128x32 config-128x32_i2c

Generic SSD1306 128x64 i2c

128x64 config-128x64_i2c

Generic SH1106 128x64 i2c

Hardware scroll Not support
Left:1.3 inch SH1106
Right:0.96 inch SSD1306

SH1106_i2c config-sh1106_i2c

128x64 TTGO

Unlike other ESP32 development boards, the RTC_CLOCK crystal on this board uses a 26MHz one.
You need to change the RTC CLOCK frequency to 26MHz using menuconfig.

ESP32-TTGO-1 ESP32-TTGO-2 128x64_Reset config-128x64_TTGO

128x64 ESP-WROOM-32

ESP32-OLED-2 config-ESP-WROOM-32


Generic SSD1306 128x32 SPI

128x32_spi config-128x32_spi

Generic SSD1306 128x64 SPI

D0 is SCLK.
D1 is MOSI.

128x64_spi config-128x64_spi

Generic SH1106 128x64 SPI

Hardware scroll Not support
Left:1.3 inch SH1106
Right:0.96 inch SSD1306

SH1106_spi config-sh1106_spi


I2C Port selection

config-i2c-port

The ESP32 series has two I2C Ports.
You can use these two ports freely.
If you use this module at the same time as another I2C device using I2C port 0, you must change it to I2C port 1.


SPI BUS selection

config-spi-bus

The ESP32 series has three SPI BUSs.
SPI1_HOST is used for communication with Flash memory.
You can use SPI2_HOST and SPI3_HOST freely.
When you use SDSPI(SD Card via SPI), SDSPI uses SPI2_HOST BUS.
When using this module at the same time as SDSPI or other SPI device using SPI2_HOST, it needs to be changed to SPI3_HOST.
When you don't use SDSPI, both SPI2_HOST and SPI3_HOST will work.
Previously it was called HSPI_HOST / VSPI_HOST, but now it is called SPI2_HOST / SPI3_HOST.


Flip upside down

config_flip

ssd1306_flip

More Repositories

1

esp-idf-st7789

ST7789 Driver for esp-idf
C
207
star
2

Arduino-STM32-CAN

Can Example for Arduino Core STM32
C++
189
star
3

esp-idf-ili9340

SPI TFT and XPT2046 touch screen controller driver for esp-idf
C
128
star
4

esp-idf-mqtt-broker

MQTT Broker for esp-idf
C
113
star
5

esp-idf-CANBus-Monitor

Monitor Canbus traffic
C
97
star
6

esp-idf-parallel-tft

8bit parallel TFT & 4-line resistance touch screen Driver for esp-idf using i2s paralell mode
C
90
star
7

esp-idf-json

Example of JSON Serialize and Deserialize in ESP-IDF
C
89
star
8

esp-idf-sx126x

SX1262/SX1268/LLCC68 Low Power Long Range Transceiver driver for esp-idf
C
63
star
9

STM32_TFT_8bit

STM32F103 8bit parallel TFT Library for Arduino_STM32
C++
53
star
10

esp-idf-sx127x

SX1276/77/78/79 Low Power Long Range Transceiver driver for esp-idf
C
51
star
11

Raspberry-ili9325

Parallel TFT Shield Library for wiringPi
C
49
star
12

esp-idf-mirf

nRF24L01 Driver for esp-idf
C
41
star
13

Raspberry-ssd1306

ssd1306 Command Line Tool for Raspberry Pi
C
40
star
14

Raspberry-W25Q64

SPI Flash Memory W25Q64 Access Library for RaspberryPi
C
39
star
15

esp-idf-net-logging

Redirect esp-idf logging to the network
C
37
star
16

esp-idf-w25q64

SPI Flash Memory W25Q64 Access Library for esp-idf
C
36
star
17

esp-idf-cc1101

CC1101 Low-Power Sub-1 GHz RF Transceiver driver for esp-idf
C
35
star
18

Arduino-ESPAT-TCP

TCP/UDP Applicaton for Arduino using ESP8266's AT firmware.
C++
35
star
19

esp8266_ethernet

Example of using SPI Ethernet module with esp8266
C++
35
star
20

wiringpi-tft-tool

TFT Command Line Tool for Raspberry Pi
C
35
star
21

Raspberry-ili9340spi

ILI9340 SPI TFT Library & XPT2046 Touch Screen Library for Raspberry
C
33
star
22

esp-idf-ftpClient

ftp client for esp-idf
C
33
star
23

esp-idf-mpu6050-dmp

A demo showing the pose of the mpu6050 in 3D using esp-idf
C++
33
star
24

esp-idf-can2http

CANbus to http bridge using esp32
C
33
star
25

esp-idf-can2mqtt

CANbus to mqtt bridge using esp32
C
33
star
26

esp-idf-ftpServer

ftp server for esp-idf using FAT file system
C
31
star
27

Arduino-STM32-Ethernet-LAN8720

Ethernet on STM32 using external PHY
C++
29
star
28

Arduino-LoRa-Ra01S

An Arduino Library for LoRa Communication using SX1262/1268
C++
27
star
29

esp-idf-m5stickC

M5StickC ST7735S Driver for esp-idf
C
27
star
30

esp-idf-ds3231

DS3231 RTC Driver for esp-idf
C
26
star
31

esp-idf-video-streaming

Capture video from a USB camera using ESP-IDF
C
26
star
32

esp-idf-protocol-buffer

Example of Google Protocol Buffers Serialize and Deserialize with ESP-IDF
C
26
star
33

Arduino-CANBus-Monitor

mcp2515 canbus module to Monitor Canbus traffic
C++
24
star
34

Robotell-USB-CAN-Python

Python program for USB-CAN Adapter
Python
23
star
35

esp-idf-espnow-gateway

Gateway between esp-now and MQTT using esp-idf
C
22
star
36

esp-idf-can2usb

CANbus to USB bridge using esp32
C
22
star
37

esp-idf-web-form

WEB Form example for ESP-IDF
C
22
star
38

esp-idf-uart2bt

UART to Bluetooth bridge for ESP-IDF
C
21
star
39

esp-idf-rc-switch

315/433MHz ASK RF driver for esp-idf
C
20
star
40

OrangePi-ZERO-FAN-HAT

Cooling FAN HAT for OrangePi ZERO
20
star
41

esp-idf-http-camera

Take a picture and Publish it via HTTP
C
19
star
42

SC16IS752

Driver for SC16IS752
C
18
star
43

esp-idf-24c

Two-Wire Serial EEPROM Access Library for esp-idf
C
18
star
44

Raspberry-ili9225spi

ILI9225 SPI TFT Library for RaspberryPi/OrangePi
C
18
star
45

esp-idf-wifi-apsta

WIFI_MODE_APSTA example with esp-idf
C
18
star
46

esp-idf-smb-client

SMB client example for esp-idf
C
18
star
47

esp-idf-GPS-Repeater

Transfer GPS NMAE messages over Wifi
C
17
star
48

esp-idf-ftp-camera

Take a picture and Publish it via FTP
C
16
star
49

esp-idf-pwm-slider

PWM Slider Bar Control using ESP-IDF
C
15
star
50

esp-idf-mqtt-camera

Take a picture and Publish it via MQTT
C
15
star
51

esp-idf-web-serial

Serial Monitor for esp-idf
C
14
star
52

esp-idf-GPS-View

GPS NMEA Viewer for M5Stack
C
14
star
53

esp-idf-ssh-client

ssh client for esp-idf
C
14
star
54

esp-idf-a2dp-source

ESP32 Bluetooth A2DP-SOURCE for esp-idf
C
13
star
55

Arduino-STM32-8bitTFT

8bit parallel TFT Library for Arduino_Core_STM32
C++
13
star
56

esp-idf-m5stickC-Plus

M5StickC-Plus ST7789V2 Driver for ESP-IDF
C++
13
star
57

esp-idf-irSend

M5Stick and M5StickC(+) as a remote control transmitter
C
12
star
58

esp-idf-ds1302

DS1302 RTC Driver for esp-idf
C
12
star
59

esp-idf-benchmark

Dhrystone/Whetstone benchmark for esp-idf
C
12
star
60

Raspberry-pcd8544

pcd8544 Command Line Tool for Raspberry Pi / Orange Pi
C
12
star
61

esp-idf-multipart-upload

A multipart file upload example for esp-idf
C
12
star
62

esp-idf-candump

CAN Dump for esp-idf
C
11
star
63

Arduino-STM32-nRF24L01

Arduino stm32 support files for nRF24L01 RF modules
C++
11
star
64

esp-idf-sh1107

sh1107 Driver for esp-idf
C
11
star
65

esp-idf-nrf905

nRF905 Single chip 433/868/915MHz Transceiver Driver for esp-idf
C
10
star
66

esp-idf-can2websocket

Brows CAN-Frame using esp-idf
C
10
star
67

Arduino-STM32-Ethernet

Arduino stm32 example for W5x00 ethernet modules
C++
10
star
68

esp-idf-vs1053

VS1053 Driver for esp-idf
C
9
star
69

esp-idf-web-chart

Real-time data visualization using esp-idf
C
9
star
70

STM32_GD2

FT800/FT81X TFT Library for Arduino_STM32
C
9
star
71

esp-idf-Bluetooth-SPP

Classic Bluetooth SPP example for esp-idf
C
9
star
72

esp-idf-web-gpio

GPIO control using web browser
C
9
star
73

esp-idf-ultrasonic

Ultrasonic distance sensor for ESP-IDF
C
9
star
74

ESP8266-UART-to-UART-Bridge

C++
9
star
75

esp-idf-rf69

RFM69 ISM Transceiver driver for esp-idf
C
9
star
76

esp8266-mpd-client

MPD client example for ESP8266/ESP32.
C++
9
star
77

Arduino-SI4432

Arduino library for SILICON LABS SI443x
C++
9
star
78

esp-idf-pcf8563

PCF8563 RTC Driver for esp-idf
C
8
star
79

esp-idf-qr-code-generator

QR Code generator for esp-idf
C
8
star
80

pwmlib-opi

PWM C Library for H3/H2+ Sunxi SoC
C
8
star
81

esp-idf-bmi160

A demo showing the pose of the bmi160 6DoF IMU sensor in 3D using esp-idf
C
8
star
82

Raspberry-at24c

Two-Wire Serial EEPROM Access Library for RaspberryPi
C
8
star
83

esp-idf-cc2500

CC2500 Low-Cost Low-Power 2.4 GHz RF Transceiver driver for esp-idf
C
7
star
84

esp-idf-93Cx6

Three-Wire Serial EEPROM Access Library for esp-idf
C
7
star
85

esp-idf-mqtt-client

GUI MQTT Client for esp-idf
C
7
star
86

esp-idf-ds1307

DS1307 RTC Driver for esp-idf
C
6
star
87

esp-idf-mcp3002

Driver for A/D converter with SPI serial interface
C
6
star
88

Raspberry-93Cx6

Three-Wire Serial EEPROM Access Library for RaspberryPi
C
6
star
89

esp-idf-mirf2mqtt

nRF24L01 to mqtt bridge using esp32
6
star
90

Raspberry-HT1621B

HT1621B Segment LED Example Code for RaspberryPi
C
6
star
91

esp-idf-irAEHA

M5Stick and M5StickC as a remote control transmitter
C
6
star
92

esp-idf-ping

ping example for esp-idf
C
6
star
93

esp-idf-smtp-camera

Take a picture and Publish it via SMTP.
C
6
star
94

esp-idf-video-snapshot

Capture still images from a USB camera using ESP-IDF
C
6
star
95

esp-idf-lsm6ds3

A demo showing the pose of the lsm6ds3 6DoF IMU sensor in 3D using esp-idf
C
6
star
96

esp-idf-sql-client

SQL database access example for esp-idf
C
6
star
97

esp-idf-si4432

SI4432 ISM Transceiver driver for esp-idf
C
6
star
98

esp-idf-world-weather

Display the weather forecast on M5STACK
C
6
star
99

esp-idf-scp-client

scp client example for esp-idf
C
5
star
100

esp-idf-voice-control

Demonstration of voice control of esp32
C
5
star