Raspberry Pi projects useful
What useful projects can I build with a Raspberry Pi?
Projekt-Plan
{{whyLabel}}: The Raspberry Pi 5 (8GB RAM) is the 2025 standard for running multiple services simultaneously without performance bottlenecks.
{{howLabel}}:
- Get a Raspberry Pi 5 (8GB) for maximum headroom.
- Use an official 27W USB-C PD power supply to prevent undervoltage issues.
- Select a 64GB microSD card (Class 10, A2 rating) or an NVMe SSD with a HAT for significantly better longevity and speed.
{{doneWhenLabel}}: All hardware components are unboxed and ready for assembly.
{{whyLabel}}: The 'Lite' version saves RAM and CPU by omitting the desktop interface, which is unnecessary for a home server.
{{howLabel}}:
- Download Raspberry Pi Imager on your PC.
- Select Raspberry Pi OS Lite (64-bit).
- Click the cog icon (Settings): Enable SSH, set a unique username/password, and configure your Wi-Fi (though Ethernet is preferred).
{{doneWhenLabel}}: The OS is flashed and the microSD card is inserted into the Pi.
{{whyLabel}}: A server must have a consistent address so other devices can always find it.
{{howLabel}}:
- Connect via SSH:
ssh username@raspberrypi.local. - Run
sudo apt update && sudo apt full-upgrade -yto patch security vulnerabilities. - Access your router's web interface and create a DHCP Reservation for the Pi's MAC address.
{{doneWhenLabel}}: The Pi is updated and assigned a fixed IP (e.g., 192.168.1.100).
{{whyLabel}}: Pi-hole acts as a DNS sinkhole, blocking ads and trackers for every device in your home (Smart TVs, phones, etc.).
{{howLabel}}:
- Run the command:
curl -sSL https://install.pi-hole.net | bash. - Follow the wizard: Select your interface, choose a DNS provider (e.g., Cloudflare 1.1.1.1), and enable the Web Admin Interface.
- Note the admin password provided at the end.
{{doneWhenLabel}}: The Pi-hole dashboard is accessible at http://[Your-IP]/admin.
{{whyLabel}}: This removes reliance on third-party DNS providers (like Google), increasing privacy by resolving queries directly from root servers.
{{howLabel}}:
- Install via
sudo apt install unbound. - Create a config file at
/etc/unbound/unbound.conf.d/pi-hole.confwith optimized settings for Pi-hole. - In Pi-hole settings, set the Upstream DNS to
127.0.0.1#5335.
{{doneWhenLabel}}: DNS queries are resolved locally by Unbound.
{{whyLabel}}: WireGuard provides a fast, modern, and secure way to access your home network and files from anywhere in the world.
{{howLabel}}:
- Run:
curl -L https://install.pivpn.io | bash. - Choose WireGuard (not OpenVPN) for better performance on ARM hardware.
- Use the default port 51820 and select your Pi-hole as the DNS provider for the VPN.
{{doneWhenLabel}}: PiVPN is installed and ready for client configuration.
{{whyLabel}}: Your router must know to send incoming VPN traffic to the Raspberry Pi.
{{howLabel}}:
- Log into your router's admin panel.
- Forward UDP port 51820 to the static IP of your Raspberry Pi.
- If you have a dynamic public IP, set up a DDNS service (like DuckDNS) to keep a consistent domain name.
{{doneWhenLabel}}: Port 51820 is open and directed to the Pi.
{{whyLabel}}: Home Assistant unifies all smart devices (Zigbee, WiFi, Matter) into one local, private interface.
{{howLabel}}:
- Install Docker:
curl -sSL https://get.docker.com | sh. - Run the Home Assistant container with
--network=hostto allow it to discover devices on your network. - Access the UI at
http://[Your-IP]:8123to start the onboarding.
{{doneWhenLabel}}: Home Assistant is running and the 'Welcome' screen is visible.
{{whyLabel}}: OMV transforms your Pi into a professional-grade NAS for file sharing and backups.
{{howLabel}}:
- Run the official install script:
wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash. - Note: This will take 15-20 minutes and will reboot the Pi.
- Access the web interface at
http://[Your-IP](Default: admin / openmediavault).
{{doneWhenLabel}}: OMV dashboard is accessible.
{{whyLabel}}: This allows you to access your Pi's hard drive as a network folder on Windows, Mac, or Linux.
{{howLabel}}:
- Connect an external USB 3.0 HDD/SSD.
- In OMV: Go to Storage > Disks to wipe the drive, then File Systems to create an EXT4 partition.
- Go to Services > SMB/CIFS to enable the service and create a 'Shared Folder'.
{{doneWhenLabel}}: The shared folder is visible and accessible from another computer on the network.
{{whyLabel}}: Jellyfin is the best open-source alternative to Plex, allowing you to stream your own movies and music without subscriptions.
{{howLabel}}:
- Use the OMV-Extras 'Compose' plugin or run a Docker container for Jellyfin.
- Map your OMV shared media folder to the
/datadirectory in the container. - Access at
http://[Your-IP]:8096to set up your library.
{{doneWhenLabel}}: Media files are indexed and streamable via the Jellyfin web app.
{{whyLabel}}: SD cards can fail; having a backup of your configurations (especially Home Assistant and Pi-hole) is critical.
{{howLabel}}:
- Use Rclone to sync your configuration folders to a cloud provider or a second local drive.
- Schedule a 'Cron job' to run
sudo apt updateand backup scripts weekly. - For Home Assistant, enable the 'Google Drive Backup' add-on for easy recovery.
{{doneWhenLabel}}: A backup script is scheduled and the first backup is successfully stored.