navigationGo.pngQuick Navigation
allprojects32.pngAll projects

favoriteStar32.pngTop projects
Alan numitron clock
Clapclap 2313/1386
SNES Pi Webserver
USB Volume/USB toys
Smokey amp
Laser cutter
ardReveil v3
SNES Arcade cabinet
Game boy projects
Home Presence Detector


navigationMail.pngContact me

3flags.pngWho's Alan?

Rand Nerd Tut
Datasheet Lib
Reddit Elec
Carnet du maker (fr)
ATmel blog (defunct)

eink weather station

I want to make a small weather & reminder to throw the trash for my home entrance. Depending on the day in Japan you're supposed to throw one or another type of garbage and I always miss the "non-burnable" one, because it's the "second and fourth Thursday of the month"... So this toy will show me the weather, a few other interresting info and if it's the day for what type of trash.



Points of interrest


Bill of materials

  • Raspi Zero W but any clone will do. You will want internet.
  • in my case a 2.13 inches eInk display from eBay (250x128 pixels)
  • Perfboard, buttons, led, etc...
  • Installation

    For the eInk:
    All is here: Now I think of it I think the bcm2835 extra stuff is not needed if you use Python and GPIO... give a try and tell me.
    sudo apt-get install python-dev
    sudo pip install wiringpi spidev
    tar zxvf bcm2835-1.xx.tar.gz
    cd bcm2835-1.xx
    sudo make check
    sudo make install
    sudo apt-get install python-smbus  python-serial python-rpi.gpio
    #updated to use Pillow instead of PIL
    sudo python -m pip install pillow
    For the weather:
    Python Weather API based on Yahoo!:
    sudo pip install weather-api
    The above stopped working Jan 2019, so I moved to You register, they have a free plan and comprehensive and simple Json API. I added a class to parse it and extract what I need. You'll need to put your private key in the file though.

    Source code

    On the git :

    Pretty simple, you have 2 buttons [next and validate], the code revolves around 3 main panels that you can go through by clicking [next]:
  • Main panel: shows the weather of now and tells you what it will look like in a few hours. It also shows today's date and the latest update time
  • Shutdown panel: if you click [validate] the raspi will shutdown and show you a "the end" screen
  • Others panel: misc stuffs, for now only shows the current IP
  • Assembly

    1. Soldered the eInk screen to some perfboard I hadso I don't have to stack it on the Raspi Zero W and I can access the other pins (I'll need some buttons and LED)
    2. Add buttons and LED!

    Red is for the eInk display, Blue is for the buttons, Pin 29 (GPIO05) is for the "we're the non-burrnable day" LED

    Pinout of the eInk screen from the link above



    Helpful sources

  • The doc of the piece
  • The Yahoo weather API details
  • Inspiration

  • A similar project on GitHub for the PngConverter maybe and insipration
  • For the design and the original project that is very good!
  • All content on this site is shared under the MIT licence (do what u want, don't sue me, hat tip appreciated) ~ Formerly known as (AlanFromJapan [2009 - 2019])