On ordering more Orvibo S20s, I received an updated version with default software that I couldn’t make work using the previous UDP tricks for the v1.The are listed as model: B25UK.
It has a different layout inside:
But there is a potential replacement firmware available and the rx/tx/0V/5V pins are clearly marked. Note 5V rather than 3.3V
To figure out what was connected where, it was easier to remove the lid:
Using the terminology of L for Left side, B for bottom and R for right, counting from top (for L/R) and left (for B), e.g. top left module pin = 1L, top right = 1R, the following connections were traced:
1L: PWR
2L: one side of LED: GPIO4
3L: ‘100’ on comms connector: GPIO0 – ground to reprogram via serial
4L: unused? with resistors to power lines: GPIO2
5L: unused? with resistors to power lines: GPIO15
1B: unused? with resistors to power lines: GPIO13
2B: relay: GPIO5
3B: RX
4B: GND
5B: TX
6B: untraced
1R: untraced
2R: Switch: GPIO14
3R: one side of LED: GPIO12
4R: untraced
5R: untraced
The LED is red with GPIO12 is high and GPIO4 is low, blue when reversed. Off when both the same.
Config
The following can be used in sonoff-Sonoff-Tasmota firmware to at least start to get the functionality working.
{ "Orvibo B25", // Orvibo B25 (ESP8266) GPIO_USER, // GPIO00 (3L) Marked "100" on the 3.3V RX TX 100 GND pads GPIO_USER, // GPIO01 (3B) Serial RXD and Optional sensor GPIO_USER, // GPIO02 (4L) GPIO_USER, // GPIO03 (5B) Serial TXD and Optional sensor GPIO_LED1_INV, // GPIO04 (2L) LED GPIO_REL1, // GPIO05 Relay 0, // GPIO06 (SD_CLK Flash) 0, // GPIO07 (SD_DATA0 Flash QIO/DIO/DOUT) 0, // GPIO08 (SD_DATA1 Flash QIO/DIO) 0, // GPIO09 (SD_DATA2 Flash QIO) 0, // GPIO10 (SD_DATA3 Flash QIO) 0, // GPIO11 (SD_CMD Flash) GPIO_LED1, // GPIO12 (3R) GPIO_USER, // GPIO13 (1B) GPIO_KEY1, // GPIO14 Switch GPIO_USER, // GPIO15 (5L) 0, // GPIO16 0 // ADC0 Analog input },