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?

Latest commit


Git stats


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

Wi-Fi Monitor

A Particle Photon program to monitor Wi-Fi for debugging purposes

What is this?

The idea is that sometimes you might have Wi-Fi connectivity issues that you are trying to debug. You can see that the Photon occasionally starts blinking cyan or green before going back to breathing cyan, but what's going on? How often is it doing it?

This program logs a bunch of data and saves it in retained memory (preserved across reboots) and uploads it using events when there is a cloud connection. One handy thing you can do is store the events into a Google spreadsheet, described below.

The program:

  • Lists available Wi-Fi networks, including their SSID, channel, and RSSI (signal strength) when booted the first time
  • Lists the currently configured Wi-Fi networks
  • Logs when the cloud connection goes up or down
  • Logs when the Wi-Fi connection goes up or down
  • Logs when the RSSI changes by more than ±10
  • When there is no cloud but there is Wi-Fi, pings the Google DNS ( and does a DNS lookup of to see if there's external connectivity

Of course you can edit the program to log whatever data you want.

Running the program

The program consists of the three files:

  • wifimonitor.cpp (the main program)
  • logbuffer.cpp (utility to manage the memory buffer)
  • logbuffer.h

You can compile and upload this using whatever development environment you prefer. You can download the files here:

[] (

If you want to use the [Particle CLI] ( to compile, you could use the command:

particle compile photon --target 0.4.9 wifimonitor.cpp logbuffer.cpp logbuffer.h --saveTo wifimonitor.bin

Connecting the output to Google Sheets

The program generates events that can be viewed in the [console] ( but one of the neat things you can do is use [IFTTT] ( to write the data to a Google spreadsheet. I got the idea from a [Particle community forum post] (

Create a new recipe.

Select Particle as your trigger channel, then choose New event published as the trigger.

Use wifiMonitor as the Event Name and leave the Event Contents field blank.

Create the Trigger.

For the that, select Google Drive. As the Action, select Add row to spreadsheet.

You can manually set the spreadsheet name, or use EventName to use wifiMonitor.

Set the Formatted row to: EventContents only, deleting the other things that apppear by default.

And that's it! It looks like this when done:

IFTTT Configuration Screen

And here's what the spreadsheet looks like as it's filling in.

Spreadsheet Screen


Particle Photon program for monitoring Wi-Fi connectivity







No releases published


No packages published