This is yet another project of one product. Yes now this time I tried to replicate one IoT product whose name is Knocki. It’s a kind of product in which we can do the task by tapping some fixed patterns on the surface on which the product is placed. If you want to know what’s this product all about, kindly visit my fb page on which I have uploaded it’s intro video.
So in this article, I’ll be sharing the details regarding how to make your own knocki.
- ESP8266 12e development board(NodeMCU CP2102) (http://amzn.to/2BKS7cv)
- 3 axis accelerometer – (https://amzn.to/2znEtKF)
- BI coloured LED
The connections of all the components is something like this.
Logic Used for this project
In this project, Nodemcu baord is used as a central controller as well as the WiFi modem. To sense the knock I have used a 3 axis accelerometer. In this project we only need to sense Z-axis rest of the two axis measurements are useless for this particular project.
At the start of the device, first the device will take multiple readings from the sensor as to calibrate the surface on which it is placed on. So it’s important to note here is the we should not knock or shake the device at the startup. To indicate that the calibration is successfully done, first of all the red led will turn on and then the green led will turn on and off which indicates that the surface is calibrated.
After that we are ready to give commands to this device in form of knock patterns. I have pre programmed 5 fixed patterns inside the code and hence we can do 5 different actions using it. Those 5 patterns are mentioned below. you can visualize the pattern by observing the dots mentioned at the end of each code.
If you want to observe these patterns practically, watch out my tutorial video in which I have shown all these patterns.
As soon as the pattern matches with any of these pre programmed patterns then a webhooks link is requested and particular action will be performed which is programmed by over selves in IFTTT. Now if you don’t know IFTTT then kindly watch out my this video in which I have gone into very much detail about this topic.
Code used in this project is uploaded in my github account whose link is
In this article I gave the basic overview of this project. Now If you want to see it’s full tutorial, kindly watch out my tutorial video in this project