Recently I am looking for a desktop calendar for my new desk setup. The issue of most of the desktop calendar I found are either
- Made with paper, which I need to swap page every month
- Using a small LCD black and white display which are hard to read when placed at the far end of my desk
- With a TFT display which grows in dark (as I also sleep in the same room, that is not quite suitable for me)
That is why I started to look into e-ink based solution. One of the project I found was the InkyCal project by Aceinnolab. His design is great but the only issue with their design is that it uses a Raspberry Pi zero w which use a bit too much power than I prefer and the use of black / white / red eink display is a bit off from my design sense.
After some tinkering, I decided to use most of his hardware design except replacing the Raspberry Pi zero w with an ESP8266 for power saving. In this project, I will guide you how to make my own version of InkyCal called InkyDash
As this device will be sitting on my desk, in theory you do not need a battery to make it works. The reason I decided to add a battery is that the only power source around my table is my PC, and I don't want to have a spare USB charger occupying another wall socket space.
In my setup, the calendar is plugged into my PC USB port with a USB extension cable of around 1.5 meters. A standard USB port output around 5V 500mA (and probably less with a cheap USB extension cable). A 3.7v 1000mAh LiPo inside the eink calendar can act as a power buffer. Hence, the system won't goes under voltage during the eink refresh (eink only consume power when the screen refresh) . This design also comes with a benefit for my use case as well for continue powering the e-ink calendar at night and in early morning when my PC is not turned on.
That being said, build-in battery is optional here and your eink calendar will work perfectly fine without one.
2
Wiring the MCU to Your Eink Display
If you go with the hacker route, you can wire your ESP8266 (Wemos D1 mini) according to the following table.
BUSY -> D2
RST -> D4
DC -> D3
CS -> D8
CLK -> D5
DIN -> D7
GND -> GND
3.3V -> 3.3V
The left side is the e-ink SPI adapter pins and the right side is the Wemos D1 pin. As the Wemos D1 pins are design for general purpose usage, after wiring you will get a wire spaghettii like the one I show in the photo.
3
Make a PCB (Optional)
If you are like me and go for the technical-maker route, you can use the following gerber files and get a custom PCB made. You can find the PCB Gerber files here.
This board is basically a TP4056 module and a Wemos D1 integrated into one. Then I route the SPI required GPIO from the Esp12F and make connection to the adapter board easier. In term of circuitry and connections, it is basically identical to the previous steps with an extra switch for controlling if the battery is used for powering or the USB port is use for powering.