Raspberry Pi Win10 IoT Intercom

Utilizing the Raspberry Pi to be a video intercom using a USB webcam and IO board

Similar projects worth following
My cheap China video intercom failed after only 5 years so instead of buying another I thought I'd make one myself to integrate into my home automation system.

A standard video intercom isn't connected to anything else and integrating it into a HA system opens up a number of possibilities, as follows:
- Real time video of who is at the gate (or front door)
- See who is at the door on your mobile phone over the internet.
- Two way audio communication
- Video recording & recording time/date of when the bell is pressed
- WhatsApp message when the doorbell is pressed
- Open the gate remotely via the home automation system
- As the letter box is next to the gate, I have a sensor on the flap so when a letter is delivered a WhatsApp message is sent.
- Alert when the letter box is opened.
- Motion detection and video recording for anyone who comes to the gate (even if the bell isn't pressed)
- Light sensor with IR LEDs so video still works at night

- Powered by Power over Ethernet (uses similar design to my previous hackaday project PoE IoT sensor), with Ethernet sent onto the RPi via a second RJ45.

- Schematic and PCB done in Kicad, PCB made by ($9.50 for 10 boards, excellent quality - I recommend this board house). Also the new release of Kicad with the push/shove router is so nice to work with.

- Using optocouplers for inputs to isolate any external interference / voltage spikes from the Raspberry Pi / network.

- Windows 10 IoT used as the development environment is better than the Linux equivalent (more integrated - develop and test on a PC and click deploy to remote machine to run on RPi).

- Daughterboard uses a small 1W amplifier for audio output (connected to RPi audio out)

- LED and LDR connected to RPI GPIO via a transistor. LDR varies the GPIO voltage between 1v and 3v depending on light conditions with a 1uF capacitor used for hysteresis (avoid over-triggering in low light conditions).

- Using a modified version of the Windows Universal real time video chat sample for video / audio between the Pi and a PC.

- Uses MQTT for messaging back to the home automation system. The HA system looks after the gate opening, video viewing, WhatsApp alerts, logging etc. and is out of the scope of this project posting (post a message to the project if you want to know more).

Currently the board is made (with a number of silly mistakes later patched - rushed the design / routing of the board and didn't double check....) but the version published on GitHub has these fixed. Working so far is the PoE, all inputs, LED and LDR, webcam and the software is working but unpolished (at this point).

  • Almost done

    deandob06/12/2016 at 13:08 0 comments

    Time for another update.

    Been working on the software this weekend. I have the 2 way video/audio chat working as a UWP application (hacking the Microsoft simpleCommunication sample), and have speech synthesis when you press the bell it says 'calling' and after 30 seconds if no answer from inside it tells the caller there is no answer and goes back to listening mode. Have hacked in all the GPIO control for the LED, LDR, amplifier control and general IO for switches, and have MQTT messaging back to the server working.

    Finishing touches will be to integrate the universal app with a browser for access to the main automation system (HTML5 client) which will use websockets to communicate between the browser and the chat app (and MQTT between the client and server). And also to work out the physical mounting into the letterbox so that it looks half decent. And will also add SMS notification when the postman posts a letter (also handy for couriers - video chat over the internet is a possibility).

    Have found the perfect mini PC to work as the indoor station (although it can work from any Windows device):

    Gole 1 $79 5" Capacitive Touch PC

  • Replacing the PoE design

    deandob03/28/2016 at 11:15 0 comments

    As outlined in my project log update about the Power over Ethernet (PoE) IoT sensor solution, I have ditched the Silicon Labs PoE solution and moved over to a Ti one TPS23750 that I find works more reliably. So I'm redoing this board as well and using a OnSemi PoE PD chip I forgot I had NCP1093 and combining it with a simple Ti integrated switcher TL2575.

    The board was adjusted and sent to the China board house about 3 weeks back so I expect it to arrive this week and I'll post more details once I assemble it.

View all 2 project logs

Enjoy this project?



kaflinqalex wrote 05/07/2024 at 11:53 point

Your endeavor is incredible. This endeavor has given me a lot to learn. I'd want to distribute it to the  team visit here  so they can read it and apply something fresh to our ongoing efforts.

  Are you sure? yes | no

michanisani wrote 12/19/2016 at 13:03 point

Looking forward to details

  Are you sure? yes | no

Apirika wrote 10/31/2016 at 02:29 point

How difficult was it to get the Real Time chat sample to work on the pi? Awesome project by the way!

  Are you sure? yes | no

deandob wrote 08/08/2016 at 23:24 point

The Microsoft LifeCam 5000 works with the Win10 RPi. Yes, using M2MQTT for the UWP but also have MQTT working under Node.JS using the MQTT NPM modules from

Have made some progress with ORTC - there is a comprehensive library including the ability to run ORTC from a UWP app without the Edge browser. Here:

  Are you sure? yes | no

lbknuth wrote 08/01/2016 at 22:21 point

Good stuff.  I'm building room-to-room intercom with RP3 and Windows IoT.  I was planning to use a USB microphone (needed for speech-to-text) for audio capture.  But the webcam idea would allow me to implement facial recognition as well.  Have you run into any gotchas streaming audio in real time?

  Are you sure? yes | no

deandob wrote 08/01/2016 at 22:40 point

I have the MSDN UWP samples working fine for 2 way video/audio on the local network but I want to be able to do video across the internet and the UWP simple-communications sample does not tolerate delays so I'm investigating using ORTC instead.

  Are you sure? yes | no

lbknuth wrote 08/01/2016 at 22:50 point

Which model webcam are you using?  Are you using the M2MQTT library?  I'm watching a GitHub project call Edge that should allow us to use the AWS Node.js MQTT client from Windows IoT Core.  Please keep us posted on any progress you make with ORTC.  Thanks!

  Are you sure? yes | no

cmduarte wrote 12/28/2015 at 15:17 point

Looking forward to details. I am considering something similar.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates