The Raspberry Pi is an incredible device, and almost every day you see news about new projects you can do with it. I’ve tested a lot of these projects and written tutorials for each one I tested on this website. It was time to build the ultimate table of contents for this website, and list all of my favorite projects here.
If you are looking for some inspiration to try something new, or need guidance for something specific, you’ll probably find it in this list. To make it easier to digest, I sorted all of the projects by category (software, hardware, entertainment, etc.) and by difficulty.
For each project listed here, you’ll find links to my tutorials or related articles on the website, so you can learn more about this topic, and follow my step-by-step tutorial if I have one.
If you are looking to quickly progress on Raspberry Pi, you can check out my e-book here. It’s a 30-day challenge, where you learn one new thing every day until you become a Raspberry Pi expert. The first third of the book teaches you the basics, but the following chapters include projects you can try on your own.
The easiest projects to get started are the ones that don’t require any additional hardware. No electronic, no game controller, no TV, or even no monitor. I’ll start with them in this “software only” category.
Make your Raspberry Pi work for you
If you have a Raspberry Pi that you don’t use at all, or that runs all the time, but you don’t use that much, the first thing you can try is to make money with it. Yes, you can definitely install things on it that will use the computing power when you don’t need it.
The best and easiest way I found to make money with a Raspberry Pi until now is to sell your bandwidth. It works with any Raspberry Pi model and doesn’t require any changes to your current setup. I love it, especially for my Raspberry Pi Zero which runs 24/7 anyway.
Another idea is to mine cryptocurrency with it. It won’t earn you much as you are competing with guys using powerful computers with high-end GPUs, but it’s better than nothing.
Check the links below for more details.
|Related links||– 3 ways to make money with a Raspberry Pi|
– Mining the Monero cryptocurrency on Raspberry Pi
– Mining Dogecoin on Raspberry Pi
Sync your files with all your devices
If you want to keep your data safe, and not hosted by someone else, NextCloud is a great app to try.
It’s a bit like Google Drive, Dropbox, or apps like that, but you keep control of your files. The files will be stored on your Raspberry Pi, and accessible from anywhere (any computer or smartphone can use them).
I don’t use my Raspberry Pi for this, I have my files hosted on a traditional server. However, it’s the same idea. I can access my files from anywhere, do a backup to this “cloud” service and share photos from my phone to my computer instantly.
NextCloud not only hosts your files but includes many other interesting features to sync your contacts, calendars, notes, tasks, etc.
Check the tutorial below to try it on your Raspberry Pi.
|Related links||– Install NextCloud on Raspberry Pi|
Host a database server
This is not necessarily a project in itself, but it’s the first brick you can install on your Raspberry Pi for many of them: a database server.
A web server will probably need one, but any script you write can benefit from it as well. So, it’s always useful to have a database server at hand on your home network.
MariaDB is one of the most common services used on Raspberry Pi, it has now replaced MySQL on most distributions. It’s my go-to database server as it’s the one I know the best, but other options are available if you prefer something else. Check the links below to learn more.
|Related links||– Install MariaDB (MySQL server) on Raspberry Pi|
– Which database system is best for Raspberry Pi?
Experiment with ethical hacking
The Raspberry Pi is the perfect device for hacking and pen testing. You can install Kali Linux on it, it has Wi-Fi, and it’s discreet enough to be plugged everywhere.
I have a fun story about this. When I was a system administrator a few years ago, we paid a guy to do a security audit of our network. The guy manages to access the building and plugs a Raspberry Pi inside. He then did all the tests from it by accessing it remotely via a 4G adapter (remember Mr. Robot? it’s the same idea…).
Anyway, if you are interested in this, I have a few links for you. You can start by installing Kali Linux which includes all the apps and tools, and experiment from there with more in-depth tutorials.
|Related links||– Install Kali Linux on Raspberry Pi|
– How to hack a Wi-Fi network with a Raspberry Pi
– Install & use Wireshark on Raspberry Pi
Host virtual machines on your Raspberry Pi 4
New Raspberry Pi models come every year with increased CPU power and RAM, and virtualization is now a recurring topic on this website. This is pretty new and still limited, with solutions that I still consider in “beta”, but it’s now possible to host virtual machines on a small Raspberry Pi.
If you are interested in this topic, using a Raspberry Pi is a great way to experiment, and learn how to use these solutions. You can then move to a bigger server and continue to use them, as it’s the same app that is used in big companies.
These projects take time, and won’t necessarily work all the time, so if you are still a beginner on Raspberry Pi, I wouldn’t recommend starting with it.
|Related links||– Getting started with Proxmox on Raspberry Pi|
– Try VMWare ESXi on Raspberry Pi
Another popular usage for the Raspberry Pi devices is to play games or use them to watch movies. Here are a few things you can try to have fun with it.
Video capture and streaming
It’s probably not the most popular project in this category, but OBS Studio is now available on Raspberry Pi, so you can use it to record your screen or stream anything. Even if we are still far from a professional computer, the Raspberry Pi 4 can handle this pretty well.
OBS Studio is a free and powerful tool to do this.
You can manage multiple sources (like a Camera module or a USB device) and include several of them in a recording. Check the link below to learn more, as the installation is not straightforward, but it works!
|Related links||– Install OBS Studio on your Raspberry Pi|
Classic game console
This is probably the most common project on Raspberry Pi: using it to play classic games, and retro-gaming.
If you are lost in all these new words and abbreviations, request my free Raspberry Pi glossary here (PDF format)!
Basically, you’ll install a specific operating system (or just the app, depending on the solution), including various emulators and a nice interface to play old games on your Raspberry Pi.
Are you a Nintendo 64 fan like me? You can definitely install RetroPie on your device, plug in a game controller and play Mario, GoldenEye, or any one of your favorite games.
For your first try, I would recommend following the tutorial linked below and installing it on a new SD card. But it’s also possible to install RetroPie on top of Raspberry Pi OS, for example.
And I also recommend checking the other options, as RetroPie is no longer the best choice (especially for beginners).
|Related links||– Retropie beginner’s guide|
– Differences: Retropie vs Recalbox vs Lakka vs Batocera
– Where to download your games
You can even play recent (Steam) games on it
Ok, that’s fine, but classic games are now dated, and you might not enjoy them as much as you did in the old days. But what if you could also play recent games on your Raspberry Pi? Like the ones available on Steam?
Obviously, there is a catch. The Raspberry Pi can’t run FIFA, Cyberpunk, or any major games natively, you need something more powerful.
Well, in the project linked below, you can link your computer to your Raspberry Pi, to play the game on the Raspberry Pi while the computer does the hard work. It’s perfect if you have your Raspberry Pi plugged into your TV, and want to play games on it.
|Related links||– Try Steam games on your Raspberry Pi|
A Raspberry Pi as a Spotify remote control
If you like to listen to music at home, you can use your Raspberry Pi as your personal stereo.
There are 3 ways to use Spotify on a Raspberry Pi: Volumio, Kodi, or MusicBox. All of them are available as a system image that can be downloaded and flashed on a mini-SD card. Then Spotify will be available as an additional plugin.
A premium account is required to use Spotify without the official app, but if you have one, you can check the link below to try one of these solutions.
|Related links||– How to use Spotify on Raspberry Pi|
Turn your Pi into a smart TV
This is also a popular project. The Raspberry Pi is a small, low-energy, and silent device. It’s ideal to plug it into the back of your TV and add smart features to it even if you have an old TV.
Kodi is generally the app used to do this, it’s a media-center application that can be installed on Raspberry Pi OS, LibreElec, or OSMC. You can then watch local files on your TV, or install an additional plugin to access Netflix, Prime Video, YouTube, and other services.
Check the links below for more details.
|Related links||– Watch Netflix and other streaming providers with Kodi|
– OSMC vs LibreElec
– Kodi beginner’s guide
– Getting started with Plex on Raspberry Pi
Host a game server on it (Minecraft example)
I have a lot of experience with Minecraft, both as a player and as a server owner (I ran a French server for almost 10 years). So, naturally, I wanted to test it on my Raspberry Pi. And to my surprise, it works pretty well (on a Raspberry Pi 4 at least).
If you don’t know, Minecraft is a sandbox game created by Mojang. This game has no defined goal. Each player will progress in the game, in a world composed of blocks, representing the real world in a cubic form.
Everybody can host a server, to play with friends or random players over the world. It’s a paid game, but hosting a server is free, and it can be done on a Raspberry Pi. So, if you want to give it a try, check my tutorial in the link below.
|Related links||– Set up a Minecraft server on Raspberry Pi|
If you have a Raspberry Pi running all the time on your home network, you can easily install additional services to improve your life. Ad-blocker is the most popular service, but there are way more things you can install on it.
Use a Raspberry Pi as a network-wide ad blocker
You probably already know about AdBlock, an extension you can install on your web browser to hide most ads on the Internet. But you have to install it on every device, and it doesn’t always work, especially with exotic systems or apps.
It’s possible to install a network ad-blocker on your Raspberry Pi (it’s basically a custom DNS server). Configure it as your main DNS server, and all the devices connected to your network won’t show ads anymore.
I tested two solutions for you: Pi-Hole and AdGuard. You can try them easily, as both will work directly on Raspberry Pi OS. Check my tutorials below for more details.
Turn your old printer into a wireless printer
If you still have an old printer that only has a USB connector and no network adapter (RJ45 or Wi-Fi), you can easily plug it into your Raspberry Pi, configure it, and then share it with the network.
This way, you can have a Raspberry Pi close to the printer, anywhere in your house, and print from your computer, as if it was a wireless printer.
The tutorial linked below, explains how to install a new printer on a Raspberry Pi, but sharing it will give you access to it from any computer on the same network.
|Related links||– How to add a printer on your Raspberry Pi? (CUPS)|
Use your Pi as a Torrent box
Another useful service you can add to a Raspberry Pi running all the time is an app to manage your downloads (Torrent files, typically).
In most cases, there is a service running on the Raspberry Pi, and a web interface to access it from any other device on the same network.
I know, with the rise of streaming providers, torrents aren’t as popular as they used to be, but it’s still handy to have an app with a nice web interface to quickly download torrents when you need to.
How can you build this? Well, I have tested several solutions and explained how to install them in the link below.
|Related links||– 3 best apps to use your Pi as a Torrent box|
Build a home automation controller
Installing Home Assistant (or similar) on a Raspberry Pi is a popular project for any Raspberry Pi owner. It’s popular because once connected to all your smart devices, it makes the Raspberry Pi really useful in your home setup (which is not the case with all projects).
Home Assistant officially supports the Raspberry Pi 3 and 4, so it offers an image built for it. You can even choose between 32 or 64 bits. You need a new SD card, but the installation is straightforward. Just flash it, and it’s ready to use.
You can then connect to all your smart devices via an intuitive wizard.
Domoticz is less intuitive but might be interesting for more advanced users that want to do more with it.
|Related links||– Start with Home Assistant (recommended)|
– Or experiment with Domoticz (for advanced users)
Host a complete web server on it
Setting up a web server can be useful for various projects. Unfortunately, it isn’t really straightforward, especially if you need PHP and a MySQL database. I’m also a web developer and have built many web projects, so I’m used to it. But I understand it may be overwhelming for some of you.
A web server requires several bricks to host a dynamic website. In general, we call this a LAMP server (Linux + Apache + MySQL + PHP). So, you need to install all of this to make the different parts work together. And it’s only the beginning, as you’ll then need to create the website, or use a content app (like WordPress).
Anyway, I have several tutorials on this website to help you to get started with it. Check the links below to get the step-by-step instructions.
|Related links||– Set up a full LAMP webserver on Raspberry Pi|
– Host a WordPress website on it
– Or try NGINX instead of Apache
Or create a file server to share files at home
Another popular project is to use the Raspberry Pi to share files on your network. Need to open a file on another computer? Share photos with your family? Host movies to watch on your TV?
Create a file server with a few shares on your Raspberry Pi, and everyone can access it and share various files.
There are different solutions to do this. I already discussed NextCloud in this article, but it’s not really the same thing. OpenMediaVault is a solution that you can use to get a web interface to manage everything, or you can do it manually by installing Samba on any Linux distribution.
The first link below explains how to do this manually (command lines required), and the second link is for the web interface (easier for beginners).
|Related links||– Turn your Raspberry Pi into a file server|
– Use OpenMediaVault to share files on your network
– Can you use FreeNAS instead?
Using Raspberry Pi as a VPN server
VPN stands for “Virtual Private Network”, and basically the idea is to merge two networks.
For example, companies can use this to have employees in two different sites but using the same resources from the main building (like a file share, for example).
With a Raspberry Pi, we’ll generally use it to access a remote network from anywhere in the world.
For example, you can access your security camera or home automation web page from your smartphone while traveling.
If you are lost in all these new words and abbreviations, request my free Raspberry Pi glossary here (PDF format)!
OpenVPN and WireGuard are two open-source solutions to create a virtual private network (VPN).
Created in 2021, OpenVPN is the standard and runs most VPNs in the world.
WireGuard is a recent solution (2016) that promotes better performances that should not be overlooked when creating a new VPN.
Even if the theory is maybe a bit complicated to understand for beginners, the installation process is pretty straightforward. So feel free to check the links below to learn more about this.
|Related links||– The easiest way to set up OpenVPN on Raspberry Pi|
– Differences between OpenVPN and WireGuard
Speed up your Internet connection (DNS server)
DNS stands for Domain Name System. It’s a main service on the Internet. Its role is to translate domain names into IP addresses.
On a network, devices only speak with IP addresses, and they need a DNS server to help convert the hostname to IP.
Currently, your Internet router is probably your DNS server, and it forwards all the requests to your provider server. You can easily use your Raspberry Pi as your main DNS server and speed up your Internet connection with a few tweaks in the configuration.
Check the link below to try this project at home.
|Related links||– Use your Raspberry Pi as a DNS server|
Host your private password manager
Passwords have always been a hot topic in tech. From using weak passwords to adding complexity and then using password managers to remember them as we try to use a different password on each website. But a major concern with these tools is privacy and security. What happens if they get hacked?
Bitwarden has a solution for you, you can self-host the server for your password manager. It’s not necessarily a good idea regarding security risks, but at least you own your data. You can install Bitwarden on a Raspberry Pi at home, and then use the browser’s extensions to connect to it.
It’s not necessarily easy, as you need to host a web server with HTTPS encryption enabled and make sure everything is safe and backed up. But it’s something interesting to try, to better understand how these tools work.
|Related links||– Install Bitwarden on your Raspberry Pi|
Or build your private phone server
I worked as sysadmin in a company with a big call center. We were using Asterisk to manage calls for different countries and languages. Everything was set up to redirect each call to the best agent (available and speaking the correct language!). So, it was natural for me to try to install Asterisk on my Raspberry Pi at home.
Obviously, the goal for a private phone server at home won’t be the same, but it can be fun to add a few rules. Let’s say you don’t want the phone to ring when your baby is sleeping, or maybe redirect the calls when you are not at home. Everything is possible.
Just follow the tutorial linked below for the initial installation, and then do whatever you want from there.
|Related links||– Install Asterisk on your Raspberry Pi|
Monitor your network
We have seen different ways to add active services on your Raspberry Pi, to enhance your home experience. But you can also use it to monitor other services and smart devices you have at home.
Is your NAS almost full? How old is your last backup? Is your Minecraft server running?
Anything like that can be tested with a tool named Nagios. It’s a monitoring solution, often used in large companies, to make sure everything is running as expected. It can send notifications when something is going wrong.
It works on Raspberry Pi, and I have a tutorial below on how to install it. You can also check my article about Grafana to create graphs for anything (related to network monitoring or anything else).
Host your own email server on Raspberry Pi
It’s probably one of the most complicated tutorials I have on this website: hosting a mail server at home.
It’s not necessarily a good idea to use it for important addresses, but it’s very interesting to understand how everything works together. And you can follow the same steps to host your email server on something more robust after that.
You can follow the first steps if you just want to send an email from your Raspberry Pi. But I also explain everything to receive emails and host webmail on it.
It works really well, even on an old Raspberry Pi model (I did this on a 3B+ I think), but unless you have a redundant solution for your Internet connection and server, it’s probably not the best idea to move to this for your main email address.
|Related links||– Full tutorial: Hosting an email server on Raspberry Pi|
Use your Raspberry Pi as a firewall
The Raspberry Pi has only one Ethernet port, so it’s not necessarily the best fit for a firewall. But if most of your devices are connected to the Internet via Wi-Fi, you can still use it to filter your Internet access.
My goal with this project was to create a new wireless access point with a firewall and other cool software to monitor the network and filter some kind of traffic.
I did it, and you can check the link below to follow the same steps.
|Related links||– Use your Raspberry Pi as your main firewall|
– Can you use pfSense on Raspberry Pi?
The main goal of the Raspberry Pi is to help young students to learn how to code. So obviously, I have a few programming projects for you on this list.
Discover the Python programming language
The Raspberry Pi system includes an IDE to code in Python, the basic libraries are pre-installed, and the GPIO pins are perfect to experiment with. There are a few steps to follow to understand Python code, but it’s not so complicated.
I have several articles on this website to teach you how to get started, you can find the links below. Python is close to the English language, so it’s not that hard, but you still need to understand the logic before building anything. If you have some experience with other languages, it should be pretty quick to learn.
And if you need more, I have an entire e-book that you can read to learn Python, from beginner to expert, with only the important concepts. Check the details on this page, you can currently get 10% off by using this link.
|Related links||– How to get started with Python on Raspberry Pi|
– Should you learn Linux or Python first?
– Going further: Experiment with OpenCV
Control your smart lights at home
One of the projects you can try once you know the basics of Python, is to interact with your smart lights at home. I have Philips Hue lights, and there is an API that you can program in Python (or any other language).
My Raspberry Pi Zero connects to it to turn them on or off depending on the time of the day, the weather, and the sunset/sunrise times. I explain everything in my book, but I also have a tutorial on this website about this, check the first link to try it on your own.
Hyperion is an alternative you can use, that doesn’t require as much programming. Basically, you can use it to do the same thing as the Ambilight feature on Philips TV. You can link your smart LEDs with your TV content. It’s pretty powerful once configured correctly (check the second link).
|Related links||– Control your lights at home (Philips Hue + Python example)|
– Install Hyperion to have a web interface
Learn C++ on Raspberry Pi
When thinking about programming on Raspberry Pi, Python and Scratch are the most common choices. I write a lot about Python on this website because it’s the most natural for beginners, but it isn’t the only option, and not necessarily the best in every situation.
Raspberry Pi OS also includes all the packages needed to code in C/C++ directly after the installation. Common libraries are pre-installed to interact with the specific Raspberry Pi components (GPIO, Camera, etc.), and the default text editor (Geany) has built-in support for this language.
If you want to give it a try, check my tutorial about C++.
|Related links||– How to use C/C++ on Raspberry Pi|
Experiment with the GPIO pins
And obviously, one of the most popular features of a Raspberry Pi are the GPIO pins.
GPIO pins allow adding extensions to your Raspberry Pi, whether with HATs or to create circuits. The easiest way to use them is to create Python scripts, but Scratch or other software are good options to consider.
Check the link below if you want to give it a try, I start with the basics, for people who never tried to use them before.
|Related links||– A beginner guide to use the GPIO pins for the first time|
After doing a few basic projects listed previously, you’ll become a true Raspberry Pi fan, and start buying more stuff to go even further and build wonderful projects. This part is for you, what else can you build now that you master the software part?
Turn your Raspberry Pi into a tablet
Thanks to an active developer named Konsta, it’s now pretty easy to install Android on a Raspberry Pi 3 or 4. Android is great for many reasons, but especially to play games or watch videos/movies. But it’s even better with a touch-screen.
You can combine the powerful Android operating system with one of the best touchscreens for Raspberry Pi to build the ultimate tablet. I have tested many monitors in the past, and the RasPad 3 is really good, especially for Android users.
Check the installation guide for Android and my RasPad 3 review below if you are interested in this (great for kids!).
Play with the camera for various projects
Another thing that is available for any Raspberry Pi model is the camera module. There is a special port where you can plug a camera, and use it for many projects.
So, it’s not really a project idea in itself, but once the camera is installed, you unlock a ton of other projects, like using it in Python, creating a photo booth, a security camera, or creating a timelapse.
Follow the installation guide below, and then check my other article where I list tons of project ideas for it.
|Related links||– Setting up a camera module on Raspberry Pi|
– List of project ideas for the camera module
Use it as a 3D printer controller
When there is a 3D printer running, there is often a Raspberry Pi nearby. It’s the perfect companion if you don’t want your computer to stay on all the time.
So, if you have a 3D printer (or want to get one), you should try to install Cura on Raspberry Pi and play a bit with it. It works really well.
|Related links||– Install Cura on your Raspberry Pi|
Build a cheap surveillance camera
Do you want to build a home security system?
ZoneMinder is the perfect tool for this. You can have several Raspberry Pi devices with camera modules connected to them, and see all of them in a nice web interface.
So typically, you can use it for home security, baby monitoring, or many other things with cameras.
It’s a totally free solution, that you install on your systems, so you keep control of your data. That’s the main difference with other solutions, that are cloud-based in general.
|Related links||– How to install ZoneMinder on Raspberry Pi|
Install HATs for extra features
We often use the term HAT to define a Raspberry Pi extension.
It’s not only for the first meaning, but it stands for “Hardware Attached on Top”.
In short, it’s an additional card, that you plug into your Raspberry Pi to bring new features.
Generally, it uses GPIO ports to connect the two cards together. And it’s pretty easy to use, as Raspberry Pi OS will recognize it automatically.
There are many options available (check my favorites in the link below), but the Sense HAT is one of the most popular, including various sensors (gyroscope, accelerometer, thermometer, etc.). I have a complete guide on how to use it (in two parts).
|Related links||– Getting started with the Sense HAT|
– List of the best HATs for Raspberry Pi
Build a robot controlled by the Raspberry Pi
Another fun project for Raspberry Pi users is to build a robot using the Raspberry Pi as the brain and connect various sensors and motors to the GPIO pins to program various tasks. I tested a few models, and it’s fascinating to see the potential and build something from scratch.
Each robot kit has its different features and depending on your need, your budget, and your skills, it can be overwhelming to find the good one for you. That’s why I also have a list of recommendations, that you can find below, as well as my recent reviews for specific kits.
|Related links||– My favorite robot kits for Raspberry Pi|
– Freenove Robot dog review
– SunFounder PiCar-X review
A classic: build a Magic Mirror
Building a Magic Mirror is one of the most popular projects on Raspberry Pi, but that doesn’t necessarily mean that it’s better documented. After trying it myself, I noticed that the official documentation is a bit complex for beginners to follow, and other guides don’t help that much.
This is why I decided to write the ultimate installation guide to set up a Magic Mirror. If you are interested in this project and need more information, check the link below!
|Related links||– Magic Mirror: software installation guide|
Create a Raspberry Pi cluster
The goal of a Raspberry Pi cluster is to combine the performances of several devices into a stack.
Building a cluster is a fun project, and it can also be useful for applications that require many CPU cores, but not so much execution speed.
On Raspberry Pi, a cluster can be created by installing the same operating system, apps, and libraries to all nodes. To run commands on all nodes, MPICH is the only app required. There is also a Python library to improve the possibilities: MPI4PY.
That’s another project that is pretty hard, so only try it if you already have solid knowledge of Raspberry Pi.
|Related links||– Build your first Raspberry Pi cluster|
– What’s the point of a Raspberry Pi cluster?
Grab your free PDF file with all the commands you need to know on Raspberry Pi!
Want to chat with other Raspberry Pi enthusiasts? Join the community, share your current projects and ask for help directly in the forums.
Need even more ideas?
This was already a pretty big list of ideas, so I hope you find your next project(s) here. But if you need even more inspiration, you can always check these other lists I have on the website:
- Best Raspberry Pi projects for beginners
- Projects ideas for the Raspberry Pi Zero, or for the Raspberry Pi Zero 2
- A list of projects for Raspberry Pi that you can do with your kids
- 25 awesome projects to build at home
- Or projects to get started with Python programming
You’ll obviously find some similarities, but there are also many more ideas in these lists.
Grab your free PDF file with all the commands you need to know on Raspberry Pi!
Not sure where to start?
Understand everything about the Raspberry Pi, stop searching for help all the time, and finally enjoy completing your projects.
Watch the Raspberry Pi Bootcamp course now.
Master your Raspberry Pi in 30 days
Don’t want the basic stuff only? If you are looking for the best tips to become an expert on Raspberry Pi, this book is for you. Learn useful Linux skills and practice multiple projects with step-by-step guides.
Download the e-book.
If you just want to hang out with me and other Raspberry Pi fans, you can also join the community. I share exclusive tutorials and behind-the-scenes content there. Premium members can also visit the website without ads.
More details here.
Need help building something with Python?
Create, understand and improve any Python script for your Raspberry Pi.
Learn the essentials, step-by-step, without losing time understanding useless concepts.
Get the e-book now.
You can also find all my recommendations for tools and hardware on this page.