Difference between revisions of "RPi Hardware"

From eLinux.org
Jump to: navigation, search
(Schematic / Layout: GIMP file has grown again - now has component colouring)
(Schematic / Layout: Added link to the Rev2.0 schematics, and the differences between the versions)
(45 intermediate revisions by 19 users not shown)
Line 8: Line 8:
  
 
Those who are looking to set up a Raspberry Pi for the first time, see [[RPi Hardware Basic Setup]].
 
Those who are looking to set up a Raspberry Pi for the first time, see [[RPi Hardware Basic Setup]].
 +
 +
Several different Hardware versions/revisions [[RaspberryPi Boards]] have been found probably from different assembly lines. Try to identify your board for better troubleshooting and update it if you have one which is not mentioned.
  
 
==Specifications==
 
==Specifications==
Line 16: Line 18:
 
|-
 
|-
 
| Target price:<ref name="faq" >http://www.raspberrypi.org/faqs</ref>
 
| Target price:<ref name="faq" >http://www.raspberrypi.org/faqs</ref>
| US$25 (GBP £16)
+
| US$25 Ext tax (GBP £16 Exc VAT)
| US$35 (GBP £22)
+
| US$35 Ext tax (GBP £22 Exc VAT)
 
|-
 
|-
 
| System-on-a-chip (SoC):<ref name="faq" />
 
| System-on-a-chip (SoC):<ref name="faq" />
| colspan="2" | Broadcom BCM2835 (CPU + GPU + SDRAM)
+
| colspan="2" | Broadcom BCM2835 (CPU + GPU. SDRAM is a separate chip stacked on top)
 
|-
 
|-
 
| CPU:
 
| CPU:
Line 29: Line 31:
 
|-
 
|-
 
| Memory (SDRAM)iB
 
| Memory (SDRAM)iB
| colspan="2" | 256 MiB (previously listed as 128MiB for model A, but an upgrade to 256MiB was announced on 29 Feb 2012)
+
| 256&nbsp;MiB (planned with 128&nbsp;MiB, upgraded to 256&nbsp;MiB on 29 Feb 2012)
 +
| 256&nbsp;MiB (until 15 Oct 2012); 512&nbsp;MiB (since 15 Oct 2012)
 
|-
 
|-
 
| USB 2.0 ports:
 
| USB 2.0 ports:
| 1(provided by the BCM2835)
+
| 1 (provided by the BCM2835)
 
| 2 (via integrated USB hub)
 
| 2 (via integrated USB hub)
 
|-
 
|-
 
| Video outputs:<ref name="faq" />
 
| Video outputs:<ref name="faq" />
| colspan="2" | Composite video|Composite RCA, HDMI (not at the same time)
+
| colspan="2" | Composite video | Composite RCA, HDMI (not at the same time)
 
|-
 
|-
 
| Audio outputs:<ref name="faq" />
 
| Audio outputs:<ref name="faq" />
| colspan="2" | TRS connector|3.5 mm jack, HDMI
+
| colspan="2" | TRS connector | 3.5 mm jack, HDMI
 
|-
 
|-
 
| Audio inputs:
 
| Audio inputs:
Line 58: Line 61:
 
|-
 
|-
 
| Power ratings (provisional, from alpha board):
 
| Power ratings (provisional, from alpha board):
| 500mA, (2.5 Watt) <ref name="faq" />
+
| 500&nbsp;mA, (2.5&nbsp;W) <ref name="faq" />
| 700mA, (3.5 Watt)
+
| 700&nbsp;mA, (3.5&nbsp;W)
 
|-
 
|-
 
| Power source:<ref name="faq" />
 
| Power source:<ref name="faq" />
| colspan="2" | 5V via Micro USB or GPIO header
+
| colspan="2" | 5&nbsp;V (DC) via Micro USB type B or GPIO header
 
|-
 
|-
 
| Size:
 
| Size:
| colspan="2" | 85.60mm x 53.98mm<ref>[http://www.raspberrypi.org/archives/344 Final PCB artwork]</ref> (3.370 × 2.125 inch)
+
| colspan="2" | 85.0 x 56.0 mm (two different boards, measured with callipers)
 
|}
 
|}
  
Line 78: Line 81:
 
** GPU core: a Broadcom [http://en.wikipedia.org/wiki/Videocore 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
 
** GPU core: a Broadcom [http://en.wikipedia.org/wiki/Videocore 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)
 
** 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 ([http://www.hynix.com/products/mobile/view.jsp?info.ramKind=28&info.serialNo=H9TKNNN2GDMPLR&posMap=MobileDDR2 Hynix MobileDDR2]) SDRAM.  The RAM is physically stacked on top of the Broadcom media processor (package-on-package technology)
+
** 256MiB of ([http://www.hynix.com/products/mobile/view.jsp?info.ramKind=28&info.serialNo=H9TKNNN2GDMPLR&posMap=MobileDDR2 Hynix MobileDDR2] or [http://www.samsung.com/global/business/semiconductor/product/mobile-dram/detail?productId=7611&iaId=747 Samsung Mobile DRAM]) SDRAM.  The RAM is physically stacked on top of the Broadcom media processor ([http://en.wikipedia.org/wiki/Package_on_package package-on-package technology]).  Here is a photo of the [http://www.raspberrypi.org/wp-content/uploads/2012/01/brcm2835plusmemory.jpg SDRAM (left) and BCM2835 (right)] ball grid arrays on JamesH's finger.  You are looking at the bottom side.  The BCM2835 top side has a land grid array which matches the SDRAM ball grid array.
* LAN9512 ([http://www.smsc.com/media/Downloads_Public/Data_Briefs/9512db.pdf Data Brief] | [http://www.smsc.com/media/Downloads_Public/Data_Sheets/9512.pdf Data Sheet])'''(Model B)''' providing:
+
* LAN9512 ([http://www.smsc.com/media/Downloads_Public/Data_Briefs/9512db.pdf Data Brief] | [http://www.smsc.com/media/Downloads_Public/Data_Sheets/9512.pdf Data Sheet]) '''(Model B)''' providing:
 
** 10/100Mb Ethernet (Auto-MDIX)<ref name=autoMDIX>[http://en.wikipedia.org/wiki/Medium_dependent_interface#Auto-MDIX Wikipedia:Auto-MDIX]</ref>
 
** 10/100Mb Ethernet (Auto-MDIX)<ref name=autoMDIX>[http://en.wikipedia.org/wiki/Medium_dependent_interface#Auto-MDIX Wikipedia:Auto-MDIX]</ref>
 
** 2x USB 2.0  
 
** 2x USB 2.0  
Line 90: Line 93:
 
* S8: SD/MMC/SDIO memory card slot (underside)
 
* S8: SD/MMC/SDIO memory card slot (underside)
 
* S7: Either 1x USB 2.0 '''(Model A)''' 2x USB 2.0 '''(Model B)'''
 
* S7: Either 1x USB 2.0 '''(Model A)''' 2x USB 2.0 '''(Model B)'''
* P1: 26-pin 2.54mm header expansion, providing: see [[Rpi_Low-level_peripherals | Low-level peripherals]]
+
* P1: 26-pin 2.54 mm header expansion, providing: see [[Rpi_Low-level_peripherals | Low-level peripherals]]
** 8 GPIOs at 3v3
+
** 8 [[Rpi_Low-level_peripherals#General_Purpose_Input.2FOutput_.28GPIO.29|GPIO]]s at 3v3
 
** 2-pin UART serial console, 3v3 TTL (debug); or 2 GPIOs at 3v3
 
** 2-pin UART serial console, 3v3 TTL (debug); or 2 GPIOs at 3v3
** I2C interface (3v3); or 2 GPIOs at 3v3
+
** I&sup2;C interface (3v3); or 2 GPIOs at 3v3
 
** SPI interface (3v3); or 5 GPIOs at 3v3
 
** SPI interface (3v3); or 5 GPIOs at 3v3
 
** 3v3, 5v and GND supply pins
 
** 3v3, 5v and GND supply pins
** ARM JTAG (if pins are reconfigured in software)
+
** ARM JTAG (if pins are reconfigured in software and one signal is taken from S5)
** Second I2C interface (3v3) (if pins are reconfigured in software)
+
** Second I&sup2;C interface (3v3) (if pins are reconfigured in software)
** I2S interface (if pins are reconfigured in software, hardware hack may be required<ref name="i2s"/>)
+
** I&sup2;S interface (if pins are reconfigured in software, hardware hack may be required<ref name="i2s"/>)
 
** 6 pins reserved for future use
 
** 6 pins reserved for future use
* P2 8-pin 2.54mm header expansion providing GPU JTAG (ARM11 pinout, pin 7 is nofit for locating)
+
* P2: 8-pin 2.54 mm header expansion providing GPU JTAG (ARM11 pinout, pin 7 is nofit for locating)
* P3: 7-pin 2.54mm header expansion (header not fitted), providing LAN9512 JTAG (pin 6 is nofit for locating)
+
* P3: 7-pin 2.54 mm header expansion (header not fitted), providing LAN9512 JTAG (pin 6 is nofit for locating)
 
* P4: 10/100Mb RJ45 Ethernet jack '''(Model B)'''
 
* P4: 10/100Mb RJ45 Ethernet jack '''(Model B)'''
 
* TP1 and TP2: Test Points giving access to +5V and GND respectively
 
* TP1 and TP2: Test Points giving access to +5V and GND respectively
* 5 Status LEDs<ref name="PCBs">[http://www.raspberrypi.org/archives/402 RPiBlog Post: High-res pics of the PCBs]</ref><ref name="LEDs">[http://twitpic.com/8edlsf TwitPic:Photo of Board Powered]</ref><ref name="LEDsGPIO">[http://www.raspberrypi.org/forum/features-and-requests/what-do-the-status-indicator-leds-indicate-the-status-of Forum:What do the status indicator LEDs indicate the status of?]</ref><ref name="OKGreen">[[RPi_schematic_errata]]</ref>:
+
* 5 Status LEDs<ref name="PCBs">[http://www.raspberrypi.org/archives/402 RPiBlog Post: High-res pics of the PCBs]</ref><ref name="LEDs">[http://twitpic.com/8edlsf TwitPic:Photo of Board Powered]</ref><ref name="LEDsGPIO">[http://www.raspberrypi.org/forum/features-and-requests/what-do-the-status-indicator-leds-indicate-the-status-of Forum:What do the status indicator LEDs indicate the status of?]</ref><ref name="OKGreen">[[RPi_schematic_errata]]</ref><ref name="Revision2.0">[http://www.raspberrypi.org/archives/1959 RPiBlog Post: A nice shiny photo of the rev2 board – and User Guide news]</ref>:
** D5(Green) - OK  - SDCard Access (via GPIO16)
+
** D5(Green) - SDCard Access (via GPIO16) - labelled as "OK" on Rev1.0 boards and "ACT" on Rev2.0 boards
** D6(Red) - PWR - 3.3V Power
+
** D6(Red) - 3.3 V Power - labelled as "PWR" on both Rev1.0 and Rev2.0 boards
** D7(Green) - FDX - Full Duplex (LAN) '''(Model B)'''
+
** D7(Green) - Full Duplex (LAN) '''(Model B)''' - labelled as "FDX" on both Rev1.0 and Rev2.0 boards
** D8(Green) - LNK - Link/Activity (LAN) '''(Model B)'''
+
** D8(Green) - Link/Activity (LAN) '''(Model B)''' - labelled as "LNK" on both Rev1.0 and Rev2.0 boards
** D9(Yellow) - 10M - 10/100Mbit (LAN) '''(Model B)'''
+
** D9(Yellow) - 10/100Mbit (LAN) '''(Model B)''' - labelled (incorrectly) as "10M" on Rev1.0 boards and "100" on Rev2.0 boards
  
* Board size: 85.60mm x 53.98mm.  Overall height expected to be less than 25mm. <ref name="artwork">http://www.raspberrypi.org/archives/344</ref>
+
* Board size: 85.60 mm x 53.98 mm.  Overall height expected to be less than 25 mm. <ref name="artwork">http://www.raspberrypi.org/archives/344</ref>
* Weight: <40g? (Alpha board weighs ~55g <ref>http://www.raspberrypi.org/?page_id=43&mingleforumaction=viewtopic&t=285.0</ref>)
+
** A model B between highest points (USB connector to card slot) measured 21 mm.
 +
* Weight: under 40 g?
 +
** Alpha board weighs approx. 55 g.<ref>http://www.raspberrypi.org/?page_id=43&mingleforumaction=viewtopic&t=285.0</ref>
 +
** A sample model B weighed 39.45 g.
 
* 6 layer PCB <ref name="artwork" />
 
* 6 layer PCB <ref name="artwork" />
  
Line 121: Line 127:
 
* [http://www.raspberrypi.org/wp-content/uploads/2011/07/raspberry1.png PCB screenshot, Alpha board]
 
* [http://www.raspberrypi.org/wp-content/uploads/2011/07/raspberry1.png PCB screenshot, Alpha board]
 
* [http://www.raspberrypi.org/wp-content/uploads/2011/12/psu.png Preliminary power supply schematic, Beta board]
 
* [http://www.raspberrypi.org/wp-content/uploads/2011/12/psu.png Preliminary power supply schematic, Beta board]
* [http://dmkenr5gtnd8f.cloudfront.net/wp-content/uploads/2011/12/front1-300x225.jpg Low-resolution PCB front photo, Beta board]
+
* [http://elinux.org/File:RPi-Front-JPB.jpg High-resolution PCB front photo, production board]
* [http://dmkenr5gtnd8f.cloudfront.net/wp-content/uploads/2011/12/back-300x225.jpg Low-resolution PCB back photo, Beta board]
+
* [http://elinux.org/File:RPi-back-JPB.jpg High-resolution PCB back photo, production board]
* [http://dmkenr5gtnd8f.cloudfront.net/wp-content/uploads/2011/12/front1.jpg High-resolution PCB front photo, Beta board]
+
* [http://www.andrewscheller.co.uk/bare_pcb.xcf GIMP project containing properly aligned versions of the high-res PCB photos and Gerbers on separate layers (117MB)]
* [http://dmkenr5gtnd8f.cloudfront.net/wp-content/uploads/2011/12/back.jpg High-resolution PCB back photo, Beta board]
+
* [http://www.andrewscheller.co.uk/bare_pcb.xcf GIMP project containing properly aligned versions of the high-res PCB photos and Gerbers on separate layers (95MB)]
+
 
* [[Media:RPi beta xray.jpg|"Xray style" image of the beta board, created from the above GIMP project]] | [[RPi_xray_wallpapers|desktop wallpapers]]
 
* [[Media:RPi beta xray.jpg|"Xray style" image of the beta board, created from the above GIMP project]] | [[RPi_xray_wallpapers|desktop wallpapers]]
* [http://www.raspberrypi.org/wp-content/uploads/2012/04/Raspberry-Pi-Schematics-R1.0.pdf Official schematics PDF] | [[RPi_schematic_errata|errata]] | [[RPi_schematics_breakdown|breakdown]]
+
* [http://www.raspberrypi.org/wp-content/uploads/2012/04/Raspberry-Pi-Schematics-R1.0.pdf Official Rev1.0 schematics PDF] | [http://www.raspberrypi.org/wp-content/uploads/2012/10/Raspberry-Pi-R2.0-Schematics-Issue2.2_027.pdf Official Rev2.0 schematics PDF] | [[RPi_schematic_differences|differences]] | [[RPi_schematic_errata|errata]] | [[RPi_schematics_breakdown|breakdown]]
 +
* [http://www.andrewscheller.co.uk/rpi_pcb_modules.html 'Module groups' of the PCB photos]
  
 
==Power==
 
==Power==
Line 145: Line 150:
 
You will need to provide a power supply that can provide enough current to power the device plus any connected peripherals, and taking into account inefficiencies of the supply itself and the cable between the power supply and Raspberry Pi.  The community advises opting for a power supply that can supply at least 1A if using USB peripherals or Pi plates that draw more than a few tens of milliamps of current.
 
You will need to provide a power supply that can provide enough current to power the device plus any connected peripherals, and taking into account inefficiencies of the supply itself and the cable between the power supply and Raspberry Pi.  The community advises opting for a power supply that can supply at least 1A if using USB peripherals or Pi plates that draw more than a few tens of milliamps of current.
  
*As the 5V rail is brought out in the [[Rpi_Low-level_peripherals | 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.
+
*As the 5V rail is brought out in the [[Rpi_Low-level_peripherals | 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[http://www.raspberrypi.org/forum/general-discussion/power-pi-from-usb-hub-connected-to-pi]. 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.
 
* 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[http://www.raspberrypi.org/forum/general-discussion/power-pi-from-usb-hub-connected-to-pi]. 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 ([http://nl.wikipedia.org/wiki/Power_over_Ethernet power over ethernet]) is currently not available for the Rpi (but nobody stops you from taking your soldering iron and doing it yourself)
+
* POE ([[wikipedia:Power_over_Ethernet|power over ethernet]]) is currently not available for the Rpi (but nobody stops you from taking your soldering iron and doing it yourself - mind though that the Ethernet jack on the board is a 'magjack' - http://www.sparkfun.com/datasheets/Prototyping/MagJack.pdf - which means that the usual 'dumb or passive PoE' power pins 47 and 78 are *not* wired through to the board. So this is not an entirely trivial exercise).
 +
* Back-Powering; (powering the Raspberry Pi from a USB hub through the uplink/data port, single cable) Back powering is possible on the Raspberry Pi. Revision 1.0 boards have to be modified to back power, this is due to the 140ma "polyfuses" that are installed in the USB port circuit. Revision 1.1 boards do not need modifications to back-power, they have replaced the polyfuses with 0ohm resistors in their place. Revision 2.0 boards do not need modification, they have neither resistors nor polyfuses. It is advised that short (12" (.3 meter) or less) USB cables be used for back-powering a Raspberry Pi. Cable resistance plus connector resistance can quickly reduce operating voltages below the proper range(5.25V to 4.75V).
  
 
===Power Supply Problems===
 
===Power Supply Problems===
Line 156: Line 162:
 
* Running a GUI will take more power.
 
* Running a GUI will take more power.
 
* The USB devices and Ethernet connection will take power.
 
* The USB devices and Ethernet connection will take power.
* Running software will take power.
+
* Running the GPU will take extra 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.
 
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. Each USB port on the Pi has a fuse rated at 140 mA, so any connected USB devices should draw less than this amount of current. Some USB WiFi dongles are known to draw more than 150 mA when configured and active.
+
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.  
 +
 
 +
Each of the two USB ports on the Pi has a polyfuse rated at 140 mA, so any connected USB devices should draw less than this amount of current. In addition the polyfuse will cause a significant voltage drop, so that USB devices get less voltage than is available on the RPI itself, sometimes up to half a volt less (maybe more if the fuse has recently been hot). For regular "low power" USB devices this doesn't cause a problem as they are designed to work with voltages as low as 4.4 Volt. This isn't the case however with some USB devices such as WiFi dongles which may need 4.75 Volt, and are also known to draw more than 150 mA when configured and active. Because of the problems these polyfuses caused Raspberry PI's produced after August 25, 2012 have the USB polyfuses F1 & F2 removed (replaced with shorts).
 +
 
 +
The microUSB input port also has a 1.1 A polyfuse (700mA "hold current") which may also have enough resistance (although much smaller than the 140mA fuses) to cause a significant voltage drop on the board, even below its 1.1 A total current.
 +
 
 +
A extended explanation of the consequences of the use of these polyfuses can be found here [[Polyfuses explained]]
  
 
There are several reasons why the power to the board may be inadequate:
 
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, that is with no peripherals connected (USB, Ethernet etc), so a 1000mA PSU should be regarded as a minimum.  This allows some leeway in case the power supply cannot deliver it's full power without the voltage dropping.
+
* The PSU may not deliver enough power.  Although the maximum power requirement is said to be 700mA, that is with no peripherals connected (USB, Ethernet etc), so a 1000mA PSU should be regarded as a minimum.  This allows some leeway in case the power supply cannot deliver its full power without the voltage dropping.
 
* The PSU is not regulated.
 
* 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.
 
* 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.
 +
* If the PSU is unregulated it can also output too high a voltage, which may trigger the overvoltage device in the PI, which will temporarily short the 5V to ground, this will then "blow" polyfuse F3, which will take several days to recover from. Meanwhile (possibly with another PSU) the PI might not get enough power because the (partly) blown polyfuse is consuming some of the power. The solution is when this happens to ways a few days to give the polyfuse time to recover before attempting to use the better PSU. If you suspect a blow polyfuse, measure the voltage across F3, which should be less than 0.05 Volt.
  
 
====How Can I tell if the power supply is inadequate?====
 
====How Can I tell if the power supply is inadequate?====
Line 176: Line 189:
 
to facilitate voltage measurements.
 
to facilitate voltage measurements.
  
Use a multimeter which is set to the range 20 volts DC (or 20v =). You should see a voltage between 4.75 and 5.25 volts. Anything outside this range indicates that you have a problem with your power supply or your power cable.  Anything inside, but close to the limits, of this range ''may'' indicate a problem.
+
Use a multimeter which is set to the range 20 volts DC (or 20v =). You should see a voltage between 4.75 and 5.25 volts. Anything outside this range indicates that you have a problem with your power supply or your power cable, or the input polyfuse F3.  Anything inside, but close to the limits, of this range ''may'' indicate a problem.
  
 
[[File:RPI_Test_Points.JPG|400px]] [[File:Voltmeter.JPG|250px]]
 
[[File:RPI_Test_Points.JPG|400px]] [[File:Voltmeter.JPG|250px]]
Line 193: Line 206:
 
* Use a good quality micro USB cable. Cables are notorious for giving trouble so be prepared to swap for another one.
 
* 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.
 
* Not all power supplies will deliver what they claim.
 +
 +
===Capacitor C6===
 +
Behind the microUSB power connector on the Model B is a metallic grey component called a capacitor, marked as C6. This capacitor helps stabilise the DC power on the board, but for some it has also become a place for their thumb when removing the RPI's power lead; unfortunately, this can result in the capacitor breaking off! It has been stated in the forums that the type of capacitor used for C6 will be changed on later RPi models for one with sturdier leads. If you do break off your C6 capacitor, it's highly likely that your RPi will still work properly, unless you have a particularly unstable power supply, but the general advice is to not use C6 as a leverage point when removing the power connector and also take care when storing or transporting your RPi if it's not fitted in a case - try not to stow the board where C6 could be knocked by other items - for example  in a laptop carry case or in amongst some books.
 +
[[File:Rpic6.jpg|300px|thumb|center|Capacitor C6 (ringed)]]
 +
 +
It's unlikely that replacing a broken off C6 capacitor will be covered under warranty, but fortunately they are easy to replace if you have average [http://www.raspberrypi.org/archives/1494 soldering skills], but remember that reworking your RPi will void its warranty too. C6 is a surface mount electrolytic capacitor with a capacitance of 220 microfarad (μF) and a voltage rating of 16 volt (V). The capacitor is polarised and so must be fitted the right way round - notice the black marking on one side in the picture above. A replacement capacitor can be purchased from numerous sources - for example:
 +
 +
[http://uk.farnell.com/jsp/search/browse.jsp?N=202457+110114112+110119850+110141127+110200576&No=0&getResults=true&appliedparametrics=true&locale=en_UK&divisionLocale=en_UK&catalogId=&skipManufacturer=false&skipParametricAttributeId=&prevNValues=202457+110114112+110119850+110141127&mm=1000002|110114112|110114112,1001880|110119850|110119850,1002520||,1002063||,1002999||,&filtersHidden=false&appliedHidden=false&autoApply=true&originalQueryURL=%2Fjsp%2Fsearch%2Fbrowse.jsp%3FN%3D202457%26No%3D0%26getResults%3Dtrue%26appliedparametrics%3Dtrue%26locale%3Den_UK%26divisionLocale%3Den_UK%26catalogId%3D%26skipManufacturer%3Dfalse%26skipParametricAttributeId%3D%26prevNValues%3D202457 Farnell]
 +
 +
[http://www.rapidonline.com/Electronic-Components/220uf-16v-85deg-Smd-Electro-Capacitor-11-2264 Rapid Electronics]
 +
 +
[http://uk.rs-online.com/web/c/passives/capacitors/aluminium/?sort-by=default&sort-order=default&applied-dimensions=4294884868,%204294884170,%204294672278,4294885140&lastAttributeSelectedBlock=4294955811 RS Components]
 +
 +
 +
If you prefer to make your own PSU - see: [[RPi_5V_PSU_construction| Power Supply construction - HowTo]]
  
 
==References==
 
==References==

Revision as of 12:03, 28 October 2012


Back to the Hub.


Hardware & Peripherals:

Hardware and Hardware History.

Low-level Peripherals and Expansion Boards.

Screens, Cases and Other Peripherals.


Introduction

The unpopulated Rpi bèta board

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.

Several different Hardware versions/revisions RaspberryPi Boards have been found probably from different assembly lines. Try to identify your board for better troubleshooting and update it if you have one which is not mentioned.

Specifications

Model A Model B
Target price:[1] US$25 Ext tax (GBP £16 Exc VAT) US$35 Ext tax (GBP £22 Exc VAT)
System-on-a-chip (SoC):[1] Broadcom BCM2835 (CPU + GPU. SDRAM is a separate chip stacked on top)
CPU: 700 MHz ARM11 ARM1176JZF-S core
GPU: Broadcom VideoCore IV,OpenGL ES 2.0,OpenVG 1080p30 H.264 high-profile encode/decode
Memory (SDRAM)iB 256 MiB (planned with 128 MiB, upgraded to 256 MiB on 29 Feb 2012) 256 MiB (until 15 Oct 2012); 512 MiB (since 15 Oct 2012)
USB 2.0 ports: 1 (provided by the BCM2835) 2 (via integrated USB hub)
Video outputs:[1] Composite video | Composite RCA, HDMI (not at the same time)
Audio outputs:[1] TRS connector | 3.5 mm jack, HDMI
Audio inputs: none, but a USB mic or sound-card could be added
Onboard Storage: Secure Digital|SD / MMC / SDIO card slot
Onboard Network:[1] None 10/100 wired Ethernet RJ45
Low-level peripherals: General Purpose Input/Output (GPIO) pins, Serial Peripheral Interface Bus (SPI), I²C, I²S[2], Universal asynchronous receiver/transmitter (UART)
Real-time clock:[1] None
Power ratings (provisional, from alpha board): 500 mA, (2.5 W) [1] 700 mA, (3.5 W)
Power source:[1] 5 V (DC) via Micro USB type B or GPIO header
Size: 85.0 x 56.0 mm (two different boards, measured with callipers)

Components

A diagram denoting the places of the different components on the Rpi, made by Paul Beech, edited to show 256MB ram for both boards

(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, unofficial pinout) 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 (Hynix MobileDDR2 or Samsung Mobile DRAM) SDRAM. The RAM is physically stacked on top of the Broadcom media processor (package-on-package technology). Here is a photo of the SDRAM (left) and BCM2835 (right) ball grid arrays on JamesH's finger. You are looking at the bottom side. The BCM2835 top side has a land grid array which matches the SDRAM ball grid array.
  • LAN9512 (Data Brief | Data Sheet) (Model B) providing:
    • 10/100Mb Ethernet (Auto-MDIX)[3]
    • 2x USB 2.0
  • S1: Micro USB power jack (5v - Power Only)
  • S2: DSI interface. 15-pin surface mounted flat flex connector, providing two data lanes, one clock lane, 3.3V and GND.
  • 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.54 mm header expansion, providing: see Low-level peripherals
    • 8 GPIOs at 3v3
    • 2-pin UART serial console, 3v3 TTL (debug); or 2 GPIOs at 3v3
    • I²C 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 and one signal is taken from S5)
    • Second I²C interface (3v3) (if pins are reconfigured in software)
    • I²S interface (if pins are reconfigured in software, hardware hack may be required[2])
    • 6 pins reserved for future use
  • P2: 8-pin 2.54 mm header expansion providing GPU JTAG (ARM11 pinout, pin 7 is nofit for locating)
  • P3: 7-pin 2.54 mm header expansion (header not fitted), providing LAN9512 JTAG (pin 6 is nofit for locating)
  • P4: 10/100Mb RJ45 Ethernet jack (Model B)
  • TP1 and TP2: Test Points giving access to +5V and GND respectively
  • 5 Status LEDs[4][5][6][7][8]:
    • D5(Green) - SDCard Access (via GPIO16) - labelled as "OK" on Rev1.0 boards and "ACT" on Rev2.0 boards
    • D6(Red) - 3.3 V Power - labelled as "PWR" on both Rev1.0 and Rev2.0 boards
    • D7(Green) - Full Duplex (LAN) (Model B) - labelled as "FDX" on both Rev1.0 and Rev2.0 boards
    • D8(Green) - Link/Activity (LAN) (Model B) - labelled as "LNK" on both Rev1.0 and Rev2.0 boards
    • D9(Yellow) - 10/100Mbit (LAN) (Model B) - labelled (incorrectly) as "10M" on Rev1.0 boards and "100" on Rev2.0 boards
  • Board size: 85.60 mm x 53.98 mm. Overall height expected to be less than 25 mm. [9]
    • A model B between highest points (USB connector to card slot) measured 21 mm.
  • Weight: under 40 g?
    • Alpha board weighs approx. 55 g.[10]
    • A sample model B weighed 39.45 g.
  • 6 layer PCB [9]

Schematic / Layout

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.

Premier Farnell recommend the following power supplies:

  • Model A: 5V dc, 500-700mA
  • Model B: 5V dc, 700-1200mA

Power consumption of the Raspberry Pi device is

  • Board A: 5V, 500 mA (2.5W) without any devices connected (e.g. USB, Ethernet, HDMI)
  • Board B: 5V, 700 mA (3.5W) without any devices connected (e.g. USB, Ethernet, HDMI) (Is this correct? These [1] links [2] suggest that the 700mA is only required if "using networking and high-current USB peripherals" [3].)

You will need to provide a power supply that can provide enough current to power the device plus any connected peripherals, and taking into account inefficiencies of the supply itself and the cable between the power supply and Raspberry Pi. The community advises opting for a power supply that can supply at least 1A if using USB peripherals or Pi plates that draw more than a few tens of milliamps of current.

  • 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[4]. 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 - mind though that the Ethernet jack on the board is a 'magjack' - http://www.sparkfun.com/datasheets/Prototyping/MagJack.pdf - which means that the usual 'dumb or passive PoE' power pins 47 and 78 are *not* wired through to the board. So this is not an entirely trivial exercise).
  • Back-Powering; (powering the Raspberry Pi from a USB hub through the uplink/data port, single cable) Back powering is possible on the Raspberry Pi. Revision 1.0 boards have to be modified to back power, this is due to the 140ma "polyfuses" that are installed in the USB port circuit. Revision 1.1 boards do not need modifications to back-power, they have replaced the polyfuses with 0ohm resistors in their place. Revision 2.0 boards do not need modification, they have neither resistors nor polyfuses. It is advised that short (12" (.3 meter) or less) USB cables be used for back-powering a Raspberry Pi. Cable resistance plus connector resistance can quickly reduce operating voltages below the proper range(5.25V to 4.75V).

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 the GPU will take extra 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.

Each of the two USB ports on the Pi has a polyfuse rated at 140 mA, so any connected USB devices should draw less than this amount of current. In addition the polyfuse will cause a significant voltage drop, so that USB devices get less voltage than is available on the RPI itself, sometimes up to half a volt less (maybe more if the fuse has recently been hot). For regular "low power" USB devices this doesn't cause a problem as they are designed to work with voltages as low as 4.4 Volt. This isn't the case however with some USB devices such as WiFi dongles which may need 4.75 Volt, and are also known to draw more than 150 mA when configured and active. Because of the problems these polyfuses caused Raspberry PI's produced after August 25, 2012 have the USB polyfuses F1 & F2 removed (replaced with shorts).

The microUSB input port also has a 1.1 A polyfuse (700mA "hold current") which may also have enough resistance (although much smaller than the 140mA fuses) to cause a significant voltage drop on the board, even below its 1.1 A total current.

A extended explanation of the consequences of the use of these polyfuses can be found here Polyfuses explained

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, that is with no peripherals connected (USB, Ethernet etc), so a 1000mA PSU should be regarded as a minimum. This allows some leeway in case the power supply cannot deliver its 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.
  • If the PSU is unregulated it can also output too high a voltage, which may trigger the overvoltage device in the PI, which will temporarily short the 5V to ground, this will then "blow" polyfuse F3, which will take several days to recover from. Meanwhile (possibly with another PSU) the PI might not get enough power because the (partly) blown polyfuse is consuming some of the power. The solution is when this happens to ways a few days to give the polyfuse time to recover before attempting to use the better PSU. If you suspect a blow polyfuse, measure the voltage across F3, which should be less than 0.05 Volt.

How Can I tell if the power supply is inadequate?

Common symptoms of an inadequate power supply are

  • 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.

If you think you have a problem with your power supply, it is a good idea to check the actual voltage on the Raspberry Pi circuit board. Two test points labelled TP1 and TP2 are provided on the circuit board to facilitate voltage measurements.

Use a multimeter which is set to the range 20 volts DC (or 20v =). You should see a voltage between 4.75 and 5.25 volts. Anything outside this range indicates that you have a problem with your power supply or your power cable, or the input polyfuse F3. Anything inside, but close to the limits, of this range may indicate a problem.

RPI Test Points.JPG Voltmeter.JPG

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 (1000mA).
  • 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.

Capacitor C6

Behind the microUSB power connector on the Model B is a metallic grey component called a capacitor, marked as C6. This capacitor helps stabilise the DC power on the board, but for some it has also become a place for their thumb when removing the RPI's power lead; unfortunately, this can result in the capacitor breaking off! It has been stated in the forums that the type of capacitor used for C6 will be changed on later RPi models for one with sturdier leads. If you do break off your C6 capacitor, it's highly likely that your RPi will still work properly, unless you have a particularly unstable power supply, but the general advice is to not use C6 as a leverage point when removing the power connector and also take care when storing or transporting your RPi if it's not fitted in a case - try not to stow the board where C6 could be knocked by other items - for example in a laptop carry case or in amongst some books.

Capacitor C6 (ringed)

It's unlikely that replacing a broken off C6 capacitor will be covered under warranty, but fortunately they are easy to replace if you have average soldering skills, but remember that reworking your RPi will void its warranty too. C6 is a surface mount electrolytic capacitor with a capacitance of 220 microfarad (μF) and a voltage rating of 16 volt (V). The capacitor is polarised and so must be fitted the right way round - notice the black marking on one side in the picture above. A replacement capacitor can be purchased from numerous sources - for example:

Farnell

Rapid Electronics

RS Components


If you prefer to make your own PSU - see: Power Supply construction - HowTo

References

  1. 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 http://www.raspberrypi.org/faqs
  2. 2.0 2.1 Forum:Sad about removal of I2S. Why was this change made?
  3. Wikipedia:Auto-MDIX
  4. RPiBlog Post: High-res pics of the PCBs
  5. TwitPic:Photo of Board Powered
  6. Forum:What do the status indicator LEDs indicate the status of?
  7. RPi_schematic_errata
  8. RPiBlog Post: A nice shiny photo of the rev2 board – and User Guide news
  9. 9.0 9.1 http://www.raspberrypi.org/archives/344
  10. http://www.raspberrypi.org/?page_id=43&mingleforumaction=viewtopic&t=285.0