Skip to the content
PCBKitNew board
2 layers54 × 38 mmPwmPump, the printed circuit board in 3D

Control modern (Grundfoss) heating water pumps via PWM

Size
54 × 38 mm
Copper layers
2
Thickness
1.6 mm
Parts
9
Nets
22
Pads
42
Tracks, vias
26, 0
Pours
3
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
1 Mar 2026
Updated
7 Mar 2026

Overview

PwmPump is an open-source printed circuit board by mAPBhlJ, from the mAPBhlJ/PwmPump repository on GitHub, published under the AGPL-3.0 licence. It is a 2-layer board of 54 × 38 mm with 9 parts on 22 nets, routed with 26 tracks and 0 vias.

It is built around the BOB-12009. Its parts include 3 connectors and 2 ICs.

Main components

1

README

README.md

Modern heating (water)pumps can be controlled using PWM, this allows for fine-grained remote control regarding the pump speed, for integration into home automation software.

Pump

This project is designed to work work with the following pump(s):

  • Grundfos UPM3-Hybrid

Other (Grundfos) pumps may be compatible with little (software) changes, other brands may require hardware changes as well. Pull requests (even if it's just to update the list, are welcome)

Hardware

Besides the pump, the project is built around the following hardware:

  • ESP32 development board with USB (SKU: 001443)
  • High speed logic level converter (SKU: 000275)
  • 'Mini Superseal' cable (SKU: 6057076)
  • 5V power supply for dev board
  • Adapter PCB from this project*

*The PCB is optional, you can build the same layout on a breadboard or perfboard. This project is created in LibrePCB but all files required for production are included.

The ESP32 is more capable as the ESP8266 but also has built-in WiFi, allowing more room for future functionalities. For safety and simpler schematics, 230V to 5V is done via a regular power adapter commonly used for phones.

PCB

The PCB is designed in KiCad, source files are available in the 'pcb/PwmPump' folder. If you do not want to change anything but just order the PCB's from any supplier, you can use the files in 'pcb/Fabrication'.

3D design of PCB

Software

Features

TODO:

  • Control pump speed via PWM
  • Read pump speed via return signal
  • External temperature sensor readout
  • Easy setup via WiFi accesspoint
  • Integration with Home Assistant / MQTT?
  • External relay outputs for toggling zones

Documentation / troubleshooting

Below there's some additional documentation used for troubleshooting/explanation, most is taken off the original Grundfoss manual (see sources below).

Connections

Using the 'Mini superseal' connector, make sure the connections are as following:

Grundfoss connections

Settings

For PWM operation, the first LED should be red and the second LED should be yellow and LED 3/4/5 will show the current speed.

If the first/second LED are incorrect, refer to the steps below to change the mode of the UPM3.

Grundfoss settings

PWM Signal

From the original Grundfoss PWM Documentation:

Screenshot of PWM documentation

From the documentation we can conclude that the PWM signal of the ESP32 should have the following characteristics:

  • 4-24V (We will use the USB voltage, 5V through a logic level shifter)
  • 100-4000 Hz range

Feedback (return) signal

The feedback signal is 75 Hz (13 milliseconds)

Screenshot of feedback signal

If the signal is on for 95% of the time, the pump is off, anywhere within 0-70% is 0-70w or 0-140w consumption, any other percentage above 70% is an error situation, see table.

External sources

Original project start(s) in Dutch on Tweakers.net:

Project by a Russian with similar purpose (however using Arduino Nano with Bluetooth):

License

GNU Affero General Public License v3.0

Conditions ⓘ Disclose source ⓘ License and copyright notice ⓘ Network use is distribution ⓘ Same license ⓘ State changes

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

Parts

9
QtyValueFootprintReferences
33.5mmPCM_SparkFun-Connector:ScrewTerminal_1x03_P3.5mm_Horizontal_BlackJ1, J2, J3
1BOB-12009Libraries:CONV_BOB-12009U2
1LOGOLibraries:tweakers_logoG***
1WEMOS_C3_miniRF_Module:WEMOS_C3_miniU1

The 6 most common of 9 parts.

Questions

How big is the PwmPump PCB?

It measures 54 × 38 mm and has 2 copper layers, 1.6 mm thick.

What parts does the PwmPump use?

9 parts, built around the BOB-12009. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the PwmPump KiCad files?

From the mAPBhlJ/PwmPump repository on GitHub, at the commit this page was made from: the board is pcb/PwmPump/PwmPump.kicad_pcb and its schematic pcb/PwmPump/PwmPump.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the PwmPump design in my own project?

Its repository publishes it under the AGPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers85.6 × 26 mmGame boy pico link board, the printed circuit board in 3D

    Game boy pico link board

    agtbaskara/game-boy-pico-link-board

    An Open-Source USB to Gameboy Link Cable Adapter for Raspberry Pi Pico

    6 parts51MIT
  • 2 layers70 × 90 mmShawazu gb dumper, the printed circuit board in 3D

    Shawazu gb dumper

    tihmstar/shawazu-gb-dumper-hardware

    Shawazu GB Dumper hardware

    17 parts14
  • 2 layers76.7 × 35.1 mmWeather station, the printed circuit board in 3D

    Weather station

    VincentKobz/diy-weather-station

    The goal is to build from scratch a small intelligent weather station that can be connected to IOT networks.

    14 parts2MIT
  • 2 layers39.5 × 30.5 mmVC Adapter, the printed circuit board in 3D

    VC Adapter

    Gr3nSkyDragon/VC-Adapter

    Firmware and PCB for GB to 3DS communication

    10 parts1GPL-3.0
  • 2 layers60 × 30 mmGPIO circuit, the printed circuit board in 3D

    GPIO circuit

    JhouLab/Pi5WebcamRecorder

    Records MV4 AVI video files from up to 4 simultaneous USB webcams on Raspberry Pi 5

    7 parts1
  • 16 layers566.8 × 155.3 mmTotal, the printed circuit board in 3D

    Total

    michelkeijzers/fraxis

    This project's personal goal is to learn more about ESP32 with ESP-IDF programming.

    106 parts1MIT