# Xiaomi Whale Spout bidet: reconstructing its RF remote protocol

> Reconstructs the 433 MHz RF remote protocol of the non-Wi-Fi Xiaomi Whale Spout bidet seat and implements it in ESPHome on an ESP32 with a CC1101 radio. The project documents 2-FSK timing, 32-bit packets, settings fields and checksum behavior, then exposes control and remote-state monitoring through Home Assistant.

- Type: Case study
- Targets: Protocol
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-11-08
- Added to the catalog: 2026-11-09
- Original resource: <https://github.com/scottbambrick/esphome-whale-spout-bidet>
- Primary source: <https://github.com/scottbambrick/esphome-whale-spout-bidet/blob/7631a44cb1505c33e144e43b7024899071ee5c17/README.md>
- Catalog page: <https://awesomerea.org/resources/whale-spout-bidet-protocol-case/>
- Record JSON: <https://awesomerea.org/resources/whale-spout-bidet-protocol-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/whale-spout-bidet-protocol-case/index.md)

## Requirements & limits

- **Prerequisites:** The remote-controlled non-Wi-Fi Whale Spout seat, its remote, an ESP32, CC1101 module and antenna are specified.
- **Prerequisites:** An RTL-SDR is used to calibrate the radio frequency.
- **Limits:** The author reports testing with one seat and one remote; reception may miss presses.
- **License:** MIT license.

## Primary sources

1. <https://github.com/scottbambrick/esphome-whale-spout-bidet/blob/7631a44cb1505c33e144e43b7024899071ee5c17/README.md>
2. <https://github.com/scottbambrick/esphome-whale-spout-bidet/blob/7631a44cb1505c33e144e43b7024899071ee5c17/docs/reverse-engineering.md>

## More in Protocols

- [skypsu: reconstructing the STP2S3010E22 Modbus register map](https://awesomerea.org/resources/skypsu-case/index.md) · Case study
- [Smart-AC-Modernizer: decoding Haier YRW02 infrared control](https://awesomerea.org/resources/smart-ac-modernizer-case/index.md) · Case study
- [pyidotmatrix: researching and implementing iDotMatrix BLE control](https://awesomerea.org/resources/pyidotmatrix-protocol-case/index.md) · Case study
- [Skannerz Commander: reconstructing the toy's trade protocol](https://awesomerea.org/resources/skannerz-commander-trade-protocol-case/index.md) · Case study
- [AUKEY KM-G15 RGB Control: decoding keyboard USB HID commands](https://awesomerea.org/resources/aukey-km-g15-rgb-case/index.md) · Case study
- [SonyBridge: reconstructing second-generation Sony headset control](https://awesomerea.org/resources/sonybridge-v2-headphones-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
