All Projects → VedantParanjape → esp-epaper-display

VedantParanjape / esp-epaper-display

Licence: other
ESP-IDF component for waveshare epaper displays

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to esp-epaper-display

bme280-esp-idf-i2c
Sample code for reading values from a BME280 temperature-humidity-pressure sensor, via ESP-IDF's I2C master driver, supports both normal mode and forced mode described in the datasheet. https://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST-BME280_DS001-11.pdf
Stars: ✭ 38 (+137.5%)
Mutual labels:  esp-idf
esp-idf-sys
Bindings for ESP-IDF (Espressif's IoT Development Framework)
Stars: ✭ 132 (+725%)
Mutual labels:  esp-idf
RoverController
LoRa/WiFi remote controller for driving my rover
Stars: ✭ 87 (+443.75%)
Mutual labels:  esp-idf
WebSockets-ESP-IDF
WebSockets on ESP-IDF
Stars: ✭ 21 (+31.25%)
Mutual labels:  esp-idf
idfx
Tool for flash/monitor ESP-IDF and ESP8266_SDK apps on the WSL2 ⚡
Stars: ✭ 71 (+343.75%)
Mutual labels:  esp-idf
esp-homekit-arduino-sdk
Arduino wrapper for ESP-IDF HomeKit library
Stars: ✭ 34 (+112.5%)
Mutual labels:  esp-idf
esp-idf-w25q64
SPI Flash Memory W25Q64 Access Library for esp-idf
Stars: ✭ 12 (-25%)
Mutual labels:  esp-idf
micro ros espidf component
micro-ROS ESP32 IDF component and sample code
Stars: ✭ 122 (+662.5%)
Mutual labels:  esp-idf
esp32-owb
Maxim One Wire Bus driver for ESP32.
Stars: ✭ 115 (+618.75%)
Mutual labels:  esp-idf
bluepad32
Bluetooth gamepad support for the ESP32 (mirror)
Stars: ✭ 117 (+631.25%)
Mutual labels:  esp-idf
cookiecutter-esp32-webserver
Cookiecutter template to get you quickly started with an ESP32-based webserver project.
Stars: ✭ 13 (-18.75%)
Mutual labels:  esp-idf
esp-idf-rc522
C library for interfacing ESP32 with MFRC522 RFID card reader, packaged as ESP-IDF component
Stars: ✭ 60 (+275%)
Mutual labels:  esp-idf
esp-idf-zh
ESP-IDF 中文文档
Stars: ✭ 102 (+537.5%)
Mutual labels:  esp-idf
ninjaberry
Ninjaberry: Raspberry Pi UI for @bettercap
Stars: ✭ 39 (+143.75%)
Mutual labels:  waveshare
ssd1306-esp-idf-i2c
Sample code for driving 128x64 OLED display (SSD1306 driver) via ESP-IDF's I2C master driver
Stars: ✭ 93 (+481.25%)
Mutual labels:  esp-idf
Arduino Esp32
Arduino core for the ESP32
Stars: ✭ 7,741 (+48281.25%)
Mutual labels:  esp-idf
esp32 mmd
esp32でmmd
Stars: ✭ 93 (+481.25%)
Mutual labels:  esp-idf
ESP32 IMU BARO GPS VARIO
GPS altimeter/variometer with LCD display, routes with waypoints, data/gps track logging, bluetooth NMEA sentence transmission, wifi AP + webpage configuration
Stars: ✭ 72 (+350%)
Mutual labels:  esp-idf
Gesture-Detecting-Macro-Keyboard
Glorified Bluetooth macro keyboard with machine learning (TensorFlow Lite for Microcontrollers) running on an ESP32.
Stars: ✭ 68 (+325%)
Mutual labels:  esp-idf
ccs811-esp-idf
CCS811 driver for ESP-IDF (ESP32)
Stars: ✭ 22 (+37.5%)
Mutual labels:  esp-idf

Logo

ESP-IDF component for Waveshare epaper displays

Report Bug · Request Feature · Send a Pull Request

ESP32 Epaper Display component

ESP-IDF Component for driving waveshare's epaper displays. This is a port of Waveshare's official code for driving epaper display.

Installation

cd <your_esp_idf_project>
mkdir components
cd components
git clone https://github.com/VedantParanjape/esp-epaper-display.git epaper

Change CMakeList.txt to add the line given below:

set(EXTRA_COMPONENT_DIRS <relative_path_to_component_folder>)

component folder must contain epaper component

Configuration

Set the pins used and appropriate display module used in menuconfig

idf.py menuconfig

Setting present at: Component config --> E-Paper display configuration

Pin setting

Path: Component config --> E-Paper display configuration

Display model setting

Path: Component config --> E-Paper display configuration --> Display Type

Example code

Example app: https://github.com/VedantParanjape/esp-component-examples/tree/master/esp-epaper-example

#include "epaper.h"
#include "esp_log.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/timer.h"

#define COLORED     0
#define UNCOLORED   1

extern "C" void app_main() 
{
  Epd epd;

  unsigned char* frame_ = (unsigned char*)malloc(epd.width * epd.height / 8);

  Paint paint_(frame_, epd.width, epd.height);
  paint_.Clear(UNCOLORED);

  ESP_LOGI("EPD", "e-Paper init and clear");
  epd.LDirInit();
  epd.Clear();

  vTaskDelay(2000);
  int d = 3;
  for (char i = '0'; i <= '9'; i++)
  {
    paint_.DrawCharAt(d, d, i, &Font20, COLORED);
    epd.DisplayPart(frame_);
    vTaskDelay(100);
    d = d + 20; 
  }
  epd.Sleep();
}

Credits

  • Thanks to ayoy, Adapted the code for other display models using this project.
  • Thanks to waveshare for sharing arduino codes for epaper displays.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].