Captive Portal Prototyping Platform

Raspberry Pi with breakout board and battery packs

While at Matter we had several prototyping projects that needed various hardware components to be controlled or monitored remotely for testing. The first one that came up had an additional requirement that it needed to work without a network connection, and be fully battery operated.

The solution I developed was to have a Raspberry Pi that was powered by a usb battery pack and configured to create it's own captive web portal, which hosted a node.js web app that could control the Raspberry Pi's pins.

raspberry pi hardware, batteries and wires inside wood container

A user would use their phone, tablet, or laptop to connect to the wifi network being created by the Pi, they would be automatically taken to the web app that controlled whatever hardware options were needed for the presentation.

iPad with web browser displaying large buttons

I used Ansible to automate the provisioning and setup of each Pi so that they could reliably be configured exactly as needed, this made swapping hardware and spinning up new projects very quick and reliable.

These projects also gave me plenty of opportunity to create some custom circuit boards, usually for controlling different lighting options.

home-made circuit board with lots of colorful wireshome made circuit board with colorful wires