loading

Since I left my home 5 years ago for my university studies, I realised how difficult it is to be away from family. Video calling is an option for most people, however, as my parents are not in the position to learn how to use a computer, the only option was to build a system that would be as simple as possible for them to operate, wouldn't need maintenance, and it would be inexpensive as well. Additionally, the system had to be able to be connected to a television screen, so my parents will be able to comfortably use it and they won't have to look into a tiny phone screen in order to see me.

Some smart TVs provide a Skype application, however you have to buy a compatible camera, of which the cost is approximately equal with the total cost of this whole system. Furthermore, Skype ditches support for Smart TVs, therefore using a Smart TV with Skype is not an option anymore.

Follow the steps of my first instructable, and video calling will become easy Pi-easy!

Step 1: Picking Up the Parts

Raspberry Pi 3 Model B just came out a few weeks ago, a very promising embedded system, which can be bought at the price of $50. Including a power supply, a case, a couple of heat sinks and a Micro SD card, the total cost is a little more than $90.

Additionally you will need an HDMI cable in order to connect the board to the television screen, and optionally an Ethernet cable for internet connectivity. Although Raspberry Pi 3 Model B is equipped with a Wi-Fi chip, a wired connection is always preferred, as it is more reliable.

Note that Raspberry Pi 3 Model B tends to get hot easily on video calls, therefore a pair of heat sinks is recommended. I'm sorry that I cannot provide you pictures from installing the heat sinks on the board as I had them installed before thinking of writing this instructable guide. However, installing the heat sinks on the board is a very easy job, and there are many guides available online that can help you on how to do it.

*Important notice!*

A common phone charger will NOT do, as Raspberry Pi 3 Model B needs an output of 5.1V and 2.5A, in contrast to most phone chargers that provide an output of 5V and up to 2A.

Attention as well has to be paid to the Micro SD and the Camera, because only specific cards and cameras are compatible with the Raspberry Pi 3 Model B. A Micro SD card with a minimum size of 8 GB is needed for the operating system of the board.

A list of compatible cards, and a list of compatible cameras.

*Another important notice!*

A USB camera with a microphone is preferred, as Raspberry Pi 3 Model B has no audio input if you want to connect a microphone to it!

At last, you will also need a keyboard and a mouse for setting up the system. Later, when the system is ready, only a simple keyboard will be needed in order to safely shutting down the Raspberry Pi board. And of course, you will need a monitor in order to make video calls.

Lets sum up:

  • Raspberry Pi 3 Model B
  • Compatible Micro SD Card (Class 10 recommended)
  • Compatible USB Camera
  • HDMI Cable
  • Keyboard
  • Television or Monitor Compatible with HDMI
  • Mouse (Optional, but recommended)
  • Official Raspberry Pi Power Supply (Optional, but recommended)
  • Raspberry Pi Case (Optional, but recommended)
  • Heat Sinks (Optional, but recommended)
  • Ethernet Cable (Optional, but recommended)

Step 2: Setting Up the Operating System

Use a computer with an SD card reader and visit the NOOBS webpage and download the latest version of NOOBS either by torrent download or by downloading the zip file.

While NOOBS is downloading, format your Micro SD card using SD Formatter 4.0.

Install SD Formatter, and then insert your Micro SD card to the computer using a Micro SD adapter. In SD Formatter, select the Micro SD card and format it. Be careful to select the right drive letter when formatting the card! An overwrite format is preferred, but a quick format going to work as well.

After the card has been formatted, extract the files from the downloaded NOOBS zip file. Then, select all of the extracted files and drag and drop them into the Micro SD card. When the operation is finished, eject the card and insert it into the Raspberry Pi 3 Model B board.

Connect the HDMI cable, the keyboard, the mouse and the Ethernet cable, and then plug the Micro USB power supply to the board. Alternatively, you can connect via Wi-Fi if a wireless network is available nearby. If a Wi-Fi connection is selected, make sure that it has sufficient signal strength, because video calling can consume a significant amount of bandwidth.

*Important Notice!*

Turn on your monitor before powering up the board! Otherwise, the HDMI output of the board will not be activated.

When the Raspberry Pi boots, a window containing a list of operating systems will appear. Select Raspbian by ticking the box next to it, and click install. A warning message will appear, click on Yes, and make yourself a cup of tea while the operating system is installing. After the installation is complete, the graphical user interface will be loaded automatically. If it won't login using pi as a username and raspberry as a password, and type startx and hit the Enter button.

*Another important Notice!*

In the end of the install process, the Raspberry Pi configuration menu (raspi-config) may be loaded. If so, you can select Internationalisation Options, and set up your language and region settings, such as the timezone. Also, if the graphical user interface is not loaded automatically, you can enter into Boot Options, and select the last option, Desktop Autologin.

Many more settings are available in the Raspberry Pi configuration menu for your Raspberry Pi. To exit the configuration menu, press the Tab button on your keyboard and then select the Finish option. You can enter anytime the Raspberry Pi configuration menu by entering raspi-config on a terminal, however, be careful when changing the settings of the board.

Although I do my best in guiding you through this step, you may still be struggling. Here are Video Instructions for Installing NOOBS, from the Raspberry Pi Foundation, which you may find helpful even if it is a two year old video.

Step 3: Update and Upgrade Raspberry Pi

In order to update and upgrade your Raspberry Pi, open a Terminal and enter the following command:

  • sudo apt-get update

and press the Enter button.

When it's finished, enter:

  • sudo apt-get upgrade

and press the Enter button again. Notice that after entering the second command, a message will appear, asking Do you want to continue [Y/n]?, press Y and then the Enter button.

Step 4: Install Chromium Browser

Open a terminal and enter the following four commands as they are (with the quotes):

  • wget -qO - http://bintray.com/user/downloadSubjectPublicKey?username=bintray | sudo apt-key add -
  • echo "deb http://dl.bintray.com/kusti8/chromium-rpi jessie main" | sudo tee -a /etc/apt/sources.list
  • sudo apt-get update
  • sudo apt-get install chromium-browser -y

Make sure to enter each one of the previous commands
If any messages appear prompting you to input Y or N, enter to all of them Y and hit the Enter button. At the end of this step, you will have the Chromium Browser installed to your system.

Kudos to kusti8 for creating the repository that we used in this step for installing the Chromium Browser.

Step 5: Introduction to Jitsi Meet

Jitsi Meet is an OpenSource (MIT) WebRTC JavaScript application that uses Jitsi Videobridge to provide high quality, scalable video conferences. Jitsi Meet is like Google Hangouts, except that Jitsi Meet is an OpenSource WebRTC application. Jitsi was selected due to its simplicity, as it works directly within the Chromium Browser, and it does not require any additional downloads. Anyone who has the video call URL can simple join the conversation automatically.

Time to plug the camera to the board.

Set the Chromium Browser to start with a unique Jitsi Meet URL, for example:

https://meet.jit.si/FooBar

Of course, Foo Bar is not really unique, so you'll have to figure out something better. Anyways, there is also the ability to add a Password to the room.

So, let's suppose that we use https://meet.jit.si/FooBar as a room.

In the last two screenshots a simple video call is demonstrated. However, the cameras are disabled for obvious reasons!

Now that we have a simple video calling service available, we have to provide an easier access on it from the Raspberry Pi.

Step 6: Auto Start Chromium After Boot

In order to make the system as simple as possible, some automations can be made.

For example, Chromium Browser can executed after the launch of the graphical user interface, with a predefined URL, in Full Screen (Kiosk) mode.

To achieve that, you have to open a terminal, and type:

  • sudo nano ~/.config/lxsession/LXDE-pi/autostart

A file will open in the terminal window, containing lines beginning with "@".

You need to add the following line at the end of the file:

  • @chromium-browser --kiosk --disable-session-crashed-bubble --disable-infobars --disable-restore-session-state https://meet.jit.si/FooBar

*Important Notice*

Do not break the line of the text above. The whole sentence has to be entered in a single line.

After entering the sentence, press Ctrl+X, then press Y and then press the Enter Button.

Step 7: Hiding the Mouse Cursor When the Mouse Is Idle

Isn't it quite annoying that the mouse cursor stays in the middle of the screen during a video call?

The solution to this problem is the Unclutter tool. Install the tool by executing the following command in a terminal:

  • sudo apt-get install unclutter

If the message "Do you want to continue [Y/n]?" appears, enter Y and hit the Enter button.

When the installation of unclutter is complete, open the same file as in the previous step by executing the following command:

  • sudo nano ~/.config/lxsession/LXDE-pi/autostart

Then, add the following line at the end of the file:

  • @unclutter -idle 1 -root

The number 1 is indicating the seconds until the mouse cursor is disappeared. You can make the interval shorter or longer for example, 0.1 or 5, depending your personal preferences.

When finished, press Ctrl+X, then press Y and hit the Enter Button.

Step 8: Shut Down the Raspberry Pi... Safely!

Just pulling the plug is not really recommended when it comes down to shut down your Raspberry Pi.

Devote a few minutes in this step, and create a hotkey that when it's pressed it will shut down your Raspberry Pi safely. After all, your Micro SD card does not worth a possible corruption from an improper shut down. Does it?

Open a terminal, and type the following command:

  • sudo nano ~/.config/openbox/lxde-pi-rc.xml

Then, navigate through the file until you see the keyboard section, which starts with <keyboard>

Under the keyboard section add the following lines:

  • <keybind key="F12">
  • <action name="Execute">
  • <command>sudo shutdown -h now</command>
  • </action>
  • </keybind>

As always, save the file by pressing Ctrl+X, then Y and then the Enter button.

Of course you can set any button you like to preform the shut down command. I chose F12, however you can choose another more convenient button, or combination of buttons. A reboot hotkey can be added in the same way by only changing the command to sudo shutdown -r now, instead of sudo shutdown -h now.

Step 9: Bonus Step - Add a Switch

*** UPDATE: 10/10/2016 ***
Due to a recent comment of the fellow Instructables member alibuba, I find it necessary to warn everyone before proceeding to this step.

First of all, DO NOT proceed to this step, unless you do have the appropriate qualifications to do so.
And furthermore, DO NOT use this cord to connect devices with protective-earth contacts, as apparently, it will offer NO protection.

*** End-of-Transmission ***


Wouldn't it be more convenient, as well as safer, to completely disconnect your Raspberry Pi from the wall outlet after shutting it down? In a power restoration from a possible power outage, the Raspberry Pi would normally boot up and open the Chromium Browser in the selected Jitsi Meet webpage. This doesn't sound like a good situation, especially when there isn't anyone near the system to shut it down again or take care of it. However it isn't very practical to plug and unplug the power adapter every time the system is used.

By adding a switch to the power adapter of the Raspberry Pi, this task is becoming way easier and safer. The switch can guarantee that unpleasant surprises will not occur during a temporary power outage, and it also acts as an ON switch, allowing the user to boot the system easier, without messing with cables.

The parts needed for this step are:

  • Power adapter with switch
  • Appropriate socket for the power adapter (in my case a Schuko socket)
  • Couple of meters of a two-wire power cord
  • A two-pin power plug

At first, open the Schuko socket by unscrewing its screw.

Then strip one centimetre from each wire at the one end of the cord.

Wire the Schuko socket as shown in the photos. There is no need for a grounding third wire, as the power supply of the Raspberry Pi is not using any grounding at all.

Tight the screw and close the Schuko socket.

Strip about one centimetre from each wire at the other end of the cord.

Open the two-pin plug and wire it as shown in the photos.

Close the two-pin plug and tight its screw and the power switch is ready

Plug in the power supply of the Raspberry Pi, and enjoy your system!

<p>Has anyone problem with chromium run on raspberry pi 3?</p><p>I have install the chromium on pi but it does not run.<br>I am clicking on the chromium icon but never run.</p>
<p>&Kappa;&alpha;&lambda;&eta;&sigma;&pi;&epsilon;&rho;&alpha;&alpha;&alpha;&alpha;</p><p>&sigma;&kappa;&epsilon;&phi;&tau;&omicron;&mu;&omicron;&upsilon;&nu; &nu;&alpha; &chi;&rho;&eta;&sigma;&eta;&mu;&omicron;&pi;&omicron;&iota;&eta;&sigma;&omega; &kappa;&alpha;&tau;&iota; &pi;&alpha;&rho;&omicron;&mu;&omicron;&iota;&omega; &gamma;&iota;&alpha; &nu;&alpha; &kappa;&alpha;&nu;&omega; &kappa;&lambda;&eta;&sigma;&epsilon;&iota;&sigmaf; &mu;&epsilon;&sigma;&omega; fb &sigma;&epsilon; &epsilon;&mu;&epsilon;&nu;&alpha; &lambda;&epsilon;&iota;&tau;&omicron;&upsilon;&rho;&gamma;&eta;&sigma;&epsilon; &kappa;&alpha;&nu;&omicron;&nu;&iota;&kappa;&alpha; &tau;&omicron; chromium &sigma;&tau;&omicron; pi 2 B+ &alpha;&lambda;&lambda;&alpha; &epsilon;&iota;&chi;&alpha; &theta;&epsilon;&mu;&alpha; &mu;&epsilon; &tau;&nu; &kappa;&alpha;&mu;&epsilon;&rho;&alpha; &kappa;&alpha;&mu;&iota;&alpha; &phi;&omicron;&rho;&alpha; &epsilon;&pi;&iota;&alpha;&nu;&epsilon; &kappa;&alpha;&iota; &kappa;&alpha;&mu;&iota;&alpha; &alpha;&lambda;&lambda;&eta; &omicron;&chi;&iota; &mu;&omicron;&iota;&pi;&omega;&sigmaf; &epsilon;&chi;&epsilon;&iota;&sigmaf; &kappa;&alpha;&mu;&iota;&alpha; &iota;&delta;&epsilon;&alpha; &gamma;&iota;&alpha; &tau;&omicron; &gamma;&tau; &sigma;&upsilon;&mu;&beta;&alpha;&iota;&nu;&epsilon;&iota; &alpha;&upsilon;&tau;&omicron; ???</p>
<p>Hi,</p><p>I already bought my raspberry pi3 and I am on the process of choosing a webcam that works using Hangouts via Chromium. Could you tell me if the webcam you used in the tutorial is detected correctly by the browser and if the hangouts is working fine?</p><p>if yes, could you tell me the exact webcam model you are using?</p><p>many thanks!</p>
<p>Hello,</p><p>I read your instructions and decided to use the same components and follow your instruction word by word to ensure that it will be working with me. But when I arrived at the part with jitsi i came over the problem that jitsi just wont recognise my webcam. I positively tested the cam (via fswebcam) to see if it is working. </p><p>Do you have any ideay where the problem could be?</p><p>many thanks in advance</p>
<p>Nice job! Can you also please add instructions to setup USB microphone?</p>
<p>Hi, </p><p>I have a question: Can i use a rbp cam V2 instead of a webcam? (It works now with a crappy webcam)</p><p>learned a lot! thanks</p>
<p>Hi - what about framerate and video/audio quality ?</p><p>I've heard raspberry cannot keep up processing video from USB.. </p><p>I'm wanted similar setup but on raspberry pi zero..</p>
<p>Hi,</p><p>good idea and instructions - BUT: The part &quot;how to make a power cable with switch&quot; is not acceptable!</p><p>1. You are only allowed to do this if you have a qualification for that!</p><p>2.<br> I see practical errors in the pictures, for example the single wires <br>are much to tight from cable to terminals and no ferrule is used.<br></p><p>3.<br> Very dangerous and forbidden: You connected a male connector without <br>Protective Contact to a female connector with Protective Contact. If <br>somebody is using a device with Protective Contacts on this cord he <br>won't be protected in case of a fault! Even if it is &quot;just for the Pi&quot; - I bet some day the cable is used for something else....<br></p><p>Please do not <br>post such things, because a) they are wrong and b) even if they were <br>right most people are not qualified for making things like this. Please <br>delete all information regarding this from the instructions.</p><p>Best regards,</p><p>Alex</p>
<p>If you could install the chromium, yes</p>
<p>Hi,</p><p>can this work on Pi2 or B+?</p>
<p>That's a great instructable! I'm going to do this for my grandma. I'll try to get it working on a monitor, and hopefully get everything inside a box. Great tutorial!</p>
<p>Wow Cmelas, very good instructions step by step for everyone level. Please keep on doing this it wil reward.</p>
<p>Thanks! I hope this instructable will appear useful to all people who want to create a smart, yet simple system for video calling on a big screen TV.</p>
<p>Awesome PI project.</p>
Thank you!

About This Instructable

63,822views

151favorites

License:

Bio: MSc Advanced Computer Science, University of Birmingham. Electrical and Computer Engineer, Technical University of Crete, Greece.
More by CMelas:Video Calling on Raspberry Pi 3 
Add instructable to: