RPi Hardware

Introduction
The first product is the size of a credit card, and is designed to plug into a TV or HDMI monitor. It comes in two variants, model A and B, with B having more features. The expected price is $25 for model A and $35 for model B. The GPIO pins on each board allow the use of optional expansion boards.

Those who are looking to set up a Raspberry Pi for the first time, see RPi Hardware Basic Setup.

Components
(Provisional - some of the expansion interfaces won't be available on production boards) (PCB IDs are those of the Model B Beta board)


 * SoC: Broadcom BCM2835 media processor (datasheet, BCM2835 datasheet errata) system-on-chip featuring:
 * CPU core: ARM1176JZF-S ARM11 core clocked at 700MHz; ARM VFP. The ARM11 core implements the ARMv6 Architecture.  For details on ARM instruction sets and naming conventions, see ARM architecture and List of ARM microprocessor cores.
 * GPU core: a Broadcom VideoCore IV GPU providing OpenGL ES 1.1, OpenGL ES 2.0, hardware-accelerated OpenVG 1.1, Open EGL, OpenMAX and 1080p30 H.264 high-profile decode. There are 24 GFLOPS of general purpose compute and a bunch of texture filtering and DMA infrastructure.  Eben worked on the architecture team for this and the Raspberry Pi team are looking at how they can make some of the proprietary features available to application programmers
 * DSP core: There is a DSP, but there isn't currently a public API (Liz thinks the BC team are keen to make one available at some point)
 * 256MiB of SDRAM. The RAM is physically stacked on top of the Broadcom media processor (package-on-package technology)
 * LAN9512 (Data Brief | Data Sheet)(Model B) providing:
 * 10/100Mb Ethernet (Auto-MDIX)
 * 2x USB 2.0
 * S1: Micro USB power jack (5v - Power Only)
 * S2: DSI interface. 15-pin surface mounted flat flex connector.
 * S3: HDMI connector providing type A HDMI 1.3a out
 * S4: Composite Video connector: RCA
 * S5: MIPI CSI-2 interface. 15-pin surface mounted flat flex connector.
 * S6: Audio connector: 3.5mm stereo jack (output only)
 * S8: SD/MMC/SDIO memory card slot (underside)
 * S7: Either 1x USB 2.0 (Model A) 2x USB 2.0 (Model B)
 * P1: 26-pin 2.54mm header expansion (header not fitted), providing: see Low-level peripherals
 * 8 GPIOs at 3v3
 * 2-pin UART serial console, 3v3 TTL (debug); or 2 GPIOs at 3v3
 * I2C interface (3v3); or 2 GPIOs at 3v3
 * SPI interface (3v3); or 5 GPIOs at 3v3
 * 3v3, 5v and GND supply pins
 * ARM JTAG (if pins are reconfigured in software)
 * Second I2C interface (3v3) (if pins are reconfigured in software)
 * I2S interface (if pins are reconfigured in software, hardware hack may be required )
 * 6 pins reserved for future use
 * P2 and P3: 8-pin and 7-pin 2.54mm header expansion (header not fitted), providing:
 * 6-pin GPU JTAG (ARM11 pinout)
 * 6-pin LAN9512 JTAG
 * P4: 10/100Mb RJ45 Ethernet jack (Model B)
 * TP1 and TP2: Test Points giving access to +5V and GND respectively
 * 5 Status LEDs  :
 * D5(Yellow) - OK - SDCard Access (via GPIO16)
 * D6(Red) - PWR - 3.3V Power
 * D7(Green) - FDX - Full Duplex (LAN) (Model B)
 * D8(Green) - LNK - Link/Activity (LAN) (Model B)
 * D9(Yellow) - 10M - 10/100Mbit (LAN) (Model B)

It seems that the P1 and P2 headers are fitted to the initial run of production ModelB boards.


 * Board size: 85.60mm x 53.98mm. Overall height expected to be less than 25mm.
 * Weight: <40g? (Alpha board weighs ~55g )
 * 6 layer PCB

Schematic / Layout

 * PCB screenshot
 * PCB screenshot, labelled version
 * PCB screenshot, Alpha board
 * Preliminary power supply schematic, Beta board
 * Low-resolution PCB front photo, Beta board
 * Low-resolution PCB back photo, Beta board
 * High-resolution PCB front photo, Beta board
 * High-resolution PCB back photo, Beta board
 * Official schematics PDF | errata

Power
The board takes fixed 5V input, (with the 1V2 core voltage generated directly from the input using the internal switch-mode supply on the BCM2835 die). This permits adoption of the micro USB form factor, which, in turn, prevents the user from inadvertently plugging in out-of-range power inputs; that would be dangerous, since the 5V would go straight to HDMI and output USB ports, even though the problem should be mitigated by some protections applied to the input power: The board provides a polarity protection diode, a voltage clamp, and a self-resetting semiconductor fuse.


 * Board A: 5V, 500 mA (2.5W) without any devices connected
 * Board B: 5V, 700 mA (3.5W) without any devices connected


 * As the 5V rail is brought out in the GPIO pins, you can power the Rpi from there too. You should mind however, that those are behind the power protection circuitry, so you should provide your own.
 * It is possible to power the Rpi from a powered USB hub the Rpi controls, but only on 'dumb' devices, that allow the port to supply the full current without waiting for the usb device to ask for it. As the power input of the Rpi doesn't have its data leads connected, there is no chance for a communication loop of some sorts.
 * POE (power over ethernet) is currently not available for the Rpi (but nobody stops you from taking your soldering iron and doing it yourself)

Power Supply Problems
There have been a number of problems reported that seem to be caused by inadequate power, this is an attempt to explain what is needed and the consequences of not having enough power.

The power required by the Pi will vary depending on how busy it is and what peripherals are connected.
 * Running a GUI will take more power.
 * The USB devices and Ethernet connection will take power.
 * Running software will take power.

This means that it's difficult to say exactly how much power is needed. People have reported current requirements of between 300mA and 550mA. But it could in reality take more, especially for short periods. A simple multimeter will not show short surges on the power requirement. A surge in the power requirement for a few milliseconds will not be detectable by a meter but will be enough to cause problems. If the board does not get enough power the voltage will drop. If it drops enough parts of the system will run unreliably because data can get corrupted. The USB IC runs on 5V and handles the USB and Ethernet ports so it's likely that this will be the first thing to fail. Problems seen are unreliable Ethernet connection and unreliable operation of the Keyboard and/or mouse.

There are several reasons why the power to the board may be inadequate:
 * The PSU may not deliver enough power. Although the maximum power requirement is said to be 700mA a 1000mA PSU should be the minimum.  This allows some leeway in case the power supply cannot deliver it's full power without the voltage dropping.
 * The PSU is not regulated.
 * The cable connecting the PSU to the Pi may not be good. People have reported cables with 4 ohms resistance on the power connections. At 500mA drain this would reduce a 5V supply to 3V.

How Can I tell if the power supply is inadequate?

 * Check the power level on the board. TP2 is 0V and TP1 is 5V so a meter across these points should register between 4.75V and 5.25V. If the voltage is less than this OR changes as the activity of the device changes then there may be problems.
 * Unreliable Ethernet or keyboard operation, especially if it's OK at first but not when the GUI is started.
 * SD card errors at start up seems to be another symptom of poor power.

Things that can cause problems

 * A USB connection on a TV or PC. The USB power supply specification is for up to 500mA and if the TV implements this then it can cause problems. The system may work initially but be unreliable because as it becomes more active the power requirement increases.
 * A single supply from a powered hub. Most hubs seem to deliver more than the specified current but there's no guarantee.  Check the power supply rating, it must be enough to supply everything that's connected to the hub.
 * A power supply that is rated for less than 700mA may work some of the time.
 * Adding a USB hard disk drive. A HDD will take quite a lot of power as it starts, maybe an amp or more. It the power supply for this also supplies the Pi then this could overload things and cause trouble.
 * Some complex keyboards have been reported to take a considerable amount of power, maybe up to 500mA. The Pi cannot deliver this amount of power.  Simpler budget keyboards may be better. If the system works with no keyboard attached but not with a keyboard then it's worth trying a different, simpler, keyboard.

Summary

 * If you are having unreliable operation the first thing to do is check your power supply.
 * Start with a good quality regulated power supply that is rated to provide 5V and at least 1A.
 * Use a good quality micro USB cable. Cables are notorious for giving trouble so be prepared to swap for another one.
 * Not all power supplies will deliver what they claim.