Holy shit! Everything crapped out

I have two Spark 3’s controlling two fermentation fridges. No issues and they have been working flawlessly.

Building a new RIMS system based on the Spark 4. Finally got the RPI and Spark 4 configured successfully yesterday. Went into the Wizzard phase yesterday to begin “building” the RIMS control UI. The first thing that happened is that the Wizzard wanted to upgrade the Spark firmware. I thought this was a bit strange, since I had just finished configuring it. Never the less I continued… Big mistake!

Even though every RPI and every Spark is on a different IP address, and I was apparently “logged” on to the RIMS Spark 4 ( The two Spark 3’s went into firmware upgrade mode. Now neither of them are functional. I have reconfigured both of these many times in the past without issues but now I am unable to get either of them to “run” the configuration Wizzard correctly.

I have tried resetting and rebooting both of these controllers, but nada…

Is there a way to reset the Spark 3’s to a completely clean state (the “as shipped” state)?

The Spark 4 seems to be OK at the moment, though I have not had any time to set up the user interface while trying to get the two fermentation fridges back up and running.

If I understand correctly, the Spark 4 works fine, but both Spark 3’s are stuck?

How are the Sparks connected? USB, Wifi, or both?

Do they show up when you run brewblox-ctl discover-spark?

Do they show the 6 boxes on the controller display?
If they show a blank screen with a blue LED, you may need to update the bootloader (brewblox-ctl particle -c bootloader).

Could you please run brewblox-ctl log?

Thanks Bob. Fortunately I am not currently fermenting. So no emergency. Just frustration….

I’ll get back on it in a few hours and report back.


Been leak checking the really bad Chinese fittings on the new brewery all afternoon. I hope they can learn to cut proper threads in the future sometimes.

OK. Here we go: Just powered up the Spark 3 on one of the fermentation fridges.
Connected to it on the web user interface.
Spark screen is blank except for upper left:
Light is pulsing GREEN

Initiate the Brewblox Wizzard:
ORANGE error indicates "Failed to fetch unit settings on spark-one: 404: Not Found

Continue to configure to the sensor discovery screen: only the temperature sensors are indicated not the one wire SSR to drive the compressor.

Standby for the brewblox-ctl log.

I hope your home with your family, reply tomorrow morning…

Ran brewblox-ctl log:

Got: https://termbin.com/iro7o

Does the 404 error reproduce if you force refresh the UI (ctrl + F5), and restart the wizard?

Logs indicate that:

  • You have one spark service (spark-one)
  • It is connected over USB to device ID 4c0036000851353532343835
  • It is empty except for two temp sensors and a DS2413

All in all, controller logs match the hardware configuration you describe.
The immediate suspicion is that your browser is still using a cached version of a previous UI release, leaving it incompatible with the backend (hence the force refresh).

I mostly work from home, and by working late in the evening, I get to sleep in =)


I have figured out what the issues were. I was always curious as to why the user always had to select the Spark Service when running one of the configuration Wizards, since there was only one choice. Now I know why. I now assume my problem was that all of my Spark devices… 2 Spark 3’s and 1 Spark 4 were running on the same service. Huh?

This is because I am the kind of person who likes to “crash” into things… Instructions?, We don’t need any stinkin instructions.

Seems like this should be a part of the Quick Start Wizard though. I wonder how many other users have missed this?

In the next couple of days, I will try to set up different Spark Services, following your guide, for my three controllers.

The service discovers and connects to a controller on startup and when it loses connection. The discovery order is USB > network.
To pair spark-one to a single controller, run brewblox-ctl add-spark --name spark-one. This will let you choose from all discovered devices, and then set the --device-id flag so it will only ever connect to the same controller.
Then run brewblox-ctl add-spark for each other controller you have, and you’re set.

Probably some. There’s a trade-off in reminders. If we mention everything that can possibly go wrong, we swamp the user in noise, burying the relevant warnings.

Happy to hear you found the problem at least!

Thanks Bob, I’ll give renaming the Spark Service a try later today. Baby steps.

Mr. Bob - Those commands you provided yesterday seemed to work perfectly in establishing a uniquely named Spark Service. I’m going to try to get one of the fermentation fridges back up today with another unique Spark Service name.

Thanks for your assistance.

I do indeed have a new spark service. I have named it spark-rims. The next problem, I select the spark-rims service and delete the spark-one service from the user interface. Even though all the blocks are correctly shown on the spark-rims “block diagram”, the UI shows "Spark service ‘spark-one’ not found, in all of the control blocks.

Do I have to start all over and completely redo the UI?

The easiest way to convert everything is to do a search and replace on the backing data. I’ll post the required commands tomorrow.

No problem…don’t bother, I redid the user interface which was very basic. The brew system is back up and running and hopefully on its distinct spark service. I have a few more issues… should I post them separately?

a) The User Interface… Other than the graph, which has it’s own problems, the UI drops Blocks that are “assigned” to it. Specifically, Setpoint blocks and Digital Blocks and also, some of the graph data is lost They are there and then, poof, they are gone, requiring a reload of the UI to "see the blocks. Happens every 5 to 10 minutes.

b) The 10 amp LIRRD SSR driving my mash pump (1 amp) VFD, which requires a “dry contact” trigger will not function with the SSR with it configured in either polarity. The VFD puts out a + 24 VDC output for the remote switching. I haven’t had the opportunity to trouble shoot this yet. I’m pretty sure a “dry contact” relay will function properly but why not the SSR?

It appears that I am having issues with either harmonics, or RFI interference because of the VFD, 120 VAC, single phase, VERTEK drive. Rerouting the RPi wiring has seemed to nearly alleviate this issue.

Still struggling with spark service issues. I seem to have gotten the Spark 4 controller service renamed “spark-rims” successfully, and redid the UI. It appears that I am running on spark-rims.

Tried to get one of the Spark 3’s back up and running this morning on our fermentation fridge “Ava”. I believe I went through all the same motions as I did on the Spark 4. Renamed the spark service “spark-ava”. When I go to the UI, and try to select “spark-ava”, I get the following screens:

I’ve also attached a screen shot of the terminal commands that were executed:

What am I doing wrong?

Both of your services are connected to the same physical controller. The same controller is listed twice here, as it was discovered both over USB and LAN.

To fix, connect the second controller, and link the spark-ava service to it.
When the controller is connected, run brewblox-ctl discover-spark. A second unique “Device ID” should show up in the list.
After that, run brewblox-ctl add-spark -n spark-ava, and pick the new device.

Sorry, same result. I’m not understanding something very basic. This time I did it with the Spark 4 controller powered up. It shows up in the list.

The important column here is “Device ID”. This shows the unique ID for the controller.

For spark-ava, you want to select the controller with Device ID “C4DD5766BBD8”. In your picture, this is option 2. (The next time you run the same command, it may be different.)

OK, but isn’t that the Spark 4 controller on the brewing system, not the spark 3 on the fermentation fridge? If I power down the brewing system, that Spark 4 is not an option.

Ah, ava is the Spark 3, and rims is the Spark 4?

Then run brewblox-ctl add-spark -n spark-rims, and pick the Spark 4 for that. (It is listed under “Model” when discovering). If you already changed the ava service, run brewblox-ctl add-spark -n spark-ava again, and pick the Spark 3 for that.

When you run brewblox-ctl discover, it shows under “Service” which service is already connected to that controller. You can use this to verify that the services are not using the same controller, and that the right service is connected to the right controller.

Yes, and the second spark 3 (still powered down) will be spark-rylie.