This is my first Raspberry Pi. I’ve bought it as an XBMC home-theater box (and a “we’ll see later on what else”).
One of the annoying things I’ve found out right away was that it didn’t have a reset button. You can politely shut down the thing from software, but how do you turn it back on? This is especially important in the beginning when you’re still “breaking it in” and have to reboot often (or even crash).
I’m lazy, so my first response was to shrug it off and resort to the ugly trick of disco/reconnecting the power.
This worked for a while, but then I needed WiFi and the adapter I had was of the kind that needed a powered USB hub. The problem with a powered USB hub is that disco/reconnecting the power isn’t enough for the Pi as a hint it should restart.
There’s an official way to reset a Pi: You simply short the 2 pins of the p6 header (in RaspMap you can see it at the bottom, a bit to the left the HDMI connector).
The only question is, how can a dude with soldering skills as poor as mine achieve that without messing up this nice and expensive board?
 In the picture you don’t see the WiFi dongle (because the TV is at the moment close enough to the router to allow a cable). You also don’t see the sweet but power-guzzling audio system. Anyway, the Pi can get nasty if it doesn’t get enough power (I had problems until I’ve switched to a 2A power supply), so you don’t want USB devices to steal power from it and any practical media center is likely to end up with a powered USB hub (and the need for a reset button).
Step 1: Let’s make one
Specifically: a push button shorts between the red (Vcc) cable and yellow (signal) one (the other 2 cables are not interesting in this case), so we can connect the breakout cable to the button, and simply stick the yellow and red pins to the p6 holes.
How can we keep the Pins in place without soldering?
We can reuse the cable came with the push button (see second picture): after passing the pins through the hole, we stick them into the holes of the cable’s connector. Doesn’t matter which pin goes there since we only use the connector as a “physical cork”. We simply cut away the rest of the cable and leave the connector.
But now the board is unbalanced and wobbly
Well, it has a grove connector stuck underneath it, so we need to add supports that would even the height (see third picture). There are 3 (component and header free) surfaces that need a Grove-connector-high support in order to stabilize the board. I’ve used a product exotically named “[to be fixed the] Woolen Glue [on your love things]” (3 layers of “woolen love” are as high as a grove connector), but there are other options. For example – several layers of foam tape (stick the bottom of each to a piece of plastic so that the Pi doesn’t stay glued to the first thing you put it on 🙂 ). The important thing is that there are 3 component/header-free spots where you could add Grove-connector-high support and to get the board as balanced as they come.
Is “as balanced as they come” good enough?
Well – almost. The fiercest force in the Rasperry Pi’s natural habitat is the HDMI cable. No matter what you do, the connector at the end wants to twist to some ureasonable angle, and once you connect it to the pi, it would end up standing (or lying on its back) in the sloppiest and most ridicilous angle possible.
Here’s the cure (see fourth picture): Before connecting the HDMI cable to the Pi, you let it loop a single loop and loosely tie the cable to itself at the crossing point with a twist tie. Now you can twist the HDMI cable’s head until it’s parallel to the floor, then tighten the twist wire and you’re done.
For more detail: Cheap solderless reset button for Raspberry Pi