Buzzy Bee Mouse Shaker

01/07/20

Last modified on 01/07/20

Categories: Projects Tags: Arduino

~/contents

I realized I never got around to documenting this life-changing device, and if anything ever happened to my notes I would be quite sad. Buzzy Bee is small vibrating motor attached to an ATTiny85. It is programmed to buzz at regular intervals and shake a small post-it note with a bee drawn on it. It is designed to shake my work mouse so my status will always be ‘active’ and the screensaver will not kick on.

It has changed my life, and this is no exaggeration. It is one of the best ideas I’ve ever had.

I tried a lot of things before I built this device and spent a great deal of time researching my options, trust me when I say I am an expert on figuring out dumb hacks that make a mouse move without software. For a while I used an analog clock with a circle dial attached to it. The clock did an OK job of activating the mouse, but it was inconsistent and was hard to set up exactly right for some reason. Then I saw a YouTube video where a guy used a vibrating sticker to activate a mouse and I thought…. aaaaah, yes. A cellphone vibrating motor will handle this just fine. Buzzy is reliable and works well, and has been going strong for over a year. It lived on a breadboard a while, then I made a custom PCB for it. I’ve built a second Buzzy in case the first breaks with a refined design.

Design


Code

const byte motorPin = 4;
const byte togglePin = 0;
const byte vibrationStrength = 127;
const unsigned long vibrationDelay = 60000; // 60 seconds

void setup(){
  pinMode(motorPin,OUTPUT);
  pinMode(togglePin,INPUT);
}

void loop(){
 int toggleValue = digitalRead(togglePin);
 if(toggleValue){
  analogWrite(motorPin,vibrationStrength);
  delay(1000);
  analogWrite(motorPin,0);
  delay(vibrationDelay);
 }
 else{
  digitalWrite(motorPin,LOW);
  delay(10);
 }
}

Sources

http://tinkbox.ph/learn/tutorial/how-control-vibration-motor-using-arduino-uno/sketch-source-code
https://www.instructables.com/id/Reading-an-SPDT-Switch/