Saturday, February 22, 2014

High Sensitivity Vibration Sensor Using Arduino

In my last post I described how to build a High Sensitivity Arduino Sound Level Detector. Another useful type of sensor to determine if something interesting is going on in the environment is a vibration sensor. In this post I use a piezo element as a raw sensor to detect vibration.

I found the raw piezo generated a very small signal. To greatly improve its sensitivity I used epoxy to glue a fishing weight to the piezo sensor. The piezo drives a load resistor of 1M in parallel with a 5.1v Zener diode just to protect the IC's against any large voltage spikes in the event of a large physical bump. I found the raw output of the piezo unsuitable for direct input to the Arduino as it is typically a very small voltage signal and needs amplification, so I amplify the signal from the piezo with a 221 gain non-inverting op-amp using one side of an LM358. I use the other side of the LM358 for a comparator. The sensitivity of the vibration sensor is controlled using a potentiometer for the threshold (negative) input into the comparator. The other (positive) input to the comparator comes from the amplifier of the piezo signal. The output of the comparator provides a direct input to Arduino Uno digital pin 8. To hear when it senses vibration I use a simple piezo buzzer driven directly from Arduino Uno pin 13. Below is the circuit diagram:

... and the breadboard circuit:

Here is the actual prototype:

... and a close up of the piezo element with the fishing weight glued on with epoxy for added sensitivity:

Here is the sketch I used on the Arduino Uno:

If you want to use this as a starting point you can copy / paste from below:

#define VIBRATION_DIGITAL_IN_PIN 8
#define BUZZER_DIGITAL_OUT_PIN 13

int buzzerDurationMillis = 1000;

void setup(){
  pinMode(VIBRATION_DIGITAL_IN_PIN, INPUT);
  pinMode(BUZZER_DIGITAL_OUT_PIN, OUTPUT);
}

void loop(){
    if(digitalRead(VIBRATION_DIGITAL_IN_PIN) == HIGH){
      digitalWrite(BUZZER_DIGITAL_OUT_PIN, HIGH);
      delay(buzzerDurationMillis);
      digitalWrite(BUZZER_DIGITAL_OUT_PIN, LOW);
    }
}
Enjoy. Let me know if you make any cool improvements on this.

Note: if you notice your output locking in on state try lowering the feedback resistor of the op-amp from 220k to something lower, for example 160k.

Update: I later added a 0.1uF capacitor to connect the output from the piezo element to the input of the op-amp, also grounded on the op-amp side using a 100k resistor. This acted as a DC decoupler and effectively lowered the comparator threshold required to detect vibration.

Below is the updated circuit diagram showing the refinements for reducing the gain to avoid op-amp output lockup, and DC decoupler on the input.

If you are wanting to differentiate single bumps from vibrations you may also be interested in this blog I did on an Arduino sketch that can be used to avoid false positives. You may also want to look at my subsequent blog on how to use these in an open door or tailgate down sensor which also uses a Reed switch.

If you are interested in how this type of sensor can be integrated into a broader solution that includes notification of detected vibration on a users Android phone see Detect Intrusion with Passive Infrared, Sound, or Vibration

126 comments:

  1. Hmm. My previous comment got lost.

    Thanks for an excellent post, and a handy little circuit. I added an opto-isolator to my version because I wanted to be totally sure not to send stray high voltages from the piezo into the Arduino.

    Would you mind updating your schematic to show the extra capacitor and 100k resistor? I'm a software guy, and it isn't clear to me if the cap should be in series with the piezo or bridging to ground, nor is it clear where the resistor would go.

    ReplyDelete
    Replies
    1. Hi Duncan,
      The project is very helpful to me but i want to know the configuratuion of the arduino we would be needing to make the successful project

      Delete
    2. Buy Verified CashApp Account with BTC Enable 25k Limit


      Boost your financial trust with TopsMMAccount.com – your go-to for Buy verified Cash App accounts. Transparent, secure, and affordable services

      Replay and contact 24/7 Live Support

      E-mail : topsmmacount@gmail.com
      Telegram : @topsmmacount
      Skype : topsmmaccount

      https://topsmmaccount.com/product/buy-verified-cashapp-account/

      Delete
  2. Hi Duncan, glad you found this post useful.

    The output from the comparator into Arduino can't go higher than the 5V supply voltage to the op-amp, so you may be able to save your opto-isolator. However, the piezo can generate voltages much higher than 5V which is why I use a 5.1V zener diode across it to effectively clamp the piezo high output voltage at safe levels for input to the first op-amp amplifier.

    See above for an updated schematic towards the end of my post which shows the refinements for lowering the amplifier gain and introducing a DC decoupler on its input.

    Have fun!

    ReplyDelete
  3. Found the updated schematic. Thanks. I see you left off the 100k pot voltage divider on the "-" input of the second op-amp. Was that deliberate, or a mistake? Shouldn't it at least be tied to ground?

    BTW, I am having a hard time getting stable results from this circuit. I get lots of spurious readings, plus the trigger is sometimes late. It seems like the results are much worse if I use long (~3 M) leads between the circuit and the piezo element. Is the amplifier strong enough to pick up electromagnetic interference from the leads, or sensitive to the extra impedance from the longer leads? Would I have better luck using twisted pair or shielded wire? I don't have an easy source of earth ground, so shielded wire would probably be less than ideal. I'd have to ground the shielding to the power supply ground, or cobble together an earth ground from a mains plug.

    ReplyDelete
  4. Good catch. Updated. Definitely need the pot on the comparator negative input as this is how to adjust the sensitivity. Regarding the stability, your amplifier may well be picking up noise. Try adjusting the pot on the comparator under normal conditions (no vibration) from the one extreme where you have a consistent high output to just after you see a low output from the comparator. This will effectively raise the pot voltage level (negative input) of the comparator threshold just above the noise level. Then try vibrating the sensor to ensure it triggers reliably. Let us know how it goes.

    ReplyDelete
  5. Also noticed there was an error in the original schematic. The piezo shouldn't be connected to the 5V power. I have updated in both schematics above.

    ReplyDelete
  6. I just figured that out. The piezo being wired to 5V prevented the circuit from working properly. I was digging around on the circuit, trying to figure out why it didn't work when I noticed that the input to the first op-amp was always 5V. When I disconnected the piezo from the 5V rail, it suddenly started working.

    BTW, the zeners I bought are 5.2V, not 5.1V. Will that extra 0.1 V present any problems to the op amp? I'm guessing not, but wanted to be sure...

    ReplyDelete
    Replies
    1. This comment has been removed by the author.

      Delete
    2. This comment has been removed by the author.

      Delete
    3. I checked the datasheet for the LM358 and it will take an input voltage of up to 32V so 5.2V zener should be fine.

      Delete
    4. Good day sir, can I asked what is the name of that blue thing that was on your prototyping picture.?

      Delete
    5. Hi Charlot, I think you are referring to the 100k potentiometer. On the photo of the prototype it has a gold screw that is used to adjust the comparator threshold voltage that is in turn used with the comparator to trigger a vibration detection. This effectively gives you control of the sensitivity of the vibration detector.

      Delete
  7. Hi was trying the last two days to get that System working. But no luck!
    I have a few questions:
    - Im using the LDT0_028K Piezo from Sparkfuns. A knock causes a Peak of about 50mV. Amplifing this Signal with 221 means you get 11V on the Output?
    -When I measure my running circuit with the oscillator it Show mit on the Output of the amplifier always about 4.5V. I did simulate it with LTSpice and its the same.
    -My OPamps have 5V on Vcc and Ground on the other side?
    Pls help this is part of my bachelorthesis: Im planning to send that Signal with an Xbee wirelessly to my Computer. Is it possible that the Piezo Peak could be to short for Xbee modules?

    ReplyDelete
    Replies
    1. Output voltage on opamp will not go higher than its supply voltage, and usually a bit less so 4.5V makes sense. Make sure your piezo is not connected to the 5V supply rail (see above correction to schematic). I also recommend reduce your opamp feedabck resistor to 160k and add the DC decoupler as shown at the end of my blog and in updated schematic. Let us know how it goes.

      Delete
  8. David,

    I'm triggering my flash directly from the circuit (well, through an opto-isolator) in order to avoid the latency from the Arduino. However, that means that if the circuit generates multiple pulses, and the flash is triggered on low power, the flash fires more than once. I am seeing multiple flash exposures on many of my balloon popping pics. There is a circuit in the CMOS cookbook section on op-ams that uses an op-amp and a capacitor to create a longer on pulse (Basically turning the op-amp into a monostable. Would that be possible as a mod to your circuit, while still giving fast response time?

    ReplyDelete
    Replies
    1. I'd try putting a regular diode on output of first opamp and then connect the output of this diode to a small capacitor in parallel with a large resistor eg 1M which both go to ground. You will have to experiment with capacitor value eg 0.1uF or less. The output of the first opamp will charge through the diode the capacitor which will then slowly discharge through the 1M resistor. This will hold the input to the comparator high longer to avoid multiple rapid pulses on the output from your comparator.

      Delete
    2. David,

      Would that modification increase the latency of the circuit significantly? I want a circuit that responds as fast as possible, and ideally within a microsecond.

      Delete
    3. The capacitor will have some charge time. Reducing the capacitor will lower the response time. In this case you'd also need to increase the resistor in parallel with it to ensure the capacitor doesn't discharge too quickly. It will require some experimentation. If this approach doesn't work for your application I suggest have a look at logic approaches to debouncing such as the SR latch at http://en.wikipedia.org/wiki/Latch_(electronics) Let us know how it goes.

      Delete
  9. Hi David. I saw this project of yours and this will really help me alot in my next project. Would you mind talking in private or via email? I want to ask questions for the ideas that I want to add in this device. This is my email address mickaelnicolocobin@yahoo.com . Hoping for your response. Thanks!!!!!

    ReplyDelete
  10. David,

    any chance you have some logged continuous data for a few seconds, or an oscilloscope trace of the signal?

    ReplyDelete
  11. I don't. However, the output from the comparator is a square pulse. I also don't see a lot of bouncing. Have a look at the more recent blog I did on how to avoid false positives. It essentially counts the square pulses. On a typical bump it will count only one pulse. http://davidhoulding.blogspot.com/2014/11/advanced-high-sensitivity-vibration.html Have fun

    ReplyDelete
  12. David, Thanks for this. I made it and it works but I have one thing that doesn't seem right. When I adjust the pot only the middle half of the pot is a valid adjustment. The last quarter is always sensing (constant beep or led on constant) and the first quarter is no sensing even if I thump the piezo directly. Is this normal?
    Thanks,
    Dan

    ReplyDelete
  13. Hi, can this be used to build a 3- axis vibration sensor?

    ReplyDelete
  14. hello sir,

    how to make a piezo element with the fishing weight glued on with epoxy for added sensitivity?

    ReplyDelete
  15. This looks great! I wonder whether you could adapt this just to light an LED instead of a buzzer? (I'm new to arduino and not great at it.) The code would be really helpful if you have time spare.

    ReplyDelete
  16. Thank you for sharing this! I was successful in making this circuit to improve my own but working on a more refined range and sequence of vibrations frequencies.

    ReplyDelete
  17. Hi,
    Can you please help me out , i am planning to buy this kit from amazon ,I wanted to know that this kit can also detect or grasp the ground vibrations else it would only work for sound vibrations.

    Ground vibrations means I stay in condominium at 3 floor, if some one runs / any car moves i need to get a alert .Does this kit supports .

    Thanks in advance.

    ReplyDelete
  18. Hi. I have built both circuits and uploaded your sketch, but the LED I used to replace buzzer comes on without any stimuli to piezo. Even more intersting, if I completely disconnect circuit from the Arduino and place my finger near to the digital pin 8, the LED will illuminate. Seems the sketch makes the pin super sensitive to the smallest voltage. Any ideas.
    cheers
    John

    ReplyDelete
  19. i want to use this vibration sensor as a way to know wether a underground borewell is working or not . can it pick up a motors vibration

    ReplyDelete
  20. IS this consider final year project for BEEE

    ReplyDelete
  21. Hi David,

    Thanks for your post. I realise I'm looking at this way down the line, but I have a question about the mechanical operation of the piezo.
    You improve sensitivity by adding a fishing weight. Is this to add inertia to the disc, or is it to push the piezo against the surface. This is important for me, as my elements may not be placed in the horizontal plane. So if it is the latter, then weighting the element would do nothing for me, and it would be better to simply stick the element on with tape or something similar.

    Thanks for your thoughts,

    ReplyDelete
  22. My circuit works without the resistor there at all...does that even sound right? I've upped the resistor value to 360k and still I'm not getting any massive change in sensitivity but no obvious effect.

    ReplyDelete
  23. My circuit works without the resistor there at all...does that even sound right? I've upped the resistor value to 360k and still I'm not getting any massive change in sensitivity but no obvious effect.

    ReplyDelete
  24. FYI a useful overview of op-amps at https://en.wikipedia.org/wiki/Operational_amplifier and in particular the formula for calculating gain: Acl = 1 + Rf / Rg where Rf Acl is the closed loop gain, Rf is the feedback resistor (360k) and Rg is the grounding resistor (1k). Using this, increasing Rf from 220k to 360k will up the gain from 221 to 361 or approximately 63%, so you are right that it is not a huge gain. If you have no Rf resistor then your circuit will behave like a comparator with the input voltage being compared with ground / 0V... more at http://www.electronics-tutorials.ws/opamp/op-amp-comparator.html

    ReplyDelete
  25. :-( .....I wish I`d studied electronics and not chemistry!

    I feel like singing the chorus of Ultravox Vienna

    ReplyDelete
  26. David, taking your advice, I swapped the Rf to 1M to produce a very high gain. No effect. I then totally removed the Rg 1k resistor and all of a sudden super high sensitivity! It makes sense that 1,000,000 with no grounding resistor gives a very high resistance but why is the 1k resistor totally killing all sensitivity? Could Rg be reduced from 1k or am I better increasing Rf to 2M and seeing what happens?! I just don't understand - with Rg present nothing seems to have an effect with limited sensitivity. Cheers

    ReplyDelete
  27. This comment has been removed by the author.

    ReplyDelete
  28. Ok, from here how do i connect it to LCD display and show some scale value

    ReplyDelete
  29. Dear David,
    I need your help (urgent) to figure out a customised version of your code. I am working on vehicle security alarm project where vibration sensor will trigger both the siren and start a dialer (phone) which will place call to vehicle owner then vehicle owner will press buttons to cutt off engine etc. For automatic dialer I m using this youtube tutorial https://www.youtube.com/watch?v=6fwM_oTjqG0 and for vibration sensor & alarm I am using your one. But facing difficulty in combining both the codes. When I combine them, it gives error like "clearVibrationEvents' was not declared in this scope", etc.

    I am sharing the code here for auto dialer:
    //Constants That Won't Change
    const int call = 11; //Call Button Output
    const int back = 10; //Back Button Output
    const int keypad7 = 9; //No:7 Button Output
    const int alarm_active_led = 8; //Alarm Triggered LED Indicator
    const int power_led = 7; //Power OK LED Indicator
    const int trigger_input = 6; //Alarm Trigger Input
    int repeat =0;

    //Variables That Will Change
    int trigger_state = 0; //trigger_state = Trigger Input (pin7)

    //Setup Routine Runs Once When Reset Is Pressed
    void setup() {

    //Initialize The Digital Pins As Inputs/ Outputs
    pinMode(call, OUTPUT); //Define "Call" pinMode as Output
    pinMode(back, OUTPUT); //Define "Back" pinMode as Output
    pinMode(keypad7, OUTPUT); //Define "keypad7" pinMode as Output
    pinMode(alarm_active_led, OUTPUT); //Define "Alarm LED" pinMode as Output
    pinMode(power_led, OUTPUT); //Define "Power LED" pinMode as Output
    pinMode(trigger_input, INPUT); //Define "Cancel" pinMode as Input
    }

    //Loop Runs Indefinately
    void loop() {
    trigger_state = digitalRead(trigger_input);//Read Trigger Input State

    digitalWrite(power_led, HIGH); //Turn Power LED On
    digitalWrite(alarm_active_led, LOW); //Turn Alarm LED Off

    if (trigger_state == HIGH) { //If Trigger Input HIGH,
    //Run Sequence Below
    digitalWrite(alarm_active_led, HIGH);

    digitalWrite(back, HIGH); //Press Back Button
    delay(100); //Wait 100mS
    digitalWrite(back, LOW); //Depress Back Button

    delay(100); //Wait 100mS
    digitalWrite(back, HIGH); //Press Back Button
    delay(100); //Wait 100mS
    digitalWrite(back, LOW); //Depress Back Button

    delay(100); //Wait 100mS
    digitalWrite(keypad7, HIGH); //Press keypad7 Button
    delay(100); //Wait 100mS
    digitalWrite(keypad7, LOW); //Depress keypad Button

    delay(100); //Wait 100mS
    digitalWrite(call, HIGH); //Press call Button
    delay(100); //Wait 100mS
    digitalWrite(call, LOW); //Depress call Button

    delay(20000); //Wait 20S
    digitalWrite(back, HIGH); //Press back Button
    delay(200); //Wait 100mS
    digitalWrite(back, LOW); //Depress back Button

    digitalWrite(alarm_active_led, HIGH); //Flash Alarm LED
    delay(100); //Flash Alarm LED
    digitalWrite(alarm_active_led, LOW); //Flash Alarm LED
    delay(100); //Flash Alarm LED

    while(trigger_state == HIGH){ //If Trigger Input HIGH
    trigger_state = digitalRead(trigger_input);//Read Trigger Input State
    //Loop Sequence Below
    digitalWrite(alarm_active_led, HIGH); //Flash Alarm LED
    delay(100); //Flash Alarm LED
    digitalWrite(alarm_active_led, LOW); //Flash Alarm LED
    delay(100); //Flash Alarm LED
    if (trigger_state == LOW) { //If Trigger Input Low
    break; //Break
    }
    digitalWrite(alarm_active_led, HIGH); //Turn Alarm LED On
    }
    }
    }

    ReplyDelete
  30. Buy Electronic Components in online for affordable prices at componentbuy. see discount on many pats.
    visit :http://www.componentbuy.com/

    ReplyDelete
  31. Want to buy electronic components! Order now and buy for discounted price...visit www.component.com

    ReplyDelete
  32. Buy Electronic Components in Online for affordable prices at Component Buy. Get 25% discount on Semiconductor micro controller relays Connectors and many more

    ReplyDelete
  33. Hello David,

    Thanks a lot for your project and for the detailed video. Instead of using the buzzer, will I be able to collect the output of the circuit into the Analog pin of the Arduino and display whatever numbers that show up when the piezo vibrates ?

    ReplyDelete
  34. Hello David,
    thanks for all your Information.
    I will try to use a piezo sensor for my clock Project.
    (See: https://elektro-slobbo.blogspot.de/2017/12/ec1204b-clock-with-atmega8515-or.html)

    I don't want to solder an opamp. Do you think I can wire the GND side of the piezo at 2V via voltage divider to increase sensitivity? Slobbo

    ReplyDelete
  35. Hello David,
    thank you very much for your tutorial it is very useful!

    I would like to use your circuit to detect low vibration in an open space to define the quality of the working environment of employees.

    I would like to define several thresholds, for example:
    - threshold a: suitable vibrations
    - threshold b: annoying vibrations
    - threshold c: very annoying vibrations

    Is it possible to have multiple thresholds with an op amp and a comparator?

    I thank you in advance,

    Martin

    ReplyDelete
  36. Hi David,
    I have made your project and I was surprised how sensitive it is compared to the analog version. I tuned it very carefuly and reached the limit.

    But now I need more sensitivity and the question is how. Can I somehow increase it by adding additional resistors or by adding more omp amps?

    Or maybe another solution would be to change the omp amp to another version like LM152A where VOS is lower than 3mv
    http://www.ti.com/product/LM358A?keyMatch=lm358&tisearch=Search-EN-Everything

    Will the sensor gain on sensitivity than?

    Thanks

    ReplyDelete
  37. Hi David,
    How to make use of detection of vibration signal the continuously from piezo sensor to the actuator

    ReplyDelete
  38. Time 'N Sound is proud to be Central Florida's leading independent retailer of mobile, home and marine electronics. Having been part of the community for over 25 years, Time 'N Sound has built a reputation for extraordinary customer care and a can-do attitude when finding even the most unique products or accessories.

    ReplyDelete
  39. Hello David,Very nice post here and thanks for it.I always like and such a super contents of these post.
    Buy pinterest accounts

    ReplyDelete
  40. Thank You for sharing a great information with us.I have you bookmarked your site to look at the new stuff you post.
    Buy aged Gmail accounts

    ReplyDelete
  41. I just got to this amazing site not long ago. I was actually captured with the piece of resources you have got here. Big thumbs up for making such wonderful blog page!
    buy google voice numbers

    ReplyDelete
  42. Decent post, stay aware of this fascinating work.Keep it up.Continue blogging.
    Google voice pva accounts

    ReplyDelete
  43. I have to voice my passion for your kindness giving support to those people that should have guidance on this important matter.Surya Informatics

    ReplyDelete
  44. Thanks for your marvelous posting!I really enjoyed reading it. You're a great author.I will be sure to bookmark your blog and will come back very soon.

    IoT App Development

    ReplyDelete
  45. well illustrated video and its neatly explained Surya Informatics

    ReplyDelete
  46. Your articles are inventive. I am looking forward to reading the plethora of articles that you have linked here. Thumbs up! underground pipe locator

    ReplyDelete
  47. Icon Process Control offer Telemetry Chemical Level Sensor which is ideal for difficult place where staing is not safe. This can happen at extremes of sensing - on one extreme, and dirty on the other, as well as in environments is hazared. This device will give you data from to your remote location through your mobile or computer.

    ReplyDelete
  48. Now, you need to understand the safety of human who are working for monitoring visual display of meter in hazared place. Telemetry Chemical Level Sensors are specifically designated to monitor tank or sump from remote place for the safelty of employees. visit iconprocon.com to get the best quality level sensor.

    ReplyDelete
  49. Successful IoT developers must be tech news junkies--they should know everything that is going on in the industry, what's hot, what's old news, and what could be the next great thing. Join a developer community and learn how to become iot developer where you can freely talk about your product to entrepreneurs and inventors.

    ReplyDelete
  50. This comment has been removed by the author.

    ReplyDelete
  51. This comment has been removed by the author.

    ReplyDelete
  52. Such a great post. You shared great information i will regularly follow your blog keep posting....
    phone verified gmail accounts

    ReplyDelete
  53. Great post. I am experiencing many of these issues as well..
    Pvagmails

    ReplyDelete
  54. This comment has been removed by the author.

    ReplyDelete
  55. What is a funds microphone that you would propose everyone? or up to the hyperx quadcom price? hyperx quadcast review

    ReplyDelete
  56. This is the common issue for everyone. You post is very unique and helpful great post keep it up. Buy Bulk Gmail Accounts

    ReplyDelete
  57. Thanks for sharing such a nice blog. you post is very unique and informative. I will bookmarking your blog keep it up great work.
    Buy Gmail Accounts

    ReplyDelete
  58. Hi, I see this excellent project was posted quite a while ago and don't know if you still see comments. Was wondering if your piezo circuit sensitivity would be high enough for the pieze to serve as stethoscope.

    ReplyDelete
  59. How Mr Benjamin Lee service  grant me a loan!!!

    Hello everyone, I'm Lea Paige Matteo from Zurich Switzerland and want to use this medium to express gratitude to Mr Benjamin service for fulfilling his promise by granting me a loan, I was stuck in a financial situation and needed to refinance and pay my bills as well as start up a Business. I tried seeking for loans from various loan firms both private and corporate organisations but never succeeded and most banks declined my credit request. But as God would have it, I was introduced by a friend named Lisa Rice to this funding service and undergone the due process of obtaining a loan from the company, to my greatest surprise within 5 working days just like my friend Lisa, I was also granted a loan of $216,000.00 So my advise to everyone who desires a loan, "if you must contact any firm with reference to securing a loan online with low interest rate of 1.9% rate and better repayment plans/schedule, please contact this funding service. Besides, he doesn't know that am doing this but due to the joy in me, I'm so happy and wish to let people know more about this great company whom truly give out loans, it is my prayer that GOD should bless them more as they put smiles on peoples faces. You can contact them via email on { lfdsloans@outlook.com} or Text through Whatsapp +1-989 394 3740.

    ReplyDelete
  60. the loan company that grants me loan of 5,000,000.00 USD When other loan investors has neglect my offer but mr benjamin lee granted me success loan.they are into directly in loan financing and project  in terms of investment. they provide financing solutions to companies and individuals seeking access to capital markets funds, they can helped you fund your project or expand your business.. Email Contact:::: Also  247officedept@gmail.com or Write on whatsapp Number  on    +1-(989-394-3740)

    ReplyDelete
  61. I know about this blog. Its a perfect for me. Suitable place
    buy google voice numbers

    ReplyDelete
  62. Liked the pitching of your blog, It's nicely written for the targeted audience. We also share several blogs related to Progressive Web Apps Development

    ReplyDelete
  63. Thanks for Sharing your content. Thats so helpful. If anyone looking for verified social accounts in cheap rate then check out. www.pvato.com. they are best in this service.Buy Bulk Gmail Accounts

    ReplyDelete
  64. Thanks for Sharing your content. ... Instagram pva accounts

    ReplyDelete

  65. Thank you for taking the time to discuss this, i feel strongly that love and read extra in this subject matter. If feasible, together with benefit know-how, would you thoughts updating your weblog with extra data? It's miles very beneficial for me.


    Buy new instagram accounts

    ReplyDelete
  66. I am glad to read this article.I think this will useful and informative topic for everyone... Facebook pva accounts
    Buy Facebook pva accounts


    Facebook pva accounts

    ReplyDelete
  67. I am glad to read this article.I think this will useful and informative topic for everyone..
    buy Google voice number
    Instagram pva accounts
    gmail pva accounts

    ReplyDelete
  68. Thanks for sharing insight full thoughts I really enjoyed this post.
    Annotation Tool

    ReplyDelete
  69. This comment has been removed by the author.

    ReplyDelete
  70. Thanks for sharing.We are the best Buy PVA Gmail Accounts provider in social media marketing.For more information please visit our website :
    http://www.buypvagmailaccounts.com/buy-pva-gmail-accounts/

    ReplyDelete
  71. Social platforms are getting used for product marketing on a wide range. So we would like to buy social media accounts. Pva accounts are the phone verified accounts. So buy pva accounts from us at cheap prices
    buy Instagram pva accounts
    buy Gmail PVA accounts
    buy Facebook PVA Accounts
    buy youtube PVA Accounts

    ReplyDelete
  72. There is alot to do for digital marketing but having bulk Instagram accounts is best because Instagram accounts are really the best platform to boost up your product marketing. So we suggest to Buy Instagram PVA Accounts

    ReplyDelete
  73. This is an informative post. Got a lot of info and details from here. Thank you for sharing this and looking forward to reading more of your post.
    meal kit subscription service

    ReplyDelete
  74. I genuine happy to reveal this web webpage on bing, exactly what I was searching for.
    Buy Gmail Accounts
    Buy Email Account

    ReplyDelete
  75. This comment has been removed by the author.

    ReplyDelete
  76. This comment has been removed by the author.

    ReplyDelete
  77. This comment has been removed by the author.

    ReplyDelete
  78. It's a great pleasure reading your post. It's full of information I am looking for and I love to post a comment that "The content of your post is awesome" Great work.
    Buy instagram pva accounts

    ReplyDelete
  79. I'm sharing a Best Platform to Buy Aged and New Instagram PVA Accounts let's Buy Instagram PVA Accounts Now.

    ReplyDelete
  80. we are providing high quality pva Accounts with affordable price with replacement warranty you can also Buy Instagram PVA Accounts

    ReplyDelete
  81. we are providing high quality pva Accounts with affordable price with replacement warranty you can also. Buy instagram pva accounts

    ReplyDelete
  82. We sale all types of social media accounts like Instagram Gmail yahoo Facebook Pinterest Twitter telegram number telegram members in good price 100 unique ip accounts aged and fresh accounts are available please visit for more information. Buy instagram pva accounts

    ReplyDelete
  83. ito increase your online business you should start email marketing, we offer you to Buy Gmail PVA Accounts

    ReplyDelete
  84. Multilingua is a premier education Group that offers the best in-its-class language Education, IELTS training & personalized guidance tostudents who wish to learn and willing to try new and unfamiliarthings. We are also one of the BEST language & IELTS coaching, IELTSTraining Course, English Language Course, German Language Course, French Language Institute, Chinese Language Classes in Delhi, LanguageTranslation services, provide training to a large number of studentsevery year who are looking to work & study Abroad.

    ReplyDelete
  85. Great post! Thanks for the information shared with clarity. I have read your post, which is very helpful, if someone wants to know more about magento development company

    ReplyDelete
  86. sometimes happiness just seems to elude us. I think part of the reason that most people stay stuck in negativity is because they let themselves get so down, buy gmail accounts cheap
    so much so that even happy thoughts are tainted by the sadness they feel deep down inside. The great news for all of us then, is that by staying focused on the things that make us really happy, we can find the magic happy box that just keeps spinning.

    ReplyDelete
  87. I have read your blog.
    It's very attractive and impressive.
    Very systematic indeed! Excellent work buy gmail accounts cheap

    ReplyDelete
  88. So what is the TeCNologist Profit System? The TeNocolonist Profit System is a high-speed form of internet marketing that has been used by many people around the world in order to be able to earn a living and make profits from the very comfort of their homes. It's a form of marketing that uses technology in conjunction with the way that the internet is used to promote your websites, services and products. buy twitter accounts bulk
    It's a fast-growing form of internet marketing that has made some people rich and created other people as well. In this article, I will take a deeper look into how this system can help you out.

    ReplyDelete
  89. davidhoulding.blogspot.com/2014/02/high-sensitivity-vibration-sensor-using.html

    ReplyDelete
  90. Buy Gmail Accounts with a proven track record of successful delivery rates. Get high-quality, reliable accounts backed by our 100% satisfaction guarantee.

    ReplyDelete
  91. Buy Verified PayPal Account. Original passport, SSN, and visa card used. High Quality Full Buy Verified PayPal Accounts From ProMxs.

    ReplyDelete
  92. buy Verified Stripe Account

    Full Varified Active Stripe Account, Debit/ credit card added and confirmed, SSN and Router number verified. Buy Verified Stripe Account From us

    Replay and contact 24/7 Live Support

    E-mail : promxs24@gmail.com
    WhatsApp : +1(315) 514-9654
    Telegram : @promxs
    Skype : promxs

    #Buy_Verified_Stripe_Account
    #promxs
    #verified_stripe_accounts
    #aged_stripe_accounts
    #new_stripe_accounts
    https://promxs.com/product/buy-verified-stripe-account/
    https://haskell9257.hocoos.com



    Buy Verified Authorize Account

    Buy Verified Authorize Account, Business & personal account, Original passport, SSN, and visa card used. Customer satisfaction Guarantee 100%

    Replay and contact 24/7 Live Support

    E-mail : promxs24@gmail.com
    WhatsApp : +1(315) 514-9654
    Telegram : @promxs
    Skype : promxs
    https://promxs.com/product/buy-verified-authorize-account/
    https://haskell9257.hocoos.com

    ReplyDelete
  93. Buy Verified Cash App Accounts
    Buy Verified Cash App Accounts (BTC enabled and non-BTC enabled accounts). YourPvaShop sale 1k, 4k, 7.5k, 15k limit verified cashapp accounts

    ReplyDelete


  94. Buy Verified TransferWise Account

    Email: yourpvashop@gmail.com
    Whatsapp: +1 (346) 327-5140
    Telegram: Yourpvashop
    Skype: Your Pva Shop

    https://yourpvashop.com/product/buy-verified-transferwise-account/
    "Buy Verified TransferWise Account - Based on the USA City, Verified USA phone number, Bank verification with reputed and dependable full verified

    ReplyDelete

  95. Buy Verified PayPal Accounts

    Email: yourpvashop@gmail.com
    Whatsapp: +1 (346) 327-5140
    Telegram: Yourpvashop
    Skype: Your Pva Shop

    https://yourpvashop.com/product/buy-verified-paypal-accounts/

    ReplyDelete
  96. Buy Verified Cash App Accounts

    Email: yourpvashop@gmail.com
    Whatsapp: +1 (346) 327-5140
    Telegram: Yourpvashop
    Skype: Your Pva Shop

    https://yourpvashop.com/product/buy-verified-cash-app-accounts/

    ReplyDelete

  97. Buy Verified Cash App Accounts

    If you want to know more or any query, just knock us here–

    ➤Email: usaseostore@gmail.com
    ➤Telegram: @Usaseostore
    ➤Skype: USASEOStore
    ➤WhatsApp: +1 (213) 373-3139

    https://usaseostore.com/product/buy-verified-cash-app-accounts/

    We offer fully verified Cash App accounts, including BTC-enabled and older accounts with all limits.
    Our accounts come with high-quality assurance, are secure and reliable, and perform consistently.

    ReplyDelete
  98. Buy Verified Cash App Accounts
    Buy Verified Cash App Accounts + BTC Enabled Verified We provide the best-quality US or UK Buy Verified Cash App Accounts with a 100% guarantee. Our accounts are fully BTC enabled and usable for transactions

    Limited Offers Special Deals:

    4K limit Non Btc Accounts prices 100$ only
    15K limit Non Btc Accounts prices 150$ only
    4K limit Btc enables Accounts prices of 250$ only
    25K limit Btc enables Accounts prices of 350$ only
    Our Cash App Account Features-

    100% verified accounts, USA, UK, CA and other countries
    BTC enabled Or non btc enabled (Available)
    100% satisfaction guaranteed
    Phone verified Accounts
    Email Verified
    SSN Verified
    Card Verified
    Bank Verified
    BTC Verified
    ID, License, Passport Verified
    Money-back guarantee 100%
    24×7 customer Support
    24 Hours Reply/Contact
    Email : smmoutlets@gmail.com
    Skype : smmoutlets
    Telegram : @smmoutlets
    https://smmoutlets.com/product/buy-verified-cash-app-accounts/

    ReplyDelete