If this project helpful, you can donate me a cup of coffee, or some beers so I can code more :)
BTC: bc1q2zpmmlz7ujwx2ghsgw5j7umv8wmpchplemvhtu
ETH: 0x80e98FcfED62970e35a57d2F1fefed7C89d5DaF4
Display a word of the day from Dictionary.com when start running. Refresh again for a new word every day morning at 8am.
This project aim for simplicity. Only 1 micro-USB is needed. Once installed, just plug-and-learn, thanks to very low energy needed for both Raspberry Pi and e-ink display. The word will not disappear even if turned off.
- Raspberry Pi Zero W/WH (Zero 2 might work as well)
- Waveshare 2.13inch e-ink display (epd2in13_V4)
- Black/white only. Tested with touch version but should work on with no-touch version. There is no touch function used.
- 32GB+ Micro SD card.
This setup of Pi zero is based on dr-mod repo. Thanks!
- Turn on SPI via
sudo raspi-config
.
Interfacing Options -> SPI
- Install dependencies.
sudo apt update
sudo apt-get install python3-pip python3-pil python3-numpy git
pip3 install RPi.GPIO spidev
- Install Waveshare drivers.
git clone https://github.com/waveshare/e-Paper.git ~/e-Paper
pip3 install ~/e-Paper/RaspberryPi_JetsonNano/python/
- Download WotD.
git clone https://github.com/JRWSP/pi_wotd_eink.git ~/wotd
- Run.
python ~/wotd/WotD.py
- Create a new service configuration file
sudo nano /etc/systemd/system/btc-screen.service
- Copy and paste the following into the service configuration file and change any settings to match your environment
[Unit]
Description=word-of-the-day
After=network.target
[Service]
ExecStart=/usr/bin/python3 -u WotD.py
WorkingDirectory=/home/pi/wotd
StandardOutput=inherit
StandardError=inherit
Restart=always
User=pi
[Install]
WantedBy=multi-user.target
- Enable the service so that it starts whenever the RPi is rebooted
sudo systemctl enable btc-screen.service
- Start the service
sudo systemctl start btc-screen.service
- If you need to troubleshoot you can use the logging configurations of this program (mentioned below). Alternatively, you can check to see if there is any output in the system service logging.
sudo journalctl -f -u btc-screen.service