Using Gateway GPIO


Using Gateway GPIO may seriously damage your product or boiler. Be careful. Soldering or modifying the Gateway board will void the warranty.

The API 1 of EMS-ESP has a function called ‘pin’ to set any GPIO pin of the ESP32 chip to HIGH or LOW. You can use this for your own function like adding a relay etc.

General considerations

GPIO are hidden inside

The GPIO pins are only available from inside the Gateway, and that’s for a reason. You can make use of them but I do not give any support on it and in no way I’m responsible if you damage the product or the boiler. Only use them if you you have enough knowledge on the ESP32 and electronics in general.

Safety measures

NEVER EVER connect a relay or any other device directly to the Gateway. Use an optocoupler or other safety/isolation measures. If you don’t know what you are doing here you can easily damage your boiler/system beyond repair. So be careful! Don’t f.i. hookup an Aliexpress relay board without knowing how it works or how it is isolated from mains voltage.

Be careful not to introduce any noise or voltage/current spikes into the system. It is not designed to handle these external noise sources.

Do not feed any external voltage into these GPIO pins.


Most relays need at least 5V to operate. The S32 has 5V available internally, but the E32 only has 3,3V inside. So you need an external power supply to make use of it.

Current draw

Never draw more than 100mA from the 5V or 3V3 power line when you are using the service jack.

When an external 12V power supply is connected to the Gateway 200mA current draw is permitted.

GPIO can only source/sink about 10mA.

Available GPIO pins

Gateway S32

Gateway model S32 revision V1.1 had two headers with GPIO; J20 and J29.

J20 pinout from left to right: 3V3-GND-GPIO22 J29 pinout from left to right: GND-GPIO36-GPIO39-GPIO25-5V.

This board has both 3V3 and 5V available.

Gateway E32

Gateway model E32 (all revisions) has one header with GPIO. Its J20 on the top of the board.

Pinout from left to right: 3V3-GND-GPIO32.

This board does not have 5V available, it runs completely on 3V3.

ADC feature

EMS-ESP has an undocumented ADC feature. Ask on the repository if you need this.