Captive Portal & Access Point on the Raspberry Pi —Easy setup

Dominic Plein
3 min readApr 24, 2022
Captive Portal & Access Point for your Raspberry Pi

Ever connected to a WiFi network in public space? You’ve probably been redirected to a page where you had to agree to the terms of use to gain access to the Internet. This web page is called Captive Portal.

You can use your Raspberry Pi and set it up as access point serving such a captive portal, with or without Internet access. This project is for the case where you just want to serve an HTML page to the people who connect to your WiFi network, without actually providing them access to the Internet. While the official documentation is great and goes into detail about all the steps, overall it is a lengthy process that is quite error-prone. And it might not even work as expected if you misconfigured just one thing (definitely not speaking from experience, no…).

I’ve brought all the resources I found into one script. Kickstart your new project with an access point and captive portal or just browse through the files to compare against your setup. Start here with a single command (tested for Bullseye & Bookworm). The Readme guides you through the setup. raspi-captive-portal is MIT-licensed, so it’s up to you to adapt it to your liking and make use of it in your own project.

Raspberry Pi as Access Point serving a web page to your users

Here are some ideas on what you could build using the raspi-captive-portal. They have in common that users connect to your new WiFi network and get served a web page (in a captive portal or when they type in any URL in the browser).

  • A smart home assistant.
  • A file-sharing application for your physical meetings [1] where people can share/download files.
  • A browser game (note that you can play this even in the most remote places without the need for Internet access), e.g. your own Kahoot quiz game, skribbl.io, card game, literally anything.
  • A rickrolling “free wifi” captive portal.
  • A local screen-share application for your next conference talk. People connect to the WiFi and see a live-share of your screen directly on their phone/laptop.
  • A public attraction where people connect to the WiFi, upload a photo of themselves which then gets projected onto a large building (projector connected to the Raspi). Or better: invent a holographic projector along the way.
  • A feedback platform after your pitch. Display your audience a QR code to quickly connect to the WiFi network. With this Raspberry Pi approach (instead of: “go to this online website”), you prevent annoyed people when they want to give feedback but don’t have Internet access.

[1] physical meeting: a pre-corona meeting taking place on-site with people of flesh and blood and insane audio/video quality with low latency
(video: 300.000.000 m/s, audio: 343 m/s)

--

--

Dominic Plein

Fond of explaining things visually and getting creative through music (piano), math & computer science (currently a bachelor student).