note v1.0.3 does NOT work. A pull-request is submitted on 19 Apr 2026.
Please modify Seeed_Arduino_SSCMA.cpp by yourself, before the pull-request is accepted
int SSCMA::invoke(int times, bool filter, bool show)
{
...
snprintf(cmd, sizeof(cmd), CMD_PREFIX "%s=%d,%d,%d" CMD_SUFFIX,
- CMD_AT_INVOKE, times, !filter, filter); // AT+INVOKE=1,0,1\r\n
+ CMD_AT_INVOKE, times, filter, !show); // AT+INVOKE=1,0,1\r\n
write(cmd, strlen(cmd));
...
}
note: a cloned Seeed_Arduino_SSCMA is available at https://github.com/teamprof/Seeed_Arduino_SSCMA which will be removed after it accepted the pull-request.
Steps to run
Build firmware
- Follow the instruction on https://www.callmebot.com/blog/free-api-whatsapp-messages/ to get the APIKey
- Clone this github code by "git clone https://github.com/teamprof/w55rp20-smart-doorbell"
- Open the w55rp20-smart-doorbell.ino in Arduino IDE
- Open the secret.h file and replace the placeholder values with your mobile number and the API key provided by CallMeBot
#define MOBILE_NUMBER "<MobileNumber>"
#define APIKEY "<ApiKey>"
- On Arduino IDE, click menu "Tools" -> "Board: " -> "Board Manager..." -> "WIZnet W55RP20-EVB-Pico"
- On Arduino IDE, click menu "Tools" -> "Debug Port" -> "Serial"
- On Arduino IDE, click menu "Tools" -> "CPU Speed" -> "133 MHz"
- On Arduino IDE, click menu "Tools" -> "Operation System" -> "FreeRTOS SMP"
- On Arduino IDE, click menu "Sketch" -> "Verify/Compile"
If everything goes smoothly, you should see the following screen.

Wiring and settings
- wiring "W55RP20-Arduino" - "Grove AI Vision V2" according to the session "pin assignments" above
- short "W55RP20-Arduino" J2.1 and J2.2 (IOREF = 3V3)
- open "W55RP20-Arduino" J3
- open "W55RP20-Arduino" J7
- short "W55RP20-Arduino" J8.2 and J8.3 (D2 = GPIO5 = I2C0_SCL)
- short "W55RP20-Arduino" J9.1 and J9.2 (D3 = GPIO4 = I2C0_SDA)
- put DIP switch 1 to ON state (start ThreadEth)
- put DIP switch 2 to ON state (start ThreadAi)

Flash firmware
- Connect W55RP20-Arduino to PC, upload firmware by clicking menu "Sketch" -> "Upload"
If everything goes smoothly, you should see the following screen.

Test firmware
- Launch "Serial Monitor" on Arduino IDE, press "RESET" button on the board, you should see the following screen.

- OLED display as below

- Connect an Ethernet cable between the board and router, you should see the following OLED display once Etheret is up and NTP is success

- show a "cat" image in front of the camera. OLED should display as below

an alert message "Tenant identified" should be received on WhatsApp app couple seconds later

- show a "dog" image in front of the camera. an alert message "Stranger detected" should be received on WhatsApp app

Video demo
Video demo is available on video 
00:01 power up
00:13 put a "cat" image in front of the camera
00:48 WhatsApp received "tenant identified" message
01:04 put a "dog" image in front of the camera
01:22 WhatsApp received "stranger detected" message