Upgrade to Spark 4

Good morning - I have just ordered a spark 4. Can you let me know how I copy the configuration of automated Herms from existing spark 3 to spark 4? And if there are any changes to expect - I recall reading problem with pwm on td5 pumps.

Reason for the upgrade is that the spark 3 keeps dropping wifi connection - not a big deal for fermentation - but not so good for brewing.

Thanks in advance

When switching to a Spark 4, the biggest change in block configuration will be that you’re using a GPIO module instead of a Spark Pins block. This can be dealt with eadily enough, and everything else is just exporting and importing blocks.

To migrate:

  • Unassign all Digital Actuator blocks that are linked to a Spark 3 Pins channel
  • Export the Spark 3 blocks (can be done in admin page)
  • Provision Spark 4 wifi
  • Run brewblox-ctl discover-spark, and copy the device ID of the Spark 4
  • Edit docker-compose.yml, and set the --device-id flag of your spark service to the ID you just copied. If there is no such flag, add it to command.
  • Run brewblox-ctl up to restart your spark service. It should now be using the Spark 4.
  • Import the previously exported blocks.
  • Create a SSR channel on the OneWire GPIO module for each digital actuator.
  • Link the digital actuators to the SSR channels.
  • Check your temp sensors whether they are all functional. Swap addresses (sensor action menu) if needs be.

Hi Bob
That worked nicely. I do have another related question - I have attached ethernet cable to POE switch - but it does not power the spark - is there something special I should be doing for that?
Thanks in advance

The most likely issue is that PoE adapters can be active or passive. The Spark 4 only supports passive.

Hi Bob, getting ready for a brew day tomorrow and the herms does not seem to want to work. All lights on boards come up but no valves work, nor pumps, or sensors.


Here is the log - any ideas?

It seems the spark is now actually is not outputting any voltage - tried heating also but nothing to the relay

distill can’t find its spark. This is expected?

ferment and spark-one both use --device-id=3C001D001447343339383037

You have multiple channels in the herms GPIO block, but they are not assigned to pins. You can do so in the GPIO block settings.

Distill is offline - so expected
ferment and spark one were always the same never figured out how to get rid of spark one, always came back
For GPIO settings - i reassigned but nothing happened - but still don’t understand how they would not work the solenoid valves - trying to go back to the spark 3 for tomorrow. Is is just a question of editing the docker yml again?
Then will try the 4 again once I have understood what has happened.

brewblox-ctl service remove spark-one should do it.

Where did you reassign? You’ll want to use this editor in the UI:

I did that, but it didn’t make a difference.

Could you please

  • open dev tools in your browser (ctrl+shift+i)
  • go to the network tab
  • assign a channel to pins by clicking the channel, and then clicking the start pin
  • right click on the network tab
  • choose “save as HAR”
  • upload the har file here

I don’t see anything in the network tab for assigning channels

It’s complaining it can’t connect to the backend, and earlier the log had some errors about its cert.
You may want to run

brewblox-ctl makecert
brewblox-ctl restart

Then hard refresh the UI (ctrl-F5), and check whether the channels are still assigned.

And to clarify: the idea was to keep the network tab open, and then in the brewblox UI assign the channels. The network requests will show up in the network tab, and can then be exported. (28.0 KB)
I deleted a channel and recreated it - here is the file.

This suggests that the channel is now assigned. If all blocks in the chain are linked, they should now toggle the relay.

I did try that but nothing happened still, either with the relays or valve boards - So moved back to the spark 3 for the time being - until i figure out what I have not done right.
A few questions on the spark 4 - if I attach 12v input to the pins only - no usb-c it powers up spark, will that enable 12v to each of the boards?
Before I had a raspberry pi p/s connected to usb-c , it showed all valves, sensors, ssrs, but did not run any of them, so assuming that the p/s was not supplying enough power.
Many thanks

All GPIO modules share external power, so connecting 12V to any module will allow all modules to use it.

Every module has a setting to switch between 5V and external power in actual output.

Thanks Bob, still a little unclear to me.
If I attach 12v to a module, but the gpio modules are set to standard 5v (enough to trigger the relays), do the one wire connection to the valve boards operate at 5v, or the 12v plugged into the power pins of the module. I was thinking that the valve boards were not triggering the valves as they were not sending correct voltage - but all seemed ok on dashboard and all leds were active.

Ouput will be 5V. You mean the DS2408 valve control boards?