Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
This branch is 50 commits ahead, 22 commits behind idolpx:master.

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

ESP8266 Mobile Rick Roll Captive Portal

Live Chat


The purpose of this project was for the author @idolpx to get familiar with programming for the ESP8266 chip and have a bit of fun.

A picture that shows one client connected

  • User connects to the device broadcasting an SSID of "FREE Highspeed WiFi" (this is configurable of course).
  • The captive portal helper on their phone/table/computer kicks in and presents them with a page showing "Terms of Service" and a button labeled "I Accept".
  • When they click the button a full screen animated GIF of Rick Astley dancing appears and an audio clip of "Never Gonna Give You Up" starts playing on loop.

Forked project

This is a forked project originally made by @idolpx (, and you can see his project here:

Our projects differ a little bit:

  • Inherited project use a piezo buzzer, I use an OLED screen (See attached pictures). The screen shows numbers of total rick rolls, current sessions rick rolls and a list of connected clients.
  • Inherited project use websockets, interactive settings pages, and a console, I removed all that.

Parts List

Total cost: 15.99 GBP.

  • (Optionally) a USB battery pack with micro-usb cable to power everything.
  • (Optionally) an external antenna for a wider range.

Build Firmware

I use PlatformIO to build this.

  • Install PlatformIO and let it update itself on first startup
  • Once updated and restarted, clone the "mobile-rr" project to a folder and open the project in PlatformIO
  • Next build the firmware by clicking the checkmark icon on the toolbar

Build Firmware

Upload Firmware and SPIFFS data

After your firmware build is successful you can upload it by clicking the arrow under the checkmark in the PlatformIO toolbar.

Upload Firmware

You can add/edit the files in the "www" folder to your liking. (Files in the "www" folder will be cloned and gzipped to the "data" folder when building.) Then follow the instructions below to build and upload the SPIFFS file system image to your ESP8266.

Upload SPIFFS 1

Upload SPIFFS 2

Note: Anytime you make changes to the firmware or the data you can rebuild and upload either without the need to install the other again. They reside in different areas of the flash memory.


I learned everything I needed to create this from these projects


ESP8266 Mobile Rick Roll Captive Portal






No releases published


No packages published


  • C 86.4%
  • C++ 11.2%
  • Objective-C 1.5%
  • HTML 0.4%
  • Python 0.4%
  • Shell 0.1%