Six years ago, Raspberry Pi founder Eben Upton set out to reignite programming in schools with a cheap, compact computing platform. Despite targeting students, his foundation's $35 computer captured the imaginations of tinkers worldwide, resulting in overwhelming demand. Interest was so high, that distributors Premier Farnell and RS buckled under the strain of preorders in February. The former outfit later said demand was 20 times greater than its supply, with orders hitting 700 a second at one point.
When the first 10,000 devices shipped in mid-April, the organization graciously sent us a sample for coverage. Along with a hands-on review of the Pi, today we'll be covering basic steps for setting up the computer and other elemental post-installation tasks to get you up and running with applications. In other words, this should serve as a starting point no matter what you want to do with your Raspberry Pi.
We received a Model B ($35), which is powered by a Broadcom BCM2835 SoC that includes a 700MHz ARM1176JZF-S CPU core, 256MB of RAM and a Broadcom VideoCore IV GPU with OpenGL ES 2.0 that supports 1080p at 30FPS as well as H.264 and MPEG-4 high-profile decoding for smooth Blu-ray playback. Connectivity includes two USB ports, Ethernet, HDMI, RCA video, an SD card slot, a 3.5mm audio jack and two rows of 13 General Purpose Input/Output (GPIO) pins for further expansion.
The Model A ($25, to be released at a later date) ships without Ethernet and has a single USB port. Both models measure 85.60mm x 53.98mm x 17mm, although the SD card and connectors overlap the PCB board edges. Besides the Raspberry Pi itself, you'll also need various other items before you can configure and use the device:
- 5v micro-USB power adapter with at least 700mA (many micro-USB phone chargers work).
- SD card, or micro-SD card in an adapter, with the OS preloaded (4GB to 32GB recommended).
- USB keyboard and mouse (PS/2 to USB adapters might work, but we haven't tested this).
- Powered USB hub if you intend to have more than two USB devices connected.
- Display or TV with HDMI, DVI, Composite or SCART.
- Ethernet cable.
As indicated, the Raspberry Pi uses an SD card for storage. Both of distributors sell preloaded SD cards, but they're easy enough to make yourself if you have a spare card laying around. Currently you can use the Unix tool "dd" to perform the task, or for those using Windows, "Win32DiskImager." We assume you're on Windows or you probably wouldn't need this guide. Before we get started, download the latest Debian Squeeze image and Win32DiskImager. Insert the SD card into your PC if you haven't yet.
Extract both archives and start the imaging tool by double clicking Win32DiskImager.exe. It should find your SD card as the application starts and display it in the top right hand corner of the window. Click on the folder icon, then navigate to and select the Debian ISO you extracted. Double check that the correct drive letter is selected, then click on "write" to load the image. This'll take upwards of five minutes.
Once the process is finished, a popup will notify you that the write was successful. Close the box, exit the application, unmount the SD card from your PC and attach it to the Raspberry Pi. Assuming everything went well, you're ready to fire the device up. The first time the computer boots from the SD card it will automatically configure itself. It will then reboot and load up once again to the login screen.
The default username for Debian is pi and the password is raspberry. You can then load the LXDE desktop environment by entering startx. A few moments later, the desktop will load up as below:
Applications can be found by clicking the icon on the far left of the toolbar, similar to the Start menu in Windows. Creating a user account and updating the OS in Windows is pretty straightforward, but the steps are different in Linux. To create a user account, click on the menu, open the Accessories folder and select LXTerminal. In the terminal window, type sudo adduser username and press enter. For example:
Debian will create the user and prompt you to set a password, as well as other personal information. Fill in the applicable fields and type y to confirm the information is correct. The result looks like this:
With your account created, we can add it to the sudoers list. This will let you issue commands as an administrator. Working in the same terminal window, enter the command sudo leafpad /etc/sudoers.
Leafpad will load the Sudoers file. Under the heading "# User Privilege specification" add the following text, username ALL=(ALL) ALL for the new username exactly as it is displayed for the user pi:
Select File and Save, then close Leafpad to finish. Now you've created an account and given it the ability to perform administrative tasks as sudo, which is needed for updates and new packages or applications.
Unlike Windows, Debian is traditionally updated from the terminal. To check for and install updates, you can use the following command: sudo apt-get update && sudo apt-get upgrade as seen below:
Similarly, you can install supported packages through the terminal with sudo apt-get install packagename. Debian has various packages pre-installed, ranging from the web browser, Midori, to a music player as well as programming and educational applications. Popular packages are also available if you need more than the stock software. We may cover some of these programs in future guides.
As is the case with Linux in general, wireless can be a bit patchy with the Raspberry Pi. If you want to use wireless, the organization has information on its Wiki regarding USB Wi-Fi hardware. Wireless niggles aside, USB external hard disks and flash media will automatically mount when inserted in Debian and full read/write support for NTFS is also included, in case you need to access a Windows-based drive.
Considering its price, the Raspberry Pi is quite remarkable. It's obviously no powerhouse, but $35 gets you a system capable of office work, light image editing, browsing, programming, emailing and so on. The Pi's versatility makes it suitable for various dedicated roles too, such as a torrent box downloading through external USB or network drives, or as an XMBC-based HTPC, which we might cover eventually.
It's easy to lose track of the Pi in-between other regular-sized devices.
Although there are many obvious uses for the Raspberry Pi, the platform's open nature means your imagination is the limit. It'll be interesting to see what the community cooks up in the coming months. We'll be watching and posting our own how-to guides when time comes.