Mystery Beeping Prank




About: My name is Randy and I am a Community Manager in these here parts. In a previous life I had founded and run the Instructables Design Studio (RIP) @ Autodesk's Pier 9 Technology Center. I'm also the author ...

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.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

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

Program the Arduino with the following code:

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.

Weekend Projects Contest

Participated in the
Weekend Projects Contest

Arduino Contest

Participated in the
Arduino Contest

Be the First to Share


    • Made with Math Contest

      Made with Math Contest
    • Multi-Discipline Contest

      Multi-Discipline Contest
    • Robotics Contest

      Robotics Contest

    22 Discussions


    1 year ago

    working code:

    int randomTone;
    int randomTime;
    int i;

    void setup() {

    //set the initial instance to 5 seconds
    randomTime = 5;


    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);
    // turn off tone function for pin 6

    //pick a number of seconds to wait for next tone
    //Between 5 minutes and an hour
    randomTime=random(300, 3600);


    Anshu AR

    3 years ago

    Sounds awesome!
    Now I know what I have to build this weekend.
    Waiting for parts to arrive.


    5 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?

    1 reply

    5 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!


    5 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!


    6 years ago on Introduction

    go check out think why they beat u there! its called( annoy a-tron )


    6 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.


    6 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++).


    6 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.



    6 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!


    6 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.
    interesting added value.... :)


    Reply 6 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.

    M.C. Langer

    6 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! :-)

    1 reply