Ideal answer is none. If our previous publication on Watson Visual Recognition with cURL beside guides like sending Push Notification via Watson IoT giving hope of ultra-modern DIY project, then such hope must be killed. We will not supply ideas, projects which will fail with time.
Smart Doorbell if used for security purpose demands a commercial solution. DIY solutions mostly for fun at little cost. When the question involves motion sensor, camera then a separate security camera with some DIY solution like button press or motion sensor to send email, push message should be enough. Professional grade security devices are tamper proof. The motion sensors, cameras of them are designed thinking to withstand wreckage. When you can buy a thing within $300 for increasing security, spending $100 or more behind DIY way will invite failure.
ESP32 (specially the generic versions) are suitable to build camera-less sensing units for all the doors, windows to continiously send data. We can monitor the wind speed or a moving object. But building a Raspberry Pi project with good night vision camera which will send image to Watson Visual Recognition platform return intelligent message of object recognition will cost no less and will not have the robust build. Such things are more suitable to decide to switch on and trigger the shutter of a connected remore DSLR. Things which are already built and are within an acceptable cost range are risky to challenge with DIY methods. It is likely that Smart Doorbells will be cheaper with time. However, a security camera is more powerful than a Smart Doorbell. Still commonly ordinary door bells are widely used. It is practical to think about non-camera sensor based IoT projects than cameras based projects (in the context of door bell).
Needless to say, Raspberry Pi is more suitable for camera based projects as camera are of more wider, modern types available and Pi simply a computer. Of course ESP32 can be used to serve videos, images. But security cameras really need precaution of usage as they warn the intruders. Building a fail-proof, energy efficient camera-free IoT door bells more difficult than most of the guides on the internet show. When the input of the circuit nothing more then two wires connected to a door bell button exposed outside, it is backup security. Whenever we are adding a motion sensor, we need to think to protect it from damage and pro-grade wiring options. Using camera with microcontroller is towards electronics prototyping. With Arduino IDE so much logic with modules with little quality control is difficult to fine tune.
Most today never needs a remote video telephony with person standing outside the door. Companies push products with the features often we do not need or invite other security flaws. Security of any kind needs audit.
Our opinion will be to use DIY solution for existing door bell to send notification on press and motion. Rest part a security camera should do. We used Node-RED on our examples so that you can add more logical path, like push message only at certain time, control of light after person pushed the door bell. We need to go downstairs to open the door. We need to switch on lights. Automating that is more practical upon door bell press than capturing video with the same device. One device can fail. Two devices togather rarely fail. In future, we will demonstrate as project how existing door bell or sensor can send send notification, switch on lights without giving the person outside the door any way to wreak the setup. Crime is a profession which has unofficial training courses. Throwing own shirt over a security camera they can render it useless. Best of luck. A lock increases the required time to break inside.