Tech

How to Make a Computer

A DIY for the aspiring hacker.

What I’m about to show you is, no joke, the most exciting thing to happen in computing since the 1970s. Earlier this year, a small team of engineers in the UK who wanted to get kids interested in computer programming started making credit-card-size computers and selling them for $35 apiece (cheap enough that kids could buy them, and not be afraid of breaking them). They thought they would sell 10,000 in the first year. Seven months later, they’ve sold half a million. Their invention, the Raspberry Pi, is way more than a tiny computer—it’s the heart of a hacker movement.

If you were a teenager in 1976, a personal computer looked like this:

Apple I innards, photo by Geni, Wikimedia Commons

To make it do anything, you would need to add a keyboard, a power supply, a case, a TV, and tons of patience and know-how. Nowadays, computers are everywhere and everyone uses them, but nobody seems to wonder why or how they work.

Most electronics today are what are called “black boxes.” They are built to keep users out; the computer industry (dominated by Microsoft and Apple) doesn’t really want us opening up their machines and messing around with their insides. They would rather have us buy the newest, shiniest thing, rather than repair or modify old computer parts on our own. (The latest MacBook Pro, for example, might be the least hackable laptop ever made. They even use proprietary screws to make it almost impossible to get inside!) The big companies love compliant, unquestioning customers, and they treat us like children (with a lot of money). What they don’t like is hackers.

A common misconception is that hacking = accessing other people’s computers. (See: any movie or news story about “hacking.”) But the true meaning of hacking is much broader—it’s about problem-solving, rejecting limits set by outside forces, curiosity, and a true DIY spirit. In tech terms, it includes reverse engineering (taking stuff apart to learn how it works) and modifying electronics to suit your own needs and to answer your own questions. I like this video of Limor Fried (one of the most influential electrical engineers in the world) where she describes a hacker as “not somebody who breaks into something, but somebody who breaks out of something.”

The Raspberry Pi can transport us to those fun days of the 1970s when a computer was just a circuit board and a central processing unit, and the rest was up to you. But unlike in the ’70s, when these assembly-required computers cost hundreds if not thousands of dollars, the Raspberry Pi costs only 35 bucks. I got mine this summer, and I’ve had a lot of time to tinker with it, so I put together this DIY to get you started on hacking.

But before I get into the technical how-to, I want to share some of the really cool stuff you can do with your soon-to-be computer. Of course you can do all the normal things that you’re accustomed to doing on your Mac or PC, like watch The X-Files and write your novel. But with a Raspberry Pi, you can do so much more. You can use it as a robot brain, or a spy gadget. You can even put it in a balloon and send it into space. It can pretty much do whatever you design it to do, which is exactly what makes it so special.

On left, Raspberry Pi enthusiasts Anthony Stirk and Dave Akerman getting ready to send their computers into space. On right, a photo taken by the Raspberry Pi from near space. Photos by Dave Akerman.

So let’s get hacking.

I know that at first, looking at these instructions might make you want to run for your life. But don’t panic! I assure you that you can do this. Don’t worry about the technical language—those are just names of parts you’ll gather and use to make your computer. And once it’s done, you’ll be one step closer to doing things like sending your Pi to space, or making this amazing magic wand.

What everything looks like.

What you’ll need (see photo above):

  1. Raspberry Pi, Model B: $35. I got mine from this site, which ships all over the world. You can also buy one for slightly more at Limor Fried’s website.

  2. A micro-USB power supply: Under $10. If you have a generic (non-Apple) phone charger, that will do.
  3. A composite video cable (CVC): You probably already have one of these—it’s a cord with yellow, red, and white plugs. Just use the yellow part. If not, you can get a CVC for pennies. (If you have a newer TV or computer monitor you might need an HDMI cable instead. These are in the $5 range.)
  4. A USB keyboard and mouse: These are the kind that attach to your computer with a USB cable, not the keyboard and trackpad on your laptop. You might already have these; if not they’re about $15 each.
  5. An SD card: 2GB minimum size, 8GB recommended; $6.50. This is a memory card that you’ll need to start your homemade computer.
  6. An SD card reader/writer: $1.20.
  7. An ethernet cable: You probably have one of these—they’re the cables whose ends look like old phone jacks. If not, you probably have $1.75.
  8. All kinds of other circuit boards, microcontrollers, wires, battery packs, LEDs, etc. (optional): These are great if you are into using your Raspberry Pi to control lights, sensors, buttons, and even robots.
  9. A wireless USB adaptor (optional): This tiny part will add Wi-Fi access to the Pi, eliminating the need for the ethernet cable.
  10. A powered USB hub (optional): The Raspberry Pi has only two USB ports for connecting peripherals like printers, scanners, storage drives, and cameras, but you can add on many more with a hub.

You might also need/want (not pictured):

  • A case: I got this one at Adafruit for $20. You can also make your own.

  • A TV set: If you don’t own one, you can get one for $10 at a thrift store. Or you can use a computer monitor instead.
  • Access to another computer and the internet.

Putting it all together:

Steps 1-6, illustrated.

1. Take the SD card and the card reader and plug them into a computer with an internet connection. Then, download and copy an operating system (OS) to the SD card. I suggest you start with Raspbian Wheezy, available here. If you are using a Mac, follow these instructions for putting the OS on the SD card. If you are on Windows, follow these instructions. And if those instructions really freak you out, you can cheat and buy an SD Card with the OS pre-loaded from eBay.

2. Insert the SD card into the slot on the bottom of the Pi.

3. Plug one end of the ethernet cord into your Pi, as shown above, and the other one into your modem or router (whatever you use to connect to the internet), to get internet access on your Pi.

4. Plug in your mouse and keyboard.

5. Plug your video cable into the Pi, and then into the TV or monitor.

6. Plug in your power cord first to the wall, and then to the Raspberry Pi. The Pi has no on/off button. If everything is set up right, you should be seeing a solid red light labeled PWR, and a flashing green light labeled OK. On the first boot, it might take a minute for anything to appear on the TV/monitor. The first thing you will see is something like this:

This is the kernel (the bridge between the computer’s hardware and its interface) booting, and the computer reporting to you exactly what it’s doing. Eventually it will stop and ask you to log in.

7. When asked for a username, type “pi” and hit enter. Then you’ll be asked for a password; type “raspberry” and hit enter again. Type the password carefully; it won’t display on screen. But if you get it wrong, the computer will let you try again. (You can change your username and password later.)

8. You will now see a configuration menu. This is where you set up your Raspberry Pi to recognize your keyboard, display the correct time, etc. Use the tab and arrow keys to move around, and the enter key to pick options. A couple things that might not be self-explanatory: There is an option to “expand root partition to fill SD card.” You definitely want to enable this—it will allow you to save more software and files onto your SD card. There’s another option to “start desktop on boot.” If you want your Raspberry Pi to look like a Windows or Mac startup screen (otherwise known as the graphical user interface, or GUI) when you boot it, enable this one too. If you are using a TV (especially an older one) instead of a monitor with your Pi, enable the option called “change overscan” (if you’re using a computer monitor, you’ll probably want to disable this to fill the whole screen). (If you need more help, there’ s a good configuration guide over at the elinux Raspberry Pi forums.

9. If you are still in the command-line interface (where it looks like lots of lines of text on the screen, as in the picture above), type “startx” and press enter to launch the GUI.

And, that’s it. Welcome to your new computer! At first, the system might feel a little strange to you. That’s because you’re in Linux, an operating system that you might not have seen before, but which is pretty simple to get the hang of. The Raspberry Pi can run a variety of Linux distributions, but the one I recommend, Raspbian Wheezy, is the best/easiest one to start with. The great thing about Linux is that basically all the software made for it is free, and open-source, which means everyone has access to the code, so anyone can mess around with how it works.

So, let’s say you want a free alternative to Microsoft Word on your Raspberry Pi. You just open up the terminal and type:

sudo apt-get update [enter]
sudo apt-get install libreoffice-writer [enter]

and the machine will download the source code from the internet and enable it to run on your computer. There are Linux alternatives to most software you can buy for Windows/Mac. Here is a short list:

  • Photo editing (e.g., Adobe Photoshop): GIMP (sudo apt-get install gimp)
  • Fast web browsing (e.g., Google Chrome): Chromium (sudo apt-get install chromium-browser)
  • PDF reader (e.g., Adobe Acrobat Reader): evince (sudo apt-get install evince)
  • Gaming emulator (e.g., MAME): Instructions here.

So now you’ve done it! Or at least you’ve bothered to scroll to the bottom of this page. Either way, it means you’re pretty awesome. And there are tons of awesome people like you out there in the Raspberry Pi community. There’s a fanzine, an official forum, and in-person meet-ups. You can also add yourself to this world map of Raspberry Pi owners and look for friends locally that way.

Even if you’re not super interested in making your own computer, you can still apply the hacking philosophy to your everyday life. So many things are presented to us as black boxes that are the way they are, and we’re not supposed to question why they are that way, or to poke around and see if they might work better with a few adjustments. We’re not invited to mess with the status quo. But as hackers, it’s our responsibility to examine, tinker, and improve. That doesn’t just go for computers; it goes for everything. ♦

68 Comments

  • Amy Rose November 2nd, 2012 3:24 PM

    Coolest thing ever.

  • Laia November 2nd, 2012 3:36 PM

    holy MOLY! ROOKIE I CANT BELIEVE HOW AWESOME YOU ARE.

  • aliastro November 2nd, 2012 3:41 PM

    This post is so amazing! I just got this: http://www.makeymakey.com/
    I bet together with Raspberry Pi, I could do some awesome stuff. I’ve gotta learn more about hacking.

  • ebichu November 2nd, 2012 3:43 PM

    I’m actually considering to do this since I got a TV laying around doing nothing! Rookie is the coolest

  • bibliovore November 2nd, 2012 3:43 PM

    AHHH this has blown my mind a little. I am so doing this when I have an extra $35 to spend.

  • firky November 2nd, 2012 3:46 PM

    Beautiful. Just Beautiful. I was literally trying to figure this shize out recently, and just gave up. so thank you.

    • Jes November 2nd, 2012 4:17 PM

      I appreciate your use of the phrase “Beautiful. Just Beautiful.” :)

  • mdoodle13 November 2nd, 2012 3:49 PM

    Rookie hackers UNITE!

  • Kathryn November 2nd, 2012 3:56 PM

    SO COOL

  • Abby November 2nd, 2012 3:57 PM

    Although I am WAAAYYY too computer-useless and lazy to actually do this, it’s really cool!! I had no idea you could do this! I thought only crazy-smart computer geeks figured this shit out… Well, that just goes to show how computer-illiterate I am…

  • nia November 2nd, 2012 4:01 PM

    Oh Rookie. You are unfailingly spectacular. I will definitely try this out if my poor laptop ever suffers an attack.

  • sweetvalleyhi November 2nd, 2012 4:02 PM

    COOLEST DIY EVER EVER CALLS FOR A CHICKA CHICKA YEH AND SOME TEARS OF JOY

  • Libby November 2nd, 2012 4:08 PM

    Officially the coolest Rookie post, ever. I am am really not that hot at technology, but trying to learn coding, and this looks awesome too.

    • prion November 2nd, 2012 6:52 PM

      if you’re trying to learn some coding, then I suggest you check out codeacademy.com

      they don’t have the big two languages (C++, Java), but they have lessons on other languages that lay out the basics of object-oriented programming.

  • taste test November 2nd, 2012 4:09 PM

    this is the best article. oh my god.

    after my last laptop broke, I really wanted to build a computer from scratch and put some open-source OS on it. then anything that went wrong with it would be 100% my problem to fix. that sounds like a nightmare to most people, but I’ve been through so many computer problems that not having to rely on anyone for tech support sounds amazing to me. unfortunately, bringing a homemade computer no one could help me with to college did not fly with my parents, so now I have a mac. it works great, but it’s like the absolute opposite of what I wanted to do. oh well. I am still determined it will happen someday.

    • Afanen November 3rd, 2012 5:30 AM

      You may find the idea charming, that you can install a Linux based OS on your Mac. You can even shrink the part of your hard disk where MacOS X is on, and configure your Mac to dual boot. This means when you turn on your computer, you will be able to select whether to boot into MacOS or Linux.

      Here’s a HowTo for that: http://johnatilano.com/dual-boot-mac-os-x-and-linux-mint-9-on-a-macb

      If you feel less daring, install a virtual machine, such as VirtualBox (although it’s owned by Oracle now –>evil corporation!). A virtual machine is a software that sort of simulates a PC, and allows you to install an operating system inside it. So you’ll end up with a window running another OS. Since it behaves like a second computer, you cannot screw up Mac, when you screw up the OS in the virtual machine. It’s easy, and good for experimenting.

      If you have 35 bucks to spare, get yourself a Pi though. It’s really satisfying to get a real piece of hardware to work, and it will cooperate with your Mac flawlessly.

  • Laura Lemon November 2nd, 2012 4:10 PM

    Um… Rookie is the best. and so are DIY computers. I AM SO EXCITED TO TRY THIS!!!!

  • Lola November 2nd, 2012 4:37 PM

    standing up and cheering but then having to sit down because i couldn’t write this comment standing

  • Delilah November 2nd, 2012 4:41 PM

    Awesome. And I really appreciate how you matched your nail polish to the board.

  • Mary the freak November 2nd, 2012 5:18 PM

    It is creepy how perfect rookie is.

    http://birdiewearsatie.blogspot.com/

  • herdinthehalls November 2nd, 2012 6:10 PM

    I got an arduino board this summer and I’m still trying to figure out what I would do with it! :D

  • emilycarolina November 2nd, 2012 6:20 PM

    This is amazing. I actually took a class at school this year and they gave everyone Raspberry Pi’s but I left the class because I got bored and didn’t know what to do with it.

    I wish I had stayed in the class, because I didn’t know the Pi was capable of being a computer!

  • letthemeatkake November 2nd, 2012 6:32 PM

    This is absolutely perfect! I just excitedly ran downstairs to tell all of my friends about this article (I live in an apartment with a bunch of computer science majors and engineers). I’m glad to see Rookie continues to feature articles that are fun and informative (diy and open source for the win!). I bought my Raspberry Pi recently and it’s a blast :)

  • cicconeyouth November 2nd, 2012 6:39 PM

    Thank you so much for this post! I’ve been eying the Raspberry Pis for months but felt too intimidated to try. I’m reinspired to attempt an electronics project!

    A rad resource for both info and materials for electronic building is Adafruit (http://adafruit.com/). The owner is Limor Fried, a total badass and hero of mine. She’s the first female to ever be on the cover of Wired magazine: http://www.wired.com/magazine/2011/03/ff_adafruit/all/1

  • georgie fruit November 2nd, 2012 6:48 PM

    there is a lot to love about this post, but can we all just take a moment to appreciate the cat in the top photo? that cat is awesome.

  • GlitterKitty November 2nd, 2012 6:52 PM

    Mind blown.

  • prion November 2nd, 2012 6:56 PM

    Thank you for this post! I’m a computer science major and it’s tough when I’m often the only girl in the class. I hope that there are more girl Rookies out there interested in STEM (science, tech, engineering, math). We are a severely underrepresented minority.

    Perhaps the Rookie community will even band together to create some opensource project.

    • Anaheed November 2nd, 2012 7:15 PM

      Um, that would be awesome.

    • Maddy November 2nd, 2012 8:13 PM

      heyyy STEM rookie! Yeah I love math and CS. All you CS girls should apply for this award https://awardportal.ncwit.org/ It ends soon but you can get college money and recognition, even if you’re just really into computers!

    • Bree November 2nd, 2012 9:50 PM

      I’m in cs at my high school, and also one of the only girls. It can be super awk because guys act very differently when there are no/few girls to impress! Best of luck to you :-D

    • jeans kinda girl November 2nd, 2012 11:04 PM

      love STEM! Anyone have a Science and Technology program @ their HS? Go ERHS!

  • taylorhotel November 2nd, 2012 7:33 PM

    This is so cool. Computers are awesome, and I agree with prion in that girls are vastly under-respresented in technology and science. Maybe look to Lisbeth Salander for inspiration here? (of course Lisbeth would be in addition to Maggie, because Maggie seems cool as hell)

  • umi November 2nd, 2012 7:43 PM

    well, this is THE most AMAZING thing ever in the entire universe. and i am totally doing this i’m so exited i could cry

    THANK YOU THANK YOU THANK YOU THANK YOU i’m gonna go tell my dad about this and make a freaking computer~~~~

  • Maggie November 2nd, 2012 7:43 PM

    Rookie hackers rule! If anyone needs some extra help, feel free to email me:
    lonercomics@gmail.com

  • Erykaneisha November 2nd, 2012 7:47 PM

    This is too cool. I shy away from these types of things because I feel so clueless & intimidated but thank you for the encouragement!
    I really want to try this out now :D

  • Maddy November 2nd, 2012 8:16 PM

    It’s weird because I’m a creative person and I <3 coding and computers, but I lose all creativity and interest when it comes to building computers or “hacking” (be it hardware or life). I have no idea why. Like, I’ve done well with Arduino things but only with guidance. And even though I wade through code plenty, I get kinda scared off by anything that contains the words “sudo” “emacs” or “vim” (someone PUH-LEASE explain what the whole emacs vs. vim thing is?!)

    But this was super awesome and I want a Raspberry Pi for the holidays now. But I’m a bit afraid I won’t be able to get it running (and then change stuff around with it). But thanks, Maggie!

    • Pashupati November 2nd, 2012 11:48 PM

      The emacs vs vim thing, I guess you’re asking about people trolling about it.
      It’s like, you like This Band, I like That Band, they both play That Genre of Music, and we’re gonna debate aggressively about it to show that we are knowledgeable about That Genre of Music.
      Except with text editors.
      To prove your computer geek credentials, or something. Personally it’s scares me.
      Now, I’d say someone could just try them both and their GUI counterparts (gVim, cream… sorry I don’t know about emacs.) and see what they prefer or maybe they’d even prefer another text editor like Geany or or or.

      Maybe for motivation at doing things, you should try doing stuffs with other persons. I don’t know if people do things at meet-ups like mentionned in the article, if so try there, or try a makerspace/hackerspace.
      Talk about your idea to people and they’ll maybe be interested in helping/encouraging you if needed, and meet-ups/hackerspaces may be more fruitful/less stressing than meeting individual persons…

      What would be cool is an article on Rookie with stuffs rookies did with their Raspberry Pi!

    • Afanen November 3rd, 2012 5:42 AM

      If you love computers and coding for yourself, you are already a member of the hacker-familiy. ;-) Getting into things is what hacking is all about.

      Don’t be scared about things, whether it’s sudo (which is the command that makes you the “root” user on your computer) or an editor such as vi (vim) or emacs.

      Actually the emacs vs. vim thing is a bit like Pashupati wrote: Like a contest between bands. Some people can be rather passionate about it, but in reality it doesn’t matter.
      Both are really good editors, and both have a bit more complex handling then, say, Windows Notepad (That’s because they can do so much more).

      Personally, I prefer vim, but that really is just a matter of personal preferences. Emacs is so loaded with functions, that it is almost an operating system on it’s own (mean people say it lacks a good editor though), so you can even read your e-mail and surf the web without leaving your favourite editor.
      Vim is just an editor, but as a coder, you’ll love all the helpful functions (code completion, highlighting, calling your compiler, and support even for exotic programming languages).

      Both programs a bit of work to learn, because they are not really intuitive to use, but once you get a hang of them, you’ll wonder how you ever could live without them.

  • Maddy November 2nd, 2012 8:18 PM

    also the link to installing on SD cards on Macs is broken. did you mean http://elinux.org/RPi_Easy_SD_Card_Setup#Copying_an_image_to_the_SD_Card_in_Mac_OS_X_.28mostly_graphical_interface.29 ?

    • Anaheed November 2nd, 2012 8:54 PM

      Thanks Maddy — is it working for you now?

      • Maddy November 2nd, 2012 9:33 PM

        Looks like it! I haven’t tested the instructions, so I don’t know if that’s what Maggie’s talking about though.

  • molassesrotblackstrap November 2nd, 2012 9:07 PM

    i know what i’m doing next weekend.

  • aliceee November 2nd, 2012 9:26 PM

    so cooool

  • Bree November 2nd, 2012 9:56 PM

    I thought this was super lame (uhh, 256 mb ram??) until I saw the part about this being only 35 bucks! That’s insane! I thought I’d never be able to build my own computer because hardware + software = several hundred dollars = impossible for most teens. Now I’m really excited to show my Apple worshipping friends the computer I’ll make for 35 times less than their store-bought computers! Thanks bunches, and hack on. Seriously Maggie and Rookie, this is one of my favorite articles yet!!

  • Jenny November 2nd, 2012 10:06 PM

    This is beautiful.

  • Pashupati November 2nd, 2012 11:31 PM

    It’s truly cool and surprising to see an article on Raspberry Pi here! <3

  • PandaJane November 2nd, 2012 11:51 PM

    this is a really cool article. i feel excited & enlightened, like being little & watching a “the way things work” episode, minus the wooly mammoths. paring away something to reveal the more basic components makes it seem even more amazing (be it a computer, human body, weather, bird in flight, car, &c.) when you can see & appreciate how it really works in its most rudimentary ways. and the last paragraph/closing thoughts are a great addition & good advice for all!

  • Yani November 3rd, 2012 12:22 AM

    best article to ever grace rookie, look inside the black box / outside it. quantum physics, wave not a particle! but see i’m both!

  • Elaise November 3rd, 2012 5:24 AM

    I’m not so much into gadgets but this is the coolest thing ever and I can’t wait to get my hands on a Raspberry Pi!

  • meels November 3rd, 2012 6:16 AM

    My dad is totally obsessed with Linux and keeps talking about raspberry pi. Never thought I’d hear you guys talk about it! Im more intrigued now, sounds kinda fun!!

  • miau November 3rd, 2012 8:08 AM

    This is such an awesome article! A friend of mine just received their raspberry pi and I’m kind of considering getting one myself! It seems like there’s a lot of really inventive ways to use it!

  • ulzo November 3rd, 2012 1:00 PM

    As a CS girl, I obviously already know what a Raspberry Pi is, and have one. But just the fact that I came on this website to find a nice combination of outfits for a party and instead FOUND THIS! amazes me. just thought i would say that. :D

  • LilySew November 3rd, 2012 9:05 PM

    Woahhhh – this is such an awesome little thing with a cute name (raspberry pi, naww). I think i will have to get my hands on one and turn it into a weekend project.
    :D :D

    http://rebeccaandlillian.blogspot.com.au/

  • DreamBoat November 3rd, 2012 9:39 PM

    OMG I’M NOT EVEN THAT INTO COMPUTERS BUT THIS IS TOTALLY INSPIRING ME TO BE COOL AND MAKE ONE.
    ILY ROOKIE <3

    http://psychedelicdaisy.blogspot.com

  • ivoire November 4th, 2012 2:23 AM

    I CANNOT BELIEVE THERE IS AN ARTICLE ON THIS OH MY OH MYYY YYYYYMLKREK
    I am so so so doing this. AHHHHHHH

  • ♡ reba ♡ November 4th, 2012 11:59 AM

    ah so cool!! a boy i sit next to in art showed me one of these a while ago, made me question everything electronic

  • the arctic gnome November 4th, 2012 12:39 PM

    O MY BAJEEZLES really needed this thankyou so much omg hi woo

  • yourenotfunny November 4th, 2012 1:52 PM

    I LOVE THIS ARTICLE! Even though I’m pretty tech-illiterate, I feel like i should know a little more about a device I use almost daily. I love seeing these kind of DIYs on Rookie, that cater to girls with lots of different, awesome, obscure interests and I hope this month’s theme allows for a lot more of this type of content.

  • eliselbv November 5th, 2012 4:02 AM

    This is just unreal!!!! Rookie is more and more awesome

    http://www.iloveyourjokes.blogspot.com

  • mayaautumn November 5th, 2012 3:57 PM

    omafg. OMAFG!!!!!
    this is so cool.
    i am GOING to make a computer.
    you see, i am skilled with circuit boards and shizz because we spent an hour fiddling about with them and school today so yh.!

    http://mayathapapaya.tumblr.com

  • venusinutero November 9th, 2012 11:51 AM

    I am so blown away at the amount of diversity Rookie has to offer. This is incredible and an excellent representation of the STEM community.

    I am not very hardware savvy (I’m more of a software kind of gal) but I really cannot wait for the semester to be over so I can free up some time to do this.

    Rookie don’t go changin’ kk?

    <3

  • rivahgirl November 28th, 2012 6:52 PM

    I just ordered mine! I’m so excited!

  • Cutesycreator aka Monica January 14th, 2013 1:31 PM

    THIS. IS. EPIC. I am so totally gonna do this.

  • love_soup February 2nd, 2013 4:07 PM

    great article!

  • ueno54 May 29th, 2013 10:58 AM

    This is so so so cool!!