Open Source Laser Projection Keyboard

NEW! The Laser Keyboard Kit II now available, click here for details.


The idea of projecting a virtual keyboard using a laser is very cool. But currently the existing product is a little bit expensive.

Here, we introduce our opensource and low-cost laser keyboard design! Now you can DIY your own laser projection keyboard 🙂

Our design supports mutiple key inputs (up to 10 keys) and works just like a normal keyboard on Windows and MacOS.

Besides, it can also be used as a multi-touch sketch pad:

Demo Video

Please watch the following video to see how it works:)


Currently the detailed version is written in Chinese, they will be translated to English soon.

Click the following links if you want to try the Google Translated version:

The Design and Implementation of a low cost laser projection keyboard, PART I (Google Translated here)

The Design and Implementation of a low cost laser projection keyboard, PART II (Google Translated here)


Our laser projection keyboard relies on Computer Vision processing algoritms to work. A  camera-laser system is used to perform distance measuring tasks.

The keyboard hardware is very simple, only three parts are required: one camera, one laser to project the keyboard pattern and a line laser for key input detection. That’s the secret of low cost. 🙂

When a user presses a “virtual key”, the reflected laser light will be captured by the camera. And a signal processing software installed on the PC/Mac performs all the critical jobs: recognizing the user’s finger top, perform distance measurement and mapping the position of the user finger top to the related key value.

How to build one?

The easiest way is to order a DIY kit. Currently DFRobot is helping us to provide the DIY kit of our low cost laser keyboard design. The kit includes all the stuffs you will need to build a laser projection keyboard.  Also it will provide you a detailed guide to help you during the assembly process.

We are looking forward to see your own version of the laser keyboard:)

Product Link:

Related Documents:

Signal Processing Software:

The Source Code:

License Issue:

All the source code is licensed under LGPL by default.

Git Repos:

NOTICE: no warranty for the sourcecode and the related software.

How to build from the source code?

Please refer to this article.

18 thoughts on “Open Source Laser Projection Keyboard”

  1. About this keyboard pattern projector, I was wondering if you were using a laser projector or some sort of diffraction pattern.


  2. 😈 我是来黑的。这个设计非常不合理,大概会挡住我的屏幕!否则我就要像图片那样歪着身子看屏幕了!如果可以从侧面投影就好了。而且投影键盘前面那块多余的光实在是不美观!DIY成分也不大!

  3. Finished building the DFR kit last night but can’t get working. Can’t get camera to focus and callibration software only displays in top 2 windows (projected window is blank). Also in background command window message reports local callibration software cannot be loaded. Running Windows 7.
    Any ideas?

  4. who supplied you with the laser diffraction pattern? Was it custom made or were they selling it already?
    Thank you in advance

    1. 这个帖子不是我们团队成员发布的。应该是网友的转载。

  5. Now -When dose the fbi or cia decide to use this or are they allredy using this in bank teller machines to record your passwords and transactions? if it could be done without the keyboard projection being visable then sombody will get rich and someone will be pissed>>>..

  6. If I try to make my own case that is smaller, and I angle the cameras accordingly, will the source program still be able to pick everything up?

  7. Hi guys,
    I’m wondering a few things.

    First of all, can I change this from a keyboard layout to a different layout physically?

    Can I change the input to not be keys but midi?

    Can I change the things that are pressed to do different things? For instance, in reality I press the “k” key but through software I want it to act as if I pressed the “a” key.


    1. To change the keyboard layout is a bit difficult since you need specific (commonly very expensive) device to generate a new filter for projecting the keyboard pattern.
      To change the input to Midi signal is possible. Just use the related APIs provided by OS to inject MIDI events should work.

      Changing the input key to another key value is very easy. Please refer to the source code and you will get the answer.

  8. Hii,
    I have bought this keyboard for last 3-4 months from ROBOPEAK.
    IR laser and camera are working properly now, But the laser projection module doesn’t work properly 🙁 😥 .
    Is there any replacement schemes or can we get only this module?

    1. Hi Jignesh,

      We ROBOPEAK doesn’t sell the product directly.
      Do you mean you have bought our laserkeyboard from DFRobot?

      Since our laserkeyboard is bind to this projection module, so you need to have a workable one. If it doesn’t work once you received the package, please contact the support of the seller.

      For DFRobot, their support email is : techsupport AT

      If you encounter any other problem, please let us know.

  9. Hi

    I was also interested in changing the physical layout of the keyboard, could you point me in the right direction where I could get this manufactured? A web site or link would be great.


    1. Hi Stephen,
      In order to modify the physical layout, you need to customize the laser projector module. It will be a little bit expensive.

Leave a Reply to 流星也会永恒 Cancel reply

Your email address will not be published. Required fields are marked *