ImageFrame is a lightweight application for creating slideshows on displays or televisions. It runs efficiently on minimal hardware, such as a Raspberry Pi, making it an ideal choice for embedded systems.
Images are displayed using fbida, eliminating the need for a desktop environment. This allows the software to run smoothly even on low-power devices, including the Raspberry Pi Zero W.
Beyond simple image display, this application offers comprehensive slideshow management. See the Features section for a complete overview and the Preview section for screenshots.
A Node.js server runs in the background, enabling remote control of the image frame through a web interface. (Though calling Node.js a "background process" might be generous - it's one of the heaviest objects in the universe!)
- Image Management: Upload, organize, and delete images with folder-based organization
- Custom Slideshows: Create personalized slideshows using images from multiple folders
- Scheduling: Schedule specific slideshows to play during predefined timeframes
- Remote Updates: Update the software directly from the web interface
![]() |
![]() |
|---|---|
![]() |
![]() |
Follow these steps to set up your imageframe:
Install a Debian-based Linux distribution suitable for your hardware. For Raspberry Pi devices, we recommend Raspberry Pi OS.
Installation Steps:
- Download and use the official Raspberry Pi Imager (available for Windows, macOS, and Linux)
- The official imager simplifies headless setup configuration
- Configure SSH, Wi-Fi, and user account during the imaging process
Warning
Ensure you select the correct storage device during installation to prevent data loss.
Connect to your device and configure the system:
# Connect via SSH (replace with your device's IP address)
ssh imageframe@192.168.1.100
# Switch to root user
sudo su
# Update the system
apt update && apt upgrade -y
# Set timezone (if not configured during imaging)
timedatectl set-timezone Region/City
# Configure passwordless sudo for convenience
visudoEdit the sudoers file to uncomment this line:
%sudo ALL=(ALL:ALL) NOPASSWD:ALLFix Hardware Acceleration (Raspberry Pi specific):
Edit the boot configuration:
sudo nano /boot/config.txtMake these changes:
# Comment out or remove this line:
dtoverlay=vc4-kms-v3d
# Add this line instead:
dtoverlay=vc4-fkms-v3dReboot after making these changes:
sudo rebootInstall dependencies and set up the imageframe application:
# Install required packages
sudo apt install fbida git npm figlet -y
# Clone the repository
git clone https://github.com/zMoooooritz/imageframe ~/imageframe
# Run the setup script
cd ~/imageframe
bash scripts/setup.shFor users who want additional status information, a modified version of fbida is available in my fork. This enhancement allows the imageframe Web UI to display advanced state information about currently displayed images.
Note: This feature is optional and requires manual compilation. No pre-compiled binaries are provided, so users must:
- Compile the application for their specific hardware
- Install the necessary dependencies
- Replace the system fbida with the enhanced version
This modification provides a richer user experience but is not required for basic functionality.
After installation, access the web interface by navigating to your device's IP address in a web browser. From there, you can:
- Upload and organize your images
- Create custom slideshows
- Set up scheduling
- Monitor system status
- Update the application
Enjoy your new imageframe!



