---
title: "W55RP20 smart doorbell"
url: "https://maker.wiznet.io/teamprof/contest/w55rp20-smart-doorbell/"
markdown_url: "https://maker.wiznet.io/teamprof/contest/w55rp20-smart-doorbell/md"
type: "Contests"
author: "teamprof"
author_url: "https://maker.wiznet.io/teamprof/"
original_author: "Team Prof"
license: "GNU General Public License, version 3 or later (GPL3+)"
published: "2026-04-25"
language: "en"
tags: ["ionic-contest-ref", "Arduino", "AI", "W55RP20"]
hardware: ["WIZnet W55RP20", "Seeed Studio Grove Vision AI Module", "SOLOMON SYSTECH Monochrome 0.96\" 128x64 OLED Graphic Display"]
likes: 1
views: 467
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# W55RP20 smart doorbell

> A smart camera doorbell where W55RP20 controls a vision NPU. It texts user when a stranger is detected.

Original author: Team Prof

## Components

- **WIZnet W55RP20** x 1 ([docs](https://wiznet.io/products/ionic-chips/w55rp20))
- **Seeed Studio Grove Vision AI Module** x 1 ([docs](https://files.seeedstudio.com/wiki/Grove_AI_Module/Himax_HX6537-A09TDIG-1111V_Datasheet.pdf))
- **SOLOMON SYSTECH Monochrome 0.96" 128x64 OLED Graphic Display** x 1
- Software: **Arduino IDE** ([docs](https://www.arduino.cc/en/software))

## Documents and links

- [w55rp20-smart-doorbell](https://github.com/teamprof/w55rp20-smart-doorbell) (code): source code

## Article

**W55RP20 Smart Doorbell**

The W55RP20 smart doorbell proof-of-concept integrates the W55RP20-Arduino platform with the Seeed Studio Grove AI Vision V2 module to deliver intelligent tenant recognition and real-time notifications. The Grove AI Vision V2 performs on-device image classification, distinguishing between known tenants and strangers at the door. Once classification is complete, the W55RP20-Arduino acts as the communication gateway, triggering a secure message dispatch. Through its Ethernet interface, the W55RP20 sends a WhatsApp notification directly to the user’s mobile device, ensuring immediate awareness of visitor identity. This modular design demonstrates a scalable approach to combining embedded vision and IoT messaging for smart home security.

**System diagram**

![](https://maker.wiznet.io/upload/ckeditor5/416314253%5F1777050918%2Ejpg)

**HardwareComponents- **[**W55RP20-arduino**](https://docs.wiznet.io/Product/Chip/MCU/W55RP20/w55rp20-arduino)

**- **[**Grove Vision AI Module V2**](https://wiki.seeedstudio.com/grove_vision_ai_v2/)

**- **[**0.96 Inch OLED SSD1306 White 128X64 I2C Module**](https://www.aliexpress.com/item/32643950109.html)

** pin assignments**

![](https://maker.wiznet.io/upload/ckeditor5/416314253%5F1777051187%2Ejpg)

**PCBA photo**

![](https://maker.wiznet.io/upload/ckeditor5/416314253%5F1777051270%2Ejpg)

**Prerequisite**

1. Follow the instruction on https://sensecraft.seeed.cc/ai/home to install the Pet Detection AI model on the Grove Vision AI Module V2

https://sensecraft.seeed.cc/ai/view-model/60084-pet-detection

2. Install [Arduino IDE v2.3.6+ for Arduino](https://www.arduino.cc/en/Main/Software) on PC

3. Install [ArduProf v2.2.4+, by teamprof](https://github.com/teamprof/arduprof) on Arduino IDE

4. Install [Seeed Arduino SSCMA by Seeed Studio](https://github.com/Seeed-Studio/Seeed_Arduino_SSCMA)  on Arduino IDE

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

```plaintext
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 runBuild 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

```plaintext
#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.

![](https://maker.wiznet.io/upload/ckeditor5/416317058%5F1777071642%2Epng)

**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)

![](https://maker.wiznet.io/upload/ckeditor5/416314253%5F1777051713%2Ejpg)

**Flash firmware**

- Connect W55RP20-Arduino to PC, upload firmware by clicking menu "Sketch" -> "Upload"

If everything goes smoothly, you should see the following screen.

![](https://maker.wiznet.io/upload/ckeditor5/416317058%5F1777071693%2Epng)

**Test firmware**

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

![](https://maker.wiznet.io/upload/ckeditor5/416317058%5F1777071719%2Epng)

- OLED display as below

![](https://maker.wiznet.io/upload/ckeditor5/416323777%5F1777115648%2Epng)

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

![](https://maker.wiznet.io/upload/ckeditor5/416323777%5F1777115632%2Epng)

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

![](https://maker.wiznet.io/upload/ckeditor5/416323777%5F1777115613%2Epng)

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

![](https://maker.wiznet.io/upload/ckeditor5/416314253%5F1777051853%2Ejpg)

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

![](https://maker.wiznet.io/upload/ckeditor5/416314253%5F1777051920%2Ejpg)

**Video demo**

Video demo is available on [video](https://youtube.com/shorts/XstmU_ju-Ic)

[![](https://maker.wiznet.io/upload/ckeditor5/416323777%5F1777115717%2Ejpg)](https://youtube.com/shorts/XstmU_ju-Ic)

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

**Software flow**

![](https://maker.wiznet.io/upload/ckeditor5/416314253%5F1777052837%2Ejpg)

**License**

- The project is licensed under GNU GENERAL PUBLIC LICENSE Version 3

**Copyright**

- Copyright 2025 teamprof.net@gmail.com. All rights reserved.

---

Source: https://maker.wiznet.io/teamprof/contest/w55rp20-smart-doorbell/
