
StamPLC is an IoT programmable logic controller designed for industrial automation and remote monitoring. The product uses the Stamp-S3A control module, providing strong processing power and efficient wireless connectivity. This document explains how to integrate StamPLC into Home Assistant.
2025.10.3. If you encounter build/upload issues, consider switching ESPHome to that version.Open ESPHome Builder in Home Assistant and create an empty configuration file:
NEW DEVICE button at the bottom rightCONTINUE
Empty Configuration

EDIT on the newly created configuration file
Then copy the contents of configuration.yaml from the example repository into your config file:

Modify network or API information as needed. For example, create an API Encryption Key for authentication:
api:
encryption:
key: "Your_Encryption_Key"encryption).You can also change the timezone setting, for example:
timezone: America/Los_Angeles # Pacific
# timezone: America/New_York # EasternAfter editing, click SAVE and then INSTALL, choose Manual download.

This will generate code and compile the project.
When the build finishes, select Factory format to download the firmware.

Open ESPHome Web in your browser to upload the firmware.
Connect StamPLC to the host via USB-C, click CONNECT and select the device.

Click INSTALL, select the previously downloaded firmware, and click INSTALL again to flash the device.

After flashing completes the device will automatically reset and boot.

When the device boots it will connect to the configured Wi‑Fi. Under Settings -> Devices & services you should see the device.

Click Add to add StamPLC to Home Assistant. If you set an API Encryption Key, you may need to enter it here.
Example StamPLC dashboards:


Live device in action:

The StamPLC support expansion via 16 pin headers on the right side of the device.

StamPLC AC is an AC relay expansion module compatible with the StamPLC host. The module integrates AC load control and entire system power supply functions, effectively simplifying power wiring during application development. It features a contact-type relay (single-pole single-throw - normally open), supporting up to AC 240V@10A line switching. It also includes a built-in AC-DC isolated conversion circuit supporting AC 100 ~ 240V input, capable of simultaneously powering the relay load and providing a stepped-down DC 12V output for the main system. A programmable tri-color RGB LED is available for working status indication.
In addition to previous StamPLC configurations, several components are required
pi4ioe5v6408:
- id: pi4ioe5v6408_1
address: 0x43
# Configuration of i2c GPIO Expander 2
# on the StamPLC AC expansion
- id: pi4ioe5v6408_2
address: 0x44 switch:
...
- platform: gpio
restore_mode: RESTORE_DEFAULT_OFF
name: "StamPLC AC Relay"
id: ac_r1
pin:
pi4ioe5v6408: pi4ioe5v6408_2
number: 2
mode:
output: true
on_state:
- component.update: vdu switch:
...
# led indicator on StamPLC AC expansion
- platform: gpio
restore_mode: ALWAYS_OFF
id: "ac_relay_led_red"
pin:
pi4ioe5v6408: pi4ioe5v6408_2
number: 5
inverted: true
mode:
output: true
- platform: gpio
restore_mode: ALWAYS_OFF
id: "ac_relay_led_green"
pin:
pi4ioe5v6408: pi4ioe5v6408_2
number: 6
inverted: true
mode:
output: true
- platform: gpio
restore_mode: ALWAYS_OFF
id: "ac_relay_led_blue"
pin:
pi4ioe5v6408: pi4ioe5v6408_2
number: 7
inverted: true
mode:
output: true display:
...
lambda: |-
...
it.print(5, 80, id(font1), Color(orange), "Relays 1-4");
it.filled_rectangle(5, 99, 25, 25, id(r1).state ? id(red) : id(grey));
it.filled_rectangle(34, 99, 25, 25, id(r2).state ? id(red) : id(grey));
it.filled_rectangle(63, 99, 25, 25, id(r3).state ? id(red) : id(grey));
it.filled_rectangle(92, 99, 25, 25, id(r4).state ? id(red) : id(grey));
it.print(141, 80, id(font1), Color(orange), "AC Expansion"); // The AC Relay Expansion
it.filled_rectangle(141, 99, 25, 25, id(ac_r1).state ? id(red) : id(grey));
... When finishing the configuration, recompile and upload the firmware. Then, you should be able to control additional AC relay in your Home Assistant:

Turn on/off the switch, the UI element on LCD will change accordingly.

StamPLC PoE is an Ethernet control module designed for the StamPLC host. It supports PoE (Power over Ethernet) technology, enabling both data transmission and power supply through a single Ethernet cable. The module integrates a W5500 embedded Ethernet controller with a built-in TCP/IP protocol stack, providing 8 independent hardware sockets, a 10/100M Ethernet data link layer (MAC), and physical layer (PHY). It supports mainstream network communication methods such as UDP and TCP.
wifi and ethernet components are mutually exclusive options; only one can be selected.To enable PoE functionality, disable the wifi, display, and spi components (remove their declarations/definitions from the configuration file). Then add the following to the original configuration file:
ethernet:
id: ethernet_1
type: W5500
clk_pin: GPIO7
mosi_pin: GPIO8
miso_pin: GPIO9
cs_pin: GPIO11
clock_speed: 20MHz Save and install, then upload the firmware. Use a PoE switch or router to power the device while providing network connectivity.
