A Raspberry Pi-based whiteboard camera for online teaching
This was implemented by Rajan Shukla, M.Tech CSP, IIT Mandi (2021), as part of the EE535P Systems Design Winter Project. You can reach him at LinkedIn.
This project materialized from a real-world requirement for a low-cost web-streaming camera for enabling white-board/black-board based online teaching.
In the era of online education that we are currently witnessing, PPTs have become the norm. However, nothing beats a quick sketch, or a ‘back-of-the-envelope’ calculation to get an idea across more effectively.
Tablets and/or electronic whiteboards are the typical go-to solutions for enabling this, but good reliable ones can work out to be a tad expensive.
As part of his first year M.Tech Winter Project, over a period of roughly two months, Rajan Shukla thus developed Lipi (/lɪ.piː/) – a Raspberry Pi-based whiteboard camera. This table-top or whiteboard side-clamp camera design not only does Keystone and brightness correction, but also live-streams the video to a remote desktop. This livestream window can then be screen-shared with the students.
Critical to the realization of the project were the use of OpenCV tools and the RTSP protocol. Initially, the use of CLAHE (Contrast Limited Adaptive Histogram Equalization) was considered for image correction. However, it increased latency owing to its computationally intensive nature. A simpler histogram equalization followed by denoising was seen to yield similar results. Further, switching from the TCP to RTSP protocol led to a further reduction in the latency.
Another important piece of the puzzle was making the OpenCV package work with the Raspberry Pi OS. This took a bit of tweaking from Rajan’s side, but this now works without glitches.
The system was realized used a Raspberry Pi 4 2GB along with a 5 MP Raspberry Pi camera. Together with the power supply, the total cost of the set up came to about Rs. 5,500. While the enclosure and board clamps weren’t designed as part of this project, we estimate that 3d printing these parts would bring the total cost in the range of Rs. 6,000 – Rs. 6,500.
To enable further development of this camera, the source code and other details of this project have been made open source, and these are available on GitHub.
Contribution statement – The idea for developing a white-board based camera was suggested by Srikanth Sugavanam (SRI). However the majority of work was done by Rajan Shukla (RS). RS developed all the codes and design, and implemented the project. RS also wrote the code for enabling the compatibility of the OpenCV package with the Raspberry Pi OS. SRI advised RS on minor aspects of implementation and technology realization.