Whiteboard: low-cost collaborative services

Date posted
19 September 2016
Reading time
17 Minutes
Corey Duffy

Whiteboard: low-cost collaborative services

Walk into any primary or secondary school today and chances are that at least one teacher will be using an interactive whiteboard as part of their lesson. In fact, the number of interactive whiteboards used in educational contexts only seems to be increasing, and with good reason, these whiteboards provide greater opportunities for collaboration, increased participation and a better experience for both teachers and students alike. However, these interactive whiteboards aren't perfect. For one thing, if these whiteboards are so beneficial then what has prevented some teachers from adopting them? I left secondary school just over a year ago and whilst the school I attended did have a number of interactive whiteboards installed in a few classrooms, these were few and far between. But why? As a student these whiteboards added a new dimension to a regular class by allowing for annotation and collaboration, making the lesson much more engaging overall. Well one of the major reasons it seems, is cost. Typically, brand new interactive whiteboards range in price from around £400 up to £3000 and thus are a huge financial investment for schools or educating bodies. Often these interactive whiteboards also require specific hardware and software from a single provider, meaning it can take some time to get parts replaced or fixed if needed. However, upon joining Kainos I learned of a project created by one of my colleagues that could help overcome these problems. This project, 'Whiteboard', can provide an alternative solution by providing the same service at a fraction of the cost. Whiteboard, which was initially created by Michael Kemp as part of his final year university project, provides interactive, collaborative services at an affordable cost and is therefore extremely useful to a wide number of sectors and use cases, particularly education. Michael worked with the company's "Applied Innovation" team to develop a service to allow people to collaborate on projects through a whiteboard functionality and use of real time communication. I was therefore given the chance to test and enhance the operational implementation of this project, meaning I got to try my hand at some DIY (though this isn't compulsory) and use some great features. [video width="1280" height="400" mp4="https://blogs.kainos.com/wp-content/uploads/2016/09/Hello-Video.mp4"][/video] By using this project I discovered that you can create your own interactive whiteboard using off-the-shelf equipment for as little as £7.74, if you already have a computer and an old Nintendo Wii remote lying around, and even these costs could potentially be further reduced. Even if you don't have these components readily available a Ninentdo Wii remote can purchased for £10 and a Raspberry Pi can be used as a cost effective computer. I'd recommend the Raspberry Pi 3 Model B which can be purchased for £30. If you plan to use the project in front of an audience or classroom then you may also wish to use a projector. Thus this project is widely accessible and inexpensive. I therefore hope that the Whiteboard project will provide teachers, educators or anyone really with a need to collaborate and communicate with a low-cost yet effective solution. If you feel that this project may be of some use to you it would be great if you could give it a try and provide some feedback on your experiences with the project. So, now that the sales pitch is out of the way, please take a look at the Whiteboard project on Github here: https://github.com/KainosSoftwareLtd/Whiteboard and follow the instructions below to use the project as an interactive whiteboard!
 

Set-up Instructions

 

Equipment Needed

  • Raspberry Pi 3 Starter Kit
  • IR Pen (can be purchased or made if I can make one, anyone can)
  • Wii remote
  • Projector

Raspberry Pi 3 and Chromium

Whiteboard can run on a variety of devices, including the Raspberry Pi 3. A starter kit for this model can be purchased from Amazon for £42.35 (https://www.amazon.co.uk/Raspberry-Pi-Official-Desktop-Starter/dp/B01CI5879A/ref=sr_1_1?ie=UTF8&qid=1470988219&sr=8-1&keywords=raspberry+pi+3+starter+kit) or just the base Raspberry Pi 3 can be purchased for £30. The Pi 3 can therefore provide a cost effective platform to run the Whiteboard project and facilitate the features of an interactive whiteboard. Alongside the collaborative whiteboard feature, the project also allows for the streaming of audio and video through a web browser (using what is known as web real-time communication or 'webRTC'). I have found that the best browser to support this on Raspberry Pi is Google's 'Chromium.' I have outlined the steps for installing this browser below:
  • Open a Terminal window
  • Run 'sudo apt-get update'
  • Once this has completed run the following 5 commands:
  1. wget http://ports.ubuntu.com/pool/universe/c/chromium-browser/chromium-browser-l10n_48.0.2564.82-0ubuntu0.15.04.1.1193_all.deb
  2. wget http://ports.ubuntu.com/pool/universe/c/chromium-browser/chromium-browser_48.0.2564.82-0ubuntu0.15.04.1.1193_armhf.deb
  3. wget http://ports.ubuntu.com/pool/universe/c/chromium-browser/chromium-codecs-ffmpeg-extra_48.0.2564.82-0ubuntu0.15.04.1.1193_armhf.deb
  4. sudo dpkg -i chromium-codecs-ffmpeg-extra_48.0.2564.82-0ubuntu0.15.04.1.1193_armhf.deb
  5. sudo dpkg -i chromium-browser-l10n_48.0.2564.82-0ubuntu0.15.04.1.1193_all.deb chromium-browser_48.0.2564.82-0ubuntu0.15.04.1.1193_armhf.deb
From here you can check if the chromium browser has been installed correctly by navigating to 'Menu -> Internet -> Chromium Web Browser' To test that Chromium is configured successfully and that it is capable of running whiteboard please open a new Chromium browser window and navigate to https://kainoswhiteboard.herokuapp.com. Here you can play around with the initial whiteboard configuration. If, however, you want to set up your own version of Whiteboard, instructions on how to install and run the Whiteboard project locally can be found on the project's companion site, https://kainossoftwareltd.github.io/Whiteboard/localinstallation.html. A few steps will need to be altered when loading the project on a Raspberry Pi. I have outlined these below:

NodeJS

To install NodeJS on a Raspberry Pi, open a terminal window and run the following commands:
  1. wget https://nodejs.org/dist/v4.3.2/node-v4.3.2-linux-armv6l.tar.gz
  2. tar -xvf node-v4.3.2-linux-armv6l.tar.gz
  3. cd node-v4.3.2-linux-armv6l
Once NodeJS has been installed copy it to the local folder by running the following command: sudo cp -R * /usr/local/

npm

When NodeJS is installed simply run the following command to download and install npm: sudo apt-get install nodejs npm (Note: After this step you may need to run 'cd ..' in the open terminal window in order to exit the installed NodeJS folder)

Local installation

From here on, you will need to clone the project and install any dependencies. For this process and the steps needed to run the project locally follow the same instructions shown here: https://kainossoftwareltd.github.io/Whiteboard/localinstallation.html By installing the project locally, you ensure that only you (and anyone you provide your computer's IP address to) can connect to a meeting room session. It also allows you to configure the Whiteboard project so that it suits your needs. Your own configuration can then be hosted online via Heroku for much easier access. Details surrounding all of this can be found on the companion site.

Wiimote Whiteboard

In order to actually capture someone's hand movements and translate/replicate it on the Whiteboard canvas we will be making use of the Wiimote Whiteboard project. The equipment you will need for this includes:
  • Wii Remote.
  • Bluetooth Adapter (most laptops have built-in Bluetooth).
  • An infrared (IR) pen. These can be bought pre-made, however instructions on how to make your own will be outlined below.
  • A flat surface display (projected screen or flat panel)

Assembling an IR pen

You can even create your own InfraRed pen in order to further reduce costs. There are plenty of instructions and tutorials online showing how this can be done. Luckily, these instructions are straight-forward enough that even I could make one without too many tears and injuries. I used an old highlighter and some cheap components from a local hardware store to create my masterpiece. The best instructions I found were those provided at http://www.instructables.com/id/Wiimote-Whiteboard-IR-Pen/?ALLSTEPS. Making your own IR pen will also help keep costs down. The costs for my IR pen were:
  • 1 X 3mm IR LED = £0.89
  • 1 X push to make switch = £0.99
  • Wire = £2.99
  • 2 X AA batteries = £0.39
  • Battery Holder = £0.99
  • Highlighter pen = £0.99
  • Insulating tape = £0.50
TOTAL: £7.74 [caption id="attachment_176267551" align="aligncenter" width="300"]IR Pen First Draft My attempt at an IR Pen - it's a little rough around the edges but it does the trick[/caption]  

Purchasable Alternatives

If, however DIY isn't one of your strengths and you'd like to avoid the hassle there are a number of purchasable alternatives available: Super Smooth IR Pen ?�? - https://www.amazon.com/Super-Smooth-IR-Pen-Whiteboard/dp/B0050LNHKO OptoSurfer M, Ultimate Infrared Pen - https://www.amazon.com/dp/B00YM5ZSUQ/ref=pd_lpo_sbs_dp_ss_2?pf_rd_p=1944687762&pf_rd_s=lpo-top-stripe-1&pf_rd_t=201&pf_rd_i=B0050LNHKO&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=75W2XMXC7MM3RRFYSAQW IR Chalk ?�? - https://www.amazon.com/IR-Chalk-Whiteboard-pressure-infrared/dp/B008HXBYIY/ref=pd_sim_sbs_229_1?ie=UTF8&dpID=21GyOSS9XPL&dpSrc=sims&preST=_AC_UL160_SR160%2C160_&psc=1&refRID=YEHQBGKEGQ3ETYKY2THM

Installing the Software

Finally, you'll be glad to know that the last thing you need to install is a piece of software known as 'python-whiteboard'. This can be easily installed by following the instructions below:
  1. Open a terminal window and navigate to your home directory
  2. Run git clone git://github.com/pnegre/python-whiteboard.git
The project can then be started by navigating to the newly created python-whiteboard folder (via file explorer) and running/double-clicking 'python-whiteboard'. That's it for the ground work, now you should be ready to go.

Calibrating/Running Whiteboard with an IR pen

Ensuring that the Raspberry Pi detects the Wiimote can be tricky at times. The best method I've found is:
  • Ensure that Bluetooth is enabled on the Raspberry Pi.
  • Click the sync button on the Wiimote before running 'python-whiteboard'.
  • Open 'python-whiteboard' and allow the remote to sync.

Positioning the Wiimote

Getting the position for the Wiimote just right can also take some time (and a lot of patience). Again the best instructions I've found are listed below: 'For a desktop screen, laptop screen, or a small projected surface, place the Wiimote at a height about as tall as the middle of your screen. Next, the Wiimote should be off center 8"-16" left or right. I suggest to the left for righties and to the right for lefties. The Wiimote should be about three feet back from the screen for a 20" screen. It should be further away for larger screens and closer for smaller screens. Also, the Infrared camera end of the Wiimote should be pointed at the center of the screen.' The next step is to calibrate the Wiimote's ability to track the IR pen. To do this simply click the calibrate button and follow the instructions on-screen. Your computer will now recognise a mouse click when you press the button on your IR pen. This means that you can use your IR pen alongside the whiteboard project to replicate a real interactive whiteboard. Here's an example of the final working product: [video width="2560" height="400" mp4="https://blogs.kainos.com/wp-content/uploads/2016/09/Whiteboard-Demo.mp4"][/video]

About the author

Corey Duffy