Introduction: Mystery Beeping Prank
The Mystery Beeping Prank is a device hidden in a hollowed out book that beeps intermittently at different frequencies. I made this because I am surrounded by a lot of incredibly creative people who have a penchant for pranking one another, and this seemed like the most subtly annoying thing that I could think of. In fact, I imagine this will be outright maddening for all those not in on the joke. Hopefully these people will have a good sense of humor about it, and not be too permanently scarred by the experience. It is all in good fun, after all.
Step 1: Go Get Stuff
You will need:
(x1) Arduino micro (Radioshack #276-258)
(x1) 40 pin socket (Radioshack #276-1996)
(x1) LM386 audio amp (Radioshack #276-1731)
(x1) 220uF capacitor (Radioshack #272-1029)
(x1) speaker (Radioshack #273-092)
(x1) Prototype circuit board (Radioshack #276-150)
(x2) AA x 4 battery holders (Radioshack #270-391)
(x1) Book
(x1) Rubber cement
(x2) 12" x 9" x 1/4" wood blocks
Step 2: Socket
Solder the socket onto the circuit board.
Make sure to leave room for the LM386 chip.
Note: The schematic shown here applies to the next 7 steps.
Step 3: LM386
Solder the LM386 chip onto the circuit board next to the socket.
Step 4: Capacitor
Solder the positive lead of the capacitor to pine 5 on the LM386 chip.
Solder the negative lead to any free terminal.
Step 5: Wiring
Wire the Arduino micro's ground pin to ground, and the VI (voltage in) pin to the 12V rail.
Solder pin 6 from the Arduino micro to pin 2 on the LM 386 chip.
Connect pins 3 and 4 on the LM386 to ground, and pin 6 to power.
Note: I made some of these connections with solder below the board.
Step 6: Battery Packs
Connect the battery packs in series on the circuit board.
Connect the single red wire to the 12v power rail, and the lone black wire to the ground rail.
Step 7: Speaker
Solder the red wire coming off of the speaker to the negative lead of the 220uF capacitor, and the black wire to ground.
Step 8: Program
Step 9: Insert
Insert the Arduino micro into the socket such that the pins on the Arduino line up with the wiring connections that have already been made.
Step 10: Clamp
Figure out the depth that you intend to hallow out of the book, and clamp that thickness of pages between two sheets of wood.
Step 11: Mark and Drill
Make marks in each of the corners of the inner square frame that you intend to hallow.
Drill them with a 1/8" drill bit.
Step 12: Cut
Use these holes to cut out the inner square frame.
Note: I started by using a handsaw, got frustrated, and quickly progressed to using a power tool (not pictured).
Step 13: Glue
Line the inside edge of the cut square with two to three layers of rubber cement.
Step 14: Unclamp
Remove the clamps from the wood and admire you handywork in succesfully hollowing out a book.
Step 15: Trim (optional)
If necessary trim away the ICSP pins so that the circuit can fit flatly inside the book.
Step 16: Power
Insert the batteries to power up the circuit.
Step 17: Stash
Stash away your circuit inside of your hollowed out book, and close the cover.
Step 18: Put It on a Shelf
When you are done, put the book away on the bookshelf and admire your handiwork as people wonder where the heck that beep is coming from.
For added ammusement, insist that you are not hearing any beeps.

Participated in the
Arduino Contest

Participated in the
Weekend Projects Contest
22 Comments
5 years ago
working code:
int randomTone;
int randomTime;
int i;
void setup() {
//set the initial instance to 5 seconds
randomTime = 5;
pinMode(6,OUTPUT);
}
void loop() {
//randomTime is the number of seconds to wait
for(i = 0; i delay(1000);
}
//select a random tone in audible range
randomTone = random(100, 10000);
// play a tone on pin 6 for 200 ms
tone(6, randomTone, 500);
delay(800);
// turn off tone function for pin 6
noTone(6);
//pick a number of seconds to wait for next tone
//Between 5 minutes and an hour
randomTime=random(300, 3600);
}
7 years ago
Sounds awesome!
Now I know what I have to build this weekend.
Waiting for parts to arrive.
9 years ago on Step 8
I keep getting this error...
BeepingBook_c.ino: In function 'void loop()':
BeepingBook_c:35: error: 'randomTime' cannot be used as a function
How can I fix this?
Reply 8 years ago on Introduction
make sure there's no space in randomTime .
9 years ago on Introduction
Very clever idea, definitely have some people in mind to use on already...! I was just curious, as I was going to head up to Radioshack later today, how much did all of the parts cost you in total? (Except for the book) Thanks!
9 years ago
I want to build several of these and have them timed to make the sound at a slightly different time and a proximity sensor to silence when movement is nearby. The sound will "move" around the room away from the individual being annoyed.... Ha! Ha! Ha!
10 years ago on Introduction
go check out think geek.com why they beat u there! its called( annoy a-tron )
10 years ago on Step 8
Love this project, starting making one last night to torment my brother. Since this is my first time posting I'll say this up front, I'm just trying to be helpful and not trying to offend anyone. I did notice some mistakes in the code, the "for" loop should read more like this "for( int i ; i < randomTime ; i++) { " and for the last line "randomTime = random(900,5400); " I image that most people on here would be fine, just looking out for those that wouldn't be. Thanks again for the great post, I look forward to using it a great deal.
10 years ago on Introduction
Im new to programming and having trouble. I copied and paste the sketch and verify. I keep getting "I is not declared in this scope". Referencing for(i = 0, i < randomTime, i++).
10 years ago on Introduction
Very cool project. I have been designing circuitry for this exact idea for a month or so, but I am using an entirely different approach. Since there are numerous ways to accomplish essentially the same thing, I'll briefly describe how I'm doing mine to give alternatives others may want to think about.
Mine is going to consist of one (or two) coin cells for power, a piezo beeper, and a microcontroller. The idea behind mine is to make it about the size of a quarter so it will be easily hidden. The microcontroller can be either the PIC12F675 or a PIC10F200 because they are small, the former is a DIP8 and the latter is a DIP6 or surface-mount package SOT23-6. The code will be simple, it will keep the processor asleep until it is told to wake up, beep several times within a 30 minute timeframe, and then go back to sleep until the next night at around the same time. The aim is to have a random number of "BLIP" beeps (say, 6 or less) to occur at random times at night, with a random length of time between beeps, for around a half hour to avoid detection.
Piezo sounders are very inexpensive, and its sound is very hard to pinpoint in a room, perfect for under a bed, above a picture frame, in a chandelier... almost anywhere will work because it's very small. The tiny microcontroller draws so little power while asleep that a power switch isn't needed, it will still last a year or more on a pair of coin batteries. Once I get it finished and field tested, I will eventually make an instructable for it.
Peace!
10 years ago on Introduction
Maybe make it more stealthy and maddening by using some kind of proximity sensor like an ultrasonic ranging device, so it'll stop beeping when the person approaches it. As soon as he gives up waiting for it to sound off again and walks away, start beeping anew.
Shades of crickets!
10 years ago on Introduction
Once Elektor pulished some "Electronic Nuisance", which was easier, but included a phototransistor in order to silence the disturber when the light was lit, and start it again after some five minutes of darkness.
hmmm....
interesting added value.... :)
10 years ago on Introduction
Excellent, other than the part where you destroyed a perfectly good book. grr
10 years ago on Introduction
You're too funny! At it again! :-)
10 years ago on Introduction
Very nice!
10 years ago on Introduction
If this ends up in my mailbox, Randy...
10 years ago on Introduction
Oh this is just plain funny! I can think of so many people I'd love to do this to! Voted!
Reply 10 years ago on Introduction
The person I really wanted to get with this discovered my plan. I just have to wait long enough for them to forget.
10 years ago on Introduction
Wait a moment... When we moved from 2nd Street, I saw that book and I wanted to keep it, but I said "Nah. I have enough books to read, and somebody will learn more reading it". But you destroyed it and you are using it for EVIL!!!
Great project! :-)
Reply 10 years ago on Introduction
Evil is a very subjective term.