Check the status of the service:
sudo systemctl status inkypi.serviceIf the service is running, this should output Active: active (running):
● inkypi.service - InkyPi App
Loaded: loaded (/etc/systemd/system/inkypi.service; enabled; preset: enabled)
Active: active (running) since Sun 2024-12-22 20:48:53 GMT; 28s ago
Main PID: 48333 (bash)
Tasks: 6 (limit: 166)
CPU: 6.333s
CGroup: /system.slice/inkypi.service
├─48333 bash /usr/local/bin/inkypi -d
└─48336 python -u /home/pi/inky/src/inkypi.py -dIf the service is not running, check the logs for any errors or issues.
View the latest logs for the InkyPi service:
journalctl -u inkypi -n 100Tail the logs:
journalctl -u inkypi -fsudo systemctl restart inkypi.serviceIf the InkyPi service is not running, try manually running the startup script to diagnose. This should output the logs to the terminal and make it easier to troubleshoot any errors:
sudo /usr/local/bin/inkypi -dSome plugins require API Keys to be configured in order to run. These need to be configured in a .env file at the root of the project. See API Keys for details.
If the displayed time is incorrect, your timezone setting may not be configured. You can update this in the Settings page of the Web UI.
Failed to retrieve weather data
ERROR - root - Failed to retrieve weather data: b'{"cod":401, "message": "Please note that using One Call 3.0 requires a separate subscription to the One Call by Call plan. Learn more here https://openweathermap.org/price. If you have a valid subscription to the One Call by Call plan, but still receive this error, then please see https://openweathermap.org/faq#error401 for more info."}'InkyPi uses the One Call API 3.0 API which requires a subscription but is free for up to 1,000 requests a day. See API Keys for instructions.
RuntimeError: No EEPROM detected! You must manually initialise your Inky board.InkyPi uses the inky python library from Pimoroni to detect and interface with Inky displays. However, the auto-detect functionality does not work on some boards, which requires manual setup (see Manual Setup).
Manually import and instantiate the correct Inky module in src/display_manager.py. For the 7.3 Inky Impression, modify the file as follows:
@@ -1,5 +1,5 @@
import os
-from inky.auto import auto
+from inky.inky_ac073tc1a import Inky
from utils.image_utils import resize_image, change_orientation
from plugins.plugin_registry import get_plugin_instance
@@ -8,7 +8,7 @@ class DisplayManager:
def __init__(self, device_config):
"""Manages the display and rendering of images."""
self.device_config = device_config
- self.inky_display = auto()
+ self.inky_display = Inky()
self.inky_display.set_border(self.inky_display.BLACK)
Then restart the inkypi service:
sudo systemctl restart inkypi.service
Ensure that the necessary modeules are available in the python environment. Waveshare requires:
- gpiozero
- lgpio
- RPi.GPIO
in addition to the libraries that are normally installed for Inky screens.
Verify SPI configuration using ls /dev/sp*. There should be two entries for spidev0.0 and spidev0.1.
If only the first is visible, check /boot/firmware/config.txt. The regular install of InkyPi adds dtoverlay=spi0-0cs to the this file. If it is there, either delete it (for default behaviour) or specifically add dtoverlay=spi0-2cs.
The installation script attempts to fetch the EPD driver library based on the -W argument provided. Please double-check that:
- You’ve entered the correct display model.
- The corresponding driver file exists in the waveshare e-Paper github repository.
Note: Some displays, such as the epd4in0e, are not included in the main library path above. Instead, they may be located under the E-paper_Seperate_Program path. If your model is there, look under:
/RaspberryPi_JetsonNano/python/lib/waveshare_epd/In this case, you’ll need to manually copy both the epdXinX.py and epdconfig.py files into:
InkyPi/src/display/waveshare_epd/Once the files are in place, rerun the installation script. The script will detect the driver locally and skip the download step.
Daily newspaper front pages are sourced from Freedom Forum. The list of available newspapers may change periodically. InkyPi maintains an up-to-date list of newspapers provided by Freedom Forum, but there may be times when the list becomes outdated.
If you encounter this error, please feel free to open an Issue, including the name of the newspaper you were trying to access, and we'll work to update the list.
Also consider supporting the important work of Freedom Forum, an organization dedicated to promoting and protecting free press and the First Amendment: https://www.freedomforum.org/take-action/
Due to limitations with the Pi Zero W, there are some known issues during the InkyPi installation process. For more details and community discussion, refer to this GitHub Issue.
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProtocolError('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))':Manually install the required pip packages in the inkypi virtual environment:
source "/usr/local/inkypi/venv_inkypi/bin/activate"
pip install -r install/requirements.txt
deactivateRestart the inkypi service to apply the changes:
sudo systemctl restart inkypi.serviceImportError: Error importing numpy: you should not try to import numpy from
its source directory; please exit the numpy source tree, and relaunch
your python interpreter from there.To resolve this issue, manually reinstall the Pillow library in the inkypi virtual environment:
sudo su
source "/usr/local/inkypi/venv_inkypi/bin/activate"
pip uninstall Pillow
pip install Pillow
deactivateRestart the inkypi service to apply the changes:
sudo systemctl restart inkypi.service