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).

Media Center

OSMC featured image

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

raspbian+docker logo

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

motioneye featured image new

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

Raspberry PI WordPress featured image

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

mailserver raspberry pi featured image

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

Rpi Access Point Dietpi

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

octoprint RPI featured image

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

nextcloud rpi

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

Emby 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

Raspberry Pi bluetooth featured image

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

Raspberry pi squid featured image

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

tor featured image

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

Raspberry PI Rocket Chat featured image

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

Hotel Management

Qloapps RPI featured image new

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

Weather station RPI Arduino featured image

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

RPI MVS emulation featured image

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

run raspbian gui windows featured image

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

Guacamole RPI remote desktop gateway featured image

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

RPI Scrapy crawler featured_2

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 featured image

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

Raspberry PI Free Pascal IDE New hello world

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

online learning

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

Raspberry PI Mediawiki featured image

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

Raspberry PI Redmine featured image

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

Raspberry PI Grocy featured

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

n8n Raspberry PI featured image

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

Raspberry PI noip featured image

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)

NEMS Raspberry PI featured image

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

Raspberry pi Privoxy featured image

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

Raspberry PI FireFly III featured image

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

raspberry pi exim featured image

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

Raspberry pi LAMP server featured image

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.

LAMP server on Raspberry PI

Raspberry PI VPN Server with PiVPN

raspberry pi pivpn server featured image

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

RPI mutt featured image

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

raspberry pi memory split featured image

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

raspberry pi reaction game featured image

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

improve raspberry pi performance featured image

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

Raspberry PI shutdown button featured image

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

raspberry pi gogs featured image

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!


How useful was this post?

Click on a star to rate it anonymously!

Average rating 4.8 / 5. Vote count: 6

No votes so far! Be the first to rate this post.

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?