A collection of alternative DIY open-source ESPHome firmware for Petlibro series of smart cat/dog food feeders and water fountains devices.
Petlibro makes WiFi-connected pet food feeders and water fountains based on ESP8266/ESP32 microcontrollers from Espressif. Their default firmware requires that you use their Petlibro mobile application to create an account and it must via that be connected to their cloud (but use MQTT to communicate internally).
This ESPHome firmware implements local LAN support with almost feature-parity as stock firmware without need for cloud/WAN connection.
Before flashing the firmware for either device, it is recommended to save a backup of the flash memory. The firmware installed from the factory includes data unique to your device, such as the internal ID and cryptographic keys used to communicate with the cloud server, so if you wish to be able to return your device to a state where it can communicate with the Petlibro cloud then you'll need to have made a backup.
This can be done by following the instructions for setting up the serial connection for your device in developer mode as per the instructions below, and then running the following esptool command:
esptool.py --before=default-reset --no-stub read-flash 0x0 ALL petlibro_factory_dump.bin
You are, of course, free to change the name of the output file as desired.
--before=default-reset and --no-stub flags may not be required, but do seem to make the process more reliable.An esphome firmware for PLWF105 automatic water bowl (also called the Dockstream Smart Fountain or the PETLIBRO App Monitoring Cat Water Fountain with Wireless Pump) by Petlibro.
PLWF105 is available in either white-colored variant or black-colored variant of the same model:
This ESPHome firmware for plwf105 implements (almost) feature parity as the stock firmware but supports only local connections (instead of requiring cloud connection).
If you carefully open the water bowl "base" you will see a PCB holding a ESP32-C3-WROOM-03, a HX7111 and a voltage regulator. There is also one more chip on the board but I am unable to identify it.
The PCB very conveniently contains 3 pins that we can use to flash our firmware. GND, TX, and RX.
The PC has a VCC pin that can be used to power to program, but your USB-Serial converter needs to be able to supply enough current. I suggest using the USB plug to power while programing.
The PCB also has two pads on the lower right corner labled B and G. These pads can be shorted to put the ESP chip in programmer mode.
You will need to generate a firmware .bin file from ESPHome based on the .yaml file in this repo.
Plug the USB to serial converter into your computer and hook up to the pin holes as described below. Do NOT power the board/fountain yet.
GND -> GND
TX -> RX
RX -> TX
You don't even need to solder anything most likely. I was able to hold the pins in place with just tension.
B and G pads described above.If you run into problems or otherwise need to revert, you can reflash back to stock firmware using the .bin file in this repo.
Here is how it looks in HomeAssistant:
An ESPHome firmware for PLAF108 automatic pet feeder (also called the Air Smart Feeder) by Petlibro.
PLAF108 is available in either white-colored variant or black-colored variant of the same model:
This ESPHome firmware for PLAF108 implements (almost) feature parity as the stock firmware but supports only local connections (instead of requiring cloud connection).
I do not know what GPIO0 and GPIO1 are for. I think it's for the DC-power current sensor to maybe determine battery charge. But, that's a guess.
The PCB very conveniently contains 4 pins that we can use to flash our firmware. GND, TX, RX, and VCC. The PCB also has two unlabled pin holes. These holes can be connected to each other put the ESP chip in programmer mode.
GND -> GND
TX -> RX
RX -> TX
You don't even need to solder anything most likely. I was able to hold the pins in place with just tension.
Hacker News (1)
A collection of alternative DIY open-source ESPHome firmware for Petlibro series of smart cat/dog food feeders and water fountains devices.
Petlibro makes WiFi-connected pet food feeders and water fountains based on ESP8266/ESP32 microcontrollers from Espressif. Their default firmware requires that you use their Petlibro mobile application to create an account and it must via that be connected to their cloud (but use MQTT to communicate internally).
This ESPHome firmware implements local LAN support with almost feature-parity as stock firmware without need for cloud/WAN connection.
Before flashing the firmware for either device, it is recommended to save a backup of the flash memory. The firmware installed from the factory includes data unique to your device, such as the internal ID and cryptographic keys used to communicate with the cloud server, so if you wish to be able to return your device to a state where it can communicate with the Petlibro cloud then you'll need to have made a backup.
This can be done by following the instructions for setting up the serial connection for your device in developer mode as per the instructions below, and then running the following esptool command:
esptool.py --before=default-reset --no-stub read-flash 0x0 ALL petlibro_factory_dump.bin
You are, of course, free to change the name of the output file as desired.
--before=default-reset and --no-stub flags may not be required, but do seem to make the process more reliable.An esphome firmware for PLWF105 automatic water bowl (also called the Dockstream Smart Fountain or the PETLIBRO App Monitoring Cat Water Fountain with Wireless Pump) by Petlibro.
PLWF105 is available in either white-colored variant or black-colored variant of the same model:
This ESPHome firmware for plwf105 implements (almost) feature parity as the stock firmware but supports only local connections (instead of requiring cloud connection).
If you carefully open the water bowl "base" you will see a PCB holding a ESP32-C3-WROOM-03, a HX7111 and a voltage regulator. There is also one more chip on the board but I am unable to identify it.
The PCB very conveniently contains 3 pins that we can use to flash our firmware. GND, TX, and RX.
The PC has a VCC pin that can be used to power to program, but your USB-Serial converter needs to be able to supply enough current. I suggest using the USB plug to power while programing.
The PCB also has two pads on the lower right corner labled B and G. These pads can be shorted to put the ESP chip in programmer mode.
You will need to generate a firmware .bin file from ESPHome based on the .yaml file in this repo.
Plug the USB to serial converter into your computer and hook up to the pin holes as described below. Do NOT power the board/fountain yet.
GND -> GND
TX -> RX
RX -> TX
You don't even need to solder anything most likely. I was able to hold the pins in place with just tension.
B and G pads described above.If you run into problems or otherwise need to revert, you can reflash back to stock firmware using the .bin file in this repo.
Here is how it looks in HomeAssistant:
An ESPHome firmware for PLAF108 automatic pet feeder (also called the Air Smart Feeder) by Petlibro.
PLAF108 is available in either white-colored variant or black-colored variant of the same model:
This ESPHome firmware for PLAF108 implements (almost) feature parity as the stock firmware but supports only local connections (instead of requiring cloud connection).
I do not know what GPIO0 and GPIO1 are for. I think it's for the DC-power current sensor to maybe determine battery charge. But, that's a guess.
The PCB very conveniently contains 4 pins that we can use to flash our firmware. GND, TX, RX, and VCC. The PCB also has two unlabled pin holes. These holes can be connected to each other put the ESP chip in programmer mode.
GND -> GND
TX -> RX
RX -> TX
You don't even need to solder anything most likely. I was able to hold the pins in place with just tension.
Hacker News (1)