How To Use An Arduino To Shoot Beautiful High-speed Photography

Smashing wine glasses and popping balloons is obviously fun in and of itself – that’s just how I roll. But combined with a DSLR camera and an Arduino, it can also make for some interesting photographs. That’s exactly what we’ll be doing today.

Project Basics

There are two parts to this project really – the first is a sound trigger. Using a piezo buzzer as a microphone and an Arduino, we can easily detect loud noises and define an action. The second part is the camera setup. Since triggering the camera directly would be too slow, we’ll be leaving the camera shutter open in a dark room and using an external flash to provide just enough light to complete the shot.

If you’re completely new to photography, check out my top 5 photography tips for absolute beginners. If this project is a bit complicated for you, why not have a go at tilt-shifting to give your photos a model diorama effect instead.


  • DSLR camera with tripod
  • External flash with manual trigger
  • Arduino
  • Piezo buzzer and 1M Ohm resistor
  • 4N35 or similar opto-coupler / opto-isolator and 220 Ohm resistor

Wiring Diagram

The piezo buzzer should be hooked up black wire to GND and red to A0; place the 1M resistor between the two pins. The resistor is used to provide a current drain for the voltage produced by the piezo, protecting the analog input.


We’re using an opto-isolator to protect the Arduino from any voltage the external flash might have. An opto-isolator is an LED and light sensitive switch in a tiny package; turn the LED on one side and the switch on the other will be activated. On the 4N35 (other models may vary), you should see a very small circle in one corner – this pin 1. Connect pin 1 via the 220 ohm resistor to pin 12, and then pin 2 to GND. The device being triggered goes onto the two pins in the opposite corner (5/6). The end of these trigger leads can either go to an actual flash trigger cable, or just jury-rig them straight into the socket – you might need some Blu-Tack to make them stay in place.


Here’s the completed circuit hooked up to the flash.


Arduino Code

The code for this project is relatively simple. In the file below, I’ve left Serial console output in, though you may want to remove that when you’re sure things are working – just comment out the Serial.begin and Serial.println lines when you’re ready. Run the code and watch the console output as you clap your hands – you should be getting an output from the piezo buzzer. The numbers you have here can be used to determine the threshold at which the flash fires, but my piezo wasn’t at all that sensitive so I left it at 1.

In the main loop, we’re checking if the piezo reading is above the threshold and if it’s been more than a second since the last time we triggered the flash. This avoids triggering the flash more than once. On some flashes, this might not be necessary, but since mine was capable of sustained bursts it was simply firing multiple times without that check.

Also, note the delay value before triggering the flash – you’ll want to either play around with this or remove it completely, depending on what it is that you’re photographing. Without the delay, the photo of a smashed glass was taken immediately upon impact, with no shattering effect. 50ms was a little too slow, so 25ms should be ideal to see actual shattering.

int ledPin = 13;  int cameraPin = 12;  int piezo = 0;                unsigned long lastMillis = 0;  byte val = 0;  int threshold= 1;    void setup() {  	pinMode(ledPin, OUTPUT);  	pinMode(cameraPin, OUTPUT);  	Serial.begin(9600);   }    void loop() {  	val = analogRead(piezo);      	if(val>0){  		Serial.println(val); //used to debug  	}  	if (val >= threshold && (millis()-lastMillis > 1000)) {  		delay(25); // change as needed, or remove entirely  		digitalWrite(ledPin, HIGH);  		digitalWrite(cameraPin, HIGH);  		lastMillis = millis();  	}  	else{  		digitalWrite(ledPin,LOW);  		digitalWrite(cameraPin, LOW);  	}  }   


First off, you’ll need a dark room to do this – the closer you can get it to pitch black, the better. If you find your shots are too blurry, it can be due to too much ambient light. The only light you want for this shot is at the moment the flash is triggered, so put your DSLR into manual mode and put the exposure time up to 4 seconds or more. Set your aperture to around F8 to F16; I needed an ISO of 1600 to capture these shots, but you should tweak both these values to find something that works for you before going ahead.

You’ll also need the camera set on manual focus, and disable any stabilisation if you have it. Play around with your flash timings – I used 1/128 power – any higher than 1/32 and you’ll find the flash fires for too long, resulting again in blurry shots. I’m certainly no photography expert though, so it’s really just about playing around to find settings that work for you.

An easy way to test your setup is to kill the lights, click the shutter, then clap – the shot should come out well lit and not blurry.

Satisfied with my tests, I went ahead and tried popping a balloon.


The code could do with being optimised a little – even with no programmed delay, it seems like the shot was just 5-10 ms too slow for capturing the moment. Still, this one came out nicely and shows the marbled balloon colours and a bemused dog.


This was my initial attempt at shattering things – with no delay, the photo taken directly at the moment of impact and isn’t particularly exciting.


A 10 ms delay was just slightly too soon for this mug.


I tried again with the other half of the cup and a 50 ms delay – just slightly too late I feel:


I gave 50ms another chance with this glass – make sure you’re shattering things into a box to make clean up easier!


The great thing about DSLRs is that you can take a million shots until you get it right, though your glassware is going to get expensive. I’ll be honest, I took the entire day tweaking and hundreds of practice shots of me clapping to find the right settings, so don’t give up if it doesn’t work right first time.

Once you’re bored of balloons and glasses, try experimenting with different kinds of triggers: maybe a ping sensor placed on the ground that captures falling object, or a laser light and photodiode resting just above water that triggers when the light beam is broken. Take any good shots? Let us know in the comments how you got on or any problems you encountered.

Pew Pew! How To Build A Laser Turret With An Arduino

Are you bored? Might as well build a laser turret. You know – one that goes pew pew, shoots a red beam in lots of different directions, and maybe even throw in a smoke machine? Yep, one of them.

What You Will Need

  • Arduino
  • 2 servos
  • Laser module, such as one from this sensor kit
  • Piezo buzzer or other small output device
  • Metal wire and cable ties for fixing
  • Long female->male jump cables, plus regular jump cables

Optionally, a smoke machine is needed – the laser is pretty low wattage, so you won’t be able to see the beam without smoke even in a dark room.


Build Plan

The basic idea of the turret is to put the laser module on top of one servo to provide horizontal rotation; then mount that package onto another servo placed at a 90 degree angle to provide vertical movement. We’ve got a piezo to provide the pew pew sound effects, and I’m throwing in a smoke machine for good measure.

Servo Testing

Depending on your servo, the wires may be coloured differently, but in general:

  • Red is the positive wire, and on both my servos it was the centre of three – to be connected to +5v rail.
  • Brown or black is the negative, to be connected to GND on the Arduino.
  • White or orange is the signal wire, to be connected to a PWM capable digital I/O pin (9 and 10 in the demo below).

Once you’ve wired up your two servos, upload the following sample code. I’ve named one servo “hori” to control the horizontal movement, and the other “vert”. Each should perform a full range of motion sweep (about 60 degrees, in my case).

#include <servo.h>  Servo vert,hori;  // create servo object to control a servo                  // a maximum of eight servo objects can be created   int pos = 0;    // variable to store the servo position  void setup()  {    hori.attach(9);    vert.attach(10);  // attaches the servo on pin 9,10 to the servo objects    vert.write(0);    hori.write(0);  }    void loop()  {    for(pos = 0; pos < 180; pos += 10)  // goes from 0 degrees to 180 degrees       {                                  // in steps of 10 degrees           vert.write(pos);           hori.write(pos);    // tell servo to go to position in variable 'pos'           delay(100);                       // waits 100ms for the servo to reach the position       }       for(pos = 180; pos>=1; pos-=10)     // goes back from 180 degrees to 0 degrees    {                                     vert.write(pos);              // tell servo to go to position in variable 'pos'      hori.write(pos);      delay(100);                       // waits 100ms for the servo to reach the position    }  }  

All good? Moving on then.

Testing the Laser and Pew Pew Sound

The laser module is just like an LED, but it has a resistor built into the module so we can hook it up directly to a digital I/O – very simple. If you’re using the same laser module as me, the “” goes to GND, the S goes to pin 12. Modify the sample code above to make pin 12 an output:

int laser = 12;  pinMode(laser,OUTPUT);  

Then blink the pin on and off each loop using standard digitalWrite() method.

We’ll just use PWM to drive the piezo buzzer at a comfortable sound level – you could experiment with using the tone library if you wanted, but a simple noise is all I need. Connect the black wire to ground and the red wire to pin 11. Define your buzzer on the relevant pin, set to output mode, and activate using analogWrite(buzzer, 100) (or any number you want up to 254); and analogWrite(buzzer,0) to turn off.

The full sample code modified to sweep two servo, activate a laser, and play the annoying sound, can be found here.

All your components should be working – now we need to tie it all together.

Creating the Turret

Using cable ties, attach one servo to the other; it doesn’t really matter which, just make sure one will move on the horizontal and the other will move the vertical. You can pull off the rotor blade and re-seat during testing if the angle isn’t right.


Use some stiff modelling wire to fix the laser module to the blade of the other servo, like so:


Finally, I attached the whole thing to a desk leg with yet more cable-ties and a bit of scrap wood.


Programming the Turret

I don’t know about you, but my idea of a laser turret comes from countless numbers of sci-fi films and star trek episodes. Invariably someone will fly past a turret and little pew-pew shots will come flying out in a sweeping pattern, always milliseconds too slow so our protagonist doesn’t actually get hit. That’s what I’m trying to replicate, though feel free to tweak the main routine to suit your idea of what a turret should do.

Here’s the pseudo code I ended up using for the main loop:

  • Randomize time between bursts, and time between each individual shot.
  • Randomize the start and end position for each servo, vert and hori.
  • Randomize the number of shots to take.
  • Work out the number of degrees of change after each shot as the difference between start and end positions divided by number of shots.
  • Move the servos to the starting positions, and wait a little for them to get there (100ms)
  • Loop until all shots have been taken, each time moving the servos a little as previously calculated; move and shoot, move and shoot.
  • Repeat.

I also added a separate fire() method to structure the code a little better. Adjust the ranges of all random() functions to speed up or slow down each parameter; or increase the number of shots for a more dance club vibe. Scroll down for a video of the code in action!

#include <servo.h>    Servo vert,hori;  // create servo object to control a servo    int pos = 0;    // variable to store the servo position  int laser = 12;  int buzzer = 11;    void setup()  {       hori.attach(9);       vert.attach(10);  // attaches the servo on pin 9 to the servo object       pinMode(laser,OUTPUT);       pinMode(buzzer,OUTPUT);  }    void loop()  {       int timeBetweenBursts = random(200,1000);       int timeBetweenShots = random(50,200);       int vertStart = random(1,180);       int vertEnd = random(1,180);       int horiStart = random(1,180);       int horiEnd = random(1,180);       int numShots = random(5,20);         int vertChange = (vertEnd - vertStart) / numShots; //how much to move vertical axis by each shot       int horiChange = (horiEnd - horiStart) / numShots;         vert.write(vertStart);//let it get to start position first, wait a little       hori.write(horiStart);       delay(100);         for(int shot = 0; shot<numShots; shot++){            vert.write(vertStart);            hori.write(horiStart);              vertStart += vertChange;//increment the vert value for next time            horiStart += horiChange;              fire();            delay(timeBetweenShots); //add a bit of variety to the speed of shots       }       delay(timeBetweenBursts);  }    void fire(){       digitalWrite(laser,HIGH);       analogWrite(buzzer,100);       delay(20);//adjust this to change length of turret shot       digitalWrite(laser,LOW);       analogWrite(buzzer, 0);   }   

In Action

I don’t think there’s a practical use for this little toy, but it’s an awful lot of fun and there are a lot of variables you can tweak to get the desired effect. Perhaps it’ll come in handy for a homemade LEGO movie?

8 Star Wars Props You Can Make At Home

With forty years’ worth of movies and spin-offs to work from, Star Wars prop building and cosplay is a popular pastime. But just how do you get started constructing droids, blasters, lightsabers, helmets and other props?

The best place to go for inspiration is YouTube, where you’ll find builds based on cardboard, foam, and even industrial tubing. Basically, there’s something for all DIY abilities. Basically, not only can you build props to gain superhero powers, you can become a Jedi, too! (Disclaimer: Not actually true).

Here are eight Star Wars props you can build at home this weekend.

1. Build Your Own X-Wing Helmet

“Red five, standing by…” “Almost there… almost there…” “Negative, it just impacted on the surface!”

“Luke, you’ve switched off your targeting computer, what’s wrong?”

Each line evokes memories of THE greatest scene in any Star Wars movie: the assault on the Death Star. And over half of the characters on screen during this sequence (the Battle of Yavin) are wearing helmets, as they pilot their X-Wings and Y-Wings into seemingly insurmountable danger.

Building your own X-Wing helmet isn’t as difficult as you may think. As Dustin McLean demonstrates above, it can be done relatively cheaply, with tools that you may already have.

2. Stormtrooper Heavy Blaster Rifle

Fancy your chances working for the Empire? Squash the puny rebellion scum underfoot with this, a DLT-19 heavy blaster rifle as seen in the original Star Wars movie, and several films, games, and cartoons since. Carried by Stormtroopers of a particular designation, these heavy blasters look superb, and you can build your own!

All of these components are available for $10 or under, but as you can see, this build is a little more complicated. Interestingly, this build is partially based on a German MG34, a semi-automatic rifle first issued in 1936 and seen in many war movies.

Not for beginners, the end results will cause many a gasp at the next convention you attend.

3. Han Solo’s Blaster

One of the most iconic handguns in movie history, Han Solo’s blaster was the handgun used to kill Greedo in the first movie, and subsequently went up against Stormtroopers on the Death Star, Hoth, Bespin, and Endor.

Building your own? If you’re looking for an in-depth build, then this video by Odin Abbot shows exactly how he went about it. Some prior knowledge of prop building is required here, along with a whole host of heavy duty tools. The end product is stunning, however.

If all of that seems too much, however, you could just customize a child’s toy instead. No, really. In this video, Bill Doran demonstrates how an inexpensive Star Wars toy can be repainted to more closely resemble the movie prop.

4. Build Your Own BB8

Want your own BB8 droid? You don’t have to buy one for $250 or so — you can build one for under $100, using magnets, a beach ball, an Arduino (see our Arduino guide for help here, it’s really worth learning), and a few other bits and pieces.

We won’t lie: this is a complicated, time-intensive build. But the results really do speak for themselves. Best of all, this BB8 can be controlled via a mobile app over your phone’s Bluetooth connection!

Full instructions can be found in the Instructables guide, in which the builder — with help from his father — gives detailed steps.

If you’re a big fan of droids, but want something less ambitious, try this foam-based astromech droid build instead:

5. Build Your Own Lightsaber!

If you’ve never held an invisible lightsaber tube and made “vumm-tscumm-chchchchc” noises, then you probably don’t harbor any ambitions to be a Jedi or Sith. But if you do have some inclination towards the light side or the dark side of the Force, and wish to begin your training, you’ll need to be able to build your own.

William Jakespeare shows you how in this video, although do note that no blade is emitted from the saber. You’re basically looking at a build for the handle, which is mainly based on Luke Skywalker’s lightsaber in the original trilogy. However, it has a bulb in the side, as per The Force Awakens, which is a nice touch.

Of course, a lightsaber looks pretty dumb without the blade. You have several options here, but our favorite is post production with Adobe After Effects:

6. Be Boba Fett With This Jet Pack

Since being knocked into the jaws of the Sarlacc in the Great Pit of Carkoon (Return of the Jedi), Boba Fett has been missed. So much, in fact, that he was added into the Star Wars special edition, while his father, Jango, was included as a key character in the prequel trilogy.

Of course, after his Empire Strikes Back glory, Boba Fett is out of his depth. How else can you explain him being outclassed by a blind Han Solo?

Using scrap PVC pipes, crafting board, rubber tubing, plastic cups and other easily-found materials, you too can build your own Mandalorian Jetpack, just like Boba Fett’s! Just, um, make sure you don’t end up in the jaws of a Sarlacc, right?

7. Mouse Droid!

Back in 1977, the collection of droids wandering around the Star Wars universe was a source of fascination. It’s still pretty amazing, with machines such as power droids, probe droids, and these little guys, the mouse droids.

Heralding their presence with a “tututu-tuuu”, these droids have an in-world purpose of maintenance and repair. They can be seen in the original movie, as well as Empire Strikes Back and Return of the Jedi.

Can you build your own? Yes!

All that is required to get started — as demonstrated by Ace Cosplay above — is a remote controlled car. Makes sense, doesn’t it? Check the full video to see just how straightforward this build is.

8. You Don’t Know the POWER of the Dark Side

It’s simple to impersonate Darth Vader: breathe heavily, aqualung-style, into a mug, and do your best James Earl Jones voice. But for the full effect, you probably need a helmet to get started. Let’s be honest: it’s the least you’ll need for cosplaying Star Wars‘s greatest character (despite what the prequels did to him).

Now, you could go heavy duty with your Darth Vader helmet, but it’s so complicated that it makes sense to start with a simple material like cardboard.

There’s no reason why you couldn’t upgrade to a better material in the future, of course. But for cosplaying events and conventions, where things can get damaged or lost, cardboard makes sense.

Do… or Do Not. There Is No Try

If you’re a fan of Star Wars, you’ve probably felt like building your own prop from time to time. Perhaps you prefer the toys, or pimping them up to resemble the movie props? Or do you like to grab a lightsaber in Toys R Us and duel with your partner or son?

On the other hand, maybe you just like practicing your Darth Vader voice in an empty Star Wars mug (like me).

Whatever the case, we’d love to hear from you. There’s enough here to start preparing for your own Star Wars movie (try not to make any mistakes).

What’s your favorite DIY Star Wars prop? Tell us all about it below.

Xbox 360 Rrod X-clamp Fix – Does It Work?

The Red Ring of Death fault on Xbox 360 devices hasn’t gone away. Second hand consoles built before 2009 and bought on eBay or pawn shops or even those that got put at the back of a cupboard in favour of a PS3 still have the problem.

But it gets worse: later devices including those with the remodelled slimmer cases, are also susceptible (although the RROD itself has gone, replaced with a single red light on the power button). Using the Xbox Kinect can also contribute to the fault.

Microsoft’s warranty is for just one year, and even at the height of the RROD issue, if your console didn’t fail, you wouldn’t get the opportunity to send your Xbox 360 back for repairs (which might have not had a lasting effect).

So what’s the solution? There are two: buy a new Xbox 360, or rely on the X-clamp fix.

What Is The RROD X-Clamp Fix?

The X-clamp fix is required because of the lack of the lead in the solder that holds the GPU and the CPU on the motherboard. Overheating causes the BGA (ball grid array) to weaken, resulting in the CPU become detached from the motherboard. Overheating can occur in various storage scenarios best avoided by checking our Xbox 360 care guide.

Early fixes for this suggested gamers wrap their Xbox 360 in a towel to overheat the system and cause the BGA to soften enough to reconnect the processors to the motherboard.


This towel method is a fire hazard, and extremely dangerous. However, the principle – using heat to reconnect the CPU and GPU to the motherboard – is sound as an alternative to buying a replacement or paying for expensive repairs, which is where the X-clamp fix comes in.


Here, we make modifications to the Xbox 360 case to accommodate a repair kit that can be purchased cheaply. The kit essentially replaces the X-clamp, a piece of metal attached to the motherboard below the CPU and GPU ostensibly to ensure that they’re both firmly connected. It doesn’t, hence the Red Ring of Death.

A high success rate is claimed by this fix, but does it really work?

What You’ll Need For This

To fix the RROD, you’ll need an X-clamp replacement kit, which can be purchased online from eBay and Amazon. This is basically a collection eight 12mm screws, and metal and plastic washers that are intended to replace the X-clamps on the CPU and GPU. These clamps connect the heat sinks to the motherboard, but they don’t offer a tight enough connection. The eight screws and the washers make a better job of things.

Advisable too is a special tool for taking your Xbox 360 apart, and this can be picked up online or in electronic project stores.

Hardware wise, you’ll require a power drill with a suitable bit, in order to widen the holes in your Xbox 360’s internal case for the heavy duty clamp. As per Llamma’s Xbox 360 Repair Page (which we recommend you follow as it features a wide selection of images to help) you may opt to use 3/16th Uni-bit that deburs the hole, but if you don’t have one, don’t worry. You can use a drill bit to widen the hole and then sand down any uneven areas around the hole with a Dremel-style tool.


Whatever method you’re using for drilling, make sure you have a means of securing the case (tricky as it may buckle with undue pressure). My preferred approach was to use a standard bit suitable for drilling through metal with a piece of wood under the case.

You’ll also need to take the time to make the usual anti-static precautions as you’ll be handling the motherboard of your Xbox 360 and the DVD drive, among other things.

Completing The X-Clamp Fix

We’ve already provided a link above to a solid tutorial for replacing the X-clamps with screws. Here’s some additional detail explaining the various methods there are, and how you might go further by adding heatsinks to RAM chips.

With the screws in place, you should test the Xbox 360 by reconnecting the DVD drive, placing the fan atop the GPU heatsink (this is the taller of the two) and powering up. Sometimes the console will boot normally, meaning you’re all fixed. On other occasions it might take a while, and you might find that the error code changes.


If it doesn’t work, and you followed the instructions to carefully tighten the four screws on each heatsink/processor, the best option is to slowly slacken each, making a quarter turn each time before trying again.

Eventually, unless you’re really unlucky and the console is completely broken, you should see the return of the spinning green light, and your Xbox 360 will be resurrected!

Resurrection, But For How Long?

No one can claim that this is a fix that will get your Xbox 360 back up and running permanently, and you shouldn’t expect it to last more than 12 months. But one thing is for sure: it definitely works!


My Xbox 360 keeled over in 2010. Although I fully intended to repair it, it has taken me until today to do so (because life). My patience in this (I’ve had a few short-lived false starts) has enabled me to spend particular time on the final stage without feelings of frustration and desperation – after all, I’ve been without the console for nearly three years!

If you’re successful, you should take steps to ensure that airflow is as good as possible for your console. This means that you’ll need to keep it in a well-ventilated area and perhaps even consider replacing the fans with something more suitable (although be aware that this may upset the balance of your power supply, resulting in insufficient resources powering your console). Then you can celebrate by playing some of the best videogames available for the platform!

Have you tried the Xbox 360 X-clamp repair? Did you have success? Is your device still working? Let us know!


8 Projects You Can Make With An Old Hard Drive

Don’t throw out that old hard drive from your computer! Yes, even if you got a fancy new solid state drive (SSD) or if your hard disk drive (HDD) finally gave up. Whether it’s functional or not, your old drive still has some cool uses.

What you should do depends on whether the hard drive is working or dead. But surprisingly, a functional old HDD has fewer uses than a dead one. So roll up your sleeves and check out some of these DIY projects to recycle, reuse, or repurpose an old hard drive.

For Working Hard Drives

If the drive is still working, don’t waste that space. It is still valuable storage for your data. The thing is, you don’t need to use it inside a computer any more.

1. Turn It Into a Portable Drive

Once you upgrade your laptop’s drive or run out of space on your PC, you have a functional HDD in your hands. Put it to use again by popping it into an external hard drive enclosure.

hard drives external enclosures

Depending on the drive and the enclosure, you’ll be able to use it with or without a power adapter. As a rule of thumb, power adapters are helpful for desktop (3.5-inch) hard drives, while adapters aren’t usually needed for laptop (2.5-inch) drives.

You will find plenty of enclosures and cases on Amazon. You might even want to look at a docking station for multiple hard drives. The coolest DIY solution, though, is building your own HDD enclosure with cardboard.

2. Build a NAS

In case you already have an external drive or don’t have use for one, it might be time to build your own network attached storage (NAS). Basically, your hard drive’s contents will be accessible across any device connected to your Wi-Fi.

hard drive nas diy

There are different levels of NAS. If you’re fine with spending some money, you can buy a NAS box like the TerraMaster F2-220 where you will have to do nothing but pop in the drive. If you’re on a budget and a little adventurous, you can turn a Raspberry Pi into a NAS box.

For Dead Hard Drives

If the hard drive doesn’t work any more, data storage is out. But the drive’s physical parts are still valuable. For any of the projects below, you will need to open it up and strip its parts, which is a pretty easy process. Here’s a quick DIY video:

3. DIY Magnetic Knife Block

Hard disk drives contain large neodymium magnets. We have a full guide to remove HDD magnets safely. Each drive will net you two strong magnets.

hard drive diy knife block

Instructables user tzhy shows how to use two planks to create such a magnetic knife block. You won’t need any special tools for this, but if you don’t have wood glue or other simple hardware tools around, your local hardware shop should have it.

Once you’re done, you’ll get a neat magnetic knife block that you can hang above your kitchen. Knives will stick to this block like magic, making it super convenient.

4. Cubicle Rear View Mirror (or Other Mirrors)

The platters inside a hard disk drive can act as perfectly polished mirrors. Be a little gentle while dismantling them, you don’t want chips or scratches here. But if you get it out whole, it’s the perfect mirror.

hard drives cubicle mirror
Image Credit: Michael Hiemstra via Flickr

You can get creative in your cubicle by turning this into a rear view mirror. All you need is a large thumb tack. Mount it on your cubicle, place the thumb tack in the center, and you will always see who is trying to sneak up on you from behind.

Platters can also turn into signal mirrors (i.e. a mirror that reflects sunlight to show your location). Apart from being handy in survival scenarios, it can also be a decent safety tool for bicyclists.

8 Projects You Can Make With an Old Hard Drive hard drives diy platter pocket mirror

In case a simple mirror is all you want, then platters can double up as pocket mirrors too. It’s a nice arts and crafts project.

5. Turn Platters Into a Geeky Wind Chime

If you have several old drives, harvest the platters and turn them into a wind chime. It’s an easy DIY project that puts your geek cred out there for the world to see.

Most of the project uses the parts you dismantle from a drive, like the base plate and the mount ring. You’ll need a strong line to hold all the plates, of course. Run the lines through the ring and into the corners of the plate. Attach a platter to the end of each line. There you go, your personal geeky wind chime. It’s one of the most creative upcycling ideas for drives.

6. Make a Hidden Safe With Hard Drive Case

Once you remove all the parts inside, what do you do with the hard drive case itself? Instructables user bobert610 says it makes a fantastic safe to store your stash where no one will suspect it.

hard drive safe

It’s also the easiest safe to construct. Take out all the parts, then insert one of the screws in the corner. Your “hard drive safe” will act as a swivelling case to stash your emergency money.

7. Fancy Hard Drive Clock

An old hard drive’s parts are perfect to build yourself a brand new clock, complete with LEDs and other cool bits. You’ll need to buy clock movement and hands separately.

DIY guru kipkay, host of one of the best tech channels on YouTube, has a wonderful video guide for this project. Kipkay’s method is more refined and the end product looks fantastic.

That said, he uses several parts that DIY beginners might not have, or would need to go to their local hacker-space for. Here’s a simpler version for a vertical desk clock, which looks mighty cool when you add the keyboard keys.

For Working or Broken Drives

Whether it’s functional or not, if you don’t have any use for the drive, sell it. Heck, even if you stripped the parts of a dead drive and used some, you can sell the rest.

hard drive open

You will find buyers for everything at BoardSort, a forum for electronic scrap. And as always, you can sell broken things on eBay for cash.

In case you’re selling a functional disk, make sure you completely and securely erase your hard drive – just formatting it isn’t enough. You don’t want any confidential data falling into the hands of the wrong people.

How Big Is Your Oldest Hard Drive?

Right now, the oldest hard drive I have is over 15 years old. It has a capacity of an incredible 20 GB — less than what the pen drive in my pocket has.

What’s the size of the oldest hard disk you still have today?

Image Credit: Imagine Photographer via

Afraid Of Programming In Code? Try Scratch For Arduino

I’m an Arduino novice. I’ve used my starter kit for a few simplistic projects with my 12-year-old, but outside of that I haven’t ventured further due to my fear of code. Sure, I can knock out some HTML and CSS with the best of them, but when it comes to actual programming, I’m pretty useless.

Scratch 4 Arduino could just change that. It’s not coding; but it allows novices like me to build exciting Arduino projects with a visual interface. It’s not going to teach you how to how to program, but it does teach fundamental principles that are useful should you decide to progress to “real” programming. It’s simple, it’s fun, and my son made me look like the world’s biggest moron by picking up the syntax and usage of each block while I was still watching documentation videos, in Spanish (later I found some English tutorials that I’ll link up as we go).

In short, he was well on his way to building something useful while I was still fumbling through the instructions trying to make sense of it all.

What is Scratch 4 Arduino?


Scratch 4 Arduino – or S4A – is a modification of a visual code builder built by the Lifelong Kindergarten Group at MIT Media Lab. It’s a free interactive development environment that features visual blocks that you can drag and drop onto the script area to execute without ever having written a single line of code.

S4A allows you to use these blocks to handle just about any of the tasks the Arduino board can handle, such as managing sensors, actuators, servo motors, and the like. While it does have its limitations, if you’re a novice – like me – there isn’t much you’ll run into that S4A can’t handle.

What Makes it Different From Learning to Code?

One of the main problems when coding is the idea that you’re looking at a foreign language that doesn’t have any contextual meaning. Using the block format as opposed to writing code by hand accelerates learning immensely. My 12-year-old picked it up just by playing around with it while I was still watching the instructional videos.

Once you have S4A installed, and connected to your Arduino, changes you make are reflected on the Arduino immediately, as long as it remains connected to your laptop. Technically speaking, the code is not compiled and “uploaded” to the Arduino, rather it remains running on your machine with only the sensor data being pulled from and outputs going to the Arduino.

A Stepping Stone to Programming?

If you’re serious about creating amazing Arduino projects (like an Arduino laser turret), you should definitely learn the intricacies of code at some point. In the mean time, S4A gives you an easy segue into programming by teaching you fundamentals that will transfer over, such as thinking creatively, systematically, and learning reasoning skills that are essential to programming.

In fact, schools all over the world are now integrating Scratch into their curriculum to teach children the fundamentals of programming.

Getting to Know S4A


Scratch currently works on Windows, Mac, Linux (Debian and Fedora 1.5) and Raspbian (Debian for RaspberryPi), so no matter how you intend to use it, chances are there’s a version for you. After downloading the Arduino environment and S4A, you’ll simply plug your Arduino in to the USB port on your computer, open the firmware file and select your board and firmware through the tools menu of the S4A interface.

From there, you can start dragging and dropping blocks into place and programming your Arduino.

Edit: It’s worth noting that while S4A worked admirably the first time I used it, the program was rather glitchy in subsequent attempts. At times it would just close itself, or was frustratingly laggy. I haven’t tested the platform on Windows or Linux, but on OS X, it was hit or miss. Let us know in the comments if you experience similar issues. 

Where to Start

The S4A website has several beginners projects, and while they’re not all that sexy to look at, they’ll certainly get your feet wet when it comes to creating code using Scratch. Once you’re finished with the on-page examples, the workshop materials download features several more projects as well as additional information on how to use Scratch to create code for your Arduino.

Simple projects, such as building a traffic light and toying with the code to adjust timing of a blinking LED will have you well on your way to learning the interface.

Where to Go From Here

From here, it’s all about putting the program to work for you. There are no right or wrong ways to use S4A and you’re really only limited by your imagination. If you want to learn more, the following video series does a great job of introducing S4A and showing you just what goes into creating usable code for your next Arduino project. Have fun!

Have you used S4A? What did you like or dislike about it? Do you think it’s a good alternative for the code-challenged techies out there (like me)? Let me know what you think in the comments below.

Image Credit: Script on Computer via Shutterstock

How To Create A Diy Filter For Custom Bokeh Shapes

You probably see bokeh all the time in photos. It’s basically the blur you’ll get when shooting with a shallow depth of field. The photo below by Chrissie is a classic example of the bokeh effect:

How to Create a DIY Filter for Custom Bokeh Shapes Bokeh 670x444

If you want to get this effect, you’ll need to use a lens with a wide aperture. If you’re just getting started, a good place to begin is with a prime 50mm lens f/1.8. The wider the aperture (in other words the lower the number), the more prominent the effect will be.

You might have also seen bokeh photos with custom shapes, like this image by Abby Bischoff where the bokeh appears in the shape of hearts:

How to Create a DIY Filter for Custom Bokeh Shapes Bokeh Hearts 670x447

If you want to get this custom bokeh effect, you can do this by creating a custom filter using just construction paper.

What You’ll Need

  • Black construction paper or lightweight black cardstock
  • Scissors
  • X-Acto knife
  • Cutting mat

How to Make a Custom Bokeh Filter

  1. Using a piece of black construction paper, cut out a strip of paper that will serve as your lens sleeve. The easiest way to get the measurements right is to measure it around your lens. Place your lens on its side on the construction paper, and cut a strip that will cover the entire lens. (If you’re using the 50mm, you’ll find around 8.6 inches by around 2 inches fits.)
  2. Wrap the strip of construction paper around your lens, and tape it together.
  3. Cut out a circle that will be taped to the front of the lens sleeve. You can use the lens sleeve as a guide to get the size of the lens cover right.
  4. Cut a rectangle out of the lens cover. That rectangle should be larger than the shapes you will be using for your bokeh effect.
  5. Cut squares out of your construction paper and draw small shapes on them — hearts, stars, trees, diamonds — whatever shape comes to mind. Make sure the shapes are smaller than the rectangle in your lens cover. Cut the shapes out using an X-Acto blade. If you have small shape punches you can use those instead.

Take the Photos

  1. If you can, shoot either in manual or aperture priority mode, and make sure the aperture is at its widest.
  2. Hold the shape over the lens cover or tape it to the lens cover with some low tack tape.
  3. Direct your camera at lights: string lights, a Christmas tree, anything with a lot of small lights. The small lights will be transformed into the shape you’ve cut out.

To see the process in action, check out the video below:

Do you have any good DIY tips or tricks for taking your photography to the next level? Let us know in the comments.

5 Retro Gaming Projects With The Raspberry Pi Zero

The Raspberry Pi Zero, like its original forebear, has taken the DIY and homebrew world by storm, making it possible to revise old projects and inspiring newcomers and Pi veterans with a whole host of new ideas.

Somewhat surprisingly, the lack of things like an Ethernet connector and GPIO pins has not proved a barrier – if anything, these omissions have made the Pi Zero even more suitable for projects, especially in the fevered minds of retro gaming fans. Always desperate for an 8-bit fix, these gamers, with their Olympian competitiveness and, indeed, detachment, have been working to squeeze the Raspberry Pi Zero into all manner of projects, from TV sets to existing games consoles and controllers…

Turn an Old TV into a Retro Games Console

We love this, and reckon you will too. It packages all of the high tech, compact engineering of the Raspberry Pi Zero into the spacious interior of a CRT television set, in order to turn it into a retro games console.

This project is a perfect example of the ease with which the comparative lack of USB ports and absent GPIO pins has been effortlessly overcome. With the addition of a USB hub also added into the TV’s interior space and the soldering of an RCA cable to the TV out connector on the Pi Zero board, a Pi Zero previously configured to run RetroPie can deliver a truly retro gaming experience.

Mobile Gaming with the PiGRRL

A Nintendo Gameboy Color clone with Raspberry Pi interior, the PiGRRL project – so developed, it is available in kit form from Adafruit – comes with a Raspberry Pi A+ along with display, controllers, cables, breadboard and battery, among others. However, you’ll have to find your own case, or have one 3D printed.

Now, while there’s no Raspberry Pi Zero in that video, it’s quite clear that you would be able to substitute the old Model A+ for its replacement and enjoy a device that is just as compact, playing the same Gameboy titles.

Convert an Xbox Gamepad into a Games Console

Taking the idea of squeezing a Raspberry Pi Zero into an existing games console one step further, why not slot the device into a game controller? That what Terence Eden did, and with a bit of penknife action on the controller’s innards, he soon had the Pi Zero up and running with a game controller acting as controller and case.

Check Eden’s full blog for instructions, which ended up with him playing Doom quite soon after finishing. While he is realistic about the long-term possibilities of the build:

“Not exactly sustainable from a long term POV! Nor is the BluTak used to hold everything into place.”

…there’s no reason why it shouldn’t work long-term with a slightly different approach. After all, this NES controller is also hiding a Raspberry Pi Zero (although it does require a 3D printed underside).

Stick Quake 3 in a Gaming Mouse

This idea came from the brain of the Raspberry Pi Foundation’s very own Eben Upton (who we chatted to back in 2013), so while surprising, you shouldn’t dismiss it.

Indeed, thanks to this script for building Quake 3 in Raspbian, the job is half done for you. All you should be worrying about is finding a suitable gaming mouse, one with enough interior space to fit the Raspberry Pi Zero and any cabling (USB connector from the mouse, TV out/HDMI, etc.) but with enough buttons to enable you to play without a keyboard. Don’t think it’s possible? It is.

You don’t have to use the official script for installing Quake 3 on the Pi Zero, however. This YouTube video provides an alternative method.

Imagine the Quake 3 LAN parties you could have, lugging not a laptop or an entire PC around someone’s house, but just a mouse!

Raspberry Pi Zero in a Handheld Megadrive

Finally, the cute length, width and height of the Pi Zero means that it can – in theory, at least – be placed inside an existing portable, handheld games console. YouTube user Has Beard, Plays Games certainly thinks so, and since before the launch of the Pi Zero, he’s been trying to squeeze a Raspberry Pi into a Sega Mega Drive Portable Ultimate.

As you can see in this video, the Pi Zero is the first Raspberry Pi that makes the project viable. But will it be possible to see through to the end?

Unfortunately, this project is a bit of a way off completion. We urge you to take a look at part 2 and part 3 and if possible give it a go yourself and help Mr Has Beard, Plays Games out with some suggestions.

And if you have any ideas for further Raspberry Pi Zero retro gaming projects (we reckon a Pi Zero squeezed into a keyboard would be a good start for fans of text adventures) or know of any that should be added to this list, tell us about them in the comments.

How To Control Robots With A Game Controller And Arduino

Arduinos and similar compatible boards are one of the go to devices for DIY tinkerers everywhere. Whether you are a beginner who is just getting started with Arduino or someone who has already been putting them to use in your life, they provide a platform for countless awesome projects.

Today we will be exploring a creative way to control a servo using Processing, and an Xbox360 controller. If you are already pretty game development savvy, you might be interested in our Custom Game Controller tutorial, which uses Unity.

This tutorial will assume a little prior knowledge, if this is your first foray into Arduino fiddling, you might find our Arduino guide useful here. Similarly, if this is your first time using Java it can be a little confusing. While Processing uses a simplified version of the platform, these Java concepts and tips might still help.

What You Need

control robots with game controller and arduino

  • 1 x Arduino. We are using an UNO today.
  • 1 x hobby servo. Anything that will work with the Arduino pins.
  • 1 x wired Xbox360 controller. Although this will technically work with almost any controller.
  • Several hookup wires.

In addition to these things, you’ll also need to download Processing and the Arduino IDE from their respective websites.

Preparing the Arduino

control robots with game controller and arduino

First we need to attach our servo. The wiring colours can vary here, but as a general rule red attaches to the 5v pin, and brown or black attach to the GND pin. The data line, which is usually yellow or orange, attaches to pin 10.

Check your wiring and connect the Arduino to the computer. Open up the Arduino IDE.

control robots with game controller and arduino

Open up the StandardFirmata sketch located at File > Examples > Firmata > StandardFirmata. This sketch sets up the board for external control over the serial port, and is the same one we used in our article on controlling Arduino with Python. Upload the sketch to the board.

If the upload fails, check you’ve selected your correct board and port details in the Tools menu.

Our Arduino is ready to go!

Setting Up Processing

Open up processing, you’ll be greeted with a blank sketch. Before we do anything here we will need to install a few libraries. Head to the Sketch menu and select Import Library > Add Library. This will bring up the Contribution Manager which will look familiar to any Arduino users out there.

control robots with game controller and arduino

We need to install three libraries to make this work. First up is the Game Control Plus library. This is what will allow us to use our game controller with Processing. Use the search window to find it, and click install in the bottom right hand corner. Game Control Plus needs another library installed for its configuration tool, so let’s get it now. Search for the G4P library and install it too.

Finally, we need the Arduino (firmata) library. You guessed it, search for it, and click install. With these things installed we are ready to get on with testing that everything will work. We are working with Windows 10 today, but processing is available for most platforms, including Raspberry Pi. Imagine the possibilities!

Testing the Arduino

Before we dive into creating a custom sketch, let’s test the Arduino and Servo with Processing. Open File > Examples, and select ArduinoServo from the Contributed Libraries/Arduino (firmata) folder. We’ll use this to test our servo, but first we may need to change a couple of things.

Scroll down through the sketch and find this line:


If it is commented out, remove the two slashes before println(Arduino.list());, and save the sketch. Run it, by clicking the play icon, and keep an eye on the console at the bottom. This will list everything attached to your COM ports.

control robots with game controller and arduino

In my case, my Arduino was on COM 8, which was the third port listed here. This is important as the code in the line below has an Array whose value determines which COM port to use.

control robots with game controller and arduino

We need to change this to reflect our COM port. For me, it was the third position, or index number 2:

arduino = new Arduino(this, Arduino.list()[2], 57600);

We need to make a couple of other small changes to this code to test it. Scroll down to where the Arduino pins are setup and comment out one of the lines here. Change the other one to Pin 10.

//arduino.pinMode(4, Arduino.SERVO);  arduino.pinMode(10, Arduino.SERVO);

We need to do the same thing in the Draw() method:

arduino.servoWrite(10, constrain(mouseX / 2, 0, 180));  // arduino.servoWrite(4, constrain(180 - mouseX / 2, 0, 180)); 

Save the sketch, and run it. You should be able to move your servo by moving your mouse back and forth across the window the program generates.

control robots with game controller and arduino

If it doesn’t work for you, check your Servo wiring, and check you have the right array position for your COM port. Once you know the Arduino is talking nicely with Processing, it’s time to move on.

Configuring the Controller

The Game Control Plus library we are using comes with a powerful configuration too. Make sure your controller is plugged in, open the Configurator example project, and run it. You will get a menu like this:

control robots with game controller and arduino

Click on your controller name, and a much larger configuration window will pop up.

control robots with game controller and arduino

This may look fairly daunting, but it’s designed to be as simple as possible. On the left side fill out the first key with the name you want as a variable. This variable will control the position of the servo, so I’m going to call it servoPos.

In the box next to it you can give a brief description of what it does. Now pick up your controller and move the stick you wish to use with your servo. A little experimentation shows that the right thumbstick corresponds with the X Rotation box. Drag a line between the servoPos variable, and this box.

control robots with game controller and arduino

Now we need to save our configuration as a data file. In the top right of the window, fill out the Device role field and the Filename field.

The filename is important, as you’ll be using it in your code. I’m keeping it simple by calling it xbs. Click Verify then Save. This writes a file with instructions for our controller which we can use later.

control robots with game controller and arduino

Preparing the Custom Sketch Folder

Let’s set up our working folder. Open up a blank processing sketch, and save it under whatever name you like. This will create a directory for it in the save location.

Now navigate to Documents/Processing/libraries/GameControlPlus/examples/Configurator and copy the folder labelled data. This folder contains the configuration file we just created. Navigate to the directory of your newly saved blank sketch, and paste the data folder.

control robots with game controller and arduino

Creating the Custom Sketch

Now everything is in place and we can start making a sketch using our two libraries. We’ll go through this step by step, but you can download the full sketch and data folder if you want to jump ahead. Note that you may still need to modify the code to reflect your Arduino COM ports.

Begin by importing all the libraries we will need:

import processing.serial.*;  import*;  import org.gamecontrolplus.*;  import org.gamecontrolplus.gui.*;  import cc.arduino.*;  import org.firmata.*;

We also need to declare our ControlDevice, I/O, and Arduino, along with a float to hold values from our thumbstick:

ControlDevice cont;  ControlIO control;  Arduino arduino;  float thumb;

Our setup() method creates a small window, an instance of the controller, and matches the device with our config file. This is where it is important to get the filename of our configuration data file correct:

void setup() {    size(360, 200);    control = ControlIO.getInstance(this);    cont = control.getMatchedDevice("xbs");      if (cont == null) {      println("not today chump"); // write better exit statements than me      System.exit(-1);    }    // println(Arduino.list());    arduino = new Arduino(this, Arduino.list()[2], 57600);    arduino.pinMode(10, Arduino.SERVO);  }

We also check if there is no applicable controller at this stage, and quit out of the program if needs be. While the window created with size() is not needed, it will give us some feedback later as to whether we are getting useful values from our controller. We also initialise our Arduino and pin here just like we did while testing.

Now we create a little method to grab the input value from our controller, and map it to values our servo will be able to use:

public void getUserInput() {    thumb = map(cont.getSlider("servoPos").getValue(), -1, 1, 0, 180);  }

This one line of code uses our data file to get our named control servoPos, which is linked to the right thumbstick of the controller, and read values from it. It then maps the values and stores the value in our thumb float variable.

Right now this code never gets called, we’ll fix that now.

void draw() {    getUserInput();    background(thumb,100,255);    arduino.servoWrite(10, (int)thumb);  }

The draw() is similar to the loop() method in the Arduino IDE. Every frame, it calls the getUserInput() method and updates the thumb value. It uses this value to change the red value of the background() giving us a visual indicator of the change in value. It then writes this value to the servo using the arduino.servoWrite() function. Note that we have to cast thumb as an integer value as the servoWrite function takes two integers (pin number, and angle) as its arguments.

Check your code for errors, save it, and click run. After a slight delay to initialise the Arduino, it should look like this:

control robots with game controller and arduino

Control With Game Controller and Arduino: Finished!

This project was in many ways quite in depth for the inexperienced coder, despite the fantastic libraries available to help us. What it represents is a new way to think about controlling robots, and any other devices you build.

This project would go along perfectly with our guide on building a Laser Turret, giving you full control over it. You could set up a Piezo buzzer like in our Simple Arduino Alarm tutorial and use your controller to change the pitch of the buzzer or color of the lights.

Or you could, well, build a massive robot and take over the earth. As long as you had a USB cord long enough!

10 Best Raspberry Pi 2 Cases You Can Get Right Now

There are many reasons to get a Raspberry Pi, but if you haven’t already, you should consider getting a Raspberry Pi 2 instead. Though the newer version of the RPi still has several limitations and drawbacks, it comes with more RAM and a faster CPU — which means more possibilities.

Unfortunately, it still doesn’t come with a case. The RPi can be used without one, but there are a few reasons why you should invest in one, even if it means building one from scratch:

  • Protection: Dust is a big problem for open circuit boards. Not only is it conductive (which can cause shorts between chip pins), but it can also hold moisture (which can cause corrosion). Also, when carrying your RPi around, physical damage is a real concern.
  • Convenience: The RPi is a relatively jagged device. Things can get caught on it, it can snag on things, and because of the aforementioned protection issues, you have to be ginger with it when handling and transporting. A case allows you to be a little more care-free.
  • Aesthetics: Some cases are designed purely for function, but many cases simply look awesome. If you’re going to use an RPi for something like a home media center, wouldn’t you want it to add a bit of style?

Now that you’re convinced that you need one, here are some of the best RPi 2 cases currently available on the Web.

1. Official Raspberry Pi 2 Case

If you want something safe and reliable, you really can’t go wrong with the case that comes from the Raspberry Pi Foundation itself. It doesn’t look very interesting or unique, but that’s exactly how it’s meant to be — a generic design with widespread appeal.

That being said, it doesn’t look bad at all. The top lid is removable for access to the camera and display ports, the side panels are removable for access to the GPIO port, and the RPi fits inside snugly enough. And at $13, it’s neither cheap nor expensive.

2. Modular Case by ModMyPi

This case by ModMyPi is for RPi enthusiasts. With its black stealth design and integrated LED status lights, it looks sharp and fits in well with most computer cases, peripherals, and home media devices… but the real selling point is its modularity.


The case itself is £6 plus tax, but there are a handful of add-on options for customization: £1 MicroSD card covers, £2 stackable spacers for more headroom, £1 USB & HDMI covers, and £3 VESA support mounts. It can be as cheap or expensive as you need it to be.

3. Stylish Aluminum Case by FLIRC

In order to save on costs, most RPi cases are made out of materials that can feel cheap, like plastic. This case by FLIRC, which has an aluminum frame sandwiched between two pieces of plastic on top and bottom, does not feel or look cheap — and only costs $15.

In addition, it has a built-in heatsink (with thermal pad included) that helps to redirect excess heat if you live in a high-temperature environment or want to overclock your RPi. At this price point, you likely won’t find another case that feels as solid as this one.

4. Pibow Coupe Case by Pimoroni

This Pimoroni case has a “super-slimline profile”, which basically means it’s as thin as it gets. Cases can tend to get bulky, so if you need to minimize the amount of space taken up by your RPi, this case is worth looking into.

The transparent design is polarizing in a “love it or hate it” sort of way, and that alone may turn you away.


All ports are easily accesible with this acrylic case, and it comes in five different colors. The default is red, but you can also choose from Tangerine (orange), Ninja (black), Flotilla (blue), and Royale (purple). The £8.50 price tag is pretty good, too.

5. Compact Slim Case by GeauxRobot

Like the Pibow Coupe above, this case by GeauxRobot is slim and compact, making it take up as little space as possible. In fact, it’s very much the same case, except this one doesn’t have any color.

Unfortunately, this one is also fully transparent, so if that aspect turned you away from the Pibow Coupe, it will also turn you away here and you’ll have to keep looking elsewhere. Not much else to say except that all ports are available and the construction is quite stable.

6. 2-Layer Stack Case by GeauxRobot

Here’s another case from GeauxRobot, except this one serves a completely different purpose. Instead of minimizing space used, it lets you stack two different RPis on top of each other and leaves both open for improved air circulation.

If you don’t have two RPis, you can still use this case in a modified way: mount the RPi to the bottom and take out the middle divider, effectively giving your RPi extra room for a shield on top (or whatever other ideas you might have).

7. Zebra Black Ice Case by C4Labs

The Zebra case from C4Labs is simple but effective. The RPi locks firmly into the case so that it doesn’t rattle around and risk damage, and it has heatsinks for the CPU, RAM, and USB controller, plus vents for better air circulation.


This case also comes in three wooden flavors if the black aesthetic is too sharp for you: Zebra Wood, Zebra Walnut, and Zebra Maple. Black and Wood are available for $14.50, while Walnut and Maple are slightly more expensive at $15.75.

8. LEGO-Compatible Case by Smarticase

It’s common to see DIY cases made out of LEGO pieces in the RPi community, but this consumer case from Smarticase takes it to the next level. It’s mostly a regular case made of plastic, except that it has LEGO-compatible panels that you can use however you want.

What’s nice is that the case uses the LEGO panels as a way to stack with itself, so if you have multiple RPis that you want to combine in a way that isn’t permanent, this is a viable solution. The case has built-in wall-hanging eyelets and is even compatible with GoPro mounts.

9. 3D Printed Case by 0110-M-P

If you want to go the DIY route, 3D-printed cases are more popular — and more practical — than LEGO-made cases. Of course you’ll need a 3D printer in order to make of these for yourself, but the good news is that there are several cheap 3D printers available right now.


This particular case comes from /u/turbocharged110 on Reddit, also known as 0110-M-P on Thingiverse (a community for 3D printing blueprints). The design looks awesome enough to be sold as a real product, but fortunately you can download the blueprint for free.

10. Sleek & Cheap Case by Geek World

Lastly, we have a simple case that’s sold by Geek World on AliExpress. Shipping will probably take several weeks, especially if you live in the U.S. or the U.K., but for less than $4, you really can’t complain — plus, you’re getting more than just a case.


Not only does it look sleek and modern, but this case comes with a fan that helps dissipate extra heat. (Great for overclockers!) The default color is black, but you can make note in your order whether you’d like the white or clear variants. Value-wise, you can’t ask for better.

Which Case Is Your Favorite?

Once you’ve learned the fundamentals of operating your RPi, be sure to fit it with one of the awesome cases listed above. If the RPi 2 seems a bit overkill for your needs, consider checking out the $5 Raspberry Pi Zero or an Arduino micro-controller instead.

Now you tell us: which of the cases above do you like the best? Are there any other notable RPi 2 cases that we missed? Share your thoughts with us in the comments below!