Pump PWM signal

I bought two of the pumps with the PWM speed control. However, I do not entirely understand how to connect them.

I have a 24V DC power supply for the pump, and a 5V DC power supply for a Raspberri pi. I want to have the Pi output the PWM signal. But the red/black wires already connect to the 24V power supply (via a relay). Presumably the negative end of the two power supplies should be connected somehow? How do I do this?

Probably a stupid question - go easy on me please :wink:

You don’t need a relay.

  • Connect Raspberry Pi GND to pump GND (black)
  • Connect Rasperry Pi output pin (PWM) to blue wire
  • Connect 24V supply + to pump red wire and - to pump black wire.

Switch the pump on and off with the digital output of the Pi, or use PWM for speed control. The pump will be off for values under 10%.

BrewBlox firmware can also send the PWM signal from the Spark.

Thanks for the speedy response. So that I understand this correctly, I will effectively connect 24V - to Pi GND then?

Yes. Voltage is relative. By connecting GNDs of different circuits, you ensure that they have the same reference level. So 5V in one circuit equals 5V in the other circuit.

Following on from this I’ve also just bought two pumps that have the PWM wire, are you saying that the blue wire goes to the pi4 pins? But it can still be controlled by the spark?

I’m assuming that once the pumps are plugged in then they will show up in brewery builder?

A couple of wrong assumptions here.

  • The blue wire is for speed control, 100-1000Hz PWM signal. This can be generated by the Spark on the green output connectors. You would need to create a digital actuator and a PWM block.

  • Pumps are not auto detected and they are not automatically added to the builder. You can add a pump yourself, and link it to the PWM block you created earlier.

  • You might be able to control it with the raspberry pi directly, but that’s not how BrewBlox works and is not supported by us. The Spark generates the PWM signal within BrewBlox.

  • You should connect the 2 pins of the green terminal block to blue (+ at the spark) and black (- at the spark).

  • The pump should get 24V power to red (+) and black (-).

The black wire of the pump is therefore connected to 2 other wires. The junction should be at the pump, not anywhere else. 2 wires of equal length running close to each other for PWM signal, 2 wires of equal length for power.

When you are wiring this, don’t turn on the 24V power until everything is connected properly and double checked. You don’t want to put 24V on the Spark pins.

Pump has one blue, one black & one red wire.

So just to sum up green spark connector has Space for two wires blue wire goes to + red side, black wire to - black side.

24v power goes to red & black wires on the pump, the black pump wire is split to allow both connections?

What? Red wire of pump is not connected to the spark.

Your pump an the pwm signal it gets from the spark need to have the same reference level, which is why the two ground wires are connected at the pump.


Can you make a drawing (or a clear picture) of this. I think it is a lot easier to understand in that way.

you don’t want to fry your spark!


Pretty sure that’s what I said, but the picture makes it crystal clear, thank you

Switching over from cbpi where I had to use the small pwmcard. From what it looks like that is absolutely not needed any more with the spark??? I can hook directly with the info above

Just to verify one thing the ground (black wire) and the pwm (blue wire) have to be equal length from spark to pump?

Yes, the Spark generates the PWM signal.
Yes, you should indeed have a blue and black wire coming from the Spark, and they should run next to each other.

Any tips on how to integrate a 24v light into this circuit.

It would be much easier to put a 5V LED on the PWM signal, one with internal resistor and under 20mA.
Something like this: https://www.conrad.nl/p/barthelme-led-signaallamp-groen-5-vdc-52050613-405444

For a 24V light, you would need to connect the PWM signal to a DC SSR or N-channel MOSFET too to toggle the light.

ok got it all set ups without the light. but when I run at a % its just on and off… doesn’t reduce the speed like it use too with the control board…

You will have to set the PWM period to 0.01s.

I figured that’s what needed to be changed after looking further but I wasn’t sure how it interpreted hz!!

not everytime but often when I click on the 0% option under the pump. it shows the pump zero the pump runs 100%… I have to cycle it to another speed and then back to a zero again to shut it off

If you encounter the problem again, could you please run brewblox-ctl log and brewblox-ctl particle -c eeprom before using the workaround to fix it?