WiFi communication is available since version 0.5.0, on BrewPi Sparks with a Photon (V2 or upgraded V1) or a P1 (V3).

The BrewPi Spark can talk to the server via USB serial or WiFi. It can also listen to both at the same time. It will switch the active communication channel to the connection where it last received a message.

If WiFi credentials are set, the Spark will try to connect to WiFi. If the connection is successful, it starts a TCP server on port 6666.

To set your WiFi credentials, you have 3 options:

  1. via the Particle Android or iOS App
  2. via screen on the Raspbery Pi
  3. via the Particle command line interface (cli)

Setting WiFi credentials through the Particle App

In this method, your BrewPi Spark will set up a temporary WiFi access point. Your phone will connect to it and set the WiFi name and password.

  1. Download the Particle app for Android or iOS
  2. Create a Particle account and login
  3. Click on the + sign to add a device
  4. Choose 'Set up a Photon'
  5. Hold the setup button for 5 seconds until the LED is flashing blue to put the Photon in listening mode.
    On the BrewPi Spark 2, the buttons are behind the holes on the bottom.
    On the BrewPi Spark 3, the buttons are on the side.
    Use a small pin to push the button behind the hole.
  6. Click 'Ready'
  7. When your Photon is found, follow the prompts to set up your WiFi credentials
  8. The setup will hang on 'Verifying product ownership'. This is normal, because we do not connect to the Particle Cloud, only to your local WiFi. Please let it hang until you can click 'Done'. You cannot claim your Photon with our firmware.
  9. Your LED should now be slowly glowing green.

Setting WiFi credentials using "screen"

Putting the Photon into “listening mode” allows sending some simple commands to get the MAC and to setup WiFi

  1. If needed, install the screen package
    sudo apt -y install screen
  2. Connect the Photon via USB
  3. Hold the setup button for 5 seconds until the LED is flashing blue to put the Photon in listening mode
  4. Start a screen session
    sudo screen /dev/ttyACM0
    1. Display the MAC address, type m
    2. Setup wifi, type w
    3. Exit screen, press the keys Ctl + a, then k

Setting WiFi credentials through the Particle CLI

With particle cli, you get a bunch of command line tools to manage your device. One of them is WiFi configuration.

  1. Connect the Photon via USB to the system where you are running Particle CLI
  2. Hold the setup button for 5 seconds until the LED is flashing blue to put the Photon in listening mode
  3. Run this command:
    particle serial wifi
  4. Answer the prompts to setup the WiFi credentials

Clearing existing WiFi credentials

The Photon will remember up to 8 WiFi networks. If you don't want to use WiFi anymore, you can clear them by holding the setup button for 10 seconds, until it blinks blue very fast.

By default, the BrewPi script looks for compatible Serial devices. To connect over WiFi, you will have to do 2 things:

  1. Figure out the IP address of the controller. The IP address is shown on the display when you are not in test mode.
  2. Modify settings/config.cfg to use the TCP socket instead of a serial port. Edit the file /home/brewpi/settings/config.cfg and add the following line (assuming the IP address found in step 1 was
    port = socket://
  3. When you want your BrewPi Spark to always get the same IP address so that the script can find it, you should configure a static DHCP lease in your router. To do this, you will have to find the MAC address of the Spark. I recommend the app Fing (Android / iOS).
    This app can scan your local network for devices. Look for a device called Universal Global Scientific Industrial. The IP address should match the IP address on the Spark's display. Make a note of the MAC address. Then in your router, find the static DHCP page and add the MAC and IP address.


To identify in which state your Photon is, you can look at the LED. For the BrewPi Spark 1 and 2, it is behind a hole on the back. For the BrewPi Spark 3 it is next to the display.

You can find the meaning of the LED colors and blink rates here at Particle.io.