When you begin using Raspberry Pi, you can quickly become overwhelmed by how many projects you can do. You can select a project that you are most interested in, but most of the time, projects require a bunch of hardware or are too difficult for a beginner.
That’s why I created this list of 15 projects you can try, whatever your current level. For all of them, I have a step-by-step tutorial linked and no additional hardware is required (or I will give you the links if it’s not the case). So, it should be easy to go further.
If you are looking for more project ideas, with step-by-step guides at an increasing level, you can check my e-book here. It’s a 30-day challenge, where you learn one new thing each day until you become a Raspberry Pi expert. The first third of the book is here to make sure you know the basics, but the following chapters include many projects you can try on your own (all the details on this page).
1 – Control your lights at home
If you are lost in all these new words and abbreviations, request my free Raspberry Pi glossary here (PDF format)!
As you probably know, more and more lights are now branded as “smart lights”. In general, you can at least turn the lights on or off from your phone and for some models you can even change the color.
I have a bunch of Philips Hue at home, and I love them. The app works well, you can create routines and program everything.
So, what’s the link with a Raspberry Pi project?
Well, the Philips Hue kits include a hub that connects everything, and there is an API on this hub.
It’s possible to manage everything with a few scripts (Python for example), and link it with something on your Raspberry Pi.
Recently, I created a Python script that retrieves the sunrise and sunset times from an external API and programs the lights accordingly. This way, the lights are only on when necessary. Whereas when you use the phone app, you have to change the times frequently depending on the season and time changes.
Want to give a try? Here are the links you need to check to get started:
- Philips Hue tutorial on Raspberry Pi
- Philips Hue starter kit on Amazon (the color alternative is available here)
2 – Use your Pi as a Minecraft server
I don’t think I need to introduce Minecraft, the popular sand-box game with over 200 million sales worldwide.
There is a minimal version on Raspberry Pi OS, the Pi Edition, but I want to suggest a Minecraft server, with the full game.
I was a huge fan of this game a few years ago, and even created my server that has been a nice success.
So, I naturally tried to install one on my Raspberry Pi to see how it goes and the result was really interesting.
As the Minecraft server is mono-thread and mostly needs memory, it works well on Raspberry Pi 3B+ and Raspberry Pi 4 or 400.
Once installed, the idea is to build a world where you can invite friends to play with you and add new features to the game by installing plugins. Everything is possible once done.
The installation is almost the same as on a big Linux server as it’s based on Java.
Here is the link to the entire tutorial for this project idea.
3 – Try a new operating system
If you are lost in all these new words and abbreviations, request my free Raspberry Pi glossary here (PDF format)!
This one might not be a standard project idea, but it’s an important step when you start on Raspberry Pi.
At the beginning, it’s a good idea to stay on Raspberry Pi OS to understand how it works and strengthen your skills from there.
But don’t stay on this distribution forever, you need to explore and try new things.
There are many operating systems and Linux distributions available on Raspberry Pi (in fact, most of the popular systems have an ARM version now).
I have an entire article about my 15 favorite operating systems that you can check by clicking on the link, and a special selection of operating systems for beginners here.
And I have a video comparing the top ones:
There are also a few other ones I haven’t included in this article for the moment:
4 – Learn commands & scripting
Linux commands and programming are two big topics you’ll need to tackle one day or another. If you are just getting started on Raspberry Pi and Linux, might be a bit soon. But keep this on your to-do list.
For the most exciting projects you’ll discover later, using the command line correctly is a prerequisite.
Yes, you can always copy & paste the tutorial without understanding anything, but you’ll remove all the fun of a project by doing this.
There are thousands of commands available on Linux, and so on Raspberry Pi. But you don’t need to know all of them. In fact, with a good understanding of the Linux files organization and maybe 50 commands maximum, you should be able to do anything. That may seem a lot, but you’ll get to it step-by-step.
Here are a few links to help you to get started with this:
- The 57 most important commands you need to know (with a download link to get a free cheat sheet)
- How to use Nano on Raspberry Pi
There is also an entire chapter about Shell scripting in my e-book “Master your Raspberry Pi” if you are interested in this.
5 – Learn the code logic with Scratch
I mostly spoke about Linux commands in the previous idea, but programming is important too.
Programming was the original goal of the Raspberry Pi (helping young students to learn how to code inexpensively).
And there are still a bunch of tools pre-installed on Raspberry Pi OS to do this.
Scratch is a fun programming language, created especially for young people. The idea is to use blocks of instructions to create a basic algorithm. You can move a character, make him talk, interact with him, etc.
Here is what it looks like:
I think it’s the only project here I don’t have a tutorial on yet, but there is a lesson in my video course, the Raspberry Pi Bootcamp. It’s a course where I help you to get started on Raspberry Pi, choose your hardware, install the first applications and tackle your 5 first projects to make sure you understand everything and can keep going on your own from there.
6 – Install an interface and stop using commands
I told you previously that commands are mandatory to progress on Raspberry Pi, and now I suggest a way to bypass this and install an interface to do everything.
Yes, that’s possible and depending on your goals with the Raspberry Pi, that might be a good solution.
Not everyone has the intention to master everything on Raspberry Pi. If you are using it mainly as a desktop computer with a few services running on it, learning commands might not be your priority.
Good news, there is a tool, named Webmin that allows you to manage everything from a web interface.
You can configure the Raspberry Pi, and all the service you install on it from there. You can even install new packages from the interface and add new modules for specific applications.
You’ll find all the details and how to install this app here.
It’s worth a try, whatever your goals.
7 – Play Steam games on Raspberry Pi
After a few serious ideas, let’s get back to fun things. When we think about gaming on Raspberry Pi, we mainly think about retro-gaming: play Super Nintendo games on it. It’s fun, and we’ll get back to it later, but it’s not the idea here.
If you don’t know, Steam is the most popular gaming platform on PC and a big chunk of the new games are released directly on this marketplace. With 25 million players connected on average, that’s a good way to promote a new product for game editors.
Anyway, it’s possible to play Steam games on your Raspberry Pi. Yes, we need more power to run newer games that Raspberry Pi can handle, but the smart idea here is that the computer is doing all the work. The Raspberry Pi is just a deported display of the game.
You plug your controller on the Pi, connect it to your PC, and that’s it, you can play any recent games on your Pi (Grand Theft Auto V, PUBG, CS:GO, Rust, etc.)
As always, here is the link with all the details here.
8 – Experiment with crypto-mining
Crypto-mining is trending currently, with more and more people trying to make money from their computer idle time or by creating giant GPU farms.
Unfortunately, the Raspberry Pi can’t compete with them. The more resources you have, the more likely you are to be rewarded. But the goal here is not really to make money, and rather to learn how it works.
Cryptocurrencies and crypto-mining are fascinating topics, and you don’t need to be an expert on Raspberry Pi to explore them.
In a few minutes, you can install a miner on your Raspberry Pi and connect it to a specific crypto-currency network.
You can check this video for more details:
Or the blog post version is here if you prefer: How to mine Monero on Raspberry Pi.
And an alternative with Dogecoin and another miner and mining pool here: Mining Dogecoin with a Raspberry Pi: The Complete Guide
9 – Turn your Pi into a NAS
In general, the Raspberry Pi is used with a small SD card (32 to 64G is the most common according to a poll I made among readers). But you can also use a bigger SD card (up to 1To is possible) or an external hard drive (with almost unlimited disk space for cheap).
Nice, we can add several terabytes of space on your Raspberry Pi, but why?
The idea here is to build a server to keep your files on it and share them on your network.
This way, you can access it from any computer or device (even remotely). That’s what we call a NAS, or Network Attached Storage.
There are several easy solutions to install on Raspberry Pi (tutorial here), and it’s a great way to share non-important files (movies, software, etc.) or to have an external backup of your important files.
10 – Install NextCloud
NextCloud can be seen as an upgrade to a NAS server. One difference is that you’ll access the files from a web interface, but the main interest is that there is a client to sync the files in real-time between your computer(s) and the server.
It’s also a better way to access the files remotely, as it’s more secure and allows you to access files easily from a smartphone or tablet.
But NextCloud is not only an application to share files, you can also install many other add-ons on the interface to do a large range of things (for example I store passwords and contacts on mine).
Try it now by following my NextCloud installation tutorial here.
11 – Install an ad-blocker on your network
This one is very popular among the Raspberry Pi users, so you might already know it. But even so, it’s a good project for beginners, so I had to put it in this list.
Maybe, you are using tools like AdBlock on your computer, to remove ads on some websites (I hope you have an exception for RaspberryTips if it’s the case!).
The idea here is to install the ad-blocker on your Raspberry Pi, and use your Raspberry Pi as a DNS server.
This way, all the devices on your network using the Pi as a DNS server will no longer display ads (this includes computers, smartphones and tablet).
Interested? You can install it in a few minutes with this tutorial.
You’ll get a nice web interface to see the statistics and block/whitelist domains to customize your experience.
12 – Have fun with the Sense HAT
A HAT is an extension card that you can add on your Raspberry Pi, by plugging it on the GPIO pins. It means “Hardware Attached on Top”.
The Sense HAT is one of the most popular you can get. It includes many sensors (temperature, magnetometer, gyroscope, …), a joystick and a LED display matrix. So, it’s the best one to get started in this field.
The projects you can do with it are almost unlimited, and it’s a good way to learn Python while having fun (you can write and draw some funny things on the LED matrix).
I have two detailed tutorials on this topic, so I think that’s the best way to go from here.
You need to buy a Sense HAT if you don’t have one yet, but it’s not expensive at all, and really worth it.
- Get your Sense HAT on Amazon
- Tutorial #1: Introducing Sense HAT and Python
- Tutorial #2: Using the sensors and LED on Sense HAT
13 – Learn the basics of Python / GPIO
The next natural step is to learn more about Python and the GPIO pins (“General Purpose Input/Output”). Using HAT is a great way to start in this field, but you can do even more.
As Python is an important component of the Raspberry Pi system (hence the name), it’ also essential to learn it as soon as you can. Many projects include Python scripts to control everything.
For example, the GPIO pins are really well integrated with Python. You’ll find Python libraries to interact with them (like for the Sense HAT). You can have various sensors plugged on them (inputs) or control external accessories like LED, screens and motors (output).
I have a beginner guide for Python and another one for the GPIO pins. I recommend reading them in this order if you want to go further:
As a side note, I have learned a lot about Python and GPIO possibilities by using the Da Vinci kit from SunFounder. It comes with a ton of accessories and a PDF guide to learn to use all of them. I recommend it if you are serious about this.
Want to chat with other Raspberry Pi enthusiasts? Join the community, share your current projects and ask for help directly in the forums.
14 – Turn your Pi into a music box
Grab your free PDF file with all the commands you need to know on Raspberry Pi!
Let’s complete this list with two fun projects that are easy to install.
The idea of this one it to use a Raspberry P to play music at home. You can do this with a Bluetooth speak and your computer, but the advantage of using a Raspberry Pi is that you can control it even when your computer is off (or too far ^^).
There are several solutions that you can try with many possibilities. Obviously, you can play local files like MP3, but can also connect to other resources to listen to podcasts, web radios or even Spotify.
You’ll find the 3 recommended solutions here, and my favorite is to use Volumio:
15 – Build a retro-gaming console
The last one will not be a surprise for most of you, as many people are buying a Raspberry Pi especially for this purpose :).
I already introduced this idea previously, but the goal here will be to play old games on the Raspberry Pi.
It’s not powerful enough to play recent games directly, but it’s a monster of power compared to a SNES, Game Boy or even a PlayStation 1.
I have a lot of tutorials on this topic on the website, so you’ll find everything you need (use the search engine if you have any question).
Basically, the idea is to install an operating system built to easily play ROMs like Super Mario, download the games you want to play and transfer them to the Raspberry Pi.
Here are the most popular systems you can try:
If you have no idea which one to choose, I compared them in this video:
You’ll need a controller to play games on your Raspberry Pi. Here is my current recommendation. It’s not very expensive and will work for any console (including the N64 which had a specific controller).
I also recommend finding an SD card with thousands of games already on it because downloading them one-by-one is a waste of time, and you risk getting malware depending on which source you use.