OK so the project will be as follows:

The brains of my doorbell will be an ESP8266 chip.
It'll be hooked up to the doorbell button outside my door.
I'll mount it where the old circuitry for my doorbell used to be (before I ripped that shit out)

When someone clicks the button.
The esp8266, will send a message to a Telegram channel I set up, using the Telegram Bot API
(obviously I setup a Telegram bot and added it as an administrator to the aforementioned channel)

Tools I'll use:

  • The microcontroller will be powered by micropython.
  • OpenSCAD for the chassis design

These are the features I'm planning on implementing:

  • When someone clicks the doorbell, the ESP8266 will send a message to a predefined telegram channel
  • Battery powered with a LiPo battery
  • There will be one Red LED to indicate an error status and one Yellow LED to indicate the status of the device
  • Battery low voltage detection
  • Relatively low power consumption. I don't want to have to keep changing the battery every week...

Optional features that would be amazing:

For interfacing with the Telegram bot API, I just used the latest version of the urequests.py module (you can download it from GitHub). The builtin module that came with the precompiled micropython image wasn't functioning therefore I just downloaded the latest file and copied it to the ESP8266.