Introduction: Annoying Autonomous Rickrolling Device (For April Fools' Day)

Picture of Annoying Autonomous Rickrolling Device (For April Fools' Day)

Have you ever wanted to Rickroll somebody very important for hours while sitting in a comfortable non-culpable vantage point where you can watch all the fun? Do you also want extra points for only using some salvaged old parts (an old Arduino, $6 Chipcorder and a speaker) augmented with less than $10 of stuff from RadioShack? Do you want it to be able to (theoretically) endure some aggravated Rick Astley fueled rage and abuse before finally failing for maximum hilarity? High five! You think just like me!

I was originally going to pull this prank on my high school biology teacher for April Fools' Day, but had to change my plans at the last minute. My Biology teacher had already anticipated the prank (with what I can only fathom must have been his mind reading ninjutsu), and instead suggested that I pull this prank on the Dean of the upper-middle school. Since I was personal friends with the Dean, I knew that he would in no way be offended by the prank, but actually thought that he might actually enjoy the novelty of the prank.

Therefore, on the morning of April Fool's day, I took out my computer and set the current time and date on the Rickroll device (Codenamed "The Cinnamon Shaker") using an Arduino serial prompt. I made sure to set a trigger time sufficiently ahead of lunchtime to ensure that the Dean would still be in his office for the start of the prank; I didn't want him to miss it! Using a pinch of Peruvian Instant Darkness Powder, I hid the box in its new home in a obscure corner of the room.

I am glad to say that the device worked flawlessly. Even though the Dean was unable to shut off the device and had to shut it in a desk drawer with the speaker propped against the inside of the drawer to muffle the noise, he was really amused with the prank! He did admit that enduring an hour worth of Rick Astley's "Never Gonna Give You Up" was not exactly enjoyable, but was alright since the device automatically shutoff due to an one hour anti-excessive-cruelty timer. More than one hour, and some particular metal box might have found itself defenestrated onto the street below.

Warning: This device is incredibly devious and annoying. It should not be used on somebody who cannot take a joke or who doesn't know what Rickrolling is. It might get you fired or yelled at. I am not responsible or liable in any way for how you use the information and Arduino sketches in this Instructable.

For all of you who do not know what Rickrolling is, this Wikipedia page sums it up quite nicely:

Drop me a line in the comments if you need any help with anything!

Update: Video coming soon! (I just need time to edit it and fix the sound quality.)

Update: The video is now up!!! Enjoy!!!!

Step 1: Parts List

For this prank we will need:

--From the Internet:

- An Arduino, Freeduino or equivalent (See note at bottom for Barebones Arduinos/Freeduinos alternatives) Price varies.

- ChipCorder I16-COB20 demo board from Winbond. Available from Digikey under part number: I16-COB20-ND $5.32

--From RadioShack/Hardware Tinkerer store:

- Pack of 10K resistors (although we only need two) $0.99

- 8Ohm speaker (I salvaged mine from a old tape recorder) $2.99

- Pack of 5 9V battery snap connectors (although we only need 3 or 4) $2.99

- Aluminum project enclosure $2.99

- NPN 5V Transistor (I used the TIP3055) $1.79

*A note about barebones Arduinos/Freeduinos: They must have a 5V voltage regulator that can use 9V batteries (Awww! No Diavolinos?). They also need to have a 3.3V output pin along with a 16Mhz crystal (not resonator!) to work for this project.

Step 2: Solder Together the Components (deadbug Style!)

Picture of Solder Together the Components (deadbug Style!)

 Here's how the prank is going to work:
There will be an Arduino, ChipCorder, Transistor, speaker and batteries inside of a aluminum box. This box should be planted inside of the target area the morning of the prank (or the day before) but you will first have to set the current time and date using a computer hooked up to the USB port. You will also take this time to choose a target time and set it via the computer. Come April Fools' Day, at the set time of the prank, the Arduino will trigger the device and the ChipCorder will play a 20-40 second loop of a song which, in this case, is Rick Astley's "Never Gonna Give You Up"  a well known Internet meme.

  By looking at the schematic and manual of the ChipCorder we can see that the PlayE playback button is hooked up to pin 3 on the ChipCorder and must be pulled low to trigger playback. Therefore we must connect the Collector of the NPN transistor to pin 3 of the ChipCorder and the Emitter of the transistor to ground on the Arduino while also connecting the Base of the transistor to Digital Pin 2 on the Arduino with a 10K resistor. We then must add a 10K pulldown resistor between the Emitter and Base of the transistor to make sure that the Base of the transistor does not float high unless we explicitly pull it high. This setup will cause the NPN transistor to allow current to flow beween pin 3 on the ChipCorder to ground triggering playback when the Arduino pulls Digital Pin 2 high.

Now we connect the power input pins of the ChipCorder to the 3.3V and Ground output pins on the Arduino and also connect the positive terminal of the 8 ohm speaker (Red wire) and the negative terminal to the SP+ and SP- pins on the ChipCorder (respectively).

Now solder the battery snaps leads together inparallel not series for added battery capacity. This means that all the red wires are soldered together and all the black wires are soldered together. When done soldering the wires together, plug the positive wire into the Vin port on the Arduino and the negative to ground. You might have to solder on a small breadboard wire here to plug into the power ports as the bundled wires would be too thick. 

Don't forget to set the power input jumper on the Arduino to EXT to power the board off of the 9V batteries!

Step 3: Prepare the Aluminum Indestructobox!

Picture of Prepare the Aluminum Indestructobox!

Lay out the Arduino and all of the components (including the speaker and batteries) inside of the aluminum box and mark their positions with a quick scratch from a screwdriver. A Sharpie also works but is more noticeable than a few screwdriver scratches.

Proceed to drill out some holes for the speaker and also a square hole for the USB port. I used a power drill and metal file to create the USB port hole.

Beware of inhaling metal dust! It is extremely advisable to do this part outside with a respirator or other adequate filtration device. Take my advice, you do not want to breathe this stuff. I inhaled a small amount of dust by accident and it irritated my lungs for many hours.

Beware of sharp edges! It might also be advisable to smooth any rough and sharp edges you come across with a metal file so that your April Fools' victim does not become a victim of a deep laceration!

Here is what it should look like after all of the drilling and filing: (See pictures)

Step 4: Insulate the Electronics

Picture of Insulate the Electronics

Insulate all of the exposed bits of wire using black electrical tape and then insulate all the exposed pins on the bottom of the circuit boards with globs of hot glue. The Indestructobox is made out of metal and therefore conducts electricity, well... Like metal!! Really bad things could happen if all of the pins on the bottoms of the circuit boards are not insulated properly (think shorted-out batteries and magic blue smoke).

Step 5: It's Like Packing a Tiny Suitcase!

Picture of It's Like Packing a Tiny Suitcase!

Carefully pack all of the electronics inside of the case and glue it all securely in place! You do not want any electronics flying around inside the case should somebody decide to smash the device on the ground. Remember! More glue = more time Rickrolling.

Step 6: Almost There! Upload the Software Via USB Serial.

Picture of Almost There! Upload the Software Via USB Serial.

Upload the Arduino Sketch that can be found at my Github repository here:  by using the Arduino IDE found here:  
Enter in the password "hahaha" (Without quotes) into the Arduino serial terminal and the Arduino will prompt you for the current time and date before also prompting you for the target time and date. After you are done entering the information required, unplug the USB cable.

Step 7: Laugh Like a Mad Scientist

That's it! Done! Laugh like a mad scientist and hide your new April Fools' Rickrolling annoyance device! (Preferably when someone isn't looking!)

Have a Happy April Fools' Day and Happy Rickrolling!


vincent7520 (author)2014-04-20

Why do you link us to a private video we can't see ???

Where's the fun ?

astral_mage (author)2014-03-27

video doesnt work please fix it.

VirtualBoxer (author)2013-07-03

That's not good. You made the video private.

Robot Lover (author)2011-08-05

if you replaced the mic on the recorder with a stereo jack you could plug it into the headphone port on your computer, then the sound would be cleaner.

johnsewe (author)Robot Lover2011-08-19

Hey, interested in trying this project. Is it possible to completely eliminate the need for the chipcorder and load the music file directly onto an sd card for the arduino to read? (this is my first big boy project with arduino, so forgive my lack of knowledge)

winterfresh (author)johnsewe2011-08-24

Hello again!

It is not currently possible to play music off of an SD card with only a stock Arduino but it is possible if you use something like LadyAda's Wave Shield for the Arduino. Take a look here for the shield:

You could also look at my other instructable where I make a talking robot head to see how I used a Wave Shield to play audio files using an Arduino. It would require some changes to the Rickroll code but is definitely possible. Here take a look:



VirtualBoxer (author)winterfresh2013-07-03

It is possible to play sounds with a lonely Arduino, but not that anyone has done that with an SD card. This one loads it from the internal flash:

Hey, wait! It has been officially done with a Due. The library is provided with the latest IDE.

Robot Lover (author)johnsewe2011-08-19

I saw a project one time that communicated directly to an SD card using a PIC microcontroller to play music. Perhaps a little try googling PIC SD card reader or something of the like.

VirtualBoxer (author)2013-07-03

What? It doesn't mean there are ten thousand resistors in the package. It just means the resistors are rated for ten thousand ohms.

BuffaloNickel (author)2011-06-01

You could play a more easily looped song, such as the "TROLLOLOL"

Chowmix12 (author)2011-04-06

wheres the code?

winterfresh (author)Chowmix122011-04-06

There is now a link to my Github Repository that is hosting the code in step 6. Apparently does not like people uploading code in zip files and the code never got uploaded.

Thanks for pointing this out!


Chowmix12 (author)winterfresh2011-04-06

The link still doesn't work. Here's the correct link:

winterfresh (author)Chowmix122011-04-06

Huh, I've never noticed that the "Git Read-Only" link that Github gives you does not direct you to the Github repo's splashpage. (*Facepalm* Well obviously! The link ends in .git! it's only meant for public pulls/merges!) I've now added the real HTML link to the repo's splashpage (only one level down from your link) in step 6.

Thanks a million sir! You deserve a medal for your efforts.


winterfresh (author)winterfresh2011-04-06

Oh, BTW Good luck in the Robot Contest and Makerbot Contest!

Chowmix12 (author)winterfresh2011-04-07

Thank you so much. Have you looked at my first instructable?

winterfresh (author)Chowmix122011-05-25

Yes, and congrats on your age 13-18 win! It's nice to see someone else here who is in the same age group as me doing the same awesome robotic stuff! Keep it up! Also, are you planning on entering in the Adafruit contest?

Chowmix12 (author)winterfresh2011-05-27

I am not.. I want to focus on my projects right now and I have a huge list to attend to after school gets out.

winterfresh (author)winterfresh2011-04-06

Sorry, I meant a level up from your link.

rdswords (author)2011-04-22

This is a great idea, but it seems like this could be implemented in a far more simple and low tech version by eliminating the arduino and triggering the play button in a simpler way.

winterfresh (author)rdswords2011-04-26

Well I could have used a few kitchen timers but I was afraid that someone would think it was a bomb so......

rdswords (author)winterfresh2011-04-27

Haha yeah. I showed it to a coworker (we're electrical engineers), and we agreed that the microcontroller was a pretty good choice afterall, because you could get random number generations, but that there were some much smaller and much cheaper microcontrollers that would reduce the size and complexity of the circuit.

This is a good example:

winterfresh (author)rdswords2011-05-25

True, I could have just used a bare Atmel or Picaxe chip but I did not have the time necessary to wire up the voltage regulators, crystals and all. I had alot of trouble finishing this project on time for April Fools just how it was. Check out the video for evidence, the time and date on the computer says 12:50AM April first!

ThreeDelta (author)2011-05-13

That's horrible and twisted....and probably the reason i love it...XD

jwoo2023 (author)2011-05-10

someone could melt the glue.

Madmardiguino (author)2011-04-12

I wonder if there is a way to remotely activate, rather than by time? I'd love to do this to a coworker but I can't predict when he'll be at his desk.

Any ideas? Maybe the Arduino is only used for its clock?

Thanks! Very cool!

I know that someone did something similar to what you want to do and posted an instructable on it but I'm having trouble finding it now. I think it was called RC Arduino or something.....

Matrix-technician (author)2011-04-06

(correction) In my previous comment i said "attack" a regulator to a clip. I meant attach.

Yes! You could! The only reason I did not mention it in the Instructable was that not only would you have to know how to wire up the 5V regulator (which I did not know there was an Instructable for), but you would also have to know how to bump it down to 3.3V for the Chipcorder along with finding a way to pack all of it into an already tight fitting box. I also did not want to have to deal with regulator efficiencies and battery drain because I knew that the regulator in the Arduino was very efficient (or at least that's what they boast in their product page). Lastly, the Arduino I was using was already old, outdated and water damaged, I did not really care whether it would make it back in one piece.

You do have a very good point though, if you went entirely barebones and ordered all your parts from the Internet, this project would be almost disposable in terms of cost!

OK! Btw, did you know you can get 3.5 volt regulators? I'm sure you could simply attach somthing like a 100ohm resistor to bring it down a tiny bit to 3.2 or maybe 3.1 volts. That should be able to run the chiprecorder.

Actually, I took a look at the ChipCoder specs and it seems that it can be run between a maximum of 2.4v to 5.5 so either a 3.5v or 3.3v regulator should be fine. It could probably even be run directly from 5v in a pinch (probably at the expense of runtime though) although I would personally run it from ~3.3v. Here, I found a regulator on digikey for $0.44 that might do the trick. Take a look!

Looks promising! This is why i love this site. Soo much usefull information can be exchanged, shared, and found all in one place. No more clicking useless link after useless link!

High five for progress!
BTW if you're interested, the simplified Chipcorder datasheet can be found here:
whereas the in-depth and useful datasheet can be found here:
They mashed some specs from multiple Chipcorder chips into the same sheet so just remember that the chip we are interested in is the ISD1620B.

winterfresh (author)2011-04-08

Hey folks, so Instructables is not letting me edit my Instructable but I finished the video. Here it is!

winterfresh (author)winterfresh2011-04-08

Edit: It's now up on the Instructable intro!

bikerbob2005 (author)2011-04-08

nice only change would be tamper resistant screws. keep up the good work.

winterfresh (author)bikerbob20052011-04-08

Maybe proprietary Apple Iphone4 pentalobe screws?

Mosher6336 (author)2011-04-08

This concept would make a hilarious gag gift, disguised as a similar sized device (think external hard drive, or the like) with a power button that only starts, not stops, the rick-roll.

May meet some people's standards for a true rick-roll

codongolev (author)2011-04-08

hide it in someone's car. hook it to their stereo.

cazasnark (author)2011-04-08

What happened after? Did you get expel from school?

blacksheepfoto (author)2011-04-07

This is brill....

I am praying that the mens bathroom has drop ceiling at my office.

I'm debating whether this would be better or worse than the elevator music they play in bathrooms sometimes.....

brentrjones (author)2011-04-07

Awesome project. There are many annoying songs that could be used. Many from the Disco Era. Bee Gees. Blondie

thepelton (author)brentrjones2011-04-07

How about "I want you to want me" by Cheap Trick. An aptly named band if there ever was one.

sleeepy2 (author)2011-04-07

I can't believe the Rickrolling wiki-link actually lead to Wikipedia. I was fully expecting to be Rickrolled!

Wasagi (author)sleeepy22011-04-07

ahahah, me too!

chrwei (author)2011-04-07

fun prank! but not really a rickroll device...

I'd imagine a nice looking box with a button that says "press button to hear a joke", it starts playing a recorded joke, but cuts it off mid-setup and plays the song.

Matrix-technician (author)2011-04-06

Hey, if the arduino doesn't have the 5 volt regulator I would imagine you could attach a regulator to the power leads? Look at 9v usb charger "ible" to see how to attack a 5volt regulator to a 9v battery clip.

Daniel571 (author)2011-04-06

That's just mean, funny yes, but mean.
Nice project, might have to do it soon

About This Instructable




Bio: Winter Guerra, is a student living in Queens NY. He commutes every day to his school in Brooklyn and likes to, aside from hacking random ... More »
More by winterfresh:Annoying Autonomous Rickrolling Device (For April Fools' Day)Build an Arduino-powered talking robot head!
Add instructable to: