-
1Select a board that you want to use: ESP8266 or ESP32
Either will work. 8266 will consume less but ESP32 will have another powerful features that make it a nice partner to travel with like zlib compression and bluetooth configuration
-
2Get PlatformIO and the Framework from your selected board installed
https://fasani.de/2018/11/24/platformio-an-alternative-to-arduino-ide-and-a-complete-ecosystem-for-iot If you still use Arduino is also fine, but I recommend to try Platformio since is a very nice way to package dependencies in your project
-
3Build and compile
Edit the default_envs line if you want to switch to lolin_d32 (ESP32) or just select your board to match it exacly
https://github.com/martinberlin/eink-calendar/blob/master/platformio.ini#L5And make a copy of lib/Config.h.dist into lib/Config.h
Add there your SSID / PASS so the board knows how to connect to your Router -
4Get an Eink display and connect the SPI interface to your board
Please check the Supported Eink panels for the library we use:
https://github.com/ZinggJM/GxEPD#supported-spi-e-paper-panels-from-good-displaySo far it renders only one color-B/W displays. You can of course use a 2 color one but it will need some additional lines in the Firmware. We are so far not providing any support for that since we find them much slower than black & white
If the display consumes less than 12 mA you can connect the 3.3 VCC to a PIN in your board. If not please don't do it or you will damage your board. Make sure to match the Config.h SPI pins to the display, make sure that is Grounded and measure that get's VCC.
Example schematic for a ESP8266 Wemos board, please adapt to yours if you use an ESP32: -
5Find a proper Case and a powerbank, measure that in deepsleep is not eating too much battery
Ideally it should consume less than 1 mA when it sleeps and a consumption of 60 to 180 mA when downloading and using WiFi in the 10 seconds that needs to update a 7.5 640*383 display. That means it will consume 168 mA if it sleeps for a week, with those consumption peaks when the display is being updated. The idea is that it can last at least 3 or 4 weeks connected without human interaction.
For cases, there are quite a lot of them to get inspired on: https://www.thingiverse.com/search?q=e-paper
Try more keywords like Eink, Waveshare and the size, like 4.2" or 7.5" to get different outputs. I usually make a remix and customize it in Blender. It needs to be adapted if you want to use a 10.000 powerbank, since they are like 12 cm, but of course you can use a 5000 mA smaller one or an internal LiPo 3.7 volts if you want. We are not covering how this is provided you can feel free to power it in any way you want. If it's near your computer could be also powered permanently via USB without the need of any battery.
-
6Build the backend
Follow the instructions provided as an example in:
https://github.com/martinberlin/eink-calendar/tree/master/screenshotActually it could work on any language on the server side. It just expects a 1 to 4 BMP image (1 bit is the best since it's the smaller)
This can be pointed to any website that renders your calendar. If you use Android and want to render your Google calendar there is a very easy example here:
https://github.com/martinberlin/eink-calendar/tree/master/screenshot/g_calendar
This renders a very easy calendar as HTML that can be customized editing 2 templates:
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.