Esp8266 Arduino Telephone Caller ID system with anti-spam feature

I made the same project with an Arduino nano and an ESP8266 3-4 years ago.

The HT9032D is a fantastic component for it. Since I didn't have much memory, I was just sending the caller ID to my database and got the answer directly from whitepages service.

This year, after I saw that you can buy an ESP32 wroom with 16MB of flash for just 5$, I begun to see what is possible to do with this microcontroller.

I am still developing it, but this is the base schematic for it:

  • Hook-Up resistor with optocoupler. Just put it to an output to answer the call.
  • 600:600 audio transformator. Connecting it to ADC and DAC you can listen and also play waves*! And you can also detect DTMF signals without any external device.
  • The HT9032D for caller ID
  • Ringing detection

My idea is that if someone calls you, the ESP32 will ask if the number is valid. If it is valid, it will leave it ringing (maybe in future, after 8PM it will answer automatically).
If not valid, the module will hook up and play a sound or text.
Do you know ESP8266SAM? It is a text-to-speach engine and works perfectly on the ESP.

So you can say: "press 1 if you want send a message to Adriano" and you can listen for DTMF audio. You can play also the "Number not valid" tone.

Note: The optocoupler is important, since you have over 90V AC on the Tip and Ring bus when it is ringing.