Best Raspberry PI Projects with Tutorials
Last Updated on 28th December 2023 by peppe8o
One of the most searched topics on the internet regarding Raspberry PI is about projects to realize. Many of these results bring you to simple lists linking to not-tested procedures.
In this post, I’m going to summarize the best projects I have personally tested with Raspberry PI Foundation boards.
All projects are detailed with every step (from SD card preparation) to successfully accomplish the goal, so also beginners can use them with no problems.
Please note that the following projects apply to Raspberry PI computer boards. Raspberry PI Pico is a microcontroller, so you should refer to my Raspberry PI Pico category pages in order to find projects for the Foundation’s microcontroller.
My suggestion is to start with Raspberry PI operating system choose and installation (flashing it on the SD card) and avoid Noobs installation because I had some problems with the latter one when moving to bigger storage.
Interfacing External Devices
GPIOs allow Raspberry PI to interface with an infinite world of external devices (motors, sensors, etc). Some of these devices are pretty simple to manage. With Python, they can be used to make complex projects requiring interaction between the environment and the digital world. Raspberry PI can also control and program Arduino (see Arduino vs Raspberry PI for differences).
- Control a simple stepper motor with a Raspberry PI
- Control a servo motor (sg90) using Raspberry PI
- Using Raspberry PI with DHT11 temperature and humidity sensor
- Control a 7 segment display from Raspberry PI
- Control a 4-digit 7-segment display from Raspberry PI
- Control a ultrasonic distance sensor with Raspberry PI
- Connecting Raspberry PI to Arduino via terminal
- Setup Raspberry PI Infrared Remote from terminal
- Using Photoresistor From Raspberry PI To Detect Light
- Use Passive Buzzer with Raspberry PI and Python
- Use Active Buzzer with Raspberry PI and Python
- Use Tilt Ball Switch with Raspberry PI and Python
- Using 74hc595 Shift Register with Raspberry PI
- Using mini Switch Button with Raspberry PI and Python
Media Center
This is a must in all the best Raspberry PI project lists. The simplest and most spread use of Raspberry PI involves this powerful microboard in creating a complete Media Centre. This project can be accomplished with a lot of forms of the best open-source Media Centre available today: Kodi. The 2 best versions are, in my opinion, OSMC (previously known as XBMC) and LibreELEC, both based on Kodi. Below are the links to the respective guide pages:
Using Docker
Containers opened a new world to developers, making applications deploy really simply and fast. With Raspberry PI this turns also into a great opportunity in realizing micro-services that you can easily test, upgrade, edit and delete. You can choose to use a standard operating system (Raspberry PI OS) or an optimized OS thought specifically for containers like RancherOS
Video surveillance
A simple test case to realize how easy is Docker to run on Raspberry PI can be done with this very simple project. With MotionEye you will setup a complete video surveillance system that can be accomplished in a few minutes after having docker installed. MotionEye allows collecting images from Raspberry PI camera module or IP cameras distributed in your environment to one single dashboard, also setting warnings or commands (like Python scripts) to execute when a motion event is detected. Containerized MotionEye software is installed with a single docker run command.
Install Motioneye into a container to setup a videosurveillance system
Private WordPress Hosting
A useful way to have complete control of your website is personally managing the host where it resides. With this guide, you can use your 30$ board instead of paying a web host provider and is useful for people wanting to start a new blog.
This works greatly also on PI Zero!
Install a complete WordPress host in a Raspberry PI
Private email server
This is my favourite experience because this proves how powerful Raspberry PI is. A complete server able to receive and send emails in your home, with a web interface. This guide helps you to install all parts needed, such as the MTA (Mail Transfer Agent), MUA (Mail User Agent) and mailboxes stored in simple system files.
Open Source Postfix, Dovecot and Squirrelmail are setup in this tutorial, showing also basic configuration for a starting environment able to expose a webmail console and exchange emails with external services.
Private mailserver on Raspberry PI Zero W with Postfix, Dovecot and Squirrelmail
Raspberry PI as WiFI Hotspot
Sometimes, old routers could not have an integrated WiFi adapter. With this guide, you can easily setup a WiFi hotspot, thus expanding the home network, by connecting RPI to the router and enabling a powerful WLAN network. This Raspberry PI project uses DietPi since it allows the use of a very lightweight operating system and simplifies installation with its dietpi-software terminal command. This project requires PI models with an ethernet port because you need to separate the interface collecting client traffic (wi-fi) from the interface deputed to connect the internet (ethernet with the cable to router).
Using Raspberry PI as Access Point
Remote Printing Server For Your 3D Printer
Makers know perfectly the importance of controlling 3D prints even while a job is in progress. Print monitoring can help in stopping failing models that could be going to waste filament and allows editing temperature parameters on the way. With Raspberry Pi and OctoPrint, it is a very simple work and also allows to see from a camera how the job is progressing:
Control a 3D printer with Raspberry, Docker, OctoPi and Motioneye
Personal Cloud
Need a personal space to store your files protecting your privacy? Do you want something like Google Drive made with home hardware? So, Nextcloud on Raspberry PI could be your final solution.
Personal cloud with Raspberry PI and Nextcloud on Docker
Private Streaming Server
Raspberry PI can be used as a simple PC, connected to speakers, to reproduce your favourite music. But if you want to stay one step forward, you must try Emby: the open media solution that brings your personal media on any device. In this tutorial, I show how to install Emby, configure external USB storage (if your SD card is not big) and access your dashboard to manage your configuration and library.
Private streaming server with Raspberry Pi and Emby on Docker
Configure Microphone or Bluetooth Devices
Many projects, like the Home Automation system which needs to activate voice control, include using external audio devices like USB Microphone or Bluetooth headsets or speakers. These two tutorials are not real stand-alone projects, but they are typical topics, not well documented on the web, which can save lives from wasting time in searches and tests:
Use USB Microphone with Raspberry PI
Connect Bluetooth Headphones with your Raspberry PI
Proxy Server
Proxy servers are useful systems put in the middle of communications between the user browser and the internet. They are very common in medium to big companies because they allow controlling internet traffic from their employees to prohibited websites or domains. In home environments, they are commonly used to avoid kids browsing risky domains. Raspberry PI perfectly fits this usage because software usually requires very low CPU and RAM usage.
Setup a proxy server with Raspberry PI, Raspberry PI OS Lite and Squid
Tor (The Onion Routers) Proxy
Also, this Raspberry PI project gives you a way to realize your self-hosted proxy. But this one will allow you to join the TOR network. This is a special router network, made by volunteers aiming to give internet users the freedom and ability to conduct confidential communication by keeping their Internet activities unmonitored. It is mostly used by people living in countries where Governments are particularly restrictive in communication and expression freedom. Also for this purpose, Raspberry PI computer is the best solution because of its very low power consumption.
Setup a Tor (The Onion Router) proxy with Raspberry PI and Raspberry PI OS Lite
Private Chat and Messaging Server
Chats are spreading around the world. People use them daily to stay connected with parents and friends. Companies use them to get suppliers and teams instantly aligned. However common chat services can lead to privacy concerns since external companies retain all your chat data and profile on their servers. With Rocket chat (installed via Snapd to get the latest version) you can easily create your private chat server to share your conversations with friends and colleagues, hosting all data in your small and cheap Linux device.
Private chat and messaging server with Raspberry Pi and Rocket.chat
Hotel Management
Okay, hotel management is a complex job and requires a world of services. But Qloapps can be a great resource, especially for those small businesses needing to stay on budget. It is free, so you can use and modify it.
With Qloapps you can manage room assignments, bookings, and payments. If you will use it for your business, you probably will need some precautions by assuring some system administration basic actions (like, for example, backup).
This tutorial will explain all the actions to make it ready (from web server setup to Qloapps installation.
Open Source Hotel Management System with Raspberry Pi and Qloapps
Private Social Network
Social networks spread everywhere, covering everyone’s life. But they are owned by companies so you can be concerned about your privacy. With OpenSource Social Network (OSSN), you can create your private one with a Raspberry PI, keep your data ownership, and invite your parents and friends to share moments, thoughts, pictures, and so on, keeping all private.
Private Social Network with Raspberry Pi and OpenSource Social Network
IoT applications
IoT applications are used all around the world to give people control of their homes, gardens, work, and many other applications. IoT apps are often linked to products to buy and are strictly connected to product functions. Blynk, together with Raspberry PI, can make their access super simple and efficient
Personal IoT with Blynk and Raspberry PI
Weather Station
One of the most common IoT electronics projects is creating a Weather Station also able to send temperature and humidity measurements in real-time. Configuring a weather station with Raspberry PI and Arduino makes this simple and funny, requiring only cheap parts
Weather Station with Arduino, Blynk and Raspberry PI OS Lite on Raspberry PI Zero W
Emulating Mainframe
Mainframes mainly belong to a remote computer era, when Windows on PCs were quite not used on company’s main servers. Anyway, they are still installed and running in many server farms and run several services we use every day (like, for example, banking back-end). Hercules brings a lite (and old) version of MVS emulation to get Mainframe on Raspberry PI.
Emulating MVS Mainframe on Raspberry PI
Raspberry PI OS Lite GUI Applications from Remote MS Windows PC
Sometimes, it can be useful for many purposes to execute applications with GUI in a Raspberry PI OS Lite version. With Xming you can remote an X11 window to a Windows PC, getting Raspberry PI GUI applications shown in your remote PC
Run Raspberry PI OS Lite GUI Applications from remote Windows PC
Remote Desktop Web Gateway
Smart Working stresses the need to have external access to your Personal Computer from a remote station. This remote station can be on whatever device, with whatever OS (and different versions). The very first need for people is remoting their Desktop to have access to their docs and apps.
Creating a Remote Desktop Web Gateway on Raspberry Pi with Apache Guacamole
Personal Web Crawler
A web crawler (also known as spider or spiderbot) is an internet bot that continually browses web pages, typically for web indexing purposes. Typically Search Engines use web crawling to scan the web and be aware of contents, links, and website relations. These data are processed to understand what results in better fit user’s queries.
You can get your personal web crawler with Raspberry PI, Python and Scrapy
Use Raspberry PI as your personal web crawler with Python and Scrapy
Protecting Family from Internet contents with Pi-Hole
Pi-hole is a local DNS server that protects your devices from unwanted content, without installing any client-side software. You can install it on Raspberry PI to manage your home network connections and prevent spam or adult content from being seen from your family computers when browsing the internet
Install Pi-hole in your Raspberry PI with Raspberry Pi OS Lite
Programming with Pascal
The Pascal programming language was very successful in the 1970s, notably in the burgeoning minicomputer market. Widely used as a teaching language in university-level programming courses in the 1980s, it was also used in production settings for writing commercial software during the same period. One of my Raspberry PI projects that made me back to fantastic memories is running Free Pascal to write and execute Pascal programs.
Using Pascal Programming Language With Raspberry PI
Private Learning Portal with Moodle
Being the most famous open-source learning portal, Moodle offers a cheap solution to publish your learning materials and manage web courses. The Moodle web interface can be accessed from any browser and is easy to navigate on both desktop and mobile devices. You can find a customizable Dashboard (both for users and administrators) displaying current, past and future courses, along with tasks due.
Private Learning Portal With Moodle in your Raspberry PI
Personal Mediawiki with Raspberry PI
Internet is the place where knowledge is shared and Wikipedia is the best expression of this. With this tutorial, you will be able to install MediaWiki (the engine at the base of Wikipedia) in your headless Raspberry PI (OS Lite) with Docker and docker-compose to create your MediaWiki service with simple command lines.
Personal Mediawiki with Raspberry PI and Docker
Project Management Web Platform with Redmine on Raspberry PI and Docker
Project management involves strong communication requirements.
Keeping all teams aligned on tasks progress and issues solutions requires strong tools able to share info between involved owners and a strict timeline sharing. This Raspberry PI project uses Redmine to help teams to organize their tasks and keep their jobs aligned
Project Management Web Platform with Redmine on Raspberry PI and Docker
Manage your home stocks like a pro with Grocy and Raspberry PI
Managing home stocks is a common need for all people. How many times did you forget to buy something finished at home from your supermarket?
Grocy aims to help people keep track of their stocks like a PRO, including barcode scanning.
Manage your home stocks like a pro with Grocy and Raspberry PI
How to use n8n and Raspberry PI to create workflows and automate APIs
Using Raspberry PI as a server can lead to a need to manage a wide number of triggers to enable some automation workflows.
It may be a GPIO external condition, a system internal state, or even an external message. With N8N, you can configure your custom workflow by visually setting triggers and related actions
How to use n8n and Raspberry PI to create workflows and automate APIs
How to configure NO-IP DUC service in your Raspberry PI
Many Raspberry PI projects (like using it as a server, as home automation or simply for Raspberry PI remote access) involve having its services exposed to the internet. It means that your Raspberry PI will not only answer its local IP address queries, but it will be available also from external (internet) access. This is useful for accessing your home server, monitoring IP cameras & managing your website DNS among many other things
How to configure No-IP DUC service in your Raspberry PI
Monitor your services with NEMS (Nagios)
Home systems and small office server failures can be annoying when you rely on their availability and realize that they aren’t working only when you need them. Big companies adopted complex monitoring systems to check service status and activate support groups on failures.
One of the most powerful monitoring systems available on the market, also widely adopted by these companies, is an open-source software: Nagios. With this Raspberry PI project, you will get a complete NAGIOS installation by using the NEMS Linux
Network monitoring with Raspberry PI and NEMS (Nagios)
Save your Kid’s internet browsing with Privoxy
With smart devices becoming familiar also to very young people, kids are going to be more and more exposed to web content. This means that controlling home devices and defending them from accessing dangerous sites is a must for parents all over the world.
Raspberry PI offers a fantastic opportunity because it can provide powerful proxying services with filtering capabilities by using Privoxy.
Install Privoxy on Raspberry PI for Kid Safe Browsing
Manage your Finances with Firefly III
Having finances under control is a good way to correctly manage money and analyze what expenses can be reduced to save. Many internet services offer solutions to manage your money, but saving your data in their cloud. For this reason, more and more people look for self-hosted solutions able to grant data to reside in their homes.
An answer to this need is Firefly III with Raspberry PI.
Manage your Finance with Firefly III and Raspberry PI
Send email from the terminal with Exim4
Email communication remained one of the most used media even with the raising of social networks and instant messaging services. Another usage example is with IoT devices, sending emails when defined thresholds are triggered. Quite everyone owns an email address and can receive emails.
This Raspberry PI project explains how to do this with Exim4.
Setup Exim4 to Send Email from Terminal With Raspberry PI (with examples)
LAMP Server on Raspberry PI
Knowing how to create local web pages allows everyone to code their own web services from scratch. Raspberry PI computer boards are great devices to start with these projects because they are enough powerful and have a very low power consumption.
This tutorial guides you through setting up a LAMP server on a Raspberry Pi, using Apache, MySQL and PHP.
Raspberry PI VPN Server with PiVPN
The tutorial walks you through each step of the setup process, including installing PiVPN, configuring OpenVPN, and generating client certificates. By the end of the tutorial, you’ll have a secure VPN server that you can use to access your home network from remote locations.
This tutorial explains how to set up a Virtual Private Network (VPN) server on a Raspberry Pi using PiVPN.
Raspberry PI VPN Server with PiVPN
Terminal Email Client with Raspberry PI and Mutt
Mutt is a lightweight and highly customizable text-based email client for Unix-like systems. Originally released in 1995, Mutt has remained a popular choice for power users who prioritize functionality over aesthetics. It focuses on being a Mail User Agent (MUA) with powerful scripting abilities, keyboard shortcuts, and support for various mailbox formats.
This tutorial explains how to install and use Mutt with a Raspberry Pi.
Terminal Email Client with Raspberry PI and Mutt
Manage Raspberry PI GPU Memory Split
In Raspberry PI computer boards, the RAM memory is shared between the CPU and GPU. It is useful to know what this means and how to manage the memory split, in order to allocate the best RAM usage to the resources to get the best performance.
This tutorial will give you all the required knowledge on PROs and CONs and it will explain how to change the memory split allocation.
Manage Raspberry PI GPU Memory Split
Reaction Game (v2) with Raspberry PI and Mini Button Switch
Creating a simple game from electronics is one of the most effective (and funny) ways to get kids involved in programming and electronic components study. With a few cheap components (mini switch button, LED and resistors) you can use your Raspberry PI computer board to create a reaction game.
This tutorial will give you the wiring and code to build it at home.
Reaction Game (v2) with Raspberry PI and Mini Button Switch
Test your Storage Speed
A fast storage for Raspberry PI helps in getting a faster OS and better performance. So, how can we effectively check if a storage media is faster than another one? With the Linux “dd” command, you can see the read/write performance and make an accurate comparison.
Testing Raspberry PI Storage Speed (SD, USB) with dd
Shutdown Button for Raspberry PI
At their first approach with a Raspberry PI computer board (at least with the older versions), beginners will soon note that there isn’t a shutdown button and they have to login the OS to shut down.
With this Raspberry PI project, you can build it with just a mini switch button.
Shutdown button with Raspberry PI and Python
Self-Hosted Git Web Portal with Gogs
Anyone knows GitHub as the most used portal to share code and its versioning. There are many other online services available, but with Gogs takes a different place as it allows you to host locally your personal one, with just a Raspberry PI
Private Git Web Portal in Raspberry PI With Gogs
What is your favourite one?
Please, share it with your friends on your social network if you like this article!
Enjoy!