GithubHelp home page GithubHelp logo

kimmobrunfeldt / eink-weather-display Goto Github PK

View Code? Open in Web Editor NEW
286.0 5.0 19.0 5.34 MB

Battery-powered E-Ink weather display for our home.

Home Page: https://kimmo.blog/posts/7-building-eink-weather-display-for-our-home/

License: Apache License 2.0

Shell 0.50% Makefile 0.11% C 54.39% Python 5.33% Cython 1.31% JavaScript 0.76% TypeScript 11.92% HTML 2.86% CSS 22.79% CMake 0.03%
eink diy electronics pijuice raspberry-pi

eink-weather-display's People

Contributors

kimmobrunfeldt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

eink-weather-display's Issues

E-ink controller code doesn't set VCOM

I'm not sure what the default is, but I didn't spot any used code that'd set the vcom value.
There's one reference to vcom value here https://github.com/kimmobrunfeldt/eink-weather-display/blob/main/rasp/usb-it8951/main.c#L179, but the function is not called anywhere. I'd guess that the original author tried to set it but continued with the default vcom value.

I have no idea what the real implications are if the vcom value is set to an incorrect one. My display cable suggested -1.15 (IIRC) as the value, the Python library had -1.5 as the default.

Waveshare wiki states:

Use the correct VCOM value

The VCOM value of each model of the e-paper is marked on the FPC cable. Make sure that you have used the correct VCOM value when you running the demo. Otherwise, the e-paper will deteriorate by working for a long time under the wrong VCOM value.

E-ink display not set to sleep

Writing this down so I don't forget, but the code doesn't set the e-ink display into sleep at the moment. The usb-it8951/main.c is used for updating the screen. There's no support for sending the sleep command.

Waveshare's C code has an example: https://github.com/kimmobrunfeldt/eink-weather-display/blob/main/rasp/IT8951-ePaper/Raspberry/lib/e-Paper/EPD_IT8951.c#L654 which should be ported to the usb-it8951 version to support sleep.

It's possible that after sending sleep mode, one must use some or all commands from the Init routine. I didn't investigate it further.

For my use-case this shouldn't matter AFAIK. The raspberry PI is awake only for ~30-60seconds, which means the display only gets power during that time. Theoretically it would be beneficial to set the EDP to sleep, to minimize the active time before power is cut, but that seems like a micro-optimisation.

Neat build - any updates on battery life?

Have you had it running long enough to be able to say anything about expected battery life other than the calculation you mention in the README based on theoretical use?

Support ESP microcontroller or Pi Pico W

I liked the design of the weather display. Tell me how you can do it on a more budget ESP microcontroller or support Raspberry Pi Pico, as well as reduce the screen with support for 7.5 inch displays. And also enable support for Open Weather Map. It would be nice to add a BME280 temperature sensor to display the temperature and humidity in the room

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.