<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://elinux.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://elinux.org/api.php?action=feedcontributions&amp;user=AndrewS&amp;feedformat=atom</id>
		<title>eLinux.org - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://elinux.org/api.php?action=feedcontributions&amp;user=AndrewS&amp;feedformat=atom"/>
		<link rel="alternate" type="text/html" href="http://elinux.org/Special:Contributions/AndrewS"/>
		<updated>2013-05-18T17:52:40Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.21alpha</generator>

	<entry>
		<id>http://elinux.org/RPi_Software</id>
		<title>RPi Software</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RPi_Software"/>
				<updated>2013-03-12T01:53:08Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: /* GPU bootloaders */ link formatting fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: RaspberryPi]]&lt;br /&gt;
{{Template:RPi_Software}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
If you just want a working system, all that is required is a correctly formatted SD card. For details on how to create or get one, please see the [[RPi_Hardware_Basic_Setup#Prepared_Operating_System_SD_Card|Hardware Basic Setup]] page.&lt;br /&gt;
&lt;br /&gt;
In order to understand the software compoonents in the RPi, you should first understand how it boots up. At power-up, the CPU is offline, and a small RISC core on the GPU is responsible for booting the SoC, therefore most of the boot components are actually run on the GPU code, not the CPU.&lt;br /&gt;
&lt;br /&gt;
The boot order and components are as follows:&lt;br /&gt;
* '''First stage bootloader''' - This is used to mount the FAT32 boot partition on the SD card so that the second stage bootloader can be accessed. It is programmed into the SoC itself during manufacture of the RPi and cannot be reprogrammed by a user.&lt;br /&gt;
* '''Second stage bootloader''' (bootcode.bin) - This is used to retrieve the GPU firmware from the SD card, program the firmware, then start the GPU.&lt;br /&gt;
* '''GPU firmware''' (start.elf) - Once loaded, this allows the GPU to start up the CPU. An additional file, fixup.dat, is used to configure the SDRAM partition between the GPU and the CPU. At this point, the CPU is release from reset and execution is transferred over.&lt;br /&gt;
* '''User code''' - This can be one of any number of binaries. By default, it is the Linux kernel (usually named kernel.img), but it can also be another bootloader (e.g. U-Boot), or a bare-bones application.&lt;br /&gt;
&lt;br /&gt;
Prior to 19th October 2012, there was previously also a third stage bootloader (loader.bin) but this is no longer required. &amp;lt;ref&amp;gt;https://github.com/raspberrypi/firmware/commit/c57ea9dd367f12bf4fb41b7b86806a2dc6281176&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Raspbian Linux image (others?) available on the foundation's website ([http://www.raspberrypi.org/downloads]) also contains cut-down versions of the above files (fixup_cd.dat, start_cd.elf). These are used when GPU memory is set to 16 MB, which in result disables some GPU features. More info [http://www.raspberrypi.org/phpBB3/viewtopic.php?p=198420#p198420 here]. In addition, there are also testing versions of the above files (fixup_x.dat, start_x.elf), which enable potentially unstable/not-fully-tested/hacky functionality - currently, using these files instead of the usual fixup.dat/start.elf will cause extra video codecs to become available.&lt;br /&gt;
&lt;br /&gt;
Because of this boot process, use of an SD card to boot the RPi is mandatory. This does however mean that you cannot 'brick' the device.&lt;br /&gt;
&lt;br /&gt;
==GPU bootloaders==&lt;br /&gt;
&lt;br /&gt;
Currently all of the GPU software and firmware is supplied in binary format. For Raspbian the latest stable release is included in the image and can be updated with apt-get (see the [[Add_software|adding software page]]). The latest bleeding edge version can be downloaded from the [https://github.com/raspberrypi/firmware/tree/master/boot RPI firmware section on GitHub]. At this time, the source code is not available.&lt;br /&gt;
&lt;br /&gt;
[https://github.com/Hexxeh/rpi-update rpi-update] is also available as an easier way of updating the firmware and kernel. Please note, as this firmware is bleeding edge, it really should only be used by advanced users and could potentially still have bugs and be incompatible with existing images.&lt;br /&gt;
&lt;br /&gt;
==Distributions==&lt;br /&gt;
''Main page: [[RPi_Distributions|Distributions]]''&lt;br /&gt;
&lt;br /&gt;
SD card images of a number of pre-built distributions including Raspbian (the RPi official distribution based on Debian), Arch Linux ARM, and RISC OS are available from the [http://www.raspberrypi.org/downloads Raspberry Pi foundation website]. Pre-loaded SD cards are also available from [http://thepihut.com/collections/sd-cards The Pi Hut].&lt;br /&gt;
&lt;br /&gt;
Raspbian is the recommended distribution.&lt;br /&gt;
&lt;br /&gt;
==Kernel==&lt;br /&gt;
''Main page: [[RPi_Kernel_Compilation|RPi Kernel Compilation]]''&lt;br /&gt;
&lt;br /&gt;
The kernel is sources can be obtained from the [https://github.com/raspberrypi/linux RPI linux section on GitHub]&lt;br /&gt;
&lt;br /&gt;
==Compiler==&lt;br /&gt;
&lt;br /&gt;
The Broadcom processor on Raspberry Pi contains an ARM v6 general purpose processor and a Broadcom VideoCore IV GPU.  No data is currently available on other cores (if any) available in the BCM2835.&lt;br /&gt;
&lt;br /&gt;
===ARM===&lt;br /&gt;
&lt;br /&gt;
There is broad compiler support for the ARM processor including GCC - please see [[ARMCompilers|ARM Compilers]].&lt;br /&gt;
There are also a number of cross-compiler toolchains - please see [[Toolchains|toolchains]].&lt;br /&gt;
&lt;br /&gt;
The gcc compiler flags which will produce the most optimal code for the RPi are:&lt;br /&gt;
&amp;lt;pre&amp;gt;-Ofast -mfpu=vfp -mfloat-abi=hard -march=armv6zk -mtune=arm1176jzf-s&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;-Ofast&amp;lt;/tt&amp;gt; may produce compile errors for some programs. In this case, &amp;lt;tt&amp;gt;-O3&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;-O2&amp;lt;/tt&amp;gt; should be used instead.&lt;br /&gt;
Note that &amp;lt;tt&amp;gt;-mcpu=arm1176jzf-s&amp;lt;/tt&amp;gt; can be used in place of &amp;lt;tt&amp;gt;-march=armv6zk -mtune=arm1176jzf-s&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you want to generate a relatively up-to-date compiler that uses the optimal flags by default, you can roll your own version of Linaro GCC - see [[RPi_Linaro_GCC_Compilation|RPi Linaro GCC Compilation]].&lt;br /&gt;
&lt;br /&gt;
===GPU===&lt;br /&gt;
The GPU provides APIs for Open GL ES 2.0, hardware-accelerated OpenVG, and 1080p30 H.264 high-profile decode.&lt;br /&gt;
&lt;br /&gt;
The GPU is capable of 1Gpixel/s, 1.5Gtexel/s or 24 GFLOPs of general purpose compute and features a bunch of texture filtering and DMA infrastructure - the Raspberry Pi team are looking at how they can make this available to application programmers. For the documentation on some Broadcom APIs exposed to control the GPU, see [[RPi VideoCore APIs]].&lt;br /&gt;
&lt;br /&gt;
The GPU blob is an 18MB elf file, including libraries. It does an awful lot. &amp;lt;ref&amp;gt;http://www.raspberrypi.org/?page_id=43&amp;amp;mingleforumaction=viewtopic&amp;amp;t=247&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DSP===&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
==Performance==&lt;br /&gt;
&lt;br /&gt;
A large number of benchmark results are available on the [[RaspberryPiPerformance|performance page]].&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
A number of development environments are available depending on which language you are writing - see the [[RPi_Programming|programming]] page.&lt;br /&gt;
&lt;br /&gt;
==Emulation==&lt;br /&gt;
The ARM processor on the RPi can be emulated using QEMU. See [http://cronicasredux.blogspot.co.uk/2011/09/installing-and-running-debian-armel-on.html emercer's tutorial], and also [http://www.raspberrypi.org/forum/projects-and-collaboration-general/emulating-a-raspi-on-windows this discussion].&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Template:Raspberry Pi}}&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/RPi_Bugs</id>
		<title>RPi Bugs</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RPi_Bugs"/>
				<updated>2013-03-12T00:40:42Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: /* Hardware */ changed link formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category:ARM Development Boards]]&lt;br /&gt;
[[Category: Broadcom]]&lt;br /&gt;
[[Category: Development Boards]]&lt;br /&gt;
[[Category: RaspberryPi]]&lt;br /&gt;
[[Category: Education]]&lt;br /&gt;
&lt;br /&gt;
See [[R-Pi_Troubleshooting]] for problems that are not bugs.&lt;br /&gt;
&lt;br /&gt;
= Hardware =&lt;br /&gt;
* The current R-Pi firmware limits users to 2 hubs and 14 ports.&lt;br /&gt;
* Some Hardware is unsupported [[RPi_VerifiedPeripherals|link]]&lt;br /&gt;
* The sound output port on boards version 1.0 and 2.0 are miss-wired causing distortion and a DC offset which could damage certain types of DC-coupled amplifiers and even loudspeakers. It is recommended that you use the HDMI or I2S functionality. If you need to use this port, make sure that the equipment you use has a DC blocking capacitor. The specific problem is that the surge suppression network, which should come between the SoC and the DC blocking capacitor comes AFTER the capacitor, creating a rectification effect of the signal, causing a DC offset and distortion. The design fix is simple, move the DC blocking capacitor after the surge suppressing diodes and then add a 100k resistor (470k, or even up to 1M is fine too) to ground. A series 100 ohm resistor just before the jack might also help suppress unwanted RF interference. If high quality output is required from existing boards, it is necessary to remove parts D12 and D13 from the back of the board. The three pads should be VCC, signal and GND respectively, identify each pad and carefully install some resistor between 10k and 100k between the signal and GND, making sure not to short out VCC. This is fairly high-end SMD re-work, I would suggest you get some training, tools and practice before attempting. (ed note: the writer of this comment does not have said skills, only knows what would have to be done).&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
(excluding [[RPi_Distributions | non-official distribution]] specific bugs)&lt;br /&gt;
&lt;br /&gt;
== OS ==&lt;br /&gt;
* [http://www.debian.org/Bugs/ debian]&lt;br /&gt;
* [https://bugs.launchpad.net/raspbian raspbian]&lt;br /&gt;
&lt;br /&gt;
== Kernel ==&lt;br /&gt;
*  tracked on [https://github.com/raspberrypi/linux/issues github]&lt;br /&gt;
&lt;br /&gt;
== Firmware ==&lt;br /&gt;
* tracked on [https://github.com/raspberrypi/firmware/issues github] &lt;br /&gt;
* 73 threads on [https://www.google.ca/#hl=en&amp;amp;q=site%3Ahttp%3A%2F%2Fwww.raspberrypi.org%2FphpBB3+%22kevent+2+may+have+been+dropped%22 kevent 2 may have been dropped] (possible [http://www.raspberrypi.org/phpBB3/viewtopic.php?p=99463#p99463 solution])&lt;br /&gt;
* 55 threads on [https://www.google.ca/#hl=en&amp;amp;q=site%3Ahttp%3A%2F%2Fwww.raspberrypi.org%2FphpBB3+%22error+-71%22 error -71] (see the [[Rpi_USB_check-list]])&lt;br /&gt;
&lt;br /&gt;
{{Template:Raspberry Pi}}&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/RPi_HardwareHistory</id>
		<title>RPi HardwareHistory</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RPi_HardwareHistory"/>
				<updated>2013-03-11T19:37:59Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: /* Raspberry Pi USB Prototype Board */ Added name to the &amp;quot;USB Prototype Board&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:RaspberryPi]]&lt;br /&gt;
{{Template:RPi_Hardware}}&lt;br /&gt;
&lt;br /&gt;
==Board Revision History==&lt;br /&gt;
Find out your board revision with the following command:&lt;br /&gt;
 cat /proc/cpuinfo&lt;br /&gt;
You will see your device data including:&lt;br /&gt;
  Hardware	: BCM2708&lt;br /&gt;
  Revision	: 0003&lt;br /&gt;
&lt;br /&gt;
If you see a &amp;quot;1000&amp;quot; at the front of the Revision, e.g. 10000002 then it indicates&amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?f=32&amp;amp;t=18133#p181069&amp;lt;/ref&amp;gt; that your Raspberry Pi has been [[RPiconfig#Overclocking|over-volted]], and your board revision is simply the last 4 digits (i.e. 0002 in this example).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Much of the info in this table can be found at http://raspberryalphaomega.org.uk/?p=428 and&lt;br /&gt;
 http://www.raspberrypi.org/phpBB3/viewtopic.php?p=281039&amp;amp;sid=c62f76dcc4871906db356d5dc1acfeb4#p281039 &lt;br /&gt;
 See also http://www.raspberrypi.org/archives/1929 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- I suspect that Revision 000d may correspond to the Red Pis http://www.raspberrypi.org/archives/3195 and therefore also have a release date of Q1 2013 ? --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Revision&lt;br /&gt;
! Release Date&lt;br /&gt;
! Model&lt;br /&gt;
! PCB Revision&lt;br /&gt;
! Memory&lt;br /&gt;
! Notes&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Beta&lt;br /&gt;
| Q1 2012&lt;br /&gt;
| B (Beta)&lt;br /&gt;
| ?&lt;br /&gt;
| 256MB&lt;br /&gt;
| Beta Board&lt;br /&gt;
|-&lt;br /&gt;
| 0002&lt;br /&gt;
| Q1 2012&lt;br /&gt;
| B&lt;br /&gt;
| 1.0&lt;br /&gt;
| 256MB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0003&lt;br /&gt;
| Q3 2012&lt;br /&gt;
| B (ECN0001)&lt;br /&gt;
| 1.0&lt;br /&gt;
| 256MB&lt;br /&gt;
| Fuses mod and D14 removed&lt;br /&gt;
|-&lt;br /&gt;
| 0004&lt;br /&gt;
| Q3 2012&lt;br /&gt;
| B&lt;br /&gt;
| 2.0&lt;br /&gt;
| 256MB&lt;br /&gt;
| (Mfg by Sony)&lt;br /&gt;
|-&lt;br /&gt;
| 0005&lt;br /&gt;
| Q4 2012&lt;br /&gt;
| B&lt;br /&gt;
| 2.0&lt;br /&gt;
| 256MB&lt;br /&gt;
| (Mfg by Qisda)&lt;br /&gt;
|-&lt;br /&gt;
| 0006&lt;br /&gt;
| Q4 2012&lt;br /&gt;
| B&lt;br /&gt;
| 2.0&lt;br /&gt;
| 256MB&lt;br /&gt;
| (Mfg by Egoman)&lt;br /&gt;
|-&lt;br /&gt;
| 0007&lt;br /&gt;
| Q1 2013&lt;br /&gt;
| A&lt;br /&gt;
| 2.0&lt;br /&gt;
| 256MB&lt;br /&gt;
| (Mfg by Egoman)&lt;br /&gt;
|-&lt;br /&gt;
| 0008&lt;br /&gt;
| Q1 2013&lt;br /&gt;
| A&lt;br /&gt;
| 2.0&lt;br /&gt;
| 256MB&lt;br /&gt;
| (Mfg by Sony)&lt;br /&gt;
|-&lt;br /&gt;
| 0009&lt;br /&gt;
| Q1 2013&lt;br /&gt;
| A&lt;br /&gt;
| 2.0&lt;br /&gt;
| 256MB&lt;br /&gt;
| (Mfg by Qisda)&lt;br /&gt;
|-&lt;br /&gt;
| 000d&lt;br /&gt;
| Q4 2012&lt;br /&gt;
| B&lt;br /&gt;
| 2.0&lt;br /&gt;
| 512MB&lt;br /&gt;
| (Mfg by Egoman)&lt;br /&gt;
|-&lt;br /&gt;
| 000e&lt;br /&gt;
| Q4 2012&lt;br /&gt;
| B&lt;br /&gt;
| 2.0&lt;br /&gt;
| 512MB&lt;br /&gt;
| (Mfg by Sony)&lt;br /&gt;
|-&lt;br /&gt;
| 000f&lt;br /&gt;
| Q4 2012&lt;br /&gt;
| B&lt;br /&gt;
| 2.0&lt;br /&gt;
| 512MB&lt;br /&gt;
| (Mfg by Qisda)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===ECN0001===&lt;br /&gt;
ECN0001 is the request to not fit D14 and replace F1 and F2 with 0 ohm.&lt;br /&gt;
&lt;br /&gt;
====D14 Removal====&lt;br /&gt;
D14 can interfere with some CEC devices if the Pi is left plugged in and unpowered.  The benefits of having it are minimal so it was removed.&amp;lt;ref name=&amp;quot;D14&amp;quot;&amp;gt;[http://www.raspberrypi.org/phpBB3/viewtopic.php?f=63&amp;amp;t=16365 New Pi missing D14]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====F1 &amp;amp; F2 Replacement/Removal====&lt;br /&gt;
F1 &amp;amp; F2 can cause problems with some USB devices which draw high current.  In particular due to the recovery characteristics of the Poly-fuses, it can take a while to recover their low resistance state afterwards, adding &lt;br /&gt;
additional problems for other devices (lower voltage on the USB bus).&lt;br /&gt;
&lt;br /&gt;
===Model B Revision 2.0===&lt;br /&gt;
Based on a new PCB layout that includes previous build fixes from ECN0001 such us removal of the poly-fuses in series with the +5V power for USB devices, and other fixes reported by the community such as the erroneous connection of the LAN9512 VDD18CORE pins to the +1V8 power plane, addition of the 8-pin P5 header (non-populated) for extra GPIO pins, addition to the 2-pin P6 header (non-populated) for a RESET button, and other changes and improvements reported in more detail &amp;lt;ref name=&amp;quot;REV2.0&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/1929 Upcoming Board Revision]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Colour Variations===&lt;br /&gt;
The vast majority of the Raspberry Pis produced have a &amp;lt;b&amp;gt;&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Green&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; PCB, but Pis produced by [[RPi_Buying_Guide#Egoman_Technology_Corp|Egoman_Technology_Corp]] (only available in the Far East) have a &amp;lt;b&amp;gt;&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Red&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/3195&amp;lt;/ref&amp;gt; PCB, and RS Components produced a limited edition of anniversary Pis in &amp;lt;b&amp;gt;&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Blue&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/3422&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi Model-A Full Production Board ==&lt;br /&gt;
* As of Feb 2013, available from distributors in Europe but not North America&lt;br /&gt;
* Board has 256Mb of RAM rather than the originally planned 128Mb&amp;lt;ref name=&amp;quot;postSale&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/723 Post-Launch - And breathe…]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The Foundation produced a small Beta batch before handing manufacturing over to RS and Farnell&lt;br /&gt;
* The ModelA boards actually use the identical Revision2.0 PCB as ModelB boards, just with a different selection of components fitted (full details available from the [[RPi_Hardware#Schematic_.2F_Layout|schematics]]). AFAIK no ModelA boards using the Revision1.0 PCBs were ever publicly available (or indeed ever made?).&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi Model-B Full Production Board ==&lt;br /&gt;
[[File:RaspiFront.JPG|250px|thumb|right|The Rpi full production board (model B Rev 2.0)]]&lt;br /&gt;
* Announced: April 2012, first orders sent out June 2012.&lt;br /&gt;
* Manufacturing and Orders will be made through RS and Farnell&lt;br /&gt;
* This means a much higher volume of units will be produced and made available.&lt;br /&gt;
* Additional detail is available about the manufacturing and distribution agreement here [http://hardware.slashdot.org/story/12/02/28/2347222/raspberry-pi-now-has-distributors----and-will-soon-have-boards-for-all-video video interview between Eben Upton and SlashDot here (28/02/12)].&lt;br /&gt;
* Announced: September 2012, Raspberry Pi Model B Rev 2.0 is now manufactured at Sony's manufacturing plant on Pencoed, South Wales. [http://www.raspberrypi.org/archives/1925 Full announcement from the Raspberry Pi Foundation], [http://www.element14.com/community/thread/19738?tstart=0 Element14 announcement on Raspberry Pi discussion board].&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi 1st Production Board ==&lt;br /&gt;
* Announced: 29th Feb 2012 - Start of Sale Only&amp;lt;ref name=&amp;quot;postSale&amp;quot;/&amp;gt;&lt;br /&gt;
* Credit-card Format&lt;br /&gt;
* Initial 10k Batch (All Model-B's) Manufactured in China (Jan/Feb 2012)&amp;lt;ref name=&amp;quot;firstProduction&amp;quot; &amp;gt;[http://www.raspberrypi.org/archives/509 We’ve started manufacture!]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Should look identical to the Raspberry Pi Beta Board below (except different SDCard holder).&lt;br /&gt;
* The board has a yellow RCA connector, rather than the black one used in the Beta's.&lt;br /&gt;
* Nokia/Qt Development group has donated vouchers for 400 RPi units for developers&amp;lt;ref name=&amp;quot;nokiaDonate&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/369 Nokia has Raspberry Pi vouchers for 400 Qt developers]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The batch was delayed several weeks due to the RJ45 network connector being substituted for the wrong part&amp;lt;ref&amp;gt;[http://www.raspberrypi.org/archives/781 Manufacturing Hiccup]&amp;lt;/ref&amp;gt; and also so the board could undergo compliance testing&amp;lt;ref&amp;gt;[http://www.raspberrypi.org/archives/852 Compliance testing]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi Beta Production Board ==&lt;br /&gt;
* Announced: December 2011&amp;lt;ref name=&amp;quot;#Beta&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/422 Populated boards: an update on where we are]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Credit-Card Format&lt;br /&gt;
* Manufactured in UK&lt;br /&gt;
* Produced 100&amp;lt;ref name=&amp;quot;betapcb&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/389 We have PCBs! BETA]&amp;lt;/ref&amp;gt; PCBs&lt;br /&gt;
* Characteristic feature of hand-modded correction to PCB &amp;lt;ref name=&amp;quot;betaError&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/470 (hand-mod) More on the beta boards]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* See the [http://www.raspberrypi.org/archives/482 blog post] which includes a video explaining how the production units will differ from the beta boards.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2011/12/Picture-002-copy2-e1322775411416.jpg Pre-production board (beta board) PCB, topside]&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2011/12/Picture-003-copy2.jpg Pre-production board (beta board) PCB, underside]&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2011/12/Picture-001-copy.jpg Pre-production board vs credit-card]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===eBay Auction===&lt;br /&gt;
10 of the completed Model-B boards were auctioned on eBay (Started on 1st Jan 2012) &amp;lt;ref name=&amp;quot;betaebay&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/482 We’re auctioning ten beta Raspberry Pis!]&amp;lt;/ref&amp;gt;)&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|SerialNo:&lt;br /&gt;
|#1&lt;br /&gt;
|#2&lt;br /&gt;
|#3&lt;br /&gt;
|#4&lt;br /&gt;
|#5&lt;br /&gt;
|#6&lt;br /&gt;
|#7&amp;lt;ref name=&amp;quot;#7Donated&amp;quot;/&amp;gt;&lt;br /&gt;
|#8&amp;lt;ref name=&amp;quot;#8PaulMaunders&amp;quot;/&amp;gt;&lt;br /&gt;
|#9&lt;br /&gt;
|#10&lt;br /&gt;
|-&lt;br /&gt;
|Date:&lt;br /&gt;
|11-Jan-2012&lt;br /&gt;
|11-Jan-2012&lt;br /&gt;
|10-Jan-2012&lt;br /&gt;
|10-Jan-2012&lt;br /&gt;
|09-Jan-2012&lt;br /&gt;
|09-Jan-2012&lt;br /&gt;
|08-Jan-2012&lt;br /&gt;
|08-Jan-2012&lt;br /&gt;
|07-Jan-2012&lt;br /&gt;
|07-Jan-2012&lt;br /&gt;
|-&lt;br /&gt;
|Sold For:&lt;br /&gt;
|£3,500&lt;br /&gt;
|£2,150&lt;br /&gt;
|£2,257&lt;br /&gt;
|£1,550&lt;br /&gt;
|£1,040&lt;br /&gt;
|£1,000&lt;br /&gt;
|£989&lt;br /&gt;
|£1,020&lt;br /&gt;
|£930&lt;br /&gt;
|£1,900&lt;br /&gt;
|}&lt;br /&gt;
Board #7 was anonymously (and generously) donated to [http://www.computinghistory.org.uk/ Centre for Computing History]&amp;lt;ref name=&amp;quot;#7Donated&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/503 Beta board bought by anonymous bidder and donated to museum]&amp;lt;/ref&amp;gt; (also spotted [http://twitpic.com/86trra here..])!&lt;br /&gt;
&lt;br /&gt;
Board #8 Owned by Tech Blogger, Paul Maunders, see his [http://www.pyrosoft.co.uk/blog blog] for details&amp;lt;ref name=&amp;quot;#8PaulMaunders&amp;quot;&amp;gt;[http://www.pyrosoft.co.uk/blog/2012/01/13/raspberry-pi-8-first-photoshoot/ Paul Maunders - Raspberry Pi #8 First Photoshoot]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi Alpha Board ==&lt;br /&gt;
[[File:RPi-alpha.jpg|250px|thumb|right|RPi Alpha Board]]&lt;br /&gt;
&lt;br /&gt;
* Announced: August 2011&amp;lt;ref name=&amp;quot;#Alpha&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/78 The alpha boards are here!]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Large Format for debugging (Model-B)&lt;br /&gt;
* Populated with headers for GPIO, JTAG, DSI, CSI, as well as switches and LEDs for I/O testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2011/08/DSCF1809.jpg Alpha prototype board, underside]&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi USB Prototype Board ==&lt;br /&gt;
[[File:Rpi-usbproto.jpg|250px|thumb|right|RPi USB Prototype Board]]&lt;br /&gt;
* Announced: May 2011&lt;br /&gt;
* The &amp;quot;Computer On A USB Stick&amp;quot; Format&lt;br /&gt;
* Included built-in camera&lt;br /&gt;
* HDMI one end and single USB the other&lt;br /&gt;
* Introduced the RPi Foundation to the world (any earlier links appreciated), featured by [http://www.bbc.co.uk/news/technology-13292450 BBC Online Video].&lt;br /&gt;
* Known internally at Broadcom as the &amp;lt;b&amp;gt;MicroDB&amp;lt;/b&amp;gt; &amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/3375&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/3376&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
‎&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi Concept 2006 edition==&lt;br /&gt;
[[File:RPi-atmel2006Ed.jpg|250px|thumb|right|Raspberry Pi Concept 2006 edition]]&lt;br /&gt;
* Vero-board Prototype &amp;amp; PCB Version&lt;br /&gt;
* Atmel ATmega644 microcontroller clocked at 22.1MHz&amp;lt;ref name=&amp;quot;2006ed&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/264 Raspberry Pi – 2006 edition]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
===Video===&lt;br /&gt;
* [http://news.bbc.co.uk/1/hi/programmes/click_online/9504208.stm BBC iClick's Peter Price asks whether a £15 computer can solve the programming gap] (6 minutes, 3 June 2011)&lt;br /&gt;
* [http://www.youtube.com/watch?v=pQ7N4rycsy4 Raspberry Pi's David Braben talks to BBC's Rory Cellan-Jones] (2:28 minutes, 5 May 2011)&lt;br /&gt;
* [http://www.youtube.com/RaspberryPiTutorials Raspberry Pi community tutorials on YouTube]&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
* [http://foundationlibraries.blogspot.com/2011/06/cfl-podcast-eben-upton-raspberry-pi.html Podcast of a phone interview with Eben about the project and the motivations behind it] (15 minutes long.) (3 June 2011) Transcription [http://tomhannen.posterous.com/raspberry-pi-podcast-transcript here].&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Template:Raspberry Pi}}&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/RPi_HardwareHistory</id>
		<title>RPi HardwareHistory</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RPi_HardwareHistory"/>
				<updated>2013-03-11T19:10:59Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: /* Board Revision History */ Added note about the over-volt bit in the Revision field&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:RaspberryPi]]&lt;br /&gt;
{{Template:RPi_Hardware}}&lt;br /&gt;
&lt;br /&gt;
==Board Revision History==&lt;br /&gt;
Find out your board revision with the following command:&lt;br /&gt;
 cat /proc/cpuinfo&lt;br /&gt;
You will see your device data including:&lt;br /&gt;
  Hardware	: BCM2708&lt;br /&gt;
  Revision	: 0003&lt;br /&gt;
&lt;br /&gt;
If you see a &amp;quot;1000&amp;quot; at the front of the Revision, e.g. 10000002 then it indicates&amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?f=32&amp;amp;t=18133#p181069&amp;lt;/ref&amp;gt; that your Raspberry Pi has been [[RPiconfig#Overclocking|over-volted]], and your board revision is simply the last 4 digits (i.e. 0002 in this example).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Much of the info in this table can be found at http://raspberryalphaomega.org.uk/?p=428 and&lt;br /&gt;
 http://www.raspberrypi.org/phpBB3/viewtopic.php?p=281039&amp;amp;sid=c62f76dcc4871906db356d5dc1acfeb4#p281039 &lt;br /&gt;
 See also http://www.raspberrypi.org/archives/1929 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- I suspect that Revision 000d may correspond to the Red Pis http://www.raspberrypi.org/archives/3195 and therefore also have a release date of Q1 2013 ? --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Revision&lt;br /&gt;
! Release Date&lt;br /&gt;
! Model&lt;br /&gt;
! PCB Revision&lt;br /&gt;
! Memory&lt;br /&gt;
! Notes&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Beta&lt;br /&gt;
| Q1 2012&lt;br /&gt;
| B (Beta)&lt;br /&gt;
| ?&lt;br /&gt;
| 256MB&lt;br /&gt;
| Beta Board&lt;br /&gt;
|-&lt;br /&gt;
| 0002&lt;br /&gt;
| Q1 2012&lt;br /&gt;
| B&lt;br /&gt;
| 1.0&lt;br /&gt;
| 256MB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0003&lt;br /&gt;
| Q3 2012&lt;br /&gt;
| B (ECN0001)&lt;br /&gt;
| 1.0&lt;br /&gt;
| 256MB&lt;br /&gt;
| Fuses mod and D14 removed&lt;br /&gt;
|-&lt;br /&gt;
| 0004&lt;br /&gt;
| Q3 2012&lt;br /&gt;
| B&lt;br /&gt;
| 2.0&lt;br /&gt;
| 256MB&lt;br /&gt;
| (Mfg by Sony)&lt;br /&gt;
|-&lt;br /&gt;
| 0005&lt;br /&gt;
| Q4 2012&lt;br /&gt;
| B&lt;br /&gt;
| 2.0&lt;br /&gt;
| 256MB&lt;br /&gt;
| (Mfg by Qisda)&lt;br /&gt;
|-&lt;br /&gt;
| 0006&lt;br /&gt;
| Q4 2012&lt;br /&gt;
| B&lt;br /&gt;
| 2.0&lt;br /&gt;
| 256MB&lt;br /&gt;
| (Mfg by Egoman)&lt;br /&gt;
|-&lt;br /&gt;
| 0007&lt;br /&gt;
| Q1 2013&lt;br /&gt;
| A&lt;br /&gt;
| 2.0&lt;br /&gt;
| 256MB&lt;br /&gt;
| (Mfg by Egoman)&lt;br /&gt;
|-&lt;br /&gt;
| 0008&lt;br /&gt;
| Q1 2013&lt;br /&gt;
| A&lt;br /&gt;
| 2.0&lt;br /&gt;
| 256MB&lt;br /&gt;
| (Mfg by Sony)&lt;br /&gt;
|-&lt;br /&gt;
| 0009&lt;br /&gt;
| Q1 2013&lt;br /&gt;
| A&lt;br /&gt;
| 2.0&lt;br /&gt;
| 256MB&lt;br /&gt;
| (Mfg by Qisda)&lt;br /&gt;
|-&lt;br /&gt;
| 000d&lt;br /&gt;
| Q4 2012&lt;br /&gt;
| B&lt;br /&gt;
| 2.0&lt;br /&gt;
| 512MB&lt;br /&gt;
| (Mfg by Egoman)&lt;br /&gt;
|-&lt;br /&gt;
| 000e&lt;br /&gt;
| Q4 2012&lt;br /&gt;
| B&lt;br /&gt;
| 2.0&lt;br /&gt;
| 512MB&lt;br /&gt;
| (Mfg by Sony)&lt;br /&gt;
|-&lt;br /&gt;
| 000f&lt;br /&gt;
| Q4 2012&lt;br /&gt;
| B&lt;br /&gt;
| 2.0&lt;br /&gt;
| 512MB&lt;br /&gt;
| (Mfg by Qisda)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===ECN0001===&lt;br /&gt;
ECN0001 is the request to not fit D14 and replace F1 and F2 with 0 ohm.&lt;br /&gt;
&lt;br /&gt;
====D14 Removal====&lt;br /&gt;
D14 can interfere with some CEC devices if the Pi is left plugged in and unpowered.  The benefits of having it are minimal so it was removed.&amp;lt;ref name=&amp;quot;D14&amp;quot;&amp;gt;[http://www.raspberrypi.org/phpBB3/viewtopic.php?f=63&amp;amp;t=16365 New Pi missing D14]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====F1 &amp;amp; F2 Replacement/Removal====&lt;br /&gt;
F1 &amp;amp; F2 can cause problems with some USB devices which draw high current.  In particular due to the recovery characteristics of the Poly-fuses, it can take a while to recover their low resistance state afterwards, adding &lt;br /&gt;
additional problems for other devices (lower voltage on the USB bus).&lt;br /&gt;
&lt;br /&gt;
===Model B Revision 2.0===&lt;br /&gt;
Based on a new PCB layout that includes previous build fixes from ECN0001 such us removal of the poly-fuses in series with the +5V power for USB devices, and other fixes reported by the community such as the erroneous connection of the LAN9512 VDD18CORE pins to the +1V8 power plane, addition of the 8-pin P5 header (non-populated) for extra GPIO pins, addition to the 2-pin P6 header (non-populated) for a RESET button, and other changes and improvements reported in more detail &amp;lt;ref name=&amp;quot;REV2.0&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/1929 Upcoming Board Revision]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Colour Variations===&lt;br /&gt;
The vast majority of the Raspberry Pis produced have a &amp;lt;b&amp;gt;&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Green&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; PCB, but Pis produced by [[RPi_Buying_Guide#Egoman_Technology_Corp|Egoman_Technology_Corp]] (only available in the Far East) have a &amp;lt;b&amp;gt;&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Red&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/3195&amp;lt;/ref&amp;gt; PCB, and RS Components produced a limited edition of anniversary Pis in &amp;lt;b&amp;gt;&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Blue&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/3422&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi Model-A Full Production Board ==&lt;br /&gt;
* As of Feb 2013, available from distributors in Europe but not North America&lt;br /&gt;
* Board has 256Mb of RAM rather than the originally planned 128Mb&amp;lt;ref name=&amp;quot;postSale&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/723 Post-Launch - And breathe…]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The Foundation produced a small Beta batch before handing manufacturing over to RS and Farnell&lt;br /&gt;
* The ModelA boards actually use the identical Revision2.0 PCB as ModelB boards, just with a different selection of components fitted (full details available from the [[RPi_Hardware#Schematic_.2F_Layout|schematics]]). AFAIK no ModelA boards using the Revision1.0 PCBs were ever publicly available (or indeed ever made?).&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi Model-B Full Production Board ==&lt;br /&gt;
[[File:RaspiFront.JPG|250px|thumb|right|The Rpi full production board (model B Rev 2.0)]]&lt;br /&gt;
* Announced: April 2012, first orders sent out June 2012.&lt;br /&gt;
* Manufacturing and Orders will be made through RS and Farnell&lt;br /&gt;
* This means a much higher volume of units will be produced and made available.&lt;br /&gt;
* Additional detail is available about the manufacturing and distribution agreement here [http://hardware.slashdot.org/story/12/02/28/2347222/raspberry-pi-now-has-distributors----and-will-soon-have-boards-for-all-video video interview between Eben Upton and SlashDot here (28/02/12)].&lt;br /&gt;
* Announced: September 2012, Raspberry Pi Model B Rev 2.0 is now manufactured at Sony's manufacturing plant on Pencoed, South Wales. [http://www.raspberrypi.org/archives/1925 Full announcement from the Raspberry Pi Foundation], [http://www.element14.com/community/thread/19738?tstart=0 Element14 announcement on Raspberry Pi discussion board].&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi 1st Production Board ==&lt;br /&gt;
* Announced: 29th Feb 2012 - Start of Sale Only&amp;lt;ref name=&amp;quot;postSale&amp;quot;/&amp;gt;&lt;br /&gt;
* Credit-card Format&lt;br /&gt;
* Initial 10k Batch (All Model-B's) Manufactured in China (Jan/Feb 2012)&amp;lt;ref name=&amp;quot;firstProduction&amp;quot; &amp;gt;[http://www.raspberrypi.org/archives/509 We’ve started manufacture!]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Should look identical to the Raspberry Pi Beta Board below (except different SDCard holder).&lt;br /&gt;
* The board has a yellow RCA connector, rather than the black one used in the Beta's.&lt;br /&gt;
* Nokia/Qt Development group has donated vouchers for 400 RPi units for developers&amp;lt;ref name=&amp;quot;nokiaDonate&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/369 Nokia has Raspberry Pi vouchers for 400 Qt developers]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The batch was delayed several weeks due to the RJ45 network connector being substituted for the wrong part&amp;lt;ref&amp;gt;[http://www.raspberrypi.org/archives/781 Manufacturing Hiccup]&amp;lt;/ref&amp;gt; and also so the board could undergo compliance testing&amp;lt;ref&amp;gt;[http://www.raspberrypi.org/archives/852 Compliance testing]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi Beta Production Board ==&lt;br /&gt;
* Announced: December 2011&amp;lt;ref name=&amp;quot;#Beta&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/422 Populated boards: an update on where we are]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Credit-Card Format&lt;br /&gt;
* Manufactured in UK&lt;br /&gt;
* Produced 100&amp;lt;ref name=&amp;quot;betapcb&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/389 We have PCBs! BETA]&amp;lt;/ref&amp;gt; PCBs&lt;br /&gt;
* Characteristic feature of hand-modded correction to PCB &amp;lt;ref name=&amp;quot;betaError&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/470 (hand-mod) More on the beta boards]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* See the [http://www.raspberrypi.org/archives/482 blog post] which includes a video explaining how the production units will differ from the beta boards.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2011/12/Picture-002-copy2-e1322775411416.jpg Pre-production board (beta board) PCB, topside]&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2011/12/Picture-003-copy2.jpg Pre-production board (beta board) PCB, underside]&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2011/12/Picture-001-copy.jpg Pre-production board vs credit-card]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===eBay Auction===&lt;br /&gt;
10 of the completed Model-B boards were auctioned on eBay (Started on 1st Jan 2012) &amp;lt;ref name=&amp;quot;betaebay&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/482 We’re auctioning ten beta Raspberry Pis!]&amp;lt;/ref&amp;gt;)&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|SerialNo:&lt;br /&gt;
|#1&lt;br /&gt;
|#2&lt;br /&gt;
|#3&lt;br /&gt;
|#4&lt;br /&gt;
|#5&lt;br /&gt;
|#6&lt;br /&gt;
|#7&amp;lt;ref name=&amp;quot;#7Donated&amp;quot;/&amp;gt;&lt;br /&gt;
|#8&amp;lt;ref name=&amp;quot;#8PaulMaunders&amp;quot;/&amp;gt;&lt;br /&gt;
|#9&lt;br /&gt;
|#10&lt;br /&gt;
|-&lt;br /&gt;
|Date:&lt;br /&gt;
|11-Jan-2012&lt;br /&gt;
|11-Jan-2012&lt;br /&gt;
|10-Jan-2012&lt;br /&gt;
|10-Jan-2012&lt;br /&gt;
|09-Jan-2012&lt;br /&gt;
|09-Jan-2012&lt;br /&gt;
|08-Jan-2012&lt;br /&gt;
|08-Jan-2012&lt;br /&gt;
|07-Jan-2012&lt;br /&gt;
|07-Jan-2012&lt;br /&gt;
|-&lt;br /&gt;
|Sold For:&lt;br /&gt;
|£3,500&lt;br /&gt;
|£2,150&lt;br /&gt;
|£2,257&lt;br /&gt;
|£1,550&lt;br /&gt;
|£1,040&lt;br /&gt;
|£1,000&lt;br /&gt;
|£989&lt;br /&gt;
|£1,020&lt;br /&gt;
|£930&lt;br /&gt;
|£1,900&lt;br /&gt;
|}&lt;br /&gt;
Board #7 was anonymously (and generously) donated to [http://www.computinghistory.org.uk/ Centre for Computing History]&amp;lt;ref name=&amp;quot;#7Donated&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/503 Beta board bought by anonymous bidder and donated to museum]&amp;lt;/ref&amp;gt; (also spotted [http://twitpic.com/86trra here..])!&lt;br /&gt;
&lt;br /&gt;
Board #8 Owned by Tech Blogger, Paul Maunders, see his [http://www.pyrosoft.co.uk/blog blog] for details&amp;lt;ref name=&amp;quot;#8PaulMaunders&amp;quot;&amp;gt;[http://www.pyrosoft.co.uk/blog/2012/01/13/raspberry-pi-8-first-photoshoot/ Paul Maunders - Raspberry Pi #8 First Photoshoot]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi Alpha Board ==&lt;br /&gt;
[[File:RPi-alpha.jpg|250px|thumb|right|RPi Alpha Board]]&lt;br /&gt;
&lt;br /&gt;
* Announced: August 2011&amp;lt;ref name=&amp;quot;#Alpha&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/78 The alpha boards are here!]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Large Format for debugging (Model-B)&lt;br /&gt;
* Populated with headers for GPIO, JTAG, DSI, CSI, as well as switches and LEDs for I/O testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2011/08/DSCF1809.jpg Alpha prototype board, underside]&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi USB Prototype Board ==&lt;br /&gt;
[[File:Rpi-usbproto.jpg|250px|thumb|right|RPi USB Prototype Board]]&lt;br /&gt;
* Announced: May 2011&lt;br /&gt;
* The &amp;quot;Computer On A USB Stick&amp;quot; Format&lt;br /&gt;
* Included built-in camera&lt;br /&gt;
* HDMI one end and single USB the other&lt;br /&gt;
* Introduced the RPi Foundation to the world (any earlier links appreciated), featured by [http://www.bbc.co.uk/news/technology-13292450 BBC Online Video].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
‎&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi Concept 2006 edition==&lt;br /&gt;
[[File:RPi-atmel2006Ed.jpg|250px|thumb|right|Raspberry Pi Concept 2006 edition]]&lt;br /&gt;
* Vero-board Prototype &amp;amp; PCB Version&lt;br /&gt;
* Atmel ATmega644 microcontroller clocked at 22.1MHz&amp;lt;ref name=&amp;quot;2006ed&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/264 Raspberry Pi – 2006 edition]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
===Video===&lt;br /&gt;
* [http://news.bbc.co.uk/1/hi/programmes/click_online/9504208.stm BBC iClick's Peter Price asks whether a £15 computer can solve the programming gap] (6 minutes, 3 June 2011)&lt;br /&gt;
* [http://www.youtube.com/watch?v=pQ7N4rycsy4 Raspberry Pi's David Braben talks to BBC's Rory Cellan-Jones] (2:28 minutes, 5 May 2011)&lt;br /&gt;
* [http://www.youtube.com/RaspberryPiTutorials Raspberry Pi community tutorials on YouTube]&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
* [http://foundationlibraries.blogspot.com/2011/06/cfl-podcast-eben-upton-raspberry-pi.html Podcast of a phone interview with Eben about the project and the motivations behind it] (15 minutes long.) (3 June 2011) Transcription [http://tomhannen.posterous.com/raspberry-pi-podcast-transcript here].&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Template:Raspberry Pi}}&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/RPi_HardwareHistory</id>
		<title>RPi HardwareHistory</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RPi_HardwareHistory"/>
				<updated>2013-03-11T12:20:49Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: Clarified the info regarding the  PCB revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:RaspberryPi]]&lt;br /&gt;
{{Template:RPi_Hardware}}&lt;br /&gt;
&lt;br /&gt;
==Board Revision History==&lt;br /&gt;
Find out your board revision with the following command:&lt;br /&gt;
 cat /proc/cpuinfo&lt;br /&gt;
You will see your device data including:&lt;br /&gt;
  Hardware	: BCM2708&lt;br /&gt;
  Revision	: 0003&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Much of this info can be found at http://raspberryalphaomega.org.uk/?p=428 and&lt;br /&gt;
 http://www.raspberrypi.org/phpBB3/viewtopic.php?p=281039&amp;amp;sid=c62f76dcc4871906db356d5dc1acfeb4#p281039 &lt;br /&gt;
 See also http://www.raspberrypi.org/archives/1929 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- I suspect that Revision 000d may correspond to the Red Pis http://www.raspberrypi.org/archives/3195 and therefore also have a release date of Q1 2013 ? --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Revision&lt;br /&gt;
! Release Date&lt;br /&gt;
! Model&lt;br /&gt;
! PCB Revision&lt;br /&gt;
! Memory&lt;br /&gt;
! Notes&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Beta&lt;br /&gt;
| Q1 2012&lt;br /&gt;
| B (Beta)&lt;br /&gt;
| ?&lt;br /&gt;
| 256MB&lt;br /&gt;
| Beta Board&lt;br /&gt;
|-&lt;br /&gt;
| 0002&lt;br /&gt;
| Q1 2012&lt;br /&gt;
| B&lt;br /&gt;
| 1.0&lt;br /&gt;
| 256MB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0003&lt;br /&gt;
| Q3 2012&lt;br /&gt;
| B (ECN0001)&lt;br /&gt;
| 1.0&lt;br /&gt;
| 256MB&lt;br /&gt;
| Fuses mod and D14 removed&lt;br /&gt;
|-&lt;br /&gt;
| 0004&lt;br /&gt;
| Q3 2012&lt;br /&gt;
| B&lt;br /&gt;
| 2.0&lt;br /&gt;
| 256MB&lt;br /&gt;
| (Mfg by Sony)&lt;br /&gt;
|-&lt;br /&gt;
| 0005&lt;br /&gt;
| Q4 2012&lt;br /&gt;
| B&lt;br /&gt;
| 2.0&lt;br /&gt;
| 256MB&lt;br /&gt;
| (Mfg by Qisda)&lt;br /&gt;
|-&lt;br /&gt;
| 0006&lt;br /&gt;
| Q4 2012&lt;br /&gt;
| B&lt;br /&gt;
| 2.0&lt;br /&gt;
| 256MB&lt;br /&gt;
| (Mfg by Egoman)&lt;br /&gt;
|-&lt;br /&gt;
| 0007&lt;br /&gt;
| Q1 2013&lt;br /&gt;
| A&lt;br /&gt;
| 2.0&lt;br /&gt;
| 256MB&lt;br /&gt;
| (Mfg by Egoman)&lt;br /&gt;
|-&lt;br /&gt;
| 0008&lt;br /&gt;
| Q1 2013&lt;br /&gt;
| A&lt;br /&gt;
| 2.0&lt;br /&gt;
| 256MB&lt;br /&gt;
| (Mfg by Sony)&lt;br /&gt;
|-&lt;br /&gt;
| 0009&lt;br /&gt;
| Q1 2013&lt;br /&gt;
| A&lt;br /&gt;
| 2.0&lt;br /&gt;
| 256MB&lt;br /&gt;
| (Mfg by Qisda)&lt;br /&gt;
|-&lt;br /&gt;
| 000d&lt;br /&gt;
| Q4 2012&lt;br /&gt;
| B&lt;br /&gt;
| 2.0&lt;br /&gt;
| 512MB&lt;br /&gt;
| (Mfg by Egoman)&lt;br /&gt;
|-&lt;br /&gt;
| 000e&lt;br /&gt;
| Q4 2012&lt;br /&gt;
| B&lt;br /&gt;
| 2.0&lt;br /&gt;
| 512MB&lt;br /&gt;
| (Mfg by Sony)&lt;br /&gt;
|-&lt;br /&gt;
| 000f&lt;br /&gt;
| Q4 2012&lt;br /&gt;
| B&lt;br /&gt;
| 2.0&lt;br /&gt;
| 512MB&lt;br /&gt;
| (Mfg by Qisda)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===ECN0001===&lt;br /&gt;
ECN0001 is the request to not fit D14 and replace F1 and F2 with 0 ohm.&lt;br /&gt;
&lt;br /&gt;
====D14 Removal====&lt;br /&gt;
D14 can interfere with some CEC devices if the Pi is left plugged in and unpowered.  The benefits of having it are minimal so it was removed.&amp;lt;ref name=&amp;quot;D14&amp;quot;&amp;gt;[http://www.raspberrypi.org/phpBB3/viewtopic.php?f=63&amp;amp;t=16365 New Pi missing D14]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====F1 &amp;amp; F2 Replacement/Removal====&lt;br /&gt;
F1 &amp;amp; F2 can cause problems with some USB devices which draw high current.  In particular due to the recovery characteristics of the Poly-fuses, it can take a while to recover their low resistance state afterwards, adding &lt;br /&gt;
additional problems for other devices (lower voltage on the USB bus).&lt;br /&gt;
&lt;br /&gt;
===Model B Revision 2.0===&lt;br /&gt;
Based on a new PCB layout that includes previous build fixes from ECN0001 such us removal of the poly-fuses in series with the +5V power for USB devices, and other fixes reported by the community such as the erroneous connection of the LAN9512 VDD18CORE pins to the +1V8 power plane, addition of the 8-pin P5 header (non-populated) for extra GPIO pins, addition to the 2-pin P6 header (non-populated) for a RESET button, and other changes and improvements reported in more detail &amp;lt;ref name=&amp;quot;REV2.0&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/1929 Upcoming Board Revision]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Colour Variations===&lt;br /&gt;
The vast majority of the Raspberry Pis produced have a &amp;lt;b&amp;gt;&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Green&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; PCB, but all Pis produced by [[RPi_Buying_Guide#Egoman_Technology_Corp|Egoman_Technology_Corp]] (only available in the Far East) have a &amp;lt;b&amp;gt;&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Red&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/3195&amp;lt;/ref&amp;gt; PCB, and RS Components produced a limited edition of anniversary Pis in &amp;lt;b&amp;gt;&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Blue&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/3422&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi Model-A Full Production Board ==&lt;br /&gt;
* As of Feb 2013, available from distributors in Europe but not North America&lt;br /&gt;
* Board has 256Mb of RAM rather than the originally planned 128Mb&amp;lt;ref name=&amp;quot;postSale&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/723 Post-Launch - And breathe…]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The Foundation produced a small Beta batch before handing manufacturing over to RS and Farnell&lt;br /&gt;
* The ModelA boards actually use the identical Revision2.0 PCB as ModelB boards, just with a different selection of components fitted (full details available from the [[RPi_Hardware#Schematic_.2F_Layout|schematics]]). AFAIK no ModelA boards using the Revision1.0 PCBs were ever publicly available (or indeed ever made?).&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi Model-B Full Production Board ==&lt;br /&gt;
[[File:RaspiFront.JPG|250px|thumb|right|The Rpi full production board (model B Rev 2.0)]]&lt;br /&gt;
* Announced: April 2012, first orders sent out June 2012.&lt;br /&gt;
* Manufacturing and Orders will be made through RS and Farnell&lt;br /&gt;
* This means a much higher volume of units will be produced and made available.&lt;br /&gt;
* Additional detail is available about the manufacturing and distribution agreement here [http://hardware.slashdot.org/story/12/02/28/2347222/raspberry-pi-now-has-distributors----and-will-soon-have-boards-for-all-video video interview between Eben Upton and SlashDot here (28/02/12)].&lt;br /&gt;
* Announced: September 2012, Raspberry Pi Model B Rev 2.0 is now manufactured at Sony's manufacturing plant on Pencoed, South Wales. [http://www.raspberrypi.org/archives/1925 Full announcement from the Raspberry Pi Foundation], [http://www.element14.com/community/thread/19738?tstart=0 Element14 announcement on Raspberry Pi discussion board].&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi 1st Production Board ==&lt;br /&gt;
* Announced: 29th Feb 2012 - Start of Sale Only&amp;lt;ref name=&amp;quot;postSale&amp;quot;/&amp;gt;&lt;br /&gt;
* Credit-card Format&lt;br /&gt;
* Initial 10k Batch (All Model-B's) Manufactured in China (Jan/Feb 2012)&amp;lt;ref name=&amp;quot;firstProduction&amp;quot; &amp;gt;[http://www.raspberrypi.org/archives/509 We’ve started manufacture!]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Should look identical to the Raspberry Pi Beta Board below (except different SDCard holder).&lt;br /&gt;
* The board has a yellow RCA connector, rather than the black one used in the Beta's.&lt;br /&gt;
* Nokia/Qt Development group has donated vouchers for 400 RPi units for developers&amp;lt;ref name=&amp;quot;nokiaDonate&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/369 Nokia has Raspberry Pi vouchers for 400 Qt developers]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The batch was delayed several weeks due to the RJ45 network connector being substituted for the wrong part&amp;lt;ref&amp;gt;[http://www.raspberrypi.org/archives/781 Manufacturing Hiccup]&amp;lt;/ref&amp;gt; and also so the board could undergo compliance testing&amp;lt;ref&amp;gt;[http://www.raspberrypi.org/archives/852 Compliance testing]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi Beta Production Board ==&lt;br /&gt;
* Announced: December 2011&amp;lt;ref name=&amp;quot;#Beta&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/422 Populated boards: an update on where we are]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Credit-Card Format&lt;br /&gt;
* Manufactured in UK&lt;br /&gt;
* Produced 100&amp;lt;ref name=&amp;quot;betapcb&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/389 We have PCBs! BETA]&amp;lt;/ref&amp;gt; PCBs&lt;br /&gt;
* Characteristic feature of hand-modded correction to PCB &amp;lt;ref name=&amp;quot;betaError&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/470 (hand-mod) More on the beta boards]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* See the [http://www.raspberrypi.org/archives/482 blog post] which includes a video explaining how the production units will differ from the beta boards.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2011/12/Picture-002-copy2-e1322775411416.jpg Pre-production board (beta board) PCB, topside]&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2011/12/Picture-003-copy2.jpg Pre-production board (beta board) PCB, underside]&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2011/12/Picture-001-copy.jpg Pre-production board vs credit-card]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===eBay Auction===&lt;br /&gt;
10 of the completed Model-B boards were auctioned on eBay (Started on 1st Jan 2012) &amp;lt;ref name=&amp;quot;betaebay&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/482 We’re auctioning ten beta Raspberry Pis!]&amp;lt;/ref&amp;gt;)&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|SerialNo:&lt;br /&gt;
|#1&lt;br /&gt;
|#2&lt;br /&gt;
|#3&lt;br /&gt;
|#4&lt;br /&gt;
|#5&lt;br /&gt;
|#6&lt;br /&gt;
|#7&amp;lt;ref name=&amp;quot;#7Donated&amp;quot;/&amp;gt;&lt;br /&gt;
|#8&amp;lt;ref name=&amp;quot;#8PaulMaunders&amp;quot;/&amp;gt;&lt;br /&gt;
|#9&lt;br /&gt;
|#10&lt;br /&gt;
|-&lt;br /&gt;
|Date:&lt;br /&gt;
|11-Jan-2012&lt;br /&gt;
|11-Jan-2012&lt;br /&gt;
|10-Jan-2012&lt;br /&gt;
|10-Jan-2012&lt;br /&gt;
|09-Jan-2012&lt;br /&gt;
|09-Jan-2012&lt;br /&gt;
|08-Jan-2012&lt;br /&gt;
|08-Jan-2012&lt;br /&gt;
|07-Jan-2012&lt;br /&gt;
|07-Jan-2012&lt;br /&gt;
|-&lt;br /&gt;
|Sold For:&lt;br /&gt;
|£3,500&lt;br /&gt;
|£2,150&lt;br /&gt;
|£2,257&lt;br /&gt;
|£1,550&lt;br /&gt;
|£1,040&lt;br /&gt;
|£1,000&lt;br /&gt;
|£989&lt;br /&gt;
|£1,020&lt;br /&gt;
|£930&lt;br /&gt;
|£1,900&lt;br /&gt;
|}&lt;br /&gt;
Board #7 was anonymously (and generously) donated to [http://www.computinghistory.org.uk/ Centre for Computing History]&amp;lt;ref name=&amp;quot;#7Donated&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/503 Beta board bought by anonymous bidder and donated to museum]&amp;lt;/ref&amp;gt; (also spotted [http://twitpic.com/86trra here..])!&lt;br /&gt;
&lt;br /&gt;
Board #8 Owned by Tech Blogger, Paul Maunders, see his [http://www.pyrosoft.co.uk/blog blog] for details&amp;lt;ref name=&amp;quot;#8PaulMaunders&amp;quot;&amp;gt;[http://www.pyrosoft.co.uk/blog/2012/01/13/raspberry-pi-8-first-photoshoot/ Paul Maunders - Raspberry Pi #8 First Photoshoot]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi Alpha Board ==&lt;br /&gt;
[[File:RPi-alpha.jpg|250px|thumb|right|RPi Alpha Board]]&lt;br /&gt;
&lt;br /&gt;
* Announced: August 2011&amp;lt;ref name=&amp;quot;#Alpha&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/78 The alpha boards are here!]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Large Format for debugging (Model-B)&lt;br /&gt;
* Populated with headers for GPIO, JTAG, DSI, CSI, as well as switches and LEDs for I/O testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2011/08/DSCF1809.jpg Alpha prototype board, underside]&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi USB Prototype Board ==&lt;br /&gt;
[[File:Rpi-usbproto.jpg|250px|thumb|right|RPi USB Prototype Board]]&lt;br /&gt;
* Announced: May 2011&lt;br /&gt;
* The &amp;quot;Computer On A USB Stick&amp;quot; Format&lt;br /&gt;
* Included built-in camera&lt;br /&gt;
* HDMI one end and single USB the other&lt;br /&gt;
* Introduced the RPi Foundation to the world (any earlier links appreciated), featured by [http://www.bbc.co.uk/news/technology-13292450 BBC Online Video].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
‎&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi Concept 2006 edition==&lt;br /&gt;
[[File:RPi-atmel2006Ed.jpg|250px|thumb|right|Raspberry Pi Concept 2006 edition]]&lt;br /&gt;
* Vero-board Prototype &amp;amp; PCB Version&lt;br /&gt;
* Atmel ATmega644 microcontroller clocked at 22.1MHz&amp;lt;ref name=&amp;quot;2006ed&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/264 Raspberry Pi – 2006 edition]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
===Video===&lt;br /&gt;
* [http://news.bbc.co.uk/1/hi/programmes/click_online/9504208.stm BBC iClick's Peter Price asks whether a £15 computer can solve the programming gap] (6 minutes, 3 June 2011)&lt;br /&gt;
* [http://www.youtube.com/watch?v=pQ7N4rycsy4 Raspberry Pi's David Braben talks to BBC's Rory Cellan-Jones] (2:28 minutes, 5 May 2011)&lt;br /&gt;
* [http://www.youtube.com/RaspberryPiTutorials Raspberry Pi community tutorials on YouTube]&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
* [http://foundationlibraries.blogspot.com/2011/06/cfl-podcast-eben-upton-raspberry-pi.html Podcast of a phone interview with Eben about the project and the motivations behind it] (15 minutes long.) (3 June 2011) Transcription [http://tomhannen.posterous.com/raspberry-pi-podcast-transcript here].&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Template:Raspberry Pi}}&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/RPi_HardwareHistory</id>
		<title>RPi HardwareHistory</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RPi_HardwareHistory"/>
				<updated>2013-03-11T11:48:45Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: /* Board Revision History */ Added details about the Red and Blue Pi boards&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:RaspberryPi]]&lt;br /&gt;
{{Template:RPi_Hardware}}&lt;br /&gt;
&lt;br /&gt;
==Board Revision History==&lt;br /&gt;
Find out your board revision with the following command:&lt;br /&gt;
 cat /proc/cpuinfo&lt;br /&gt;
You will see your device data including:&lt;br /&gt;
  Hardware	: BCM2708&lt;br /&gt;
  Revision	: 0003&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Much of this info can be found at http://raspberryalphaomega.org.uk/?p=428 and&lt;br /&gt;
 http://www.raspberrypi.org/phpBB3/viewtopic.php?p=281039&amp;amp;sid=c62f76dcc4871906db356d5dc1acfeb4#p281039 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Revision&lt;br /&gt;
! Release Date&lt;br /&gt;
! Model&lt;br /&gt;
! Memory&lt;br /&gt;
! Notes&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Beta&lt;br /&gt;
| Q1 2012&lt;br /&gt;
| B (Beta)&lt;br /&gt;
| 256MB&lt;br /&gt;
| Beta Board&lt;br /&gt;
|-&lt;br /&gt;
| 0002&lt;br /&gt;
| Q1 2012&lt;br /&gt;
| B&lt;br /&gt;
| 256MB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0003&lt;br /&gt;
| Q3 2012&lt;br /&gt;
| B (ECN0001)&lt;br /&gt;
| 256MB&lt;br /&gt;
| Fuses mod and D14 removed&lt;br /&gt;
|-&lt;br /&gt;
| 0004&lt;br /&gt;
| Q3 2012&lt;br /&gt;
| B 2.0&lt;br /&gt;
| 256MB&lt;br /&gt;
| (Mfg by Sony)&lt;br /&gt;
|-&lt;br /&gt;
| 0005&lt;br /&gt;
| Q4 2012&lt;br /&gt;
| B 2.0&lt;br /&gt;
| 256MB&lt;br /&gt;
| (Mfg by Qisda)&lt;br /&gt;
|-&lt;br /&gt;
| 0006&lt;br /&gt;
| Q4 2012&lt;br /&gt;
| B 2.0&lt;br /&gt;
| 256MB&lt;br /&gt;
| (Mfg by Egoman)&lt;br /&gt;
|-&lt;br /&gt;
| 0007&lt;br /&gt;
| Q1 2013&lt;br /&gt;
| A&lt;br /&gt;
| 256MB&lt;br /&gt;
| (Mfg by Egoman)&lt;br /&gt;
|-&lt;br /&gt;
| 0008&lt;br /&gt;
| Q1 2013&lt;br /&gt;
| A&lt;br /&gt;
| 256MB&lt;br /&gt;
| (Mfg by Sony)&lt;br /&gt;
|-&lt;br /&gt;
| 0009&lt;br /&gt;
| Q1 2013&lt;br /&gt;
| A&lt;br /&gt;
| 256MB&lt;br /&gt;
| (Mfg by Qisda)&lt;br /&gt;
|-&lt;br /&gt;
| 000d&lt;br /&gt;
| Q4 2012&lt;br /&gt;
| B 2.0&lt;br /&gt;
| 512MB&lt;br /&gt;
| (Mfg by Egoman)&lt;br /&gt;
|-&lt;br /&gt;
| 000e&lt;br /&gt;
| Q4 2012&lt;br /&gt;
| B 2.0&lt;br /&gt;
| 512MB&lt;br /&gt;
| (Mfg by Sony)&lt;br /&gt;
|-&lt;br /&gt;
| 000f&lt;br /&gt;
| Q4 2012&lt;br /&gt;
| B 2.0&lt;br /&gt;
| 512MB&lt;br /&gt;
| (Mfg by Qisda)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===ECN0001===&lt;br /&gt;
ECN0001 is the request to not fit D14 and replace F1 and F2 with 0 ohm.&lt;br /&gt;
&lt;br /&gt;
====D14 Removal====&lt;br /&gt;
D14 can interfere with some CEC devices if the Pi is left plugged in and unpowered.  The benefits of having it are minimal so it was removed.&amp;lt;ref name=&amp;quot;D14&amp;quot;&amp;gt;[http://www.raspberrypi.org/phpBB3/viewtopic.php?f=63&amp;amp;t=16365 New Pi missing D14]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====F1 &amp;amp; F2 Replacement/Removal====&lt;br /&gt;
F1 &amp;amp; F2 can cause problems with some USB devices which draw high current.  In particular due to the recovery characteristics of the Poly-fuses, it can take a while to recover their low resistance state afterwards, adding &lt;br /&gt;
additional problems for other devices (lower voltage on the USB bus).&lt;br /&gt;
&lt;br /&gt;
===Model B Revision 2.0===&lt;br /&gt;
Based on a new PCB layout that includes previous build fixes from ECN0001 such us removal of the poly-fuses in series with the +5V power for USB devices, and other fixes reported by the community such as the erroneous connection of the LAN9512 VDD18CORE pins to the +1V8 power plane, addition of the 8-pin P5 header (non-populated) for extra GPIO pins, addition to the 2-pin P6 header (non-populated) for a RESET button, and other changes and improvements reported in more detail &amp;lt;ref name=&amp;quot;REV2.0&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/1929 Upcoming Board Revision]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Colour Variations===&lt;br /&gt;
The vast majority of the Raspberry Pis produced have a &amp;lt;b&amp;gt;&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Green&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; PCB, but all Pis produced by [[RPi_Buying_Guide#Egoman_Technology_Corp|Egoman_Technology_Corp]] (only available in the Far East) have a &amp;lt;b&amp;gt;&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Red&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/3195&amp;lt;/ref&amp;gt; PCB, and RS Components produced a limited edition of anniversary boards in &amp;lt;b&amp;gt;&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Blue&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/3422&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi Model-A Full Production Board ==&lt;br /&gt;
* As of Feb 2013, available from distributors in Europe but not North America&lt;br /&gt;
* Board has 256Mb of RAM rather than the originally planned 128Mb&amp;lt;ref name=&amp;quot;postSale&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/723 Post-Launch - And breathe…]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The Foundation produced a small Beta batch before handing manufacturing over to RS and Farnell&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi Model-B Full Production Board ==&lt;br /&gt;
[[File:RaspiFront.JPG|250px|thumb|right|The Rpi full production board (model B Rev 2.0)]]&lt;br /&gt;
* Announced: April 2012, first orders sent out June 2012.&lt;br /&gt;
* Manufacturing and Orders will be made through RS and Farnell&lt;br /&gt;
* This means a much higher volume of units will be produced and made available.&lt;br /&gt;
* Additional detail is available about the manufacturing and distribution agreement here [http://hardware.slashdot.org/story/12/02/28/2347222/raspberry-pi-now-has-distributors----and-will-soon-have-boards-for-all-video video interview between Eben Upton and SlashDot here (28/02/12)].&lt;br /&gt;
* Announced: September 2012, Raspberry Pi Model B Rev 2.0 is now manufactured at Sony's manufacturing plant on Pencoed, South Wales. [http://www.raspberrypi.org/archives/1925 Full announcement from the Raspberry Pi Foundation], [http://www.element14.com/community/thread/19738?tstart=0 Element14 announcement on Raspberry Pi discussion board].&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi 1st Production Board ==&lt;br /&gt;
* Announced: 29th Feb 2012 - Start of Sale Only&amp;lt;ref name=&amp;quot;postSale&amp;quot;/&amp;gt;&lt;br /&gt;
* Credit-card Format&lt;br /&gt;
* Initial 10k Batch (All Model-B's) Manufactured in China (Jan/Feb 2012)&amp;lt;ref name=&amp;quot;firstProduction&amp;quot; &amp;gt;[http://www.raspberrypi.org/archives/509 We’ve started manufacture!]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Should look identical to the Raspberry Pi Beta Board below (except different SDCard holder).&lt;br /&gt;
* The board has a yellow RCA connector, rather than the black one used in the Beta's.&lt;br /&gt;
* Nokia/Qt Development group has donated vouchers for 400 RPi units for developers&amp;lt;ref name=&amp;quot;nokiaDonate&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/369 Nokia has Raspberry Pi vouchers for 400 Qt developers]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The batch was delayed several weeks due to the RJ45 network connector being substituted for the wrong part&amp;lt;ref&amp;gt;[http://www.raspberrypi.org/archives/781 Manufacturing Hiccup]&amp;lt;/ref&amp;gt; and also so the board could undergo compliance testing&amp;lt;ref&amp;gt;[http://www.raspberrypi.org/archives/852 Compliance testing]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi Beta Production Board ==&lt;br /&gt;
* Announced: December 2011&amp;lt;ref name=&amp;quot;#Beta&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/422 Populated boards: an update on where we are]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Credit-Card Format&lt;br /&gt;
* Manufactured in UK&lt;br /&gt;
* Produced 100&amp;lt;ref name=&amp;quot;betapcb&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/389 We have PCBs! BETA]&amp;lt;/ref&amp;gt; PCBs&lt;br /&gt;
* Characteristic feature of hand-modded correction to PCB &amp;lt;ref name=&amp;quot;betaError&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/470 (hand-mod) More on the beta boards]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* See the [http://www.raspberrypi.org/archives/482 blog post] which includes a video explaining how the production units will differ from the beta boards.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2011/12/Picture-002-copy2-e1322775411416.jpg Pre-production board (beta board) PCB, topside]&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2011/12/Picture-003-copy2.jpg Pre-production board (beta board) PCB, underside]&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2011/12/Picture-001-copy.jpg Pre-production board vs credit-card]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===eBay Auction===&lt;br /&gt;
10 of the completed Model-B boards were auctioned on eBay (Started on 1st Jan 2012) &amp;lt;ref name=&amp;quot;betaebay&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/482 We’re auctioning ten beta Raspberry Pis!]&amp;lt;/ref&amp;gt;)&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|SerialNo:&lt;br /&gt;
|#1&lt;br /&gt;
|#2&lt;br /&gt;
|#3&lt;br /&gt;
|#4&lt;br /&gt;
|#5&lt;br /&gt;
|#6&lt;br /&gt;
|#7&amp;lt;ref name=&amp;quot;#7Donated&amp;quot;/&amp;gt;&lt;br /&gt;
|#8&amp;lt;ref name=&amp;quot;#8PaulMaunders&amp;quot;/&amp;gt;&lt;br /&gt;
|#9&lt;br /&gt;
|#10&lt;br /&gt;
|-&lt;br /&gt;
|Date:&lt;br /&gt;
|11-Jan-2012&lt;br /&gt;
|11-Jan-2012&lt;br /&gt;
|10-Jan-2012&lt;br /&gt;
|10-Jan-2012&lt;br /&gt;
|09-Jan-2012&lt;br /&gt;
|09-Jan-2012&lt;br /&gt;
|08-Jan-2012&lt;br /&gt;
|08-Jan-2012&lt;br /&gt;
|07-Jan-2012&lt;br /&gt;
|07-Jan-2012&lt;br /&gt;
|-&lt;br /&gt;
|Sold For:&lt;br /&gt;
|£3,500&lt;br /&gt;
|£2,150&lt;br /&gt;
|£2,257&lt;br /&gt;
|£1,550&lt;br /&gt;
|£1,040&lt;br /&gt;
|£1,000&lt;br /&gt;
|£989&lt;br /&gt;
|£1,020&lt;br /&gt;
|£930&lt;br /&gt;
|£1,900&lt;br /&gt;
|}&lt;br /&gt;
Board #7 was anonymously (and generously) donated to [http://www.computinghistory.org.uk/ Centre for Computing History]&amp;lt;ref name=&amp;quot;#7Donated&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/503 Beta board bought by anonymous bidder and donated to museum]&amp;lt;/ref&amp;gt; (also spotted [http://twitpic.com/86trra here..])!&lt;br /&gt;
&lt;br /&gt;
Board #8 Owned by Tech Blogger, Paul Maunders, see his [http://www.pyrosoft.co.uk/blog blog] for details&amp;lt;ref name=&amp;quot;#8PaulMaunders&amp;quot;&amp;gt;[http://www.pyrosoft.co.uk/blog/2012/01/13/raspberry-pi-8-first-photoshoot/ Paul Maunders - Raspberry Pi #8 First Photoshoot]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi Alpha Board ==&lt;br /&gt;
[[File:RPi-alpha.jpg|250px|thumb|right|RPi Alpha Board]]&lt;br /&gt;
&lt;br /&gt;
* Announced: August 2011&amp;lt;ref name=&amp;quot;#Alpha&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/78 The alpha boards are here!]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Large Format for debugging (Model-B)&lt;br /&gt;
* Populated with headers for GPIO, JTAG, DSI, CSI, as well as switches and LEDs for I/O testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2011/08/DSCF1809.jpg Alpha prototype board, underside]&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi USB Prototype Board ==&lt;br /&gt;
[[File:Rpi-usbproto.jpg|250px|thumb|right|RPi USB Prototype Board]]&lt;br /&gt;
* Announced: May 2011&lt;br /&gt;
* The &amp;quot;Computer On A USB Stick&amp;quot; Format&lt;br /&gt;
* Included built-in camera&lt;br /&gt;
* HDMI one end and single USB the other&lt;br /&gt;
* Introduced the RPi Foundation to the world (any earlier links appreciated), featured by [http://www.bbc.co.uk/news/technology-13292450 BBC Online Video].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
‎&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi Concept 2006 edition==&lt;br /&gt;
[[File:RPi-atmel2006Ed.jpg|250px|thumb|right|Raspberry Pi Concept 2006 edition]]&lt;br /&gt;
* Vero-board Prototype &amp;amp; PCB Version&lt;br /&gt;
* Atmel ATmega644 microcontroller clocked at 22.1MHz&amp;lt;ref name=&amp;quot;2006ed&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/264 Raspberry Pi – 2006 edition]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
===Video===&lt;br /&gt;
* [http://news.bbc.co.uk/1/hi/programmes/click_online/9504208.stm BBC iClick's Peter Price asks whether a £15 computer can solve the programming gap] (6 minutes, 3 June 2011)&lt;br /&gt;
* [http://www.youtube.com/watch?v=pQ7N4rycsy4 Raspberry Pi's David Braben talks to BBC's Rory Cellan-Jones] (2:28 minutes, 5 May 2011)&lt;br /&gt;
* [http://www.youtube.com/RaspberryPiTutorials Raspberry Pi community tutorials on YouTube]&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
* [http://foundationlibraries.blogspot.com/2011/06/cfl-podcast-eben-upton-raspberry-pi.html Podcast of a phone interview with Eben about the project and the motivations behind it] (15 minutes long.) (3 June 2011) Transcription [http://tomhannen.posterous.com/raspberry-pi-podcast-transcript here].&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Template:Raspberry Pi}}&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/RPi_Low-level_peripherals</id>
		<title>RPi Low-level peripherals</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RPi_Low-level_peripherals"/>
				<updated>2013-03-11T11:28:32Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: /* General Purpose Input/Output (GPIO) */ Split the P5 pinout table into two rows, to match the style of the P1 pinout table&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: RaspberryPi]]&lt;br /&gt;
{{Template:RPi_Hardware}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
In addition to the familiar USB, Ethernet and HDMI ports, the R-Pi offers lower-level interfaces intended to connect more directly with chips and subsystem modules. These GPIO (general purpose I/O) signals on the 2x13 header pins include SPI, I2C, serial UART, 3V3 and 5V power. These interfaces are not &amp;quot;plug and play&amp;quot; and require care to avoid miswiring. The pins use a 3V3 logic level and are not tolerant of 5V levels, such as you might find on a 5V powered Arduino.  Not yet software-enabled are the flex cable connectors with CSI (camera serial interface) and DSI (display serial interface), and a serial link inside the HDMI connector called CEC. (consumer electronics control)&lt;br /&gt;
&lt;br /&gt;
==General Purpose Input/Output (GPIO)==&lt;br /&gt;
[[File:GPIOs.png|thumb|254px|right|The layout of the Raspberry Pi Revision 1 P1 pin-header seen from the top, containing pins useable for general purpose I/O. Colour coded to the table. [https://sites.google.com/site/burngatehouse/home/drawings/GPIOs2.gif Source] ]]&lt;br /&gt;
&lt;br /&gt;
General Purpose Input/Output (a.k.a. GPIO) is a generic pin on a chip whose behavior (including whether it is an input or output pin) can be controlled (programmed) through software.&lt;br /&gt;
&lt;br /&gt;
The Raspberry Pi allows peripherals and expansion boards (such as the [[Rpi Gertboard]]) to access the CPU by exposing the inputs and outputs.&lt;br /&gt;
&lt;br /&gt;
For further general information about GPIOs, see: [http://en.wikipedia.org/wiki/GPIO the wikipedia article].&amp;lt;BR&amp;gt;&lt;br /&gt;
For further specific information about the Raspberry Pi's BCM2835 GPIOs, see: [[RPi_BCM2835_GPIOs|this wiki article]].&lt;br /&gt;
&lt;br /&gt;
The production Raspberry Pi board has a 26-pin 2.54&amp;amp;nbsp;mm (100&amp;amp;nbsp;mil)&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/features-and-requests/easy-gpio-hardware-software/page-3/#p31907&amp;lt;/ref&amp;gt; expansion header, marked as P1, arranged in a 2x13 strip. They provide 8 GPIO pins plus access to I²C, SPI, UART), as well as +3.3&amp;amp;nbsp;V, +5&amp;amp;nbsp;V and GND supply lines. Pin one is the pin in the first column and on the bottom row. &amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/384&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:RPi_P1_header.png]]&lt;br /&gt;
&lt;br /&gt;
'''GPIO voltage levels are 3.3&amp;amp;nbsp;V and are not 5&amp;amp;nbsp;V tolerant. There is no over-voltage protection on the board''' - the intention is that people interested in serious interfacing will use an external board with buffers, level conversion and analog I/O rather than soldering directly onto the main board.&lt;br /&gt;
&lt;br /&gt;
All the GPIO pins can be reconfigured to provide alternate functions, SPI, [http://en.wikipedia.org/wiki/Pulse-width_modulation PWM], I²C and so. At reset only pins GPIO 14 &amp;amp; 15 are assigned to the alternate function UART, these two can be switched back to GPIO to provide a total of 17 GPIO pins&amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/384&amp;lt;/ref&amp;gt;. Each of their functions and full details of how to access are detailed in the chipset datasheet &amp;lt;ref&amp;gt;http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Each GPIO can interrupt, high/low/rise/fall/change.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/384#comment-5217&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf&amp;lt;/ref&amp;gt; There is currently no support for GPIO interrupts in the official kernel, howewer a patch exists, requiring compilation of modified source tree.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?f=44&amp;amp;t=7509&amp;lt;/ref&amp;gt; The 'Raspbian &amp;quot;wheezy&amp;quot;' &amp;lt;ref&amp;gt;http://www.raspberrypi.org/downloads&amp;lt;/ref&amp;gt; version that is currently recommended for starters already includes GPIO interrupts.&lt;br /&gt;
&lt;br /&gt;
GPIO input hysteresis (Schmitt trigger) can be on or off, output slew rate can be fast or limited, and source and sink current is configurable from 2&amp;amp;nbsp;mA up to 16&amp;amp;nbsp;mA. Note that chipset GPIO pins 0-27 are in the same block and these properties are set per block, not per pin. See [http://www.scribd.com/doc/101830961/GPIO-Pads-Control2 GPIO Datasheet Addendum - GPIO Pads Control]. Particular attention should be applied to the note regarding SSO (Simultaneous Switching Outputs): to avoid interference, driving currents should be kept as low as possible.&lt;br /&gt;
&lt;br /&gt;
The available [[RPi_BCM2835_GPIOs|alternative functions]] and their corresponding pins are detailed below. These numbers are in reference to the chipset documentation and may not match the numbers exposed in Linux. Only fully usable functions are detailed, for some alternative functions not all the necessary pins are available for the funtionality to be actually used.&lt;br /&gt;
&lt;br /&gt;
There is also some information on the [[RPi Tutorial Easy GPIO Hardware &amp;amp; Software|Tutorial on Easy GPIO Hardware &amp;amp; Software]].&lt;br /&gt;
&lt;br /&gt;
Kernel boot messages go to the [[RPi_Serial_Connection|UART]] at 115200&amp;amp;nbsp;bit/s.&lt;br /&gt;
&lt;br /&gt;
'''R-Pi PCB Revision 2 UPDATE:''' According to Eben at [http://www.raspberrypi.org/archives/1929#comment-31646] the R-Pi Rev.2 board being rolled out starting in September 2012 adds 4 more GPIO on a new connector called P5, and changes some of the existing P1 GPIO pinouts. On Rev2, GPIO_GEN2 [BCM2835/GPIO27] is routed to P1 pin 13, and changes what was SCL0/SDA0 to SCL1/SDA1: SCL1 [BCM2835/GPIO3] is routed to P1 pin 5, SDA1 [BCM2835/GPIO2] is routed to P1 pin 3. Also the power and ground connections previously marked &amp;quot;Do Not Connect&amp;quot; on P1 will remain as connected, specifically: P1-04:+5V0, P1-09:GND, P1-14:GND, P1-17:+3V3, P1-20:GND, P1-25:GND. According to this comment [http://www.raspberrypi.org/archives/2081#comment-33577] (and confirmed in this post [http://www.raspberrypi.org/archives/2233]) the P1 pinout is not expected to change in future beyond the current Rev.2 layout. &lt;br /&gt;
&lt;br /&gt;
'''P1 Header Pinout, top row:'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
| '''Pin Number''' || '''Pin Name Rev1''' || '''Pin Name Rev2''' || '''Hardware Notes''' || '''Alt 0 Function''' || '''Other Alternative Functions'''&lt;br /&gt;
|-&lt;br /&gt;
| P1-02 || bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; || Supply through input poly fuse&lt;br /&gt;
|-&lt;br /&gt;
| P1-04 || bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; || Supply through input poly fuse&lt;br /&gt;
|-&lt;br /&gt;
| P1-06 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| P1-08 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 14 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 14 || Boot to Alt 0 -&amp;gt; || bgcolor=&amp;quot;yellow&amp;quot; | UART0_TXD || ALT5 = UART1_TXD&lt;br /&gt;
|-&lt;br /&gt;
| P1-10 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 15 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 15 || Boot to Alt 0 -&amp;gt; || bgcolor=&amp;quot;yellow&amp;quot; | UART0_RXD || ALT5 = UART1_RXD&lt;br /&gt;
|-&lt;br /&gt;
| P1-12 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 18 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 18 || || PCM_CLK || ALT4 = SPI1_CE0_N ALT5 = PWM0&lt;br /&gt;
|-&lt;br /&gt;
| P1-14 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| P1-16 || bgcolor=&amp;quot;lime&amp;quot; | GPIO23 || bgcolor=&amp;quot;lime&amp;quot; | GPIO23 || || || ALT3 = SD1_CMD ALT4 = ARM_RTCK&lt;br /&gt;
|-&lt;br /&gt;
| P1-18 || bgcolor=&amp;quot;lime&amp;quot; | GPIO24 || bgcolor=&amp;quot;lime&amp;quot; | GPIO24 || || || ALT3 = SD1_DAT0 ALT4 = ARM_TDO&lt;br /&gt;
|-&lt;br /&gt;
| P1-20 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| P1-22 || bgcolor=&amp;quot;lime&amp;quot; | GPIO25 || bgcolor=&amp;quot;lime&amp;quot; | GPIO25 || || || ALT3 = SD1_DAT1 ALT4 = ARM_TCK&lt;br /&gt;
|-&lt;br /&gt;
| P1-24 || bgcolor=&amp;quot;lime&amp;quot; | GPIO08 || bgcolor=&amp;quot;lime&amp;quot; | GPIO08 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_CE0_N&amp;lt;/span&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| P1-26 || bgcolor=&amp;quot;lime&amp;quot; | GPIO07 || bgcolor=&amp;quot;lime&amp;quot; | GPIO07 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_CE1_N&amp;lt;/span&amp;gt; || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''P1 Header Pinout, bottom row:'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
| '''Pin Number''' || '''Pin Name Rev1''' || '''Pin Name Rev2''' || '''Hardware Notes''' || '''Alt 0 Function''' || '''Other Alternative Functions'''&lt;br /&gt;
|-&lt;br /&gt;
| P1-01 || bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V ||bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V || 50&amp;amp;nbsp;mA max (01 &amp;amp; 17)&lt;br /&gt;
|-&lt;br /&gt;
| P1-03 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 0 || bgcolor=&amp;quot;lime&amp;quot; | '''GPIO 2'''|| 1K8 pull up resistor || bgcolor=&amp;quot;cyan&amp;quot; | I2C0_SDA / '''I2C1_SDA''' ||&lt;br /&gt;
|-&lt;br /&gt;
| P1-05 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 1 || bgcolor=&amp;quot;lime&amp;quot; | '''GPIO 3'''|| 1K8 pull up resistor || bgcolor=&amp;quot;cyan&amp;quot; | I2C0_SCL / '''I2C1_SCL''' ||&lt;br /&gt;
|-&lt;br /&gt;
| P1-07 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 4 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 4 || || GPCLK0 || ALT5 = ARM_TDI&lt;br /&gt;
|-&lt;br /&gt;
| P1-09 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| P1-11 || bgcolor=&amp;quot;lime&amp;quot; | GPIO17 || bgcolor=&amp;quot;lime&amp;quot; | GPIO17 || || ||| ALT3 = UART0_RTS ALT4 = SPI1_CE1_N ALT5 = UART1_RTS&lt;br /&gt;
|-&lt;br /&gt;
| P1-13 || bgcolor=&amp;quot;lime&amp;quot; | GPIO21 || bgcolor=&amp;quot;lime&amp;quot; | '''GPIO27''' || || PCM_DOUT / '''reserved''' || ALT4 = SPI1_SCLK ALT5 = GPCLK1 / '''ALT3 = SD1_DAT3 ALT4 = ARM_TMS'''&lt;br /&gt;
|-&lt;br /&gt;
| P1-15 || bgcolor=&amp;quot;lime&amp;quot; | GPIO22 || bgcolor=&amp;quot;lime&amp;quot; | GPIO22 || || || ALT3 = SD1_CLK ALT4 = ARM_TRST&lt;br /&gt;
|-&lt;br /&gt;
| P1-17 || bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V || bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V || 50&amp;amp;nbsp;mA max (01 &amp;amp; 17)&lt;br /&gt;
|-&lt;br /&gt;
| P1-19 || bgcolor=&amp;quot;lime&amp;quot; | GPIO10 || bgcolor=&amp;quot;lime&amp;quot; | GPIO10 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_MOSI&amp;lt;/span&amp;gt; || &lt;br /&gt;
|-&lt;br /&gt;
| P1-21 || bgcolor=&amp;quot;lime&amp;quot; | GPIO9 || bgcolor=&amp;quot;lime&amp;quot; | GPIO9 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_MISO&amp;lt;/span&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| P1-23 || bgcolor=&amp;quot;lime&amp;quot; | GPIO11 || bgcolor=&amp;quot;lime&amp;quot; | GPIO11 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_SCLK&amp;lt;/span&amp;gt; || &lt;br /&gt;
|-&lt;br /&gt;
| P1-25 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Colour legend&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;+5&amp;amp;nbsp;V&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | +3.3&amp;amp;nbsp;V&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;Ground, 0V&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;yellow&amp;quot; | UART&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | GPIO&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;cyan&amp;quot; | I²C&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
KiCad symbol: [[File:Conn-raspberry.lib]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/projects-and-collaboration-general/gpio-header-pinout-clarification/page-2&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pin 3 (SDA0) and Pin 5 (SCL0) are preset to be used as an I²C interface. So there are 1.8&amp;amp;nbsp;kilohm pulls up resistors on the board for these pins.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/features-and-requests/easy-gpio-hardware-software/page-6/#p56480&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pin 12 supports [http://en.wikipedia.org/wiki/Pulse-width_modulation PWM] .&lt;br /&gt;
&lt;br /&gt;
It is also possible to reconfigure GPIO connector pins P1-7, 15, 16, 18, 22 (chipset GPIOs 4 and 22 to 25) to provide an ARM JTAG interface.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&amp;amp;t=1288.1&amp;lt;/ref&amp;gt; However ARM_TMS isn't available on the GPIO connector (chipset pin 12 or 27 is needed).  Chipset pin 27 is available on S5, the CSI camera interface however.&lt;br /&gt;
&lt;br /&gt;
It is also possible to reconfigure GPIO connector pins P1-12 and 13 (chipset GPIO 18 and 21) to provide an I2S (a hardware modification may be required&amp;lt;ref name=&amp;quot;I2S&amp;quot;&amp;gt;[http://www.raspberrypi.org/forum/features-and-requests/sad-about-removal-of-i2s-why-was-this-change-made Forum:Sad about removal of I2S. Why was this change made?]&amp;lt;/ref&amp;gt;) or PCM interface.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&amp;amp;t=1288.2&amp;lt;/ref&amp;gt; However, PCM_FS and PCM_DIN (chipset pins 19 and 20) are needed for I2S or PCM.&lt;br /&gt;
&lt;br /&gt;
A second I²C interface (GPIO02_ALT0 is SDA1 and GPIO03_ALT0 is SCL1) and two further GPIOs (GPIO05_ALT0 is GPCLK1, and GPIO27) are available on S5, the CSI camera interface.&lt;br /&gt;
&lt;br /&gt;
===Referring to pins on the Expansion header===&lt;br /&gt;
&lt;br /&gt;
The header is referred to as &amp;quot;The GPIO Connector (P1)&amp;quot;.  To avoid nomenclature confusion between Broadcom signal names on the SoC and pin names on the expansion header, the following naming is highly recommended.&lt;br /&gt;
&lt;br /&gt;
* The expansion header is referred to as &amp;quot;Expansion Header&amp;quot; or &amp;quot;GPIO Connector (P1)&amp;quot;&lt;br /&gt;
* Pins on the GPIO connector (P1) are referred to as P1-01, etc.&lt;br /&gt;
* Names GPIO0, GPIO1, GPIOx-ALTy, etc. refer to the signal names on the SoC as enumerated in the Broadcom datasheet, where &amp;quot;x&amp;quot; matches BCM2835 number (without leading zero) and &amp;quot;y&amp;quot; is the alternate number column 0 to 5 on page 102-103 of the Broadcom document. For example, depending on what you are describing, use either &amp;quot;GPIO7&amp;quot; to refer to a row of the table, and &amp;quot;GPIO7-ALT0&amp;quot; would refer to a specific cell of the table.&lt;br /&gt;
* When refering to signal names, you should modify the Broadcom name slightly to minimize confusion. The Broadcom SPI bus pin names are fine, such as &amp;quot;SPI0_*&amp;quot; and &amp;quot;SPI1_*&amp;quot;, but they didn't do the same on the I²C and UART pins.  Instead of using &amp;quot;SDA0&amp;quot; and &amp;quot;SCL0&amp;quot;, you should use &amp;quot;I2C0_SDA&amp;quot; and &amp;quot;I2C0_SCL&amp;quot;; and instead of &amp;quot;TX&amp;quot; or &amp;quot;TXD&amp;quot; and &amp;quot;RX&amp;quot; or &amp;quot;RXD&amp;quot;, you should use &amp;quot;UART0_TXD&amp;quot; and &amp;quot;UART0_RXD&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Power pins===&lt;br /&gt;
The maximum permitted current draw from the 3.3&amp;amp;nbsp;V pins is 50&amp;amp;nbsp;mA.&lt;br /&gt;
&lt;br /&gt;
Maximum permitted current draw from the 5&amp;amp;nbsp;V pin is the USB input current (usually 1&amp;amp;nbsp;A) minus any current draw from the rest of the board.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&amp;amp;t=1536#postid-21841&amp;lt;/ref&amp;gt;&lt;br /&gt;
*Model A: 1000&amp;amp;nbsp;mA - 500&amp;amp;nbsp;mA -&amp;gt; max current draw: 500&amp;amp;nbsp;mA&lt;br /&gt;
*Model B: 1000&amp;amp;nbsp;mA - 700&amp;amp;nbsp;mA -&amp;gt; max current draw: 300&amp;amp;nbsp;mA&lt;br /&gt;
Be very careful with the 5&amp;amp;nbsp;V pins P1-02 and P1-04, because if you short 5&amp;amp;nbsp;V to any other P1 pin you may permanently damage your RasPi.  Before probing P1, it's a good idea to strip short pieces of insulation off a wire and push them over the 5&amp;amp;nbsp;V pins so you don't accidentally short them with a probe.&lt;br /&gt;
&lt;br /&gt;
=== GPIO hardware hacking ===&lt;br /&gt;
&lt;br /&gt;
The complete list of [[RPi_BCM2835_GPIOs|chipset GPIO pins]] which are available on the GPIO connector is: &amp;lt;blockquote&amp;gt;[[RPi_BCM2835_GPIOs#GPIO0|0]], [[RPi_BCM2835_GPIOs#GPIO1|1]], [[RPi_BCM2835_GPIOs#GPIO4|4]], [[RPi_BCM2835_GPIOs#GPIO7|7]], [[RPi_BCM2835_GPIOs#GPIO8|8]], [[RPi_BCM2835_GPIOs#GPIO9|9]], [[RPi_BCM2835_GPIOs#GPIO10|10]], [[RPi_BCM2835_GPIOs#GPIO11|11]], [[RPi_BCM2835_GPIOs#GPIO14|14]], [[RPi_BCM2835_GPIOs#GPIO15|15]], [[RPi_BCM2835_GPIOs#GPIO17|17]], [[RPi_BCM2835_GPIOs#GPIO18|18]], [[RPi_BCM2835_GPIOs#GPIO21|21]], [[RPi_BCM2835_GPIOs#GPIO22|22]], [[RPi_BCM2835_GPIOs#GPIO23|23]], [[RPi_BCM2835_GPIOs#GPIO24|24]], [[RPi_BCM2835_GPIOs#GPIO25|25]]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(on the Revision2.0 RaspberryPis, this list changes to: [[RPi_BCM2835_GPIOs#GPIO2|2]], [[RPi_BCM2835_GPIOs#GPIO3|3]], [[RPi_BCM2835_GPIOs#GPIO4|4]], [[RPi_BCM2835_GPIOs#GPIO7|7]], [[RPi_BCM2835_GPIOs#GPIO8|8]], [[RPi_BCM2835_GPIOs#GPIO9|9]], [[RPi_BCM2835_GPIOs#GPIO10|10]], [[RPi_BCM2835_GPIOs#GPIO11|11]], [[RPi_BCM2835_GPIOs#GPIO14|14]], [[RPi_BCM2835_GPIOs#GPIO15|15]], [[RPi_BCM2835_GPIOs#GPIO17|17]], [[RPi_BCM2835_GPIOs#GPIO18|18]], [[RPi_BCM2835_GPIOs#GPIO22|22]], [[RPi_BCM2835_GPIOs#GPIO23|23]], [[RPi_BCM2835_GPIOs#GPIO24|24]], [[RPi_BCM2835_GPIOs#GPIO25|25]], [[RPi_BCM2835_GPIOs#GPIO27|27]], with [[RPi_BCM2835_GPIOs#GPIO28|28]], [[RPi_BCM2835_GPIOs#GPIO29|29]], [[RPi_BCM2835_GPIOs#GPIO30|30]], [[RPi_BCM2835_GPIOs#GPIO31|31]] additionally available on the [[#P5_header|P5 header]])&lt;br /&gt;
&lt;br /&gt;
As noted above, P1-03 and P1-05 (SDA0 and SCL0 / SDA1 and SCL1) have 1.8&amp;amp;nbsp;kilohm pull-up resistors to 3.3&amp;amp;nbsp;V.&lt;br /&gt;
&lt;br /&gt;
If 17 GPIOs aren't sufficient for your project, there are a few other signals potentially available, with varying levels of software and hardware (soldering iron) hackery skills:&lt;br /&gt;
&lt;br /&gt;
GPIO02, 03, 05 and 27 are available on S5 (the CSI interface) when a camera peripheral is not connected to that socket, and are configured by default to provide the functions SDA1, SCL1, CAM_CLK and CAM_GPIO respectively.  SDA1 and SCL1 have 1K6 pull-up resistors to 3.3&amp;amp;nbsp;V.&lt;br /&gt;
&lt;br /&gt;
GPIO06 is LAN_RUN and is available on pad 12 of the footprint for IC3 on the Model A. On Model B, it is in use for the Ethernet function.&lt;br /&gt;
&lt;br /&gt;
There are a few other chipset GPIO pins accessible on the PCB but are in use:&lt;br /&gt;
&lt;br /&gt;
* GPIO16 drives status LED D5 (usually SD card access indicator)&lt;br /&gt;
* GPIO28-31 are used by the board ID and are connected to resistors R3 to R10 (only on Rev1.0 boards).&lt;br /&gt;
* GPIO40 and 45 are used by analogue audio and support [http://en.wikipedia.org/wiki/Pulse-width_modulation PWM]. They connect to the analogue audio circuitry via R21 and R27 respectively.&lt;br /&gt;
* GPIO46 is HDMI hotplug detect (goes to pin 6 of IC1).&lt;br /&gt;
* GPIO47 to 53 are used by the SD card interface.  In particular, GPIO47 is SD card detect (this would seem to be a good candidate for re-use).  GPIO47 is connected to the SD card interface card detect switch; GPIO48 to 53 are connected to the SD card interface via resistors R45 to R50.&lt;br /&gt;
&lt;br /&gt;
=== P2 header ===&lt;br /&gt;
&lt;br /&gt;
The P2 header is the VideoCore JTAG and used only during the production of the board. It cannot be used as the ARM JTAG &amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?f=24&amp;amp;t=5894&amp;lt;/ref&amp;gt;. This connector is unpopulated in Rev 2.0 boards. &lt;br /&gt;
&lt;br /&gt;
[[File:RPi_P2_header.png]]&lt;br /&gt;
&lt;br /&gt;
Useful P2 pins:&lt;br /&gt;
&lt;br /&gt;
* Pin 1 - 3.3V (same as P1-01, 50 mA max current draw across both of them)&lt;br /&gt;
* Pin 7 - GND&lt;br /&gt;
* Pin 8 - GND&lt;br /&gt;
&lt;br /&gt;
=== P3 header ===&lt;br /&gt;
&lt;br /&gt;
The P3 header, unpopulated, is the LAN9512 JTAG &amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?f=24&amp;amp;t=5894&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[File:RPi_P3_header.png]]&lt;br /&gt;
&lt;br /&gt;
Useful P3 pins:&lt;br /&gt;
&lt;br /&gt;
* Pin 7 - GND&lt;br /&gt;
&lt;br /&gt;
=== P5 header ===&lt;br /&gt;
&lt;br /&gt;
The P5 header was added with the release of the Revision 2.0 PCB design.&lt;br /&gt;
&lt;br /&gt;
[[File:RPi_P5_header.png]]&lt;br /&gt;
&lt;br /&gt;
'''P5 Header Pinout (seen from the back of the board), top row:'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
| '''Pin Number''' || '''Pin Name Rev2''' || '''Hardware Notes''' || '''Alt 0 Function''' || '''Other Alternative Functions'''&lt;br /&gt;
|-&lt;br /&gt;
| P5-01 || bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; || Supply through input poly fuse&lt;br /&gt;
|-&lt;br /&gt;
| P5-03 || bgcolor=&amp;quot;lime&amp;quot; | GPIO28 || || bgcolor=&amp;quot;cyan&amp;quot; | I2C0_SDA || ALT2 = PCM_CLK&lt;br /&gt;
|-&lt;br /&gt;
| P5-05 || bgcolor=&amp;quot;lime&amp;quot; | GPIO30 || || || ALT2 = PCM_DIN ALT3 = UART0_CTS ALT5 = UART1_CTS&lt;br /&gt;
|-&lt;br /&gt;
| P5-07 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''P5 Header Pinout (seen from the back of the board), bottom row:'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
| '''Pin Number''' || '''Pin Name Rev2''' || '''Hardware Notes''' || '''Alt 0 Function''' || '''Other Alternative Functions'''&lt;br /&gt;
|-&lt;br /&gt;
| P5-02 || bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V || 50&amp;amp;nbsp;mA max (combined with P1)&lt;br /&gt;
|-&lt;br /&gt;
| P5-04 || bgcolor=&amp;quot;lime&amp;quot; | GPIO29 || || bgcolor=&amp;quot;cyan&amp;quot; | I2C0_SCL || ALT2 = PCM_FS&lt;br /&gt;
|-&lt;br /&gt;
| P5-06 || bgcolor=&amp;quot;lime&amp;quot; | GPIO31 || || || ALT2 = PCM_DOUT ALT3 = UART0_RTS ALT5 = UART1_RTS&lt;br /&gt;
|-&lt;br /&gt;
| P5-08 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that the connector is intended to be mounted on the '''bottom''' of the PCB, so that for those who put the connector on the top side, the pin numbers are swapped. Pin 1 and pin 2 are swapped, pin 3 and 4, etc. &lt;br /&gt;
&lt;br /&gt;
The new header can provide a second I2C channel (SDA + SCL) and handshake lines for the existing UART (TxD and RxD), or it can be used for an I2S (audio codec chip) interface using the PCM signals CLK, FS (Frame Sync), Din and Dout.&lt;br /&gt;
&lt;br /&gt;
Note that the connector is placed JUST off-grid with respect to the P1 connector.&lt;br /&gt;
&lt;br /&gt;
=== P6 header ===&lt;br /&gt;
&lt;br /&gt;
The P6 header was added with the release of the Revision 2.0 PCB design.&lt;br /&gt;
&lt;br /&gt;
[[File:RPi_P6_header.png]]&lt;br /&gt;
&lt;br /&gt;
'''P6 Pinout:'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
| '''Pin Number''' || '''Pin Name Rev2''' || '''Hardware Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| P6-01 || RUN || Short to ground to reset the BCM2835&lt;br /&gt;
|-&lt;br /&gt;
| P6-02 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[http://raspi.tv/2012/making-a-reset-switch-for-your-rev-2-raspberry-pi A reset button can be attached to the P6 header], with which the Pi can be reset.&lt;br /&gt;
Momentarily shorting the two pins of P6 together will cause a soft reset of the CPU (which can also 'wake' the Pi from halt/shutdown state).&lt;br /&gt;
&lt;br /&gt;
===Driver support===&lt;br /&gt;
&lt;br /&gt;
The Foundation will not include a GPIO driver in the initial release, standard Linux GPIO drivers should work with minimal modification.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&amp;amp;t=1278.0&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The community implemented SPI and I²C drivers &amp;lt;ref&amp;gt;http://www.bootc.net/projects/raspberry-pi-kernel/&amp;lt;/ref&amp;gt;, which will be integrated with the new Linux pinctrl concept in a later version of the kernel. (On Oct. 14 2012, it was already included in the latest raspbian image.) A first compiled version as Linux modules is available to install on the 19/04/2012 Debian image, including 1-wire support&amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?p=86172#p86172&amp;lt;/ref&amp;gt;. The I²C and SPI driver uses the hardware modules of the microcontroller and interrupts for low CPU usage, the 1-wire support uses bitbanging on the GPIO ports, which results in higher CPU usage.&lt;br /&gt;
&lt;br /&gt;
GordonH&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/general-discussion/wiring-for-the-raspberry-pis-gpio&amp;lt;/ref&amp;gt; wrote a (mostly) Arduino compatible/style [https://projects.drogon.net/raspberry-pi/wiringpi/ WiringPi library] in C for controlling the GPIO pins.&lt;br /&gt;
&lt;br /&gt;
A useful tutorial on setting up I²C driver support can be found at [http://www.robot-electronics.co.uk/htm/raspberry_pi_examples.htm Robot Electronics] - look for the downloadable document rpi_i2c_setup.doc&lt;br /&gt;
&lt;br /&gt;
===Graphical User Interfaces===&lt;br /&gt;
====WebIOPi====&lt;br /&gt;
[http://code.google.com/p/webiopi/ WebIOPi] allows you to control each GPIO with a simple web interface that you can use with any browser. Available in PHP and Python, they both require root access, but Python version serves HTTP itself. You can setup each GPIO as input or output and change their states (LOW/HIGH). WebIOPi is fully customizable, so you can use it for home remote control. It also work over Internet. UART/SPI/I2C support will be added later. If you need some computing for your GPIO go to code examples below.&lt;br /&gt;
&lt;br /&gt;
==GPIO Code examples==&lt;br /&gt;
=== C ===&lt;br /&gt;
Examples in different C-Languages.&lt;br /&gt;
==== C ====&lt;br /&gt;
[http://www.raspberrypi.org/forum/educational-applications/gertboard/page-4/#p31555 Gert van Loo &amp;amp; Dom, has provided] some tested code which accesses the GPIO pins through direct GPIO register manipulation in C-code.&lt;br /&gt;
(Thanks to Dom for doing the difficult work of finding and testing the mapping.)&lt;br /&gt;
Example GPIO code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
//  How to access GPIO registers from C-code on the Raspberry-Pi&lt;br /&gt;
//  Example program&lt;br /&gt;
//  15-January-2012&lt;br /&gt;
//  Dom and Gert&lt;br /&gt;
//  Revised: 15-Feb-2013&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Access from ARM Running Linux&lt;br /&gt;
&lt;br /&gt;
#define BCM2708_PERI_BASE        0x20000000&lt;br /&gt;
#define GPIO_BASE                (BCM2708_PERI_BASE + 0x200000) /* GPIO controller */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;sys/mman.h&amp;gt;&lt;br /&gt;
#include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define PAGE_SIZE (4*1024)&lt;br /&gt;
#define BLOCK_SIZE (4*1024)&lt;br /&gt;
&lt;br /&gt;
int  mem_fd;&lt;br /&gt;
void *gpio_map;&lt;br /&gt;
&lt;br /&gt;
// I/O access&lt;br /&gt;
volatile unsigned *gpio;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// GPIO setup macros. Always use INP_GPIO(x) before using OUT_GPIO(x) or SET_GPIO_ALT(x,y)&lt;br /&gt;
#define INP_GPIO(g) *(gpio+((g)/10)) &amp;amp;= ~(7&amp;lt;&amp;lt;(((g)%10)*3))&lt;br /&gt;
#define OUT_GPIO(g) *(gpio+((g)/10)) |=  (1&amp;lt;&amp;lt;(((g)%10)*3))&lt;br /&gt;
#define SET_GPIO_ALT(g,a) *(gpio+(((g)/10))) |= (((a)&amp;lt;=3?(a)+4:(a)==4?3:2)&amp;lt;&amp;lt;(((g)%10)*3))&lt;br /&gt;
&lt;br /&gt;
#define GPIO_SET *(gpio+7)  // sets   bits which are 1 ignores bits which are 0&lt;br /&gt;
#define GPIO_CLR *(gpio+10) // clears bits which are 1 ignores bits which are 0&lt;br /&gt;
&lt;br /&gt;
void setup_io();&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char **argv)&lt;br /&gt;
{&lt;br /&gt;
  int g,rep;&lt;br /&gt;
&lt;br /&gt;
  // Set up gpi pointer for direct register access&lt;br /&gt;
  setup_io();&lt;br /&gt;
&lt;br /&gt;
  // Switch GPIO 7..11 to output mode&lt;br /&gt;
&lt;br /&gt;
 /************************************************************************\&lt;br /&gt;
  * You are about to change the GPIO settings of your computer.          *&lt;br /&gt;
  * Mess this up and it will stop working!                               *&lt;br /&gt;
  * It might be a good idea to 'sync' before running this program        *&lt;br /&gt;
  * so at least you still have your code changes written to the SD-card! *&lt;br /&gt;
 \************************************************************************/&lt;br /&gt;
&lt;br /&gt;
  // Set GPIO pins 7-11 to output&lt;br /&gt;
  for (g=7; g&amp;lt;=11; g++)&lt;br /&gt;
  {&lt;br /&gt;
    INP_GPIO(g); // must use INP_GPIO before we can use OUT_GPIO&lt;br /&gt;
    OUT_GPIO(g);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (rep=0; rep&amp;lt;10; rep++)&lt;br /&gt;
  {&lt;br /&gt;
     for (g=7; g&amp;lt;=11; g++)&lt;br /&gt;
     {&lt;br /&gt;
       GPIO_SET = 1&amp;lt;&amp;lt;g;&lt;br /&gt;
       sleep(1);&lt;br /&gt;
     }&lt;br /&gt;
     for (g=7; g&amp;lt;=11; g++)&lt;br /&gt;
     {&lt;br /&gt;
       GPIO_CLR = 1&amp;lt;&amp;lt;g;&lt;br /&gt;
       sleep(1);&lt;br /&gt;
     }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  return 0;&lt;br /&gt;
&lt;br /&gt;
} // main&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
// Set up a memory regions to access GPIO&lt;br /&gt;
//&lt;br /&gt;
void setup_io()&lt;br /&gt;
{&lt;br /&gt;
   /* open /dev/mem */&lt;br /&gt;
   if ((mem_fd = open(&amp;quot;/dev/mem&amp;quot;, O_RDWR|O_SYNC) ) &amp;lt; 0) {&lt;br /&gt;
      printf(&amp;quot;can't open /dev/mem \n&amp;quot;);&lt;br /&gt;
      exit(-1);&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   /* mmap GPIO */&lt;br /&gt;
   gpio_map = mmap(&lt;br /&gt;
      NULL,             //Any adddress in our space will do&lt;br /&gt;
      BLOCK_SIZE,       //Map length&lt;br /&gt;
      PROT_READ|PROT_WRITE,// Enable reading &amp;amp; writting to mapped memory&lt;br /&gt;
      MAP_SHARED,       //Shared with other processes&lt;br /&gt;
      mem_fd,           //File to map&lt;br /&gt;
      GPIO_BASE         //Offset to GPIO peripheral&lt;br /&gt;
   );&lt;br /&gt;
&lt;br /&gt;
   close(mem_fd); //No need to keep mem_fd open after mmap&lt;br /&gt;
&lt;br /&gt;
   if (gpio_map == MAP_FAILED) {&lt;br /&gt;
      printf(&amp;quot;mmap error %d\n&amp;quot;, (int)gpio_map);//errno also set!&lt;br /&gt;
      exit(-1);&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   // Always use volatile pointer!&lt;br /&gt;
   gpio = (volatile unsigned *)gpio_map;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
} // setup_io&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== GPIO Pull Up/Pull Down Register Example =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   // enable pull-up on GPIO24&amp;amp;25&lt;br /&gt;
   GPIO_PULL = 2;&lt;br /&gt;
   short_wait();&lt;br /&gt;
   // clock on GPIO 24 &amp;amp; 25 (bit 24 &amp;amp; 25 set)&lt;br /&gt;
   GPIO_PULLCLK0 = 0x03000000;&lt;br /&gt;
   short_wait();&lt;br /&gt;
   GPIO_PULL = 0;&lt;br /&gt;
   GPIO_PULLCLK0 = 0;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== C + wiringPi ====&lt;br /&gt;
Get and install wiringPi: https://projects.drogon.net/raspberry-pi/wiringpi/download-and-install/&lt;br /&gt;
&lt;br /&gt;
Save this, and compile with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gcc -o blink blink.c -lwiringPi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and run with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  sudo ./blink&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 * blink.c:&lt;br /&gt;
 *      blinks the first LED&lt;br /&gt;
 *      Gordon Henderson, projects@drogon.net&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;wiringPi.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main (void)&lt;br /&gt;
{&lt;br /&gt;
  printf (&amp;quot;Raspberry Pi blink\n&amp;quot;) ;&lt;br /&gt;
&lt;br /&gt;
  if (wiringPiSetup () == -1)&lt;br /&gt;
    return 1 ;&lt;br /&gt;
&lt;br /&gt;
  pinMode (0, OUTPUT) ;         // aka BCM_GPIO pin 17&lt;br /&gt;
&lt;br /&gt;
  for (;;)&lt;br /&gt;
  {&lt;br /&gt;
    digitalWrite (0, 1) ;       // On&lt;br /&gt;
    delay (500) ;               // mS&lt;br /&gt;
    digitalWrite (0, 0) ;       // Off&lt;br /&gt;
    delay (500) ;&lt;br /&gt;
  }&lt;br /&gt;
  return 0 ;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== C ====&lt;br /&gt;
This must be done as root. To change to the root user:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
You must also get and install the bcm2835 library, which supports&lt;br /&gt;
GPIO and SPI interfaces. Details and downloads &lt;br /&gt;
from  http://www.open.com.au/mikem/bcm2835&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// blink.c&lt;br /&gt;
//&lt;br /&gt;
// Example program for bcm2835 library&lt;br /&gt;
// Blinks a pin on an off every 0.5 secs&lt;br /&gt;
//&lt;br /&gt;
// After installing bcm2835, you can build this &lt;br /&gt;
// with something like:&lt;br /&gt;
// gcc -o blink -l rt blink.c -l bcm2835&lt;br /&gt;
// sudo ./blink&lt;br /&gt;
//&lt;br /&gt;
// Or you can test it before installing with:&lt;br /&gt;
// gcc -o blink -l rt -I ../../src ../../src/bcm2835.c blink.c&lt;br /&gt;
// sudo ./blink&lt;br /&gt;
//&lt;br /&gt;
// Author: Mike McCauley (mikem@open.com.au)&lt;br /&gt;
// Copyright (C) 2011 Mike McCauley&lt;br /&gt;
// $Id: RF22.h,v 1.21 2012/05/30 01:51:25 mikem Exp $&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;bcm2835.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Blinks on RPi pin GPIO 11&lt;br /&gt;
#define PIN RPI_GPIO_P1_11&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char **argv)&lt;br /&gt;
{&lt;br /&gt;
    // If you call this, it will not actually access the GPIO&lt;br /&gt;
    // Use for testing&lt;br /&gt;
//    bcm2835_set_debug(1);&lt;br /&gt;
&lt;br /&gt;
    if (!bcm2835_init())&lt;br /&gt;
	return 1;&lt;br /&gt;
&lt;br /&gt;
    // Set the pin to be an output&lt;br /&gt;
    bcm2835_gpio_fsel(PIN, BCM2835_GPIO_FSEL_OUTP);&lt;br /&gt;
&lt;br /&gt;
    // Blink&lt;br /&gt;
    while (1)&lt;br /&gt;
    {&lt;br /&gt;
	// Turn it on&lt;br /&gt;
	bcm2835_gpio_write(PIN, HIGH);&lt;br /&gt;
	&lt;br /&gt;
	// wait a bit&lt;br /&gt;
	delay(500);&lt;br /&gt;
	&lt;br /&gt;
	// turn it off&lt;br /&gt;
	bcm2835_gpio_write(PIN, LOW);&lt;br /&gt;
	&lt;br /&gt;
	// wait a bit&lt;br /&gt;
	delay(500);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== C# ====&lt;br /&gt;
RaspberryPiDotNet library is available at https://github.com/cypherkey/RaspberryPi.Net/.&lt;br /&gt;
The library includes a GPIOFile and GPIOMem class. The GPIOMem requires compiling Mike McCauley's bcm2835 library above in to a shared object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Linq;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using RaspberryPiDotNet;&lt;br /&gt;
using System.Threading;&lt;br /&gt;
&lt;br /&gt;
namespace RaspPi&lt;br /&gt;
{&lt;br /&gt;
    class Program&lt;br /&gt;
    {&lt;br /&gt;
        static void Main(string[] args)&lt;br /&gt;
        {&lt;br /&gt;
            // Access the GPIO pin using a static method&lt;br /&gt;
            GPIOFile.Write(GPIO.GPIOPins.GPIO00, true);&lt;br /&gt;
&lt;br /&gt;
            // Create a new GPIO object&lt;br /&gt;
            GPIOMem gpio = new GPIOMem(GPIO.GPIOPins.GPIO01);&lt;br /&gt;
            gpio.Write(false);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ruby ===&lt;br /&gt;
&lt;br /&gt;
This example uses the WiringPi Ruby Gem: http://pi.gadgetoid.co.uk/post/015-wiringpi-now-with-serial which you can install on your Pi with &amp;quot;gem install wiringpi&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MY_PIN = 1&lt;br /&gt;
&lt;br /&gt;
require 'wiringpi'&lt;br /&gt;
io = WiringPi::GPIO.new&lt;br /&gt;
io.mode(MY_PIN,OUTPUT)&lt;br /&gt;
io.write(MY_PIN,HIGH)&lt;br /&gt;
io.read(MY_PIN)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternatively the Pi Piper Gem (https://github.com/jwhitehorn/pi_piper) allows for event driven programming:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
require 'pi_piper'&lt;br /&gt;
include PiPiper&lt;br /&gt;
&lt;br /&gt;
watch :pin =&amp;gt; 23 do&lt;br /&gt;
  puts &amp;quot;Pin changed from #{last_value} to #{value}&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
PiPiper.wait&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Perl ===&lt;br /&gt;
This must be done as root. To change to the root user:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo su -&amp;lt;/pre&amp;gt;&lt;br /&gt;
Supports GPIO and SPI interfaces.&lt;br /&gt;
You must also get and install the bcm2835 library. Details and downloads &lt;br /&gt;
from  http://www.open.com.au/mikem/bcm2835&lt;br /&gt;
You must then get and install the Device::BCM2835 perl library from CPAN &lt;br /&gt;
http://search.cpan.org/~mikem/Device-BCM2835-1.0/lib/Device/BCM2835.pm&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
use Device::BCM2835;&lt;br /&gt;
use strict;&lt;br /&gt;
&lt;br /&gt;
# call set_debug(1) to do a non-destructive test on non-RPi hardware&lt;br /&gt;
#Device::BCM2835::set_debug(1);&lt;br /&gt;
Device::BCM2835::init() &lt;br /&gt;
 || die &amp;quot;Could not init library&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
# Blink pin 11:&lt;br /&gt;
# Set RPi pin 11 to be an output&lt;br /&gt;
Device::BCM2835::gpio_fsel(&amp;amp;Device::BCM2835::RPI_GPIO_P1_11, &lt;br /&gt;
                            &amp;amp;Device::BCM2835::BCM2835_GPIO_FSEL_OUTP);&lt;br /&gt;
&lt;br /&gt;
while (1)&lt;br /&gt;
{&lt;br /&gt;
    # Turn it on&lt;br /&gt;
    Device::BCM2835::gpio_write(&amp;amp;Device::BCM2835::RPI_GPIO_P1_11, 1);&lt;br /&gt;
    Device::BCM2835::delay(500); # Milliseconds&lt;br /&gt;
    # Turn it off&lt;br /&gt;
    Device::BCM2835::gpio_write(&amp;amp;Device::BCM2835::RPI_GPIO_P1_11, 0);&lt;br /&gt;
    Device::BCM2835::delay(500); # Milliseconds&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
This uses the Python module available at http://pypi.python.org/pypi/RPi.GPIO&lt;br /&gt;
Any Python script that controls GPIO must be run as root.&lt;br /&gt;
&amp;lt;pre&amp;gt;import RPi.GPIO as GPIO&lt;br /&gt;
&lt;br /&gt;
# Set up the GPIO channels - one input and one output&lt;br /&gt;
GPIO.setup(11, GPIO.IN)&lt;br /&gt;
GPIO.setup(12, GPIO.OUT)&lt;br /&gt;
&lt;br /&gt;
# Input from pin 11&lt;br /&gt;
input_value = GPIO.input(11)&lt;br /&gt;
&lt;br /&gt;
# Output to pin 12&lt;br /&gt;
GPIO.output(12, True)&lt;br /&gt;
&lt;br /&gt;
# The same script as above but using BCM GPIO 00..nn numbers&lt;br /&gt;
GPIO.setmode(GPIO.BCM)&lt;br /&gt;
GPIO.setup(17, GPIO.IN)&lt;br /&gt;
GPIO.setup(18, GPIO.OUT)&lt;br /&gt;
input_value = GPIO.input(17)&lt;br /&gt;
GPIO.output(18, True)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
==== Java using the Pi4J Library ====&lt;br /&gt;
This uses the Java library available at http://www.pi4j.com/. &lt;br /&gt;
(Any Java application that controls GPIO must be run as root.)&lt;br /&gt;
&lt;br /&gt;
Please note that the Pi4J library uses the WiringPi GPIO pin numbering scheme &amp;lt;ref&amp;gt;http://pi4j.com/usage.html#Pin_Numbering&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://projects.drogon.net/raspberry-pi/wiringpi/pins/&amp;lt;/ref&amp;gt;.  Please see the usage documentation for more details: http://pi4j.com/usage.html  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
public static void main(String[] args) {&lt;br /&gt;
&lt;br /&gt;
    // create gpio controller&lt;br /&gt;
    GpioController gpio = GpioFactory.getInstance();&lt;br /&gt;
        &lt;br /&gt;
    // provision gpio pin #01 as an output pin and turn off&lt;br /&gt;
    GpioPinDigitalOutput outputPin = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_01, &amp;quot;MyLED&amp;quot;, PinState.LOW);&lt;br /&gt;
    &lt;br /&gt;
    // turn output to LOW/OFF state&lt;br /&gt;
    outputPin.low();&lt;br /&gt;
&lt;br /&gt;
    // turn output to HIGH/ON state&lt;br /&gt;
    outputPin.high();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    // provision gpio pin #02 as an input pin with its internal pull down resistor enabled&lt;br /&gt;
    GpioPinDigitalInput inputPin = gpio.provisionDigitalInputPin(RaspiPin.GPIO_02, &amp;quot;MyButton&amp;quot;, PinPullResistance.PULL_DOWN);&lt;br /&gt;
&lt;br /&gt;
    // get input state from pin 2&lt;br /&gt;
    boolean input_value = inputPin.isHigh();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More complete and detailed examples are included on the Pi4J website at http://www.pi4j.com/. &lt;br /&gt;
&lt;br /&gt;
The Pi4J library includes support for:&lt;br /&gt;
* GPIO Control&lt;br /&gt;
* GPIO Listeners&lt;br /&gt;
* Serial Communication&lt;br /&gt;
* I2C Communication&lt;br /&gt;
* SPI Communication&lt;br /&gt;
&lt;br /&gt;
==== Java ====&lt;br /&gt;
This uses the Java library available at https://github.com/jkransen/framboos. It does not depend on (or use) the wiringPi driver, but uses the same numbering scheme. Instead it uses the default driver under /sys/class/gpio that ships with the distro, so it works out of the box. Any Java application that controls GPIO must be run as root.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
public static void main(String[] args) {&lt;br /&gt;
  // reading from an in pin&lt;br /&gt;
  InPin button = new InPin(8);&lt;br /&gt;
  boolean isButtonPressed = button.getValue();&lt;br /&gt;
  button.close();&lt;br /&gt;
&lt;br /&gt;
  // writing to an out pin&lt;br /&gt;
  OutPin led = new Outpin(0);&lt;br /&gt;
  led.setValue(true);&lt;br /&gt;
  led.setValue(false);&lt;br /&gt;
  led.close();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Java Webapp GPIO web control via http ====&lt;br /&gt;
This uses the Java Webapp available at https://bitbucket.org/sbub/raspberry-pi-gpio-web-control/overview. You can control your GPIO over the internet. Any Java application that controls GPIO must be run as root.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
host:~ sb$ curl 'http://raspberrypi:8080/handle?g0=1&amp;amp;g1=0'&lt;br /&gt;
{&amp;quot;g1&amp;quot;:0,&amp;quot;g0&amp;quot;:1}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bash shell script, using sysfs, part of the raspbian operating system ===&lt;br /&gt;
The export and unexport of pins must be done as root. &lt;br /&gt;
To change to the root user see below:  To change back, the word exit must be entered.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
Export creates a new folder for the exported pin, and creates files for each of its control functions (i.e. active_low, direction, edge, power, subsystem, uevent, and value). Upon creation, the control files can be read by all users (not just root), but can only be written to by user root, the file's owner. Nevertheless, once created, it is possible to allow users other than root, to also write inputs to the control files, by changing the ownership or permissions of these files. Changes to the file's ownership or permissions must initially be done as root, as their owner and group is set to root upon creation. Typically you might change the owner to be the (non root) user controlling the GPIO, or you might add write permission, and change the group ownership to one of which the user controlling the GPIO is a member. By such means, using only packages provided in the recommended rasbian distribution, it is possible for Python CGI scripts, which are typically run as user nobody, to be used for control of the GPIO over the internet from a browser at a remote location.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
# GPIO numbers should be from this list&lt;br /&gt;
# 0, 1, 4, 7, 8, 9, 10, 11, 14, 15, 17, 18, 21, 22, 23, 24, 25&lt;br /&gt;
&lt;br /&gt;
# Note that the GPIO numbers that you program here refer to the pins&lt;br /&gt;
# of the BCM2835 and *not* the numbers on the pin header. &lt;br /&gt;
# So, if you want to activate GPIO7 on the header you should be &lt;br /&gt;
# using GPIO4 in this script. Likewise if you want to activate GPIO0&lt;br /&gt;
# on the header you should be using GPIO17 here.&lt;br /&gt;
&lt;br /&gt;
# Set up GPIO 4 and set to output&lt;br /&gt;
echo &amp;quot;4&amp;quot; &amp;gt; /sys/class/gpio/export&lt;br /&gt;
echo &amp;quot;out&amp;quot; &amp;gt; /sys/class/gpio/gpio4/direction&lt;br /&gt;
&lt;br /&gt;
# Set up GPIO 7 and set to input&lt;br /&gt;
echo &amp;quot;7&amp;quot; &amp;gt; /sys/class/gpio/export&lt;br /&gt;
echo &amp;quot;in&amp;quot; &amp;gt; /sys/class/gpio/gpio7/direction&lt;br /&gt;
&lt;br /&gt;
# Write output&lt;br /&gt;
echo &amp;quot;1&amp;quot; &amp;gt; /sys/class/gpio/gpio4/value&lt;br /&gt;
&lt;br /&gt;
# Read from input&lt;br /&gt;
cat /sys/class/gpio/gpio7/value &lt;br /&gt;
&lt;br /&gt;
# Clean up&lt;br /&gt;
echo &amp;quot;4&amp;quot; &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
echo &amp;quot;7&amp;quot; &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Shell script - take 2 ===&lt;br /&gt;
You need the wiringPi library from&lt;br /&gt;
https://projects.drogon.net/raspberry-pi/wiringpi/download-and-install/. Once installed, there is a new command '''gpio''' which can be used&lt;br /&gt;
as a '''non-root''' user to control the GPIO pins.&lt;br /&gt;
&lt;br /&gt;
The man page &amp;lt;pre&amp;gt;man gpio&amp;lt;/pre&amp;gt; has full details, but briefly:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gpio -g mode 17 out&lt;br /&gt;
  gpio -g mode 18 pwm&lt;br /&gt;
&lt;br /&gt;
  gpio -g write 17 1&lt;br /&gt;
  gpio -g pwm 18 512&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The '''-g''' flag tells the '''gpio''' program to use the BCM GPIO pin numbering&lt;br /&gt;
scheme (otherwise it will use the wiringPi numbering scheme by default).&lt;br /&gt;
&lt;br /&gt;
The gpio command can also control the internal pull-up and pull-down&lt;br /&gt;
resistors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gpio -g mode 17 up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This sets the pull-up resistor - however any change of mode, even&lt;br /&gt;
setting a pin that's already set as an input to an input will remove&lt;br /&gt;
the pull-up/pull-down resistors, so they may need to be reset.&lt;br /&gt;
&lt;br /&gt;
Additionally, it can export/un-export the GPIO devices for use by&lt;br /&gt;
other non-root programms - e.g. Python scripts. (Although you&lt;br /&gt;
may need to drop the calls to GPIO.Setup() in the Python scripts, and&lt;br /&gt;
do the setup separately in a little shell script, or call the '''gpio''' program&lt;br /&gt;
from inside Python).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gpio export 17 out&lt;br /&gt;
  gpio export 18 in&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
These exports GPIO-17 and sets it to output, and exports GPIO-18&lt;br /&gt;
and sets it to input. &lt;br /&gt;
&lt;br /&gt;
And when done:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gpio unexport 17&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
The export/unexport commands always use the BCM GPIO pin numbers regardless of the&lt;br /&gt;
presence of the '''-g''' flag or not.&lt;br /&gt;
&lt;br /&gt;
If you want to use the internal pull-up/down's with the /sys/class/gpio mechanisms,&lt;br /&gt;
then you can set them after exporting them. So:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gpio -g export 4 in&lt;br /&gt;
  gpio -g mode 4 up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can then use GPIO-4 as an input in your Python, Shell, Java, etc. programs without the use&lt;br /&gt;
of an external resistor to pull the pin high. (If that's what you were after - for example, a simple push&lt;br /&gt;
button switch taking the pin to ground.)&lt;br /&gt;
&lt;br /&gt;
A fully working example of a shell script using the GPIO pins&lt;br /&gt;
can be found at http://project-downloads.drogon.net/files/gpioExamples/tuxx.sh.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lazarus / Free Pascal ===&lt;br /&gt;
[[File:RPI GPIO testprogram with lazarus.png|thumb|254px|right|A simple app for controlling GPIO pin 17 with Lazarus]]&lt;br /&gt;
&lt;br /&gt;
The GPIO pins are accessible from [[Lazarus on RPi|Lazarus]] without any third-party software. This is performed by means of  the [http://www.freepascal.org/docs-html/rtl/baseunix/index.html BaseUnix] unit that is part of every distribution of Lazarus and Free Pascal or by invoking Unix shell commands with '''fpsystem'''. The following example uses GPIO pin 17 as output port. It is assumed that you created a form with a TToggleBox named GPIO17ToggleBox and for logging purposes a TMemo with name LogMemo (optional). The program has to be executed with root privileges.&lt;br /&gt;
&lt;br /&gt;
''Unit for controlling the GPIO port:''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
unit Unit1;&lt;br /&gt;
&lt;br /&gt;
{Demo application for GPIO on Raspberry Pi}&lt;br /&gt;
{Inspired by the Python input/output demo application by Gareth Halfacree}&lt;br /&gt;
{written for the Raspberry Pi User Guide, ISBN 978-1-118-46446-5}&lt;br /&gt;
&lt;br /&gt;
{$mode objfpc}{$H+}&lt;br /&gt;
&lt;br /&gt;
interface&lt;br /&gt;
&lt;br /&gt;
uses&lt;br /&gt;
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,&lt;br /&gt;
  Unix, BaseUnix;&lt;br /&gt;
&lt;br /&gt;
type&lt;br /&gt;
&lt;br /&gt;
  { TForm1 }&lt;br /&gt;
&lt;br /&gt;
  TForm1 = class(TForm)&lt;br /&gt;
    LogMemo: TMemo;&lt;br /&gt;
    GPIO17ToggleBox: TToggleBox;&lt;br /&gt;
    procedure FormActivate(Sender: TObject);&lt;br /&gt;
    procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);&lt;br /&gt;
    procedure GPIO17ToggleBoxChange(Sender: TObject);&lt;br /&gt;
  private&lt;br /&gt;
    { private declarations }&lt;br /&gt;
  public&lt;br /&gt;
    { public declarations }&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
const&lt;br /&gt;
  PIN_17: PChar = '17';&lt;br /&gt;
  PIN_ON: PChar = '1';&lt;br /&gt;
  PIN_OFF: PChar = '0';&lt;br /&gt;
  OUT_DIRECTION: PChar = 'out';&lt;br /&gt;
&lt;br /&gt;
var&lt;br /&gt;
  Form1: TForm1;&lt;br /&gt;
  gReturnCode: longint; {stores the result of the IO operation}&lt;br /&gt;
&lt;br /&gt;
implementation&lt;br /&gt;
&lt;br /&gt;
{$R *.lfm}&lt;br /&gt;
&lt;br /&gt;
{ TForm1 }&lt;br /&gt;
&lt;br /&gt;
procedure TForm1.FormActivate(Sender: TObject);&lt;br /&gt;
var&lt;br /&gt;
  fileDesc: integer;&lt;br /&gt;
begin&lt;br /&gt;
  { Prepare SoC pin 17 (pin 11 on GPIO port) for access: }&lt;br /&gt;
  try&lt;br /&gt;
    fileDesc := fpopen('/sys/class/gpio/export', O_WrOnly);&lt;br /&gt;
    gReturnCode := fpwrite(fileDesc, PIN_17[0], 2);&lt;br /&gt;
    LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
  finally&lt;br /&gt;
    gReturnCode := fpclose(fileDesc);&lt;br /&gt;
    LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
  end;&lt;br /&gt;
  { Set SoC pin 17 as output: }&lt;br /&gt;
  try&lt;br /&gt;
    fileDesc := fpopen('/sys/class/gpio/gpio17/direction', O_WrOnly);&lt;br /&gt;
    gReturnCode := fpwrite(fileDesc, OUT_DIRECTION[0], 3);&lt;br /&gt;
    LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
  finally&lt;br /&gt;
    gReturnCode := fpclose(fileDesc);&lt;br /&gt;
    LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
  end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
procedure TForm1.FormClose(Sender: TObject; var CloseAction: TCloseAction);&lt;br /&gt;
var&lt;br /&gt;
  fileDesc: integer;&lt;br /&gt;
begin&lt;br /&gt;
  { Free SoC pin 17: }&lt;br /&gt;
  try&lt;br /&gt;
    fileDesc := fpopen('/sys/class/gpio/unexport', O_WrOnly);&lt;br /&gt;
    gReturnCode := fpwrite(fileDesc, PIN_17[0], 2);&lt;br /&gt;
    LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
  finally&lt;br /&gt;
    gReturnCode := fpclose(fileDesc);&lt;br /&gt;
    LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
  end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
procedure TForm1.GPIO17ToggleBoxChange(Sender: TObject);&lt;br /&gt;
var&lt;br /&gt;
  fileDesc: integer;&lt;br /&gt;
begin&lt;br /&gt;
  if GPIO17ToggleBox.Checked then&lt;br /&gt;
  begin&lt;br /&gt;
    { Swith SoC pin 17 on: }&lt;br /&gt;
    try&lt;br /&gt;
      fileDesc := fpopen('/sys/class/gpio/gpio17/value', O_WrOnly);&lt;br /&gt;
      gReturnCode := fpwrite(fileDesc, PIN_ON[0], 1);&lt;br /&gt;
      LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
    finally&lt;br /&gt;
      gReturnCode := fpclose(fileDesc);&lt;br /&gt;
      LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
    end;&lt;br /&gt;
  end&lt;br /&gt;
  else&lt;br /&gt;
  begin&lt;br /&gt;
    { Switch SoC pin 17 off: }&lt;br /&gt;
    try&lt;br /&gt;
      fileDesc := fpopen('/sys/class/gpio/gpio17/value', O_WrOnly);&lt;br /&gt;
      gReturnCode := fpwrite(fileDesc, PIN_OFF[0], 1);&lt;br /&gt;
      LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
    finally&lt;br /&gt;
      gReturnCode := fpclose(fileDesc);&lt;br /&gt;
      LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Main program:''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
program io_test;&lt;br /&gt;
&lt;br /&gt;
{$mode objfpc}{$H+}&lt;br /&gt;
&lt;br /&gt;
uses&lt;br /&gt;
  {$IFDEF UNIX}{$IFDEF UseCThreads}&lt;br /&gt;
  cthreads,&lt;br /&gt;
  {$ENDIF}{$ENDIF}&lt;br /&gt;
  Interfaces, // this includes the LCL widgetset&lt;br /&gt;
  Forms, Unit1&lt;br /&gt;
  { you can add units after this };&lt;br /&gt;
&lt;br /&gt;
{$R *.res}&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  Application.Initialize;&lt;br /&gt;
  Application.CreateForm(TForm1, Form1);&lt;br /&gt;
  Application.Run;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An alternative way to access the GPIO port with Lazarus / Free Pascal is by using [http://www.lazarus.freepascal.org/index.php/topic,17404.0.html Lazarus wrapper unit for Gordon Henderson's wiringPi C library].&lt;br /&gt;
&lt;br /&gt;
=== BASIC ===&lt;br /&gt;
==== BASIC - Return to BASIC ====&lt;br /&gt;
&lt;br /&gt;
'''RTB''' or Return to Basic can be found here: https://projects.drogon.net/return-to-basic/&lt;br /&gt;
&lt;br /&gt;
It's a new BASIC featuring modern looping constructs, switch statements, named procedures and functions as well as graphics (caresian and turtle), file handling and more. It also supports the Pi's on-board GPIO without needing to be run as root. (You don't need any special setup routines either)&lt;br /&gt;
&lt;br /&gt;
Sample blink program:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// blink.rtb:&lt;br /&gt;
//    Blink program in Return to Basic&lt;br /&gt;
//    Gordon Henderson, projects@drogon.net&lt;br /&gt;
//&lt;br /&gt;
PinMode (0, 1) // Output&lt;br /&gt;
CYCLE &lt;br /&gt;
  DigitalWrite (0, 1) // Pin 0 ON&lt;br /&gt;
  WAIT (0.5) // 0.5 seconds&lt;br /&gt;
  DigitalWrite (0, 0)&lt;br /&gt;
  WAIT (0.5)&lt;br /&gt;
REPEAT &lt;br /&gt;
END &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== BASIC ====&lt;br /&gt;
&lt;br /&gt;
'''Bywater BASIC Interpreter'''&lt;br /&gt;
&lt;br /&gt;
The Bywater BASIC Interpreter (bwBASIC) implements a large superset of the ANSI Standard for Minimal BASIC (X3.60-1978) and a significant subset of the ANSI Standard for Full BASIC (X3.113-1987) in C. It also offers shell programming facilities as an extension of BASIC. bwBASIC seeks to be as portable as possible. &lt;br /&gt;
You can download it at.&lt;br /&gt;
http://packages.debian.org/stable/interpreters/bwbasic&lt;br /&gt;
&lt;br /&gt;
'''BASIC programming of the I/O'''&lt;br /&gt;
&lt;br /&gt;
'''Setting up a GPIO pin to be used for inputs or for outputs.'''&lt;br /&gt;
&lt;br /&gt;
We cannot load the control words directly into the  32 bit ARM registers with 32 bit addresses, as bwBASIC has no POKE and PEEK commands and other versions of BASIC (as far as I know) only handle 8 bit registers with 16 bit addresses with these commands. So we need to export the GPIO pins, so that they exist in a file structure which we can access from basic with the OPEN command.(ref 2)&lt;br /&gt;
&lt;br /&gt;
We need to do this in Linux root.&lt;br /&gt;
We need to run BASIC in the root too. First we go to the root, then we load bwbasic into root.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo -1&lt;br /&gt;
sudo bwbasic&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
REM Now to export the no4 GPIO pin for example, using a Shell command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo “4” &amp;gt;  /sys/class/gpio/export&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Whilst bwbasic can accommodate shell commands, and we can store a set of these commands (eg. to export a number of GPIO pins at the outset) as numbered statements in a file that can be loaded with the basic command LOAD “filename” and RUN (ref 2), the shell commands have to run as a separate file, as they cannot be run from within, as part of a basic programme.&lt;br /&gt;
&lt;br /&gt;
'''Now we can access the file containing the pin direction setting from BASIC'''&lt;br /&gt;
&lt;br /&gt;
We can set GPIO pin 4 to input or to output by OPENing its pin direction file for output and writing “in” or “out” with a PRINT# command. (ref 2 )&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic4gl&amp;quot;&amp;gt;&lt;br /&gt;
10 OPEN ”O”,#1, “/sys/devices/virtual/gpio/gpio4/direction”,2&lt;br /&gt;
20 PRINT #1,”out”&lt;br /&gt;
30 CLOSE #1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
REM closes the open direction file, whereupon the system performs the action of setting the direction to “out”. NB the system only carries out the action as the file is closed.(ref 3)&lt;br /&gt;
&lt;br /&gt;
'''We are now able to control the output of the gpio 4 pin from BASIC'''&lt;br /&gt;
&lt;br /&gt;
We can set the GPIO 4 pin to 1 or to 0 by OPENing its pin value file for output and writing “1” or “0” with a PRINT# command.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic4gl&amp;quot;&amp;gt;&lt;br /&gt;
40 OPEN ”O”,#4, “/sys/devices/virtual/gpio/gpio4/value”,1&lt;br /&gt;
50 PRINT #4,”1”&lt;br /&gt;
60 CLOSE #4 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
REM turns on the output of GPIO pin 4.&lt;br /&gt;
&lt;br /&gt;
REM similarly we can turn off the output of GPIO pin 4.&lt;br /&gt;
OPEN ”O”,#4, “/sys/devices/virtual/gpio/gpio4/value”,1&lt;br /&gt;
PRINT #4,”0”&lt;br /&gt;
CLOSE #4.&lt;br /&gt;
&lt;br /&gt;
'''Example of an (unstructured) BASIC programme''' &lt;br /&gt;
&lt;br /&gt;
To read the state of a switch and control the power to two LEDs connected to GPIO pins 8,7 and 4 respectively.&lt;br /&gt;
&lt;br /&gt;
Programme to set 2 pins as outputs and 1 pin as input and to read the input turning on two different combinations of the two outputs (ie output 0,1 or 1,0) depending on the state of the input (1 or 0).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic4gl&amp;quot;&amp;gt;&lt;br /&gt;
sudo –i&lt;br /&gt;
sudo bwbasic&lt;br /&gt;
LOAD “export.bas”&lt;br /&gt;
LIST&lt;br /&gt;
REM a set of Shell statements to export the three GPIO pins.&lt;br /&gt;
10 echo “4” &amp;gt; /sys/class/gpio/export&lt;br /&gt;
20 echo “7” &amp;gt; /sys/class/gpio/export&lt;br /&gt;
30 echo “8” &amp;gt; /sys/class/gpio/export&lt;br /&gt;
RUN&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NEW REM clears the export.bas programme from memory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic4gl&amp;quot;&amp;gt;&lt;br /&gt;
.&lt;br /&gt;
LOAD “demo1.bas”&lt;br /&gt;
LIST&lt;br /&gt;
10 OPEN ”O”,#1, “/sys/devices/virtual/gpio/gpio4/direction”,2 &lt;br /&gt;
20 OPEN ”O”,#2, “/sys/devices/virtual/gpio/gpio7/direction”,2 &lt;br /&gt;
30 OPEN ”O”,#3, “/sys/devices/virtual/gpio/gpio8/direction”,2&lt;br /&gt;
REM opens the three pin direction files&lt;br /&gt;
40 PRINT #1, “out”&lt;br /&gt;
50 PRINT #2, “out”&lt;br /&gt;
60 PRINT #3, “in”&lt;br /&gt;
REM sets GPIO pins 4 and 7 as outputs and GPIO pin 8 as input.&lt;br /&gt;
70 CLOSE #1&lt;br /&gt;
80 CLOSE #2&lt;br /&gt;
90 CLOSE #3&lt;br /&gt;
REM closes all open files, allowing the system to perform the direction settings.&lt;br /&gt;
100 OPEN ”I”,#8, “/sys/devices/virtual/gpio/gpio8/value”,1&lt;br /&gt;
REM opens the GPIO pin 8 value file&lt;br /&gt;
110 INPUT #8,x&lt;br /&gt;
REM reads the value of the input pin and stores the value in numerical variable x&lt;br /&gt;
120 CLOSE #8&lt;br /&gt;
REM closes the open file, allowing the system to read the value of the input pin and store the value in numerical variable x.&lt;br /&gt;
130 OPEN “O”,#1, “/sys/devices/virtual/gpio/gpio4/value”,1&lt;br /&gt;
140 OPEN “O”,#2, “/sys/devices/virtual/gpio/gpio7/value”,1&lt;br /&gt;
REM opens the GPIO pins 4 and value files ready for outputting 1s and 0s.&lt;br /&gt;
150 IF x&amp;lt;1 THEN GOTO 160 ELSE GOTO 190&lt;br /&gt;
REM tests the state of the switch (1 or0) and directs the program to generate the appropriate outputs&lt;br /&gt;
160 PRINT #1,”1”&lt;br /&gt;
170 PRINT #2,”0”&lt;br /&gt;
180 GOTO 210&lt;br /&gt;
190  PRINT#1,&amp;quot;0&amp;quot;&lt;br /&gt;
200 PRINT #2,&amp;quot;1&amp;quot;&lt;br /&gt;
210 CLOSE #1&lt;br /&gt;
220 CLOSE #2&lt;br /&gt;
REM Closes the files and allows the outputs to light the LED&lt;br /&gt;
230 END.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When all is done, we should unexport the GPIO pins, to leave the R-Pi as we found it.(Ref 1.)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic4gl&amp;quot;&amp;gt;&lt;br /&gt;
NEW&lt;br /&gt;
LOAD “unexport.bas”&lt;br /&gt;
LIST&lt;br /&gt;
REM a set of Shell statements to unexport the three GPIO pins.&lt;br /&gt;
10 echo “4” &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
20 echo “7” &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
30 echo “8” &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
RUN&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
A simple circuit to provide the switched input and the two LED outputs.&lt;br /&gt;
&lt;br /&gt;
Ancient Mariner. Dec. 2012&lt;br /&gt;
&lt;br /&gt;
References.&lt;br /&gt;
&lt;br /&gt;
1. This paper RPi Low-level peripherals.&lt;br /&gt;
&lt;br /&gt;
2. Ed Beynon.  [http://www.ybw.com/forums/showthread.php?t=331320&amp;amp;page=5 http://www.ybw.com/forums/showthread.php?t=331320&amp;amp;page=5]&lt;br /&gt;
&lt;br /&gt;
3. Arthur Kaletzky. Private communication. 25/10/2012&lt;br /&gt;
&lt;br /&gt;
4. bwbasic manual.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the two original documents this example has been copied from see:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Media:GPIO_Driving_Example_(BASIC)_.doc | GPIO_Driving_Example_(BASIC)_.doc]]&lt;br /&gt;
&lt;br /&gt;
[[Media:Raspberry_Pi_I-O_viii.doc | Raspberry_Pi_I-O_viii.doc]]&lt;br /&gt;
&lt;br /&gt;
==MIPI CSI-2==&lt;br /&gt;
&lt;br /&gt;
On the production board&amp;lt;ref&amp;gt;http://www.raspberrypi.org/wp-content/uploads/2012/04/Raspberry-Pi-Schematics-R1.0.pdf&amp;lt;/ref&amp;gt;, the Raspberry Pi Foundation design brings out the MIPI CSI-2 (Camera Serial Interface&amp;lt;ref&amp;gt;http://www.mipi.org/specifications/camera-interface&amp;lt;/ref&amp;gt;) to a 15-way flat flex connector S5, between the Ethernet and HDMI connectors. A compatible camera has been discussed as working in tests and is planned for release at a later date.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/projects-and-collaboration-general/complex-camera-peripherials#p72602&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&amp;lt;!-- This is misleading as it implies that cheap cameras from other devices can be used. CSI appears to be a generic interface with secret device-specific requirements so these devices must have drivers to be relevant (and currently only the VideoCore has access to the CSI hardware).&lt;br /&gt;
&lt;br /&gt;
is Sony sub-LVDS same as MIPI CSI-2? Sony IMX020 5Mbip module is available for $5-7 (SE K850i replacement camera).&lt;br /&gt;
&lt;br /&gt;
Looks like Nokia N95 uses CSI-2 5Mpix camera module with autofocus. ~$15 replacement part.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==DSI==&lt;br /&gt;
&lt;br /&gt;
On the production board, the Raspberry Pi Foundation design brings out the DSI (Display Serial Interface&amp;lt;ref&amp;gt;http://www.mipi.org/specifications/display-interface&amp;lt;/ref&amp;gt;) to a 15-way flat flex connector labelled S2, next to Raspberry Pi logo. It has two data lanes and a clock lane, to drive a possible future LCD screen device. Some smart phone screens use DSI&amp;lt;ref&amp;gt;http://en.wikipedia.org/wiki/Display_Serial_Interface&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==CEC==&lt;br /&gt;
&lt;br /&gt;
[[CEC (Consumer Electronics Control) over HDMI|HDMI-CEC (Consumer Electronics Control for HDMI)]] is supported by hardware but some driver work will be needed and currently isn't exposed into Linux userland.&lt;br /&gt;
Eben notes that he has seen CEC demos on the Broadcom SoC they are using. &lt;br /&gt;
&lt;br /&gt;
libCEC with Raspberry Pi support has been included in OpenELEC and will be included in Raspbmc RC4.&amp;lt;ref&amp;gt;http://blog.pulse-eight.com/2012/08/01/libcec-1-8-0-a-firmware-upgrade-and-raspberry-pi-support/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information about HDMI-CEC and what you could do with it on the Raspberry Pi please see the [[CEC (Consumer Electronics Control) over HDMI]] article.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Template:Raspberry Pi}}&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/RPi_Low-level_peripherals</id>
		<title>RPi Low-level peripherals</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RPi_Low-level_peripherals"/>
				<updated>2013-03-10T22:20:28Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: /* General Purpose Input/Output (GPIO) */ Added pin-orientation images for the P5 and P6 headers&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: RaspberryPi]]&lt;br /&gt;
{{Template:RPi_Hardware}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
In addition to the familiar USB, Ethernet and HDMI ports, the R-Pi offers lower-level interfaces intended to connect more directly with chips and subsystem modules. These GPIO (general purpose I/O) signals on the 2x13 header pins include SPI, I2C, serial UART, 3V3 and 5V power. These interfaces are not &amp;quot;plug and play&amp;quot; and require care to avoid miswiring. The pins use a 3V3 logic level and are not tolerant of 5V levels, such as you might find on a 5V powered Arduino.  Not yet software-enabled are the flex cable connectors with CSI (camera serial interface) and DSI (display serial interface), and a serial link inside the HDMI connector called CEC. (consumer electronics control)&lt;br /&gt;
&lt;br /&gt;
==General Purpose Input/Output (GPIO)==&lt;br /&gt;
[[File:GPIOs.png|thumb|254px|right|The layout of the Raspberry Pi Revision 1 P1 pin-header seen from the top, containing pins useable for general purpose I/O. Colour coded to the table. [https://sites.google.com/site/burngatehouse/home/drawings/GPIOs2.gif Source] ]]&lt;br /&gt;
&lt;br /&gt;
General Purpose Input/Output (a.k.a. GPIO) is a generic pin on a chip whose behavior (including whether it is an input or output pin) can be controlled (programmed) through software.&lt;br /&gt;
&lt;br /&gt;
The Raspberry Pi allows peripherals and expansion boards (such as the [[Rpi Gertboard]]) to access the CPU by exposing the inputs and outputs.&lt;br /&gt;
&lt;br /&gt;
For further general information about GPIOs, see: [http://en.wikipedia.org/wiki/GPIO the wikipedia article].&amp;lt;BR&amp;gt;&lt;br /&gt;
For further specific information about the Raspberry Pi's BCM2835 GPIOs, see: [[RPi_BCM2835_GPIOs|this wiki article]].&lt;br /&gt;
&lt;br /&gt;
The production Raspberry Pi board has a 26-pin 2.54&amp;amp;nbsp;mm (100&amp;amp;nbsp;mil)&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/features-and-requests/easy-gpio-hardware-software/page-3/#p31907&amp;lt;/ref&amp;gt; expansion header, marked as P1, arranged in a 2x13 strip. They provide 8 GPIO pins plus access to I²C, SPI, UART), as well as +3.3&amp;amp;nbsp;V, +5&amp;amp;nbsp;V and GND supply lines. Pin one is the pin in the first column and on the bottom row. &amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/384&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:RPi_P1_header.png]]&lt;br /&gt;
&lt;br /&gt;
'''GPIO voltage levels are 3.3&amp;amp;nbsp;V and are not 5&amp;amp;nbsp;V tolerant. There is no over-voltage protection on the board''' - the intention is that people interested in serious interfacing will use an external board with buffers, level conversion and analog I/O rather than soldering directly onto the main board.&lt;br /&gt;
&lt;br /&gt;
All the GPIO pins can be reconfigured to provide alternate functions, SPI, [http://en.wikipedia.org/wiki/Pulse-width_modulation PWM], I²C and so. At reset only pins GPIO 14 &amp;amp; 15 are assigned to the alternate function UART, these two can be switched back to GPIO to provide a total of 17 GPIO pins&amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/384&amp;lt;/ref&amp;gt;. Each of their functions and full details of how to access are detailed in the chipset datasheet &amp;lt;ref&amp;gt;http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Each GPIO can interrupt, high/low/rise/fall/change.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/384#comment-5217&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf&amp;lt;/ref&amp;gt; There is currently no support for GPIO interrupts in the official kernel, howewer a patch exists, requiring compilation of modified source tree.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?f=44&amp;amp;t=7509&amp;lt;/ref&amp;gt; The 'Raspbian &amp;quot;wheezy&amp;quot;' &amp;lt;ref&amp;gt;http://www.raspberrypi.org/downloads&amp;lt;/ref&amp;gt; version that is currently recommended for starters already includes GPIO interrupts.&lt;br /&gt;
&lt;br /&gt;
GPIO input hysteresis (Schmitt trigger) can be on or off, output slew rate can be fast or limited, and source and sink current is configurable from 2&amp;amp;nbsp;mA up to 16&amp;amp;nbsp;mA. Note that chipset GPIO pins 0-27 are in the same block and these properties are set per block, not per pin. See [http://www.scribd.com/doc/101830961/GPIO-Pads-Control2 GPIO Datasheet Addendum - GPIO Pads Control]. Particular attention should be applied to the note regarding SSO (Simultaneous Switching Outputs): to avoid interference, driving currents should be kept as low as possible.&lt;br /&gt;
&lt;br /&gt;
The available [[RPi_BCM2835_GPIOs|alternative functions]] and their corresponding pins are detailed below. These numbers are in reference to the chipset documentation and may not match the numbers exposed in Linux. Only fully usable functions are detailed, for some alternative functions not all the necessary pins are available for the funtionality to be actually used.&lt;br /&gt;
&lt;br /&gt;
There is also some information on the [[RPi Tutorial Easy GPIO Hardware &amp;amp; Software|Tutorial on Easy GPIO Hardware &amp;amp; Software]].&lt;br /&gt;
&lt;br /&gt;
Kernel boot messages go to the [[RPi_Serial_Connection|UART]] at 115200&amp;amp;nbsp;bit/s.&lt;br /&gt;
&lt;br /&gt;
'''R-Pi PCB Revision 2 UPDATE:''' According to Eben at [http://www.raspberrypi.org/archives/1929#comment-31646] the R-Pi Rev.2 board being rolled out starting in September 2012 adds 4 more GPIO on a new connector called P5, and changes some of the existing P1 GPIO pinouts. On Rev2, GPIO_GEN2 [BCM2835/GPIO27] is routed to P1 pin 13, and changes what was SCL0/SDA0 to SCL1/SDA1: SCL1 [BCM2835/GPIO3] is routed to P1 pin 5, SDA1 [BCM2835/GPIO2] is routed to P1 pin 3. Also the power and ground connections previously marked &amp;quot;Do Not Connect&amp;quot; on P1 will remain as connected, specifically: P1-04:+5V0, P1-09:GND, P1-14:GND, P1-17:+3V3, P1-20:GND, P1-25:GND. According to this comment [http://www.raspberrypi.org/archives/2081#comment-33577] (and confirmed in this post [http://www.raspberrypi.org/archives/2233]) the P1 pinout is not expected to change in future beyond the current Rev.2 layout. &lt;br /&gt;
&lt;br /&gt;
'''Header Pinout, top row:'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
| '''Pin Number''' || '''Pin Name Rev1''' || '''Pin Name Rev2''' || '''Hardware Notes''' || '''Alt 0 Function''' || '''Other Alternative Functions'''&lt;br /&gt;
|-&lt;br /&gt;
| P1-02 || bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; || Supply through input poly fuse&lt;br /&gt;
|-&lt;br /&gt;
| P1-04 || bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; || Supply through input poly fuse&lt;br /&gt;
|-&lt;br /&gt;
| P1-06 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| P1-08 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 14 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 14 || Boot to Alt 0 -&amp;gt; || bgcolor=&amp;quot;yellow&amp;quot; | UART0_TXD || ALT5 = UART1_TXD&lt;br /&gt;
|-&lt;br /&gt;
| P1-10 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 15 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 15 || Boot to Alt 0 -&amp;gt; || bgcolor=&amp;quot;yellow&amp;quot; | UART0_RXD || ALT5 = UART1_RXD&lt;br /&gt;
|-&lt;br /&gt;
| P1-12 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 18 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 18 || || PCM_CLK || ALT4 = SPI1_CE0_N ALT5 = PWM0&lt;br /&gt;
|-&lt;br /&gt;
| P1-14 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| P1-16 || bgcolor=&amp;quot;lime&amp;quot; | GPIO23 || bgcolor=&amp;quot;lime&amp;quot; | GPIO23 || || || ALT3 = SD1_CMD ALT4 = ARM_RTCK&lt;br /&gt;
|-&lt;br /&gt;
| P1-18 || bgcolor=&amp;quot;lime&amp;quot; | GPIO24 || bgcolor=&amp;quot;lime&amp;quot; | GPIO24 || || || ALT3 = SD1_DAT0 ALT4 = ARM_TDO&lt;br /&gt;
|-&lt;br /&gt;
| P1-20 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| P1-22 || bgcolor=&amp;quot;lime&amp;quot; | GPIO25 || bgcolor=&amp;quot;lime&amp;quot; | GPIO25 || || || ALT3 = SD1_DAT1 ALT4 = ARM_TCK&lt;br /&gt;
|-&lt;br /&gt;
| P1-24 || bgcolor=&amp;quot;lime&amp;quot; | GPIO08 || bgcolor=&amp;quot;lime&amp;quot; | GPIO08 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_CE0_N&amp;lt;/span&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| P1-26 || bgcolor=&amp;quot;lime&amp;quot; | GPIO07 || bgcolor=&amp;quot;lime&amp;quot; | GPIO07 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_CE1_N&amp;lt;/span&amp;gt; || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Header Pinout, bottom row:'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
| '''Pin Number''' || '''Pin Name Rev1''' || '''Pin Name Rev2''' || '''Hardware Notes''' || '''Alt 0 Function''' || '''Other Alternative Functions'''&lt;br /&gt;
|-&lt;br /&gt;
| P1-01 || bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V ||bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V || 50&amp;amp;nbsp;mA max (01 &amp;amp; 17)&lt;br /&gt;
|-&lt;br /&gt;
| P1-03 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 0 || bgcolor=&amp;quot;lime&amp;quot; | '''GPIO 2'''|| 1K8 pull up resistor || bgcolor=&amp;quot;cyan&amp;quot; | I2C0_SDA / '''I2C1_SDA''' ||&lt;br /&gt;
|-&lt;br /&gt;
| P1-05 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 1 || bgcolor=&amp;quot;lime&amp;quot; | '''GPIO 3'''|| 1K8 pull up resistor || bgcolor=&amp;quot;cyan&amp;quot; | I2C0_SCL / '''I2C1_SCL''' ||&lt;br /&gt;
|-&lt;br /&gt;
| P1-07 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 4 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 4 || || GPCLK0 || ALT5 = ARM_TDI&lt;br /&gt;
|-&lt;br /&gt;
| P1-09 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| P1-11 || bgcolor=&amp;quot;lime&amp;quot; | GPIO17 || bgcolor=&amp;quot;lime&amp;quot; | GPIO17 || || ||| ALT3 = UART0_RTS ALT4 = SPI1_CE1_N ALT5 = UART1_RTS&lt;br /&gt;
|-&lt;br /&gt;
| P1-13 || bgcolor=&amp;quot;lime&amp;quot; | GPIO21 || bgcolor=&amp;quot;lime&amp;quot; | '''GPIO27''' || || PCM_DOUT / '''reserved''' || ALT4 = SPI1_SCLK ALT5 = GPCLK1 / '''ALT3 = SD1_DAT3 ALT4 = ARM_TMS'''&lt;br /&gt;
|-&lt;br /&gt;
| P1-15 || bgcolor=&amp;quot;lime&amp;quot; | GPIO22 || bgcolor=&amp;quot;lime&amp;quot; | GPIO22 || || || ALT3 = SD1_CLK ALT4 = ARM_TRST&lt;br /&gt;
|-&lt;br /&gt;
| P1-17 || bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V || bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V || 50&amp;amp;nbsp;mA max (01 &amp;amp; 17)&lt;br /&gt;
|-&lt;br /&gt;
| P1-19 || bgcolor=&amp;quot;lime&amp;quot; | GPIO10 || bgcolor=&amp;quot;lime&amp;quot; | GPIO10 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_MOSI&amp;lt;/span&amp;gt; || &lt;br /&gt;
|-&lt;br /&gt;
| P1-21 || bgcolor=&amp;quot;lime&amp;quot; | GPIO9 || bgcolor=&amp;quot;lime&amp;quot; | GPIO9 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_MISO&amp;lt;/span&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| P1-23 || bgcolor=&amp;quot;lime&amp;quot; | GPIO11 || bgcolor=&amp;quot;lime&amp;quot; | GPIO11 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_SCLK&amp;lt;/span&amp;gt; || &lt;br /&gt;
|-&lt;br /&gt;
| P1-25 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Colour legend&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;+5&amp;amp;nbsp;V&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | +3.3&amp;amp;nbsp;V&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;Ground, 0V&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;yellow&amp;quot; | UART&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | GPIO&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;cyan&amp;quot; | I²C&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
KiCad symbol: [[File:Conn-raspberry.lib]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/projects-and-collaboration-general/gpio-header-pinout-clarification/page-2&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pin 3 (SDA0) and Pin 5 (SCL0) are preset to be used as an I²C interface. So there are 1.8&amp;amp;nbsp;kilohm pulls up resistors on the board for these pins.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/features-and-requests/easy-gpio-hardware-software/page-6/#p56480&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pin 12 supports [http://en.wikipedia.org/wiki/Pulse-width_modulation PWM] .&lt;br /&gt;
&lt;br /&gt;
It is also possible to reconfigure GPIO connector pins P1-7, 15, 16, 18, 22 (chipset GPIOs 4 and 22 to 25) to provide an ARM JTAG interface.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&amp;amp;t=1288.1&amp;lt;/ref&amp;gt; However ARM_TMS isn't available on the GPIO connector (chipset pin 12 or 27 is needed).  Chipset pin 27 is available on S5, the CSI camera interface however.&lt;br /&gt;
&lt;br /&gt;
It is also possible to reconfigure GPIO connector pins P1-12 and 13 (chipset GPIO 18 and 21) to provide an I2S (a hardware modification may be required&amp;lt;ref name=&amp;quot;I2S&amp;quot;&amp;gt;[http://www.raspberrypi.org/forum/features-and-requests/sad-about-removal-of-i2s-why-was-this-change-made Forum:Sad about removal of I2S. Why was this change made?]&amp;lt;/ref&amp;gt;) or PCM interface.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&amp;amp;t=1288.2&amp;lt;/ref&amp;gt; However, PCM_FS and PCM_DIN (chipset pins 19 and 20) are needed for I2S or PCM.&lt;br /&gt;
&lt;br /&gt;
A second I²C interface (GPIO02_ALT0 is SDA1 and GPIO03_ALT0 is SCL1) and two further GPIOs (GPIO05_ALT0 is GPCLK1, and GPIO27) are available on S5, the CSI camera interface.&lt;br /&gt;
&lt;br /&gt;
===Referring to pins on the Expansion header===&lt;br /&gt;
&lt;br /&gt;
The header is referred to as &amp;quot;The GPIO Connector (P1)&amp;quot;.  To avoid nomenclature confusion between Broadcom signal names on the SoC and pin names on the expansion header, the following naming is highly recommended.&lt;br /&gt;
&lt;br /&gt;
* The expansion header is referred to as &amp;quot;Expansion Header&amp;quot; or &amp;quot;GPIO Connector (P1)&amp;quot;&lt;br /&gt;
* Pins on the GPIO connector (P1) are referred to as P1-01, etc.&lt;br /&gt;
* Names GPIO0, GPIO1, GPIOx-ALTy, etc. refer to the signal names on the SoC as enumerated in the Broadcom datasheet, where &amp;quot;x&amp;quot; matches BCM2835 number (without leading zero) and &amp;quot;y&amp;quot; is the alternate number column 0 to 5 on page 102-103 of the Broadcom document. For example, depending on what you are describing, use either &amp;quot;GPIO7&amp;quot; to refer to a row of the table, and &amp;quot;GPIO7-ALT0&amp;quot; would refer to a specific cell of the table.&lt;br /&gt;
* When refering to signal names, you should modify the Broadcom name slightly to minimize confusion. The Broadcom SPI bus pin names are fine, such as &amp;quot;SPI0_*&amp;quot; and &amp;quot;SPI1_*&amp;quot;, but they didn't do the same on the I²C and UART pins.  Instead of using &amp;quot;SDA0&amp;quot; and &amp;quot;SCL0&amp;quot;, you should use &amp;quot;I2C0_SDA&amp;quot; and &amp;quot;I2C0_SCL&amp;quot;; and instead of &amp;quot;TX&amp;quot; or &amp;quot;TXD&amp;quot; and &amp;quot;RX&amp;quot; or &amp;quot;RXD&amp;quot;, you should use &amp;quot;UART0_TXD&amp;quot; and &amp;quot;UART0_RXD&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Power pins===&lt;br /&gt;
The maximum permitted current draw from the 3.3&amp;amp;nbsp;V pins is 50&amp;amp;nbsp;mA.&lt;br /&gt;
&lt;br /&gt;
Maximum permitted current draw from the 5&amp;amp;nbsp;V pin is the USB input current (usually 1&amp;amp;nbsp;A) minus any current draw from the rest of the board.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&amp;amp;t=1536#postid-21841&amp;lt;/ref&amp;gt;&lt;br /&gt;
*Model A: 1000&amp;amp;nbsp;mA - 500&amp;amp;nbsp;mA -&amp;gt; max current draw: 500&amp;amp;nbsp;mA&lt;br /&gt;
*Model B: 1000&amp;amp;nbsp;mA - 700&amp;amp;nbsp;mA -&amp;gt; max current draw: 300&amp;amp;nbsp;mA&lt;br /&gt;
Be very careful with the 5&amp;amp;nbsp;V pins P1-02 and P1-04, because if you short 5&amp;amp;nbsp;V to any other P1 pin you may permanently damage your RasPi.  Before probing P1, it's a good idea to strip short pieces of insulation off a wire and push them over the 5&amp;amp;nbsp;V pins so you don't accidentally short them with a probe.&lt;br /&gt;
&lt;br /&gt;
=== GPIO hardware hacking ===&lt;br /&gt;
&lt;br /&gt;
The complete list of [[RPi_BCM2835_GPIOs|chipset GPIO pins]] which are available on the GPIO connector is: &amp;lt;blockquote&amp;gt;[[RPi_BCM2835_GPIOs#GPIO0|0]], [[RPi_BCM2835_GPIOs#GPIO1|1]], [[RPi_BCM2835_GPIOs#GPIO4|4]], [[RPi_BCM2835_GPIOs#GPIO7|7]], [[RPi_BCM2835_GPIOs#GPIO8|8]], [[RPi_BCM2835_GPIOs#GPIO9|9]], [[RPi_BCM2835_GPIOs#GPIO10|10]], [[RPi_BCM2835_GPIOs#GPIO11|11]], [[RPi_BCM2835_GPIOs#GPIO14|14]], [[RPi_BCM2835_GPIOs#GPIO15|15]], [[RPi_BCM2835_GPIOs#GPIO17|17]], [[RPi_BCM2835_GPIOs#GPIO18|18]], [[RPi_BCM2835_GPIOs#GPIO21|21]], [[RPi_BCM2835_GPIOs#GPIO22|22]], [[RPi_BCM2835_GPIOs#GPIO23|23]], [[RPi_BCM2835_GPIOs#GPIO24|24]], [[RPi_BCM2835_GPIOs#GPIO25|25]]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(on the Revision2.0 RaspberryPis, this list changes to: [[RPi_BCM2835_GPIOs#GPIO2|2]], [[RPi_BCM2835_GPIOs#GPIO3|3]], [[RPi_BCM2835_GPIOs#GPIO4|4]], [[RPi_BCM2835_GPIOs#GPIO7|7]], [[RPi_BCM2835_GPIOs#GPIO8|8]], [[RPi_BCM2835_GPIOs#GPIO9|9]], [[RPi_BCM2835_GPIOs#GPIO10|10]], [[RPi_BCM2835_GPIOs#GPIO11|11]], [[RPi_BCM2835_GPIOs#GPIO14|14]], [[RPi_BCM2835_GPIOs#GPIO15|15]], [[RPi_BCM2835_GPIOs#GPIO17|17]], [[RPi_BCM2835_GPIOs#GPIO18|18]], [[RPi_BCM2835_GPIOs#GPIO22|22]], [[RPi_BCM2835_GPIOs#GPIO23|23]], [[RPi_BCM2835_GPIOs#GPIO24|24]], [[RPi_BCM2835_GPIOs#GPIO25|25]], [[RPi_BCM2835_GPIOs#GPIO27|27]], with [[RPi_BCM2835_GPIOs#GPIO28|28]], [[RPi_BCM2835_GPIOs#GPIO29|29]], [[RPi_BCM2835_GPIOs#GPIO30|30]], [[RPi_BCM2835_GPIOs#GPIO31|31]] additionally available on the [[#P5_header|P5 header]])&lt;br /&gt;
&lt;br /&gt;
As noted above, P1-03 and P1-05 (SDA0 and SCL0 / SDA1 and SCL1) have 1.8&amp;amp;nbsp;kilohm pull-up resistors to 3.3&amp;amp;nbsp;V.&lt;br /&gt;
&lt;br /&gt;
If 17 GPIOs aren't sufficient for your project, there are a few other signals potentially available, with varying levels of software and hardware (soldering iron) hackery skills:&lt;br /&gt;
&lt;br /&gt;
GPIO02, 03, 05 and 27 are available on S5 (the CSI interface) when a camera peripheral is not connected to that socket, and are configured by default to provide the functions SDA1, SCL1, CAM_CLK and CAM_GPIO respectively.  SDA1 and SCL1 have 1K6 pull-up resistors to 3.3&amp;amp;nbsp;V.&lt;br /&gt;
&lt;br /&gt;
GPIO06 is LAN_RUN and is available on pad 12 of the footprint for IC3 on the Model A. On Model B, it is in use for the Ethernet function.&lt;br /&gt;
&lt;br /&gt;
There are a few other chipset GPIO pins accessible on the PCB but are in use:&lt;br /&gt;
&lt;br /&gt;
* GPIO16 drives status LED D5 (usually SD card access indicator)&lt;br /&gt;
* GPIO28-31 are used by the board ID and are connected to resistors R3 to R10 (only on Rev1.0 boards).&lt;br /&gt;
* GPIO40 and 45 are used by analogue audio and support [http://en.wikipedia.org/wiki/Pulse-width_modulation PWM]. They connect to the analogue audio circuitry via R21 and R27 respectively.&lt;br /&gt;
* GPIO46 is HDMI hotplug detect (goes to pin 6 of IC1).&lt;br /&gt;
* GPIO47 to 53 are used by the SD card interface.  In particular, GPIO47 is SD card detect (this would seem to be a good candidate for re-use).  GPIO47 is connected to the SD card interface card detect switch; GPIO48 to 53 are connected to the SD card interface via resistors R45 to R50.&lt;br /&gt;
&lt;br /&gt;
=== P2 header ===&lt;br /&gt;
&lt;br /&gt;
The P2 header is the VideoCore JTAG and used only during the production of the board. It cannot be used as the ARM JTAG &amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?f=24&amp;amp;t=5894&amp;lt;/ref&amp;gt;. This connector is unpopulated in Rev 2.0 boards. &lt;br /&gt;
&lt;br /&gt;
[[File:RPi_P2_header.png]]&lt;br /&gt;
&lt;br /&gt;
Useful P2 pins:&lt;br /&gt;
&lt;br /&gt;
* Pin 1 - 3.3V (same as P1-01, 50 mA max current draw across both of them)&lt;br /&gt;
* Pin 7 - GND&lt;br /&gt;
* Pin 8 - GND&lt;br /&gt;
&lt;br /&gt;
=== P3 header ===&lt;br /&gt;
&lt;br /&gt;
The P3 header, unpopulated, is the LAN9512 JTAG &amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?f=24&amp;amp;t=5894&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[File:RPi_P3_header.png]]&lt;br /&gt;
&lt;br /&gt;
Useful P3 pins:&lt;br /&gt;
&lt;br /&gt;
* Pin 7 - GND&lt;br /&gt;
&lt;br /&gt;
=== P5 header ===&lt;br /&gt;
&lt;br /&gt;
The P5 header was added with the release of the Revision 2.0 PCB design.&lt;br /&gt;
&lt;br /&gt;
[[File:RPi_P5_header.png]]&lt;br /&gt;
&lt;br /&gt;
'''P5 Pinout, seen from the bottom of the board:'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
| '''Pin Number''' || '''Pin Name Rev2''' || '''Hardware Notes''' || '''Alt 0 Function''' || '''Other Alternative Functions'''&lt;br /&gt;
|-&lt;br /&gt;
| P5-01 || bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; || Supply through input poly fuse&lt;br /&gt;
|-&lt;br /&gt;
| P5-02 || bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V || 50&amp;amp;nbsp;mA max (combined with P1)&lt;br /&gt;
|-&lt;br /&gt;
| P5-03 || bgcolor=&amp;quot;lime&amp;quot; | GPIO28 || || bgcolor=&amp;quot;cyan&amp;quot; | I2C0_SDA || ALT2 = PCM_CLK&lt;br /&gt;
|-&lt;br /&gt;
| P5-04 || bgcolor=&amp;quot;lime&amp;quot; | GPIO29 || || bgcolor=&amp;quot;cyan&amp;quot; | I2C0_SCL || ALT2 = PCM_FS&lt;br /&gt;
|-&lt;br /&gt;
| P5-05 || bgcolor=&amp;quot;lime&amp;quot; | GPIO30 || || || ALT2 = PCM_DIN ALT3 = UART0_CTS ALT5 = UART1_CTS&lt;br /&gt;
|-&lt;br /&gt;
| P5-06 || bgcolor=&amp;quot;lime&amp;quot; | GPIO31 || || || ALT2 = PCM_DOUT ALT3 = UART0_RTS ALT5 = UART1_RTS&lt;br /&gt;
|-&lt;br /&gt;
| P5-07 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P5-08 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that the connector is intended to be mounted on the '''bottom''' of the PCB, so that for those who put the connector on the top side, the pin numbers are swapped. Pin 1 and pin 2 are swapped, pin 3 and 4, etc. &lt;br /&gt;
&lt;br /&gt;
The new header can provide a second I2C channel (SDA + SCL) and handshake lines for the existing UART (TxD and RxD), or it can be used for an I2S (audio codec chip) interface using the PCM signals CLK, FS (Frame Sync), Din and Dout.&lt;br /&gt;
&lt;br /&gt;
Note that the connector is placed JUST off-grid with respect to the P1 connector.&lt;br /&gt;
&lt;br /&gt;
=== P6 header ===&lt;br /&gt;
&lt;br /&gt;
The P6 header was added with the release of the Revision 2.0 PCB design.&lt;br /&gt;
&lt;br /&gt;
[[File:RPi_P6_header.png]]&lt;br /&gt;
&lt;br /&gt;
'''P6 Pinout:'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
| '''Pin Number''' || '''Pin Name Rev2''' || '''Hardware Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| P6-01 || RUN || Short to ground to reset the BCM2835&lt;br /&gt;
|-&lt;br /&gt;
| P6-02 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[http://raspi.tv/2012/making-a-reset-switch-for-your-rev-2-raspberry-pi A reset button can be attached to the P6 header], with which the Pi can be reset.&lt;br /&gt;
Momentarily shorting the two pins of P6 together will cause a soft reset of the CPU.&lt;br /&gt;
&lt;br /&gt;
===Driver support===&lt;br /&gt;
&lt;br /&gt;
The Foundation will not include a GPIO driver in the initial release, standard Linux GPIO drivers should work with minimal modification.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&amp;amp;t=1278.0&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The community implemented SPI and I²C drivers &amp;lt;ref&amp;gt;http://www.bootc.net/projects/raspberry-pi-kernel/&amp;lt;/ref&amp;gt;, which will be integrated with the new Linux pinctrl concept in a later version of the kernel. (On Oct. 14 2012, it was already included in the latest raspbian image.) A first compiled version as Linux modules is available to install on the 19/04/2012 Debian image, including 1-wire support&amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?p=86172#p86172&amp;lt;/ref&amp;gt;. The I²C and SPI driver uses the hardware modules of the microcontroller and interrupts for low CPU usage, the 1-wire support uses bitbanging on the GPIO ports, which results in higher CPU usage.&lt;br /&gt;
&lt;br /&gt;
GordonH&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/general-discussion/wiring-for-the-raspberry-pis-gpio&amp;lt;/ref&amp;gt; wrote a (mostly) Arduino compatible/style [https://projects.drogon.net/raspberry-pi/wiringpi/ WiringPi library] in C for controlling the GPIO pins.&lt;br /&gt;
&lt;br /&gt;
A useful tutorial on setting up I²C driver support can be found at [http://www.robot-electronics.co.uk/htm/raspberry_pi_examples.htm Robot Electronics] - look for the downloadable document rpi_i2c_setup.doc&lt;br /&gt;
&lt;br /&gt;
===Graphical User Interfaces===&lt;br /&gt;
====WebIOPi====&lt;br /&gt;
[http://code.google.com/p/webiopi/ WebIOPi] allows you to control each GPIO with a simple web interface that you can use with any browser. Available in PHP and Python, they both require root access, but Python version serves HTTP itself. You can setup each GPIO as input or output and change their states (LOW/HIGH). WebIOPi is fully customizable, so you can use it for home remote control. It also work over Internet. UART/SPI/I2C support will be added later. If you need some computing for your GPIO go to code examples below.&lt;br /&gt;
&lt;br /&gt;
==GPIO Code examples==&lt;br /&gt;
=== C ===&lt;br /&gt;
Examples in different C-Languages.&lt;br /&gt;
==== C ====&lt;br /&gt;
[http://www.raspberrypi.org/forum/educational-applications/gertboard/page-4/#p31555 Gert van Loo &amp;amp; Dom, has provided] some tested code which accesses the GPIO pins through direct GPIO register manipulation in C-code.&lt;br /&gt;
(Thanks to Dom for doing the difficult work of finding and testing the mapping.)&lt;br /&gt;
Example GPIO code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
//  How to access GPIO registers from C-code on the Raspberry-Pi&lt;br /&gt;
//  Example program&lt;br /&gt;
//  15-January-2012&lt;br /&gt;
//  Dom and Gert&lt;br /&gt;
//  Revised: 15-Feb-2013&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Access from ARM Running Linux&lt;br /&gt;
&lt;br /&gt;
#define BCM2708_PERI_BASE        0x20000000&lt;br /&gt;
#define GPIO_BASE                (BCM2708_PERI_BASE + 0x200000) /* GPIO controller */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;sys/mman.h&amp;gt;&lt;br /&gt;
#include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define PAGE_SIZE (4*1024)&lt;br /&gt;
#define BLOCK_SIZE (4*1024)&lt;br /&gt;
&lt;br /&gt;
int  mem_fd;&lt;br /&gt;
void *gpio_map;&lt;br /&gt;
&lt;br /&gt;
// I/O access&lt;br /&gt;
volatile unsigned *gpio;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// GPIO setup macros. Always use INP_GPIO(x) before using OUT_GPIO(x) or SET_GPIO_ALT(x,y)&lt;br /&gt;
#define INP_GPIO(g) *(gpio+((g)/10)) &amp;amp;= ~(7&amp;lt;&amp;lt;(((g)%10)*3))&lt;br /&gt;
#define OUT_GPIO(g) *(gpio+((g)/10)) |=  (1&amp;lt;&amp;lt;(((g)%10)*3))&lt;br /&gt;
#define SET_GPIO_ALT(g,a) *(gpio+(((g)/10))) |= (((a)&amp;lt;=3?(a)+4:(a)==4?3:2)&amp;lt;&amp;lt;(((g)%10)*3))&lt;br /&gt;
&lt;br /&gt;
#define GPIO_SET *(gpio+7)  // sets   bits which are 1 ignores bits which are 0&lt;br /&gt;
#define GPIO_CLR *(gpio+10) // clears bits which are 1 ignores bits which are 0&lt;br /&gt;
&lt;br /&gt;
void setup_io();&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char **argv)&lt;br /&gt;
{&lt;br /&gt;
  int g,rep;&lt;br /&gt;
&lt;br /&gt;
  // Set up gpi pointer for direct register access&lt;br /&gt;
  setup_io();&lt;br /&gt;
&lt;br /&gt;
  // Switch GPIO 7..11 to output mode&lt;br /&gt;
&lt;br /&gt;
 /************************************************************************\&lt;br /&gt;
  * You are about to change the GPIO settings of your computer.          *&lt;br /&gt;
  * Mess this up and it will stop working!                               *&lt;br /&gt;
  * It might be a good idea to 'sync' before running this program        *&lt;br /&gt;
  * so at least you still have your code changes written to the SD-card! *&lt;br /&gt;
 \************************************************************************/&lt;br /&gt;
&lt;br /&gt;
  // Set GPIO pins 7-11 to output&lt;br /&gt;
  for (g=7; g&amp;lt;=11; g++)&lt;br /&gt;
  {&lt;br /&gt;
    INP_GPIO(g); // must use INP_GPIO before we can use OUT_GPIO&lt;br /&gt;
    OUT_GPIO(g);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (rep=0; rep&amp;lt;10; rep++)&lt;br /&gt;
  {&lt;br /&gt;
     for (g=7; g&amp;lt;=11; g++)&lt;br /&gt;
     {&lt;br /&gt;
       GPIO_SET = 1&amp;lt;&amp;lt;g;&lt;br /&gt;
       sleep(1);&lt;br /&gt;
     }&lt;br /&gt;
     for (g=7; g&amp;lt;=11; g++)&lt;br /&gt;
     {&lt;br /&gt;
       GPIO_CLR = 1&amp;lt;&amp;lt;g;&lt;br /&gt;
       sleep(1);&lt;br /&gt;
     }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  return 0;&lt;br /&gt;
&lt;br /&gt;
} // main&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
// Set up a memory regions to access GPIO&lt;br /&gt;
//&lt;br /&gt;
void setup_io()&lt;br /&gt;
{&lt;br /&gt;
   /* open /dev/mem */&lt;br /&gt;
   if ((mem_fd = open(&amp;quot;/dev/mem&amp;quot;, O_RDWR|O_SYNC) ) &amp;lt; 0) {&lt;br /&gt;
      printf(&amp;quot;can't open /dev/mem \n&amp;quot;);&lt;br /&gt;
      exit(-1);&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   /* mmap GPIO */&lt;br /&gt;
   gpio_map = mmap(&lt;br /&gt;
      NULL,             //Any adddress in our space will do&lt;br /&gt;
      BLOCK_SIZE,       //Map length&lt;br /&gt;
      PROT_READ|PROT_WRITE,// Enable reading &amp;amp; writting to mapped memory&lt;br /&gt;
      MAP_SHARED,       //Shared with other processes&lt;br /&gt;
      mem_fd,           //File to map&lt;br /&gt;
      GPIO_BASE         //Offset to GPIO peripheral&lt;br /&gt;
   );&lt;br /&gt;
&lt;br /&gt;
   close(mem_fd); //No need to keep mem_fd open after mmap&lt;br /&gt;
&lt;br /&gt;
   if (gpio_map == MAP_FAILED) {&lt;br /&gt;
      printf(&amp;quot;mmap error %d\n&amp;quot;, (int)gpio_map);//errno also set!&lt;br /&gt;
      exit(-1);&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   // Always use volatile pointer!&lt;br /&gt;
   gpio = (volatile unsigned *)gpio_map;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
} // setup_io&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== GPIO Pull Up/Pull Down Register Example =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   // enable pull-up on GPIO24&amp;amp;25&lt;br /&gt;
   GPIO_PULL = 2;&lt;br /&gt;
   short_wait();&lt;br /&gt;
   // clock on GPIO 24 &amp;amp; 25 (bit 24 &amp;amp; 25 set)&lt;br /&gt;
   GPIO_PULLCLK0 = 0x03000000;&lt;br /&gt;
   short_wait();&lt;br /&gt;
   GPIO_PULL = 0;&lt;br /&gt;
   GPIO_PULLCLK0 = 0;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== C + wiringPi ====&lt;br /&gt;
Get and install wiringPi: https://projects.drogon.net/raspberry-pi/wiringpi/download-and-install/&lt;br /&gt;
&lt;br /&gt;
Save this, and compile with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gcc -o blink blink.c -lwiringPi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and run with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  sudo ./blink&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 * blink.c:&lt;br /&gt;
 *      blinks the first LED&lt;br /&gt;
 *      Gordon Henderson, projects@drogon.net&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;wiringPi.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main (void)&lt;br /&gt;
{&lt;br /&gt;
  printf (&amp;quot;Raspberry Pi blink\n&amp;quot;) ;&lt;br /&gt;
&lt;br /&gt;
  if (wiringPiSetup () == -1)&lt;br /&gt;
    return 1 ;&lt;br /&gt;
&lt;br /&gt;
  pinMode (0, OUTPUT) ;         // aka BCM_GPIO pin 17&lt;br /&gt;
&lt;br /&gt;
  for (;;)&lt;br /&gt;
  {&lt;br /&gt;
    digitalWrite (0, 1) ;       // On&lt;br /&gt;
    delay (500) ;               // mS&lt;br /&gt;
    digitalWrite (0, 0) ;       // Off&lt;br /&gt;
    delay (500) ;&lt;br /&gt;
  }&lt;br /&gt;
  return 0 ;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== C ====&lt;br /&gt;
This must be done as root. To change to the root user:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
You must also get and install the bcm2835 library, which supports&lt;br /&gt;
GPIO and SPI interfaces. Details and downloads &lt;br /&gt;
from  http://www.open.com.au/mikem/bcm2835&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// blink.c&lt;br /&gt;
//&lt;br /&gt;
// Example program for bcm2835 library&lt;br /&gt;
// Blinks a pin on an off every 0.5 secs&lt;br /&gt;
//&lt;br /&gt;
// After installing bcm2835, you can build this &lt;br /&gt;
// with something like:&lt;br /&gt;
// gcc -o blink -l rt blink.c -l bcm2835&lt;br /&gt;
// sudo ./blink&lt;br /&gt;
//&lt;br /&gt;
// Or you can test it before installing with:&lt;br /&gt;
// gcc -o blink -l rt -I ../../src ../../src/bcm2835.c blink.c&lt;br /&gt;
// sudo ./blink&lt;br /&gt;
//&lt;br /&gt;
// Author: Mike McCauley (mikem@open.com.au)&lt;br /&gt;
// Copyright (C) 2011 Mike McCauley&lt;br /&gt;
// $Id: RF22.h,v 1.21 2012/05/30 01:51:25 mikem Exp $&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;bcm2835.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Blinks on RPi pin GPIO 11&lt;br /&gt;
#define PIN RPI_GPIO_P1_11&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char **argv)&lt;br /&gt;
{&lt;br /&gt;
    // If you call this, it will not actually access the GPIO&lt;br /&gt;
    // Use for testing&lt;br /&gt;
//    bcm2835_set_debug(1);&lt;br /&gt;
&lt;br /&gt;
    if (!bcm2835_init())&lt;br /&gt;
	return 1;&lt;br /&gt;
&lt;br /&gt;
    // Set the pin to be an output&lt;br /&gt;
    bcm2835_gpio_fsel(PIN, BCM2835_GPIO_FSEL_OUTP);&lt;br /&gt;
&lt;br /&gt;
    // Blink&lt;br /&gt;
    while (1)&lt;br /&gt;
    {&lt;br /&gt;
	// Turn it on&lt;br /&gt;
	bcm2835_gpio_write(PIN, HIGH);&lt;br /&gt;
	&lt;br /&gt;
	// wait a bit&lt;br /&gt;
	delay(500);&lt;br /&gt;
	&lt;br /&gt;
	// turn it off&lt;br /&gt;
	bcm2835_gpio_write(PIN, LOW);&lt;br /&gt;
	&lt;br /&gt;
	// wait a bit&lt;br /&gt;
	delay(500);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== C# ====&lt;br /&gt;
RaspberryPiDotNet library is available at https://github.com/cypherkey/RaspberryPi.Net/.&lt;br /&gt;
The library includes a GPIOFile and GPIOMem class. The GPIOMem requires compiling Mike McCauley's bcm2835 library above in to a shared object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Linq;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using RaspberryPiDotNet;&lt;br /&gt;
using System.Threading;&lt;br /&gt;
&lt;br /&gt;
namespace RaspPi&lt;br /&gt;
{&lt;br /&gt;
    class Program&lt;br /&gt;
    {&lt;br /&gt;
        static void Main(string[] args)&lt;br /&gt;
        {&lt;br /&gt;
            // Access the GPIO pin using a static method&lt;br /&gt;
            GPIOFile.Write(GPIO.GPIOPins.GPIO00, true);&lt;br /&gt;
&lt;br /&gt;
            // Create a new GPIO object&lt;br /&gt;
            GPIOMem gpio = new GPIOMem(GPIO.GPIOPins.GPIO01);&lt;br /&gt;
            gpio.Write(false);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ruby ===&lt;br /&gt;
&lt;br /&gt;
This example uses the WiringPi Ruby Gem: http://pi.gadgetoid.co.uk/post/015-wiringpi-now-with-serial which you can install on your Pi with &amp;quot;gem install wiringpi&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MY_PIN = 1&lt;br /&gt;
&lt;br /&gt;
require 'wiringpi'&lt;br /&gt;
io = WiringPi::GPIO.new&lt;br /&gt;
io.mode(MY_PIN,OUTPUT)&lt;br /&gt;
io.write(MY_PIN,HIGH)&lt;br /&gt;
io.read(MY_PIN)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternatively the Pi Piper Gem (https://github.com/jwhitehorn/pi_piper) allows for event driven programming:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
require 'pi_piper'&lt;br /&gt;
include PiPiper&lt;br /&gt;
&lt;br /&gt;
watch :pin =&amp;gt; 23 do&lt;br /&gt;
  puts &amp;quot;Pin changed from #{last_value} to #{value}&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
PiPiper.wait&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Perl ===&lt;br /&gt;
This must be done as root. To change to the root user:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo su -&amp;lt;/pre&amp;gt;&lt;br /&gt;
Supports GPIO and SPI interfaces.&lt;br /&gt;
You must also get and install the bcm2835 library. Details and downloads &lt;br /&gt;
from  http://www.open.com.au/mikem/bcm2835&lt;br /&gt;
You must then get and install the Device::BCM2835 perl library from CPAN &lt;br /&gt;
http://search.cpan.org/~mikem/Device-BCM2835-1.0/lib/Device/BCM2835.pm&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
use Device::BCM2835;&lt;br /&gt;
use strict;&lt;br /&gt;
&lt;br /&gt;
# call set_debug(1) to do a non-destructive test on non-RPi hardware&lt;br /&gt;
#Device::BCM2835::set_debug(1);&lt;br /&gt;
Device::BCM2835::init() &lt;br /&gt;
 || die &amp;quot;Could not init library&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
# Blink pin 11:&lt;br /&gt;
# Set RPi pin 11 to be an output&lt;br /&gt;
Device::BCM2835::gpio_fsel(&amp;amp;Device::BCM2835::RPI_GPIO_P1_11, &lt;br /&gt;
                            &amp;amp;Device::BCM2835::BCM2835_GPIO_FSEL_OUTP);&lt;br /&gt;
&lt;br /&gt;
while (1)&lt;br /&gt;
{&lt;br /&gt;
    # Turn it on&lt;br /&gt;
    Device::BCM2835::gpio_write(&amp;amp;Device::BCM2835::RPI_GPIO_P1_11, 1);&lt;br /&gt;
    Device::BCM2835::delay(500); # Milliseconds&lt;br /&gt;
    # Turn it off&lt;br /&gt;
    Device::BCM2835::gpio_write(&amp;amp;Device::BCM2835::RPI_GPIO_P1_11, 0);&lt;br /&gt;
    Device::BCM2835::delay(500); # Milliseconds&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
This uses the Python module available at http://pypi.python.org/pypi/RPi.GPIO&lt;br /&gt;
Any Python script that controls GPIO must be run as root.&lt;br /&gt;
&amp;lt;pre&amp;gt;import RPi.GPIO as GPIO&lt;br /&gt;
&lt;br /&gt;
# Set up the GPIO channels - one input and one output&lt;br /&gt;
GPIO.setup(11, GPIO.IN)&lt;br /&gt;
GPIO.setup(12, GPIO.OUT)&lt;br /&gt;
&lt;br /&gt;
# Input from pin 11&lt;br /&gt;
input_value = GPIO.input(11)&lt;br /&gt;
&lt;br /&gt;
# Output to pin 12&lt;br /&gt;
GPIO.output(12, True)&lt;br /&gt;
&lt;br /&gt;
# The same script as above but using BCM GPIO 00..nn numbers&lt;br /&gt;
GPIO.setmode(GPIO.BCM)&lt;br /&gt;
GPIO.setup(17, GPIO.IN)&lt;br /&gt;
GPIO.setup(18, GPIO.OUT)&lt;br /&gt;
input_value = GPIO.input(17)&lt;br /&gt;
GPIO.output(18, True)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
==== Java using the Pi4J Library ====&lt;br /&gt;
This uses the Java library available at http://www.pi4j.com/. &lt;br /&gt;
(Any Java application that controls GPIO must be run as root.)&lt;br /&gt;
&lt;br /&gt;
Please note that the Pi4J library uses the WiringPi GPIO pin numbering scheme &amp;lt;ref&amp;gt;http://pi4j.com/usage.html#Pin_Numbering&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://projects.drogon.net/raspberry-pi/wiringpi/pins/&amp;lt;/ref&amp;gt;.  Please see the usage documentation for more details: http://pi4j.com/usage.html  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
public static void main(String[] args) {&lt;br /&gt;
&lt;br /&gt;
    // create gpio controller&lt;br /&gt;
    GpioController gpio = GpioFactory.getInstance();&lt;br /&gt;
        &lt;br /&gt;
    // provision gpio pin #01 as an output pin and turn off&lt;br /&gt;
    GpioPinDigitalOutput outputPin = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_01, &amp;quot;MyLED&amp;quot;, PinState.LOW);&lt;br /&gt;
    &lt;br /&gt;
    // turn output to LOW/OFF state&lt;br /&gt;
    outputPin.low();&lt;br /&gt;
&lt;br /&gt;
    // turn output to HIGH/ON state&lt;br /&gt;
    outputPin.high();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    // provision gpio pin #02 as an input pin with its internal pull down resistor enabled&lt;br /&gt;
    GpioPinDigitalInput inputPin = gpio.provisionDigitalInputPin(RaspiPin.GPIO_02, &amp;quot;MyButton&amp;quot;, PinPullResistance.PULL_DOWN);&lt;br /&gt;
&lt;br /&gt;
    // get input state from pin 2&lt;br /&gt;
    boolean input_value = inputPin.isHigh();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More complete and detailed examples are included on the Pi4J website at http://www.pi4j.com/. &lt;br /&gt;
&lt;br /&gt;
The Pi4J library includes support for:&lt;br /&gt;
* GPIO Control&lt;br /&gt;
* GPIO Listeners&lt;br /&gt;
* Serial Communication&lt;br /&gt;
* I2C Communication&lt;br /&gt;
* SPI Communication&lt;br /&gt;
&lt;br /&gt;
==== Java ====&lt;br /&gt;
This uses the Java library available at https://github.com/jkransen/framboos. It does not depend on (or use) the wiringPi driver, but uses the same numbering scheme. Instead it uses the default driver under /sys/class/gpio that ships with the distro, so it works out of the box. Any Java application that controls GPIO must be run as root.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
public static void main(String[] args) {&lt;br /&gt;
  // reading from an in pin&lt;br /&gt;
  InPin button = new InPin(8);&lt;br /&gt;
  boolean isButtonPressed = button.getValue();&lt;br /&gt;
  button.close();&lt;br /&gt;
&lt;br /&gt;
  // writing to an out pin&lt;br /&gt;
  OutPin led = new Outpin(0);&lt;br /&gt;
  led.setValue(true);&lt;br /&gt;
  led.setValue(false);&lt;br /&gt;
  led.close();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Java Webapp GPIO web control via http ====&lt;br /&gt;
This uses the Java Webapp available at https://bitbucket.org/sbub/raspberry-pi-gpio-web-control/overview. You can control your GPIO over the internet. Any Java application that controls GPIO must be run as root.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
host:~ sb$ curl 'http://raspberrypi:8080/handle?g0=1&amp;amp;g1=0'&lt;br /&gt;
{&amp;quot;g1&amp;quot;:0,&amp;quot;g0&amp;quot;:1}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bash shell script, using sysfs, part of the raspbian operating system ===&lt;br /&gt;
The export and unexport of pins must be done as root. &lt;br /&gt;
To change to the root user see below:  To change back, the word exit must be entered.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
Export creates a new folder for the exported pin, and creates files for each of its control functions (i.e. active_low, direction, edge, power, subsystem, uevent, and value). Upon creation, the control files can be read by all users (not just root), but can only be written to by user root, the file's owner. Nevertheless, once created, it is possible to allow users other than root, to also write inputs to the control files, by changing the ownership or permissions of these files. Changes to the file's ownership or permissions must initially be done as root, as their owner and group is set to root upon creation. Typically you might change the owner to be the (non root) user controlling the GPIO, or you might add write permission, and change the group ownership to one of which the user controlling the GPIO is a member. By such means, using only packages provided in the recommended rasbian distribution, it is possible for Python CGI scripts, which are typically run as user nobody, to be used for control of the GPIO over the internet from a browser at a remote location.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
# GPIO numbers should be from this list&lt;br /&gt;
# 0, 1, 4, 7, 8, 9, 10, 11, 14, 15, 17, 18, 21, 22, 23, 24, 25&lt;br /&gt;
&lt;br /&gt;
# Note that the GPIO numbers that you program here refer to the pins&lt;br /&gt;
# of the BCM2835 and *not* the numbers on the pin header. &lt;br /&gt;
# So, if you want to activate GPIO7 on the header you should be &lt;br /&gt;
# using GPIO4 in this script. Likewise if you want to activate GPIO0&lt;br /&gt;
# on the header you should be using GPIO17 here.&lt;br /&gt;
&lt;br /&gt;
# Set up GPIO 4 and set to output&lt;br /&gt;
echo &amp;quot;4&amp;quot; &amp;gt; /sys/class/gpio/export&lt;br /&gt;
echo &amp;quot;out&amp;quot; &amp;gt; /sys/class/gpio/gpio4/direction&lt;br /&gt;
&lt;br /&gt;
# Set up GPIO 7 and set to input&lt;br /&gt;
echo &amp;quot;7&amp;quot; &amp;gt; /sys/class/gpio/export&lt;br /&gt;
echo &amp;quot;in&amp;quot; &amp;gt; /sys/class/gpio/gpio7/direction&lt;br /&gt;
&lt;br /&gt;
# Write output&lt;br /&gt;
echo &amp;quot;1&amp;quot; &amp;gt; /sys/class/gpio/gpio4/value&lt;br /&gt;
&lt;br /&gt;
# Read from input&lt;br /&gt;
cat /sys/class/gpio/gpio7/value &lt;br /&gt;
&lt;br /&gt;
# Clean up&lt;br /&gt;
echo &amp;quot;4&amp;quot; &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
echo &amp;quot;7&amp;quot; &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Shell script - take 2 ===&lt;br /&gt;
You need the wiringPi library from&lt;br /&gt;
https://projects.drogon.net/raspberry-pi/wiringpi/download-and-install/. Once installed, there is a new command '''gpio''' which can be used&lt;br /&gt;
as a '''non-root''' user to control the GPIO pins.&lt;br /&gt;
&lt;br /&gt;
The man page &amp;lt;pre&amp;gt;man gpio&amp;lt;/pre&amp;gt; has full details, but briefly:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gpio -g mode 17 out&lt;br /&gt;
  gpio -g mode 18 pwm&lt;br /&gt;
&lt;br /&gt;
  gpio -g write 17 1&lt;br /&gt;
  gpio -g pwm 18 512&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The '''-g''' flag tells the '''gpio''' program to use the BCM GPIO pin numbering&lt;br /&gt;
scheme (otherwise it will use the wiringPi numbering scheme by default).&lt;br /&gt;
&lt;br /&gt;
The gpio command can also control the internal pull-up and pull-down&lt;br /&gt;
resistors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gpio -g mode 17 up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This sets the pull-up resistor - however any change of mode, even&lt;br /&gt;
setting a pin that's already set as an input to an input will remove&lt;br /&gt;
the pull-up/pull-down resistors, so they may need to be reset.&lt;br /&gt;
&lt;br /&gt;
Additionally, it can export/un-export the GPIO devices for use by&lt;br /&gt;
other non-root programms - e.g. Python scripts. (Although you&lt;br /&gt;
may need to drop the calls to GPIO.Setup() in the Python scripts, and&lt;br /&gt;
do the setup separately in a little shell script, or call the '''gpio''' program&lt;br /&gt;
from inside Python).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gpio export 17 out&lt;br /&gt;
  gpio export 18 in&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
These exports GPIO-17 and sets it to output, and exports GPIO-18&lt;br /&gt;
and sets it to input. &lt;br /&gt;
&lt;br /&gt;
And when done:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gpio unexport 17&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
The export/unexport commands always use the BCM GPIO pin numbers regardless of the&lt;br /&gt;
presence of the '''-g''' flag or not.&lt;br /&gt;
&lt;br /&gt;
If you want to use the internal pull-up/down's with the /sys/class/gpio mechanisms,&lt;br /&gt;
then you can set them after exporting them. So:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gpio -g export 4 in&lt;br /&gt;
  gpio -g mode 4 up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can then use GPIO-4 as an input in your Python, Shell, Java, etc. programs without the use&lt;br /&gt;
of an external resistor to pull the pin high. (If that's what you were after - for example, a simple push&lt;br /&gt;
button switch taking the pin to ground.)&lt;br /&gt;
&lt;br /&gt;
A fully working example of a shell script using the GPIO pins&lt;br /&gt;
can be found at http://project-downloads.drogon.net/files/gpioExamples/tuxx.sh.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lazarus / Free Pascal ===&lt;br /&gt;
[[File:RPI GPIO testprogram with lazarus.png|thumb|254px|right|A simple app for controlling GPIO pin 17 with Lazarus]]&lt;br /&gt;
&lt;br /&gt;
The GPIO pins are accessible from [[Lazarus on RPi|Lazarus]] without any third-party software. This is performed by means of  the [http://www.freepascal.org/docs-html/rtl/baseunix/index.html BaseUnix] unit that is part of every distribution of Lazarus and Free Pascal or by invoking Unix shell commands with '''fpsystem'''. The following example uses GPIO pin 17 as output port. It is assumed that you created a form with a TToggleBox named GPIO17ToggleBox and for logging purposes a TMemo with name LogMemo (optional). The program has to be executed with root privileges.&lt;br /&gt;
&lt;br /&gt;
''Unit for controlling the GPIO port:''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
unit Unit1;&lt;br /&gt;
&lt;br /&gt;
{Demo application for GPIO on Raspberry Pi}&lt;br /&gt;
{Inspired by the Python input/output demo application by Gareth Halfacree}&lt;br /&gt;
{written for the Raspberry Pi User Guide, ISBN 978-1-118-46446-5}&lt;br /&gt;
&lt;br /&gt;
{$mode objfpc}{$H+}&lt;br /&gt;
&lt;br /&gt;
interface&lt;br /&gt;
&lt;br /&gt;
uses&lt;br /&gt;
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,&lt;br /&gt;
  Unix, BaseUnix;&lt;br /&gt;
&lt;br /&gt;
type&lt;br /&gt;
&lt;br /&gt;
  { TForm1 }&lt;br /&gt;
&lt;br /&gt;
  TForm1 = class(TForm)&lt;br /&gt;
    LogMemo: TMemo;&lt;br /&gt;
    GPIO17ToggleBox: TToggleBox;&lt;br /&gt;
    procedure FormActivate(Sender: TObject);&lt;br /&gt;
    procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);&lt;br /&gt;
    procedure GPIO17ToggleBoxChange(Sender: TObject);&lt;br /&gt;
  private&lt;br /&gt;
    { private declarations }&lt;br /&gt;
  public&lt;br /&gt;
    { public declarations }&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
const&lt;br /&gt;
  PIN_17: PChar = '17';&lt;br /&gt;
  PIN_ON: PChar = '1';&lt;br /&gt;
  PIN_OFF: PChar = '0';&lt;br /&gt;
  OUT_DIRECTION: PChar = 'out';&lt;br /&gt;
&lt;br /&gt;
var&lt;br /&gt;
  Form1: TForm1;&lt;br /&gt;
  gReturnCode: longint; {stores the result of the IO operation}&lt;br /&gt;
&lt;br /&gt;
implementation&lt;br /&gt;
&lt;br /&gt;
{$R *.lfm}&lt;br /&gt;
&lt;br /&gt;
{ TForm1 }&lt;br /&gt;
&lt;br /&gt;
procedure TForm1.FormActivate(Sender: TObject);&lt;br /&gt;
var&lt;br /&gt;
  fileDesc: integer;&lt;br /&gt;
begin&lt;br /&gt;
  { Prepare SoC pin 17 (pin 11 on GPIO port) for access: }&lt;br /&gt;
  try&lt;br /&gt;
    fileDesc := fpopen('/sys/class/gpio/export', O_WrOnly);&lt;br /&gt;
    gReturnCode := fpwrite(fileDesc, PIN_17[0], 2);&lt;br /&gt;
    LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
  finally&lt;br /&gt;
    gReturnCode := fpclose(fileDesc);&lt;br /&gt;
    LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
  end;&lt;br /&gt;
  { Set SoC pin 17 as output: }&lt;br /&gt;
  try&lt;br /&gt;
    fileDesc := fpopen('/sys/class/gpio/gpio17/direction', O_WrOnly);&lt;br /&gt;
    gReturnCode := fpwrite(fileDesc, OUT_DIRECTION[0], 3);&lt;br /&gt;
    LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
  finally&lt;br /&gt;
    gReturnCode := fpclose(fileDesc);&lt;br /&gt;
    LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
  end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
procedure TForm1.FormClose(Sender: TObject; var CloseAction: TCloseAction);&lt;br /&gt;
var&lt;br /&gt;
  fileDesc: integer;&lt;br /&gt;
begin&lt;br /&gt;
  { Free SoC pin 17: }&lt;br /&gt;
  try&lt;br /&gt;
    fileDesc := fpopen('/sys/class/gpio/unexport', O_WrOnly);&lt;br /&gt;
    gReturnCode := fpwrite(fileDesc, PIN_17[0], 2);&lt;br /&gt;
    LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
  finally&lt;br /&gt;
    gReturnCode := fpclose(fileDesc);&lt;br /&gt;
    LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
  end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
procedure TForm1.GPIO17ToggleBoxChange(Sender: TObject);&lt;br /&gt;
var&lt;br /&gt;
  fileDesc: integer;&lt;br /&gt;
begin&lt;br /&gt;
  if GPIO17ToggleBox.Checked then&lt;br /&gt;
  begin&lt;br /&gt;
    { Swith SoC pin 17 on: }&lt;br /&gt;
    try&lt;br /&gt;
      fileDesc := fpopen('/sys/class/gpio/gpio17/value', O_WrOnly);&lt;br /&gt;
      gReturnCode := fpwrite(fileDesc, PIN_ON[0], 1);&lt;br /&gt;
      LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
    finally&lt;br /&gt;
      gReturnCode := fpclose(fileDesc);&lt;br /&gt;
      LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
    end;&lt;br /&gt;
  end&lt;br /&gt;
  else&lt;br /&gt;
  begin&lt;br /&gt;
    { Switch SoC pin 17 off: }&lt;br /&gt;
    try&lt;br /&gt;
      fileDesc := fpopen('/sys/class/gpio/gpio17/value', O_WrOnly);&lt;br /&gt;
      gReturnCode := fpwrite(fileDesc, PIN_OFF[0], 1);&lt;br /&gt;
      LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
    finally&lt;br /&gt;
      gReturnCode := fpclose(fileDesc);&lt;br /&gt;
      LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Main program:''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
program io_test;&lt;br /&gt;
&lt;br /&gt;
{$mode objfpc}{$H+}&lt;br /&gt;
&lt;br /&gt;
uses&lt;br /&gt;
  {$IFDEF UNIX}{$IFDEF UseCThreads}&lt;br /&gt;
  cthreads,&lt;br /&gt;
  {$ENDIF}{$ENDIF}&lt;br /&gt;
  Interfaces, // this includes the LCL widgetset&lt;br /&gt;
  Forms, Unit1&lt;br /&gt;
  { you can add units after this };&lt;br /&gt;
&lt;br /&gt;
{$R *.res}&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  Application.Initialize;&lt;br /&gt;
  Application.CreateForm(TForm1, Form1);&lt;br /&gt;
  Application.Run;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An alternative way to access the GPIO port with Lazarus / Free Pascal is by using [http://www.lazarus.freepascal.org/index.php/topic,17404.0.html Lazarus wrapper unit for Gordon Henderson's wiringPi C library].&lt;br /&gt;
&lt;br /&gt;
=== BASIC ===&lt;br /&gt;
==== BASIC - Return to BASIC ====&lt;br /&gt;
&lt;br /&gt;
'''RTB''' or Return to Basic can be found here: https://projects.drogon.net/return-to-basic/&lt;br /&gt;
&lt;br /&gt;
It's a new BASIC featuring modern looping constructs, switch statements, named procedures and functions as well as graphics (caresian and turtle), file handling and more. It also supports the Pi's on-board GPIO without needing to be run as root. (You don't need any special setup routines either)&lt;br /&gt;
&lt;br /&gt;
Sample blink program:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// blink.rtb:&lt;br /&gt;
//    Blink program in Return to Basic&lt;br /&gt;
//    Gordon Henderson, projects@drogon.net&lt;br /&gt;
//&lt;br /&gt;
PinMode (0, 1) // Output&lt;br /&gt;
CYCLE &lt;br /&gt;
  DigitalWrite (0, 1) // Pin 0 ON&lt;br /&gt;
  WAIT (0.5) // 0.5 seconds&lt;br /&gt;
  DigitalWrite (0, 0)&lt;br /&gt;
  WAIT (0.5)&lt;br /&gt;
REPEAT &lt;br /&gt;
END &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== BASIC ====&lt;br /&gt;
&lt;br /&gt;
'''Bywater BASIC Interpreter'''&lt;br /&gt;
&lt;br /&gt;
The Bywater BASIC Interpreter (bwBASIC) implements a large superset of the ANSI Standard for Minimal BASIC (X3.60-1978) and a significant subset of the ANSI Standard for Full BASIC (X3.113-1987) in C. It also offers shell programming facilities as an extension of BASIC. bwBASIC seeks to be as portable as possible. &lt;br /&gt;
You can download it at.&lt;br /&gt;
http://packages.debian.org/stable/interpreters/bwbasic&lt;br /&gt;
&lt;br /&gt;
'''BASIC programming of the I/O'''&lt;br /&gt;
&lt;br /&gt;
'''Setting up a GPIO pin to be used for inputs or for outputs.'''&lt;br /&gt;
&lt;br /&gt;
We cannot load the control words directly into the  32 bit ARM registers with 32 bit addresses, as bwBASIC has no POKE and PEEK commands and other versions of BASIC (as far as I know) only handle 8 bit registers with 16 bit addresses with these commands. So we need to export the GPIO pins, so that they exist in a file structure which we can access from basic with the OPEN command.(ref 2)&lt;br /&gt;
&lt;br /&gt;
We need to do this in Linux root.&lt;br /&gt;
We need to run BASIC in the root too. First we go to the root, then we load bwbasic into root.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo -1&lt;br /&gt;
sudo bwbasic&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
REM Now to export the no4 GPIO pin for example, using a Shell command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo “4” &amp;gt;  /sys/class/gpio/export&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Whilst bwbasic can accommodate shell commands, and we can store a set of these commands (eg. to export a number of GPIO pins at the outset) as numbered statements in a file that can be loaded with the basic command LOAD “filename” and RUN (ref 2), the shell commands have to run as a separate file, as they cannot be run from within, as part of a basic programme.&lt;br /&gt;
&lt;br /&gt;
'''Now we can access the file containing the pin direction setting from BASIC'''&lt;br /&gt;
&lt;br /&gt;
We can set GPIO pin 4 to input or to output by OPENing its pin direction file for output and writing “in” or “out” with a PRINT# command. (ref 2 )&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic4gl&amp;quot;&amp;gt;&lt;br /&gt;
10 OPEN ”O”,#1, “/sys/devices/virtual/gpio/gpio4/direction”,2&lt;br /&gt;
20 PRINT #1,”out”&lt;br /&gt;
30 CLOSE #1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
REM closes the open direction file, whereupon the system performs the action of setting the direction to “out”. NB the system only carries out the action as the file is closed.(ref 3)&lt;br /&gt;
&lt;br /&gt;
'''We are now able to control the output of the gpio 4 pin from BASIC'''&lt;br /&gt;
&lt;br /&gt;
We can set the GPIO 4 pin to 1 or to 0 by OPENing its pin value file for output and writing “1” or “0” with a PRINT# command.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic4gl&amp;quot;&amp;gt;&lt;br /&gt;
40 OPEN ”O”,#4, “/sys/devices/virtual/gpio/gpio4/value”,1&lt;br /&gt;
50 PRINT #4,”1”&lt;br /&gt;
60 CLOSE #4 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
REM turns on the output of GPIO pin 4.&lt;br /&gt;
&lt;br /&gt;
REM similarly we can turn off the output of GPIO pin 4.&lt;br /&gt;
OPEN ”O”,#4, “/sys/devices/virtual/gpio/gpio4/value”,1&lt;br /&gt;
PRINT #4,”0”&lt;br /&gt;
CLOSE #4.&lt;br /&gt;
&lt;br /&gt;
'''Example of an (unstructured) BASIC programme''' &lt;br /&gt;
&lt;br /&gt;
To read the state of a switch and control the power to two LEDs connected to GPIO pins 8,7 and 4 respectively.&lt;br /&gt;
&lt;br /&gt;
Programme to set 2 pins as outputs and 1 pin as input and to read the input turning on two different combinations of the two outputs (ie output 0,1 or 1,0) depending on the state of the input (1 or 0).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic4gl&amp;quot;&amp;gt;&lt;br /&gt;
sudo –i&lt;br /&gt;
sudo bwbasic&lt;br /&gt;
LOAD “export.bas”&lt;br /&gt;
LIST&lt;br /&gt;
REM a set of Shell statements to export the three GPIO pins.&lt;br /&gt;
10 echo “4” &amp;gt; /sys/class/gpio/export&lt;br /&gt;
20 echo “7” &amp;gt; /sys/class/gpio/export&lt;br /&gt;
30 echo “8” &amp;gt; /sys/class/gpio/export&lt;br /&gt;
RUN&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NEW REM clears the export.bas programme from memory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic4gl&amp;quot;&amp;gt;&lt;br /&gt;
.&lt;br /&gt;
LOAD “demo1.bas”&lt;br /&gt;
LIST&lt;br /&gt;
10 OPEN ”O”,#1, “/sys/devices/virtual/gpio/gpio4/direction”,2 &lt;br /&gt;
20 OPEN ”O”,#2, “/sys/devices/virtual/gpio/gpio7/direction”,2 &lt;br /&gt;
30 OPEN ”O”,#3, “/sys/devices/virtual/gpio/gpio8/direction”,2&lt;br /&gt;
REM opens the three pin direction files&lt;br /&gt;
40 PRINT #1, “out”&lt;br /&gt;
50 PRINT #2, “out”&lt;br /&gt;
60 PRINT #3, “in”&lt;br /&gt;
REM sets GPIO pins 4 and 7 as outputs and GPIO pin 8 as input.&lt;br /&gt;
70 CLOSE #1&lt;br /&gt;
80 CLOSE #2&lt;br /&gt;
90 CLOSE #3&lt;br /&gt;
REM closes all open files, allowing the system to perform the direction settings.&lt;br /&gt;
100 OPEN ”I”,#8, “/sys/devices/virtual/gpio/gpio8/value”,1&lt;br /&gt;
REM opens the GPIO pin 8 value file&lt;br /&gt;
110 INPUT #8,x&lt;br /&gt;
REM reads the value of the input pin and stores the value in numerical variable x&lt;br /&gt;
120 CLOSE #8&lt;br /&gt;
REM closes the open file, allowing the system to read the value of the input pin and store the value in numerical variable x.&lt;br /&gt;
130 OPEN “O”,#1, “/sys/devices/virtual/gpio/gpio4/value”,1&lt;br /&gt;
140 OPEN “O”,#2, “/sys/devices/virtual/gpio/gpio7/value”,1&lt;br /&gt;
REM opens the GPIO pins 4 and value files ready for outputting 1s and 0s.&lt;br /&gt;
150 IF x&amp;lt;1 THEN GOTO 160 ELSE GOTO 190&lt;br /&gt;
REM tests the state of the switch (1 or0) and directs the program to generate the appropriate outputs&lt;br /&gt;
160 PRINT #1,”1”&lt;br /&gt;
170 PRINT #2,”0”&lt;br /&gt;
180 GOTO 210&lt;br /&gt;
190  PRINT#1,&amp;quot;0&amp;quot;&lt;br /&gt;
200 PRINT #2,&amp;quot;1&amp;quot;&lt;br /&gt;
210 CLOSE #1&lt;br /&gt;
220 CLOSE #2&lt;br /&gt;
REM Closes the files and allows the outputs to light the LED&lt;br /&gt;
230 END.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When all is done, we should unexport the GPIO pins, to leave the R-Pi as we found it.(Ref 1.)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic4gl&amp;quot;&amp;gt;&lt;br /&gt;
NEW&lt;br /&gt;
LOAD “unexport.bas”&lt;br /&gt;
LIST&lt;br /&gt;
REM a set of Shell statements to unexport the three GPIO pins.&lt;br /&gt;
10 echo “4” &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
20 echo “7” &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
30 echo “8” &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
RUN&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
A simple circuit to provide the switched input and the two LED outputs.&lt;br /&gt;
&lt;br /&gt;
Ancient Mariner. Dec. 2012&lt;br /&gt;
&lt;br /&gt;
References.&lt;br /&gt;
&lt;br /&gt;
1. This paper RPi Low-level peripherals.&lt;br /&gt;
&lt;br /&gt;
2. Ed Beynon.  [http://www.ybw.com/forums/showthread.php?t=331320&amp;amp;page=5 http://www.ybw.com/forums/showthread.php?t=331320&amp;amp;page=5]&lt;br /&gt;
&lt;br /&gt;
3. Arthur Kaletzky. Private communication. 25/10/2012&lt;br /&gt;
&lt;br /&gt;
4. bwbasic manual.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the two original documents this example has been copied from see:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Media:GPIO_Driving_Example_(BASIC)_.doc | GPIO_Driving_Example_(BASIC)_.doc]]&lt;br /&gt;
&lt;br /&gt;
[[Media:Raspberry_Pi_I-O_viii.doc | Raspberry_Pi_I-O_viii.doc]]&lt;br /&gt;
&lt;br /&gt;
==MIPI CSI-2==&lt;br /&gt;
&lt;br /&gt;
On the production board&amp;lt;ref&amp;gt;http://www.raspberrypi.org/wp-content/uploads/2012/04/Raspberry-Pi-Schematics-R1.0.pdf&amp;lt;/ref&amp;gt;, the Raspberry Pi Foundation design brings out the MIPI CSI-2 (Camera Serial Interface&amp;lt;ref&amp;gt;http://www.mipi.org/specifications/camera-interface&amp;lt;/ref&amp;gt;) to a 15-way flat flex connector S5, between the Ethernet and HDMI connectors. A compatible camera has been discussed as working in tests and is planned for release at a later date.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/projects-and-collaboration-general/complex-camera-peripherials#p72602&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&amp;lt;!-- This is misleading as it implies that cheap cameras from other devices can be used. CSI appears to be a generic interface with secret device-specific requirements so these devices must have drivers to be relevant (and currently only the VideoCore has access to the CSI hardware).&lt;br /&gt;
&lt;br /&gt;
is Sony sub-LVDS same as MIPI CSI-2? Sony IMX020 5Mbip module is available for $5-7 (SE K850i replacement camera).&lt;br /&gt;
&lt;br /&gt;
Looks like Nokia N95 uses CSI-2 5Mpix camera module with autofocus. ~$15 replacement part.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==DSI==&lt;br /&gt;
&lt;br /&gt;
On the production board, the Raspberry Pi Foundation design brings out the DSI (Display Serial Interface&amp;lt;ref&amp;gt;http://www.mipi.org/specifications/display-interface&amp;lt;/ref&amp;gt;) to a 15-way flat flex connector labelled S2, next to Raspberry Pi logo. It has two data lanes and a clock lane, to drive a possible future LCD screen device. Some smart phone screens use DSI&amp;lt;ref&amp;gt;http://en.wikipedia.org/wiki/Display_Serial_Interface&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==CEC==&lt;br /&gt;
&lt;br /&gt;
[[CEC (Consumer Electronics Control) over HDMI|HDMI-CEC (Consumer Electronics Control for HDMI)]] is supported by hardware but some driver work will be needed and currently isn't exposed into Linux userland.&lt;br /&gt;
Eben notes that he has seen CEC demos on the Broadcom SoC they are using. &lt;br /&gt;
&lt;br /&gt;
libCEC with Raspberry Pi support has been included in OpenELEC and will be included in Raspbmc RC4.&amp;lt;ref&amp;gt;http://blog.pulse-eight.com/2012/08/01/libcec-1-8-0-a-firmware-upgrade-and-raspberry-pi-support/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information about HDMI-CEC and what you could do with it on the Raspberry Pi please see the [[CEC (Consumer Electronics Control) over HDMI]] article.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Template:Raspberry Pi}}&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/File:RPi_P6_header.png</id>
		<title>File:RPi P6 header.png</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/File:RPi_P6_header.png"/>
				<updated>2013-03-10T19:51:03Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: The P6 header on the RaspberryPi, showing the orientation of the pin numbers

Category:RaspberryPi&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The P6 header on the RaspberryPi, showing the orientation of the pin numbers&lt;br /&gt;
&lt;br /&gt;
[[Category:RaspberryPi]]&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/File:RPi_P5_header.png</id>
		<title>File:RPi P5 header.png</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/File:RPi_P5_header.png"/>
				<updated>2013-03-10T19:50:23Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: The P5 header on the RaspberryPi, showing the orientation of the pin numbers

Category:RaspberryPi&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The P5 header on the RaspberryPi, showing the orientation of the pin numbers&lt;br /&gt;
&lt;br /&gt;
[[Category:RaspberryPi]]&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/RPi_VideoCore_APIs</id>
		<title>RPi VideoCore APIs</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RPi_VideoCore_APIs"/>
				<updated>2013-03-10T15:51:47Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: Updated image to reflect the current state of affairs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:RPi_Software}}&lt;br /&gt;
&lt;br /&gt;
[[File:VideoCore-Architecture-and-Source.png|500px|thumb|Source: http://www.raspberrypi.org/wp-content/uploads/2012/10/Architecture-and-Source.png]]&lt;br /&gt;
&lt;br /&gt;
The Raspberry Pi contains 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. &lt;br /&gt;
&lt;br /&gt;
Currently C header files and libraries for many of the Broadcom APIs are located in &amp;lt;code&amp;gt;/opt/vc/include&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/opt/vc/lib&amp;lt;/code&amp;gt; respectively, or available from [https://github.com/raspberrypi/firmware GitHub] within the same directory structure. Some documentation is contained within comments in the header files, as well as documentation for the OpenMAX IL components in the [https://github.com/raspberrypi/firmware/tree/master/documentation/ilcomponents documentation directory on Github], however it is severely lacking and difficult to understand in a general sense for people wanting to experiment with the device due to it being proprietary. As such, we encourage you to [http://elinux.org/index.php?title=RPi_VideoCore_APIs&amp;amp;action=edit edit this page] to help us build a much better open documentation.&lt;br /&gt;
&lt;br /&gt;
==Quirks==&lt;br /&gt;
&lt;br /&gt;
* The Raspberry Pi requires that the &amp;lt;code&amp;gt;bcm_host_init()&amp;lt;/code&amp;gt; function is called first before any GPU calls can be made.&lt;br /&gt;
* Before calling any of the vc_* functions, you need to initialise vcos and vchi, and make a vchi connection, before then calling the corresponding vc_*_init function for the part of the library you want to use: &amp;lt;code&amp;gt;vc_vchi_dispmanx_init&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;vc_vchi_tv_init&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;vc_vchi_cec_init&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;vc_vchi_gencmd_init&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;(See this [https://github.com/adammw/rpi-output-swapper/blob/master/video_swap.c#L152-169 sample code] which does initialisation for vc_tvservice_* APIs)&lt;br /&gt;
* Linking against the EGL library (-lEGL) also requires you to link against the GLESv2 library (-lGLESv2).&lt;br /&gt;
* &amp;lt;code&amp;gt;[[#graphics_get_display_size|graphics_get_display_size()]]&amp;lt;/code&amp;gt; is a broadcom-specific function&lt;br /&gt;
&lt;br /&gt;
== Built-in Sample Programs==&lt;br /&gt;
The Raspberry Pi comes with 7 sample programs and two helper libraries in the /opt/vc/src/hello_pi directory showing some of the system's capabilities and sample code. &lt;br /&gt;
===hello_encode===&lt;br /&gt;
This  sample is a GPU-assisted  h.264 encoder using the OpenMAX APIs , and currently&lt;br /&gt;
works with raw frames. It outputs a raw h.264 file.&lt;br /&gt;
&lt;br /&gt;
===hello_video===&lt;br /&gt;
This sample decodes h264 video using the OpenMAX APIs and the ilclient library, and is distributed with a short scene of [http://www.bigbuckbunny.org/ Big Buck Bunny]&lt;br /&gt;
===hello_audio===&lt;br /&gt;
This sample plays a sine wave for ten seconds using the ??? APIs.&lt;br /&gt;
===hello_triangle===&lt;br /&gt;
This sample shows how to get a OpenGL ES context on the Raspberry Pi.&lt;br /&gt;
===ilclient helper library===&lt;br /&gt;
This library is described as:&lt;br /&gt;
&amp;lt;code&amp;gt;This API defines helper functions for writing IL clients.&lt;br /&gt;
 *&lt;br /&gt;
 * This file defines an IL client side library.  This is useful when&lt;br /&gt;
 * writing IL clients, since there tends to be much repeated and&lt;br /&gt;
 * common code across both single and multiple clients.  This library&lt;br /&gt;
 * seeks to remove that common code and abstract some of the&lt;br /&gt;
 * interactions with components.  There is a wrapper around a&lt;br /&gt;
 * component and tunnel, and some operations can be done on lists of&lt;br /&gt;
 * these.  The callbacks from components are handled, and specific&lt;br /&gt;
 * events can be checked or waited for.&lt;br /&gt;
 */&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| ''' The userland libraries have been [http://www.raspberrypi.org/archives/2221 open-sourced] !  Code can be found at [https://github.com/raspberrypi/userland github.com/raspberrypi/userland]'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== libbcm_host ===&lt;br /&gt;
bcm_host is the Broadcom hardware interface library.&lt;br /&gt;
&lt;br /&gt;
=== vc_dispmanx_*===&lt;br /&gt;
Dispmanx is a windowing system in the process of being deprecated in favour of [http://www.khronos.org/openwf/ OpenWF] (or similar), however dispmanx is still used in all API demos and it's replacement may not yet be available. &amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?t=5621&amp;amp;p=77981&amp;lt;/ref&amp;gt;(confirmation required?)&lt;br /&gt;
=== vc_tvservice_* ===&lt;br /&gt;
These APIs allow controlling the HDMI and SDTV video outputs of the Raspberry Pi, as well as allowing the user to query the supported HDMI resolutions and audio formats and turn on/off copy protection. The Raspberry Pi can only have one output active at a time - turning on the HDMI automatically turns off the SDTV and vice-versa. However either can be turned off using the &amp;lt;code&amp;gt;vc_tv_power_off()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
&lt;br /&gt;
The header file [https://github.com/raspberrypi/firmware/blob/master/opt/vc/include/interface/vmcs_host/vc_tvservice.h vc_tvservice.h] documents the functions quite well via comments above each prototype function, however before any of these functions will succeed you must initialise the connection to the host API like so:&lt;br /&gt;
&lt;br /&gt;
 void tvservice_init() {&lt;br /&gt;
    VCHI_INSTANCE_T vchi_instance;&lt;br /&gt;
    VCHI_CONNECTION_T *vchi_connections;&lt;br /&gt;
    &lt;br /&gt;
    // initialise bcm_host&lt;br /&gt;
    bcm_host_init();&lt;br /&gt;
    &lt;br /&gt;
    // initialise vcos/vchi&lt;br /&gt;
    vcos_init();&lt;br /&gt;
    if (vchi_initialise(&amp;amp;vchi_instance) != VCHIQ_SUCCESS) {&lt;br /&gt;
        fprintf(stderr, &amp;quot;failed to open vchiq instance\n&amp;quot;);&lt;br /&gt;
        exit(-2);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // create a vchi connection&lt;br /&gt;
    if ( vchi_connect( NULL, 0, vchi_instance ) != 0) {&lt;br /&gt;
        fprintf(stderr, &amp;quot;failed to connect to VCHI\n&amp;quot;);&lt;br /&gt;
        exit(-3);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // connect to tvservice&lt;br /&gt;
    if ( vc_vchi_tv_init( vchi_instance, &amp;amp;vchi_connections, 1) != 0) {&lt;br /&gt;
        fprintf(stderr, &amp;quot;failed to connect to tvservice\n&amp;quot;);&lt;br /&gt;
        exit(-4);&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
''TODO: Deinitialization''&lt;br /&gt;
==== Samples ====&lt;br /&gt;
* [https://github.com/adammw/rpi-output-swapper rpi-output-swapper] Uses tvservice apis to power on HDMI or SDTV display in specific or preferred mode.&lt;br /&gt;
&lt;br /&gt;
=== vc_cec_* ===&lt;br /&gt;
The vc_cec APIs allow programs to interface with the [http://en.wikipedia.org/wiki/Consumer_Electronics_Control#CEC Consumer Electronics Control (CEC)] host middleware on the system to send CEC packets, set strings for the middleware to auto-respond to certain requests or override the middleware handling by adding custom callbacks.&lt;br /&gt;
&lt;br /&gt;
''TODO: Samples/Howto''&lt;br /&gt;
&lt;br /&gt;
=== vc_gencmd_* ===&lt;br /&gt;
''TODO''&lt;br /&gt;
&lt;br /&gt;
=== EGL ===&lt;br /&gt;
[http://www.khronos.org/egl/ EGL (Native Platform Graphics Interface)] is an interface between Khronos rendering APIs such as OpenGL ES or OpenVG and the underlying native platform. The Raspberry Pi supports [http://www.khronos.org/registry/egl/specs/eglspec.1.4.20110406.pdf EGL Version 1.4] and the following EGL extensions (links are to EGL registry documentation):&amp;lt;ref name=&amp;quot;egl-info&amp;quot;&amp;gt;eglinfo, http://www.raspberrypi.org/phpBB3/viewtopic.php?p=35942#p35942 , http://www.raspberrypi.org/phpBB3/viewtopic.php?p=36318#p36318&amp;lt;/ref&amp;gt;&lt;br /&gt;
*[http://www.khronos.org/registry/egl/extensions/KHR/EGL_KHR_image.txt EGL_KHR_image]&lt;br /&gt;
*[http://www.khronos.org/registry/egl/extensions/KHR/EGL_KHR_image_base.txt EGL_KHR_image_base]&lt;br /&gt;
*[http://www.khronos.org/registry/egl/extensions/KHR/EGL_KHR_image_pixmap.txt EGL_KHR_image_pixmap]&lt;br /&gt;
*[http://www.khronos.org/registry/egl/extensions/KHR/EGL_KHR_vg_parent_image.txt EGL_KHR_vg_parent_image]&lt;br /&gt;
*[http://www.khronos.org/registry/egl/extensions/KHR/EGL_KHR_gl_image.txt EGL_KHR_gl_texture_2D_image]&lt;br /&gt;
*[http://www.khronos.org/registry/egl/extensions/KHR/EGL_KHR_gl_image.txt EGL_KHR_gl_texture_cubemap_image]&lt;br /&gt;
*[http://www.khronos.org/registry/egl/extensions/KHR/EGL_KHR_lock_surface.txt EGL_KHR_lock_surface]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Creating an on-screen EGL rendering surface requires you to to use the eglCreateWindowSurface function, which takes a EGLNativeWindowType parameter. On the Raspberry Pi, this is implemented as a EGL_DISPMANX_WINDOW_T struct, which is defined in eglplatform.h as:&lt;br /&gt;
&lt;br /&gt;
  typedef struct {&lt;br /&gt;
    DISPMANX_ELEMENT_HANDLE_T element;&lt;br /&gt;
    int width;   /* This is necessary because dispmanx elements are not queriable. */&lt;br /&gt;
    int height;&lt;br /&gt;
  } EGL_DISPMANX_WINDOW_T;&lt;br /&gt;
&lt;br /&gt;
Therefore, to create a EGL surface you must also use the Dispmanx library to get a dispmanx element handle. The [https://github.com/raspberrypi/firmware/blob/master/opt/vc/src/hello_pi/hello_triangle/triangle.c#L147-173 hello_triangle source code] provides example code to do this.&lt;br /&gt;
&lt;br /&gt;
==== Samples====&lt;br /&gt;
&lt;br /&gt;
See [http://jonmacey.blogspot.com.au/2012/05/getting-started-with-egl-on-raspberry.html Getting Started with EGL] post by Jon Macey. &lt;br /&gt;
Extended documentation available in the [http://www.khronos.org/registry/egl/specs/eglspec.1.4.20110406.pdf EGL Version 1.4 Specification] and Simple Reference available in the [http://www.khronos.org/files/egl-1-4-quick-reference-card.pdf EGL 1.4 API Quick Reference Card].&lt;br /&gt;
&lt;br /&gt;
==== Function Documentation====&lt;br /&gt;
====={{anchor|graphics_get_display_size}}&amp;lt;code&amp;gt;int32_t graphics_get_display_size( const uint16_t display_number, uint32_t *width, uint32_t *height);&amp;lt;/code&amp;gt;=====&lt;br /&gt;
&lt;br /&gt;
This function allows you to get the size of the display, and is often used in creating an EGL Surface. width and height are pointers that you pass in to where you want the response values to be written to, display number 0 is usually used for the Raspberry Pi. return value of &amp;gt;= 0 indicates success, &amp;lt;0 indicates failure.&lt;br /&gt;
&lt;br /&gt;
This function is implemented in libbcm_host, and the implementation has been made [https://github.com/raspberrypi/firmware/issues/14#issuecomment-5652185 public] showing that it internally calls the vc_dispmanx_display_get_info function to get the width and height of the current mode.&lt;br /&gt;
&lt;br /&gt;
Bugs present in early versions of the firmware caused this function to always return 1920x1080, however this can easily be fixed by updating the firmware with [https://github.com/Hexxeh/rpi-update Hexxeh's rpi-update] (see the [[R-Pi_Troubleshooting#Updating_firmware|Updating firmware]] page for help).&amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?f=68&amp;amp;t=8252&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/raspberrypi/firmware/issues/14&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OpenGL ES ===&lt;br /&gt;
The Raspberry Pi supports OpenGL ES 2.0 with the following extensions: &amp;lt;ref name=&amp;quot;egl-info&amp;quot; /&amp;gt;&lt;br /&gt;
*GL_OES_compressed_ETC1_RGB8_texture&lt;br /&gt;
*GL_OES_compressed_paletted_texture&lt;br /&gt;
*GL_OES_texture_npot GL_OES_depth24&lt;br /&gt;
*GL_OES_vertex_half_float&lt;br /&gt;
*GL_OES_EGL_image&lt;br /&gt;
*GL_OES_EGL_image_external&lt;br /&gt;
*GL_EXT_discard_framebuffer&lt;br /&gt;
*GL_OES_rgb8_rgba8&lt;br /&gt;
*GL_OES_depth32&lt;br /&gt;
*GL_OES_mapbuffer&lt;br /&gt;
*GL_EXT_texture_format_BGRA8888&lt;br /&gt;
*GL_APPLE_rgb_422&lt;br /&gt;
*GL_EXT_debug_marker&lt;br /&gt;
 &lt;br /&gt;
''TODO: Sample of how to use/initalise OpenGL ES''&lt;br /&gt;
&lt;br /&gt;
=== OpenVG ===&lt;br /&gt;
The Raspberry Pi supports OpenVG 1.1 for hardware-accelerated two-dimensional vector and raster graphics. See the full specification [http://www.khronos.org/registry/vg/specs/openvg-1.1.pdf here] or [http://www.khronos.org/files/openvg-quick-reference-card.pdf the API quick reference card].&lt;br /&gt;
&lt;br /&gt;
==== Samples ====&lt;br /&gt;
* [http://docs.blackberry.com/en/developers/deliverables/17967/CS_Drawing_a_triangle_using_OpenVG_1241146_11.jsp Code sample: Drawing a triangle by using OpenVG] ''(Java implentation for RIM devices, however should be able to get a grasp on how it works and be able to port it to the Raspberry Pi)''&lt;br /&gt;
&lt;br /&gt;
=== OpenMAX ===&lt;br /&gt;
See [https://github.com/raspberrypi/firmware/tree/master/documentation/ilcomponents /documentation/ilcomponents] on GitHub firmware repository for official documentation.&lt;br /&gt;
&lt;br /&gt;
''TODO: Sample of how to use OpenMAX to decode audio/video/images, etc.''&lt;br /&gt;
&lt;br /&gt;
== Bindings for Other Programming Languages ==&lt;br /&gt;
'''Python'''&lt;br /&gt;
* [https://bitbucket.org/bryancole/rpi_vid_core/ RPi_Vid_Core] - ''python bindings of EGL, OpenGL ES, OpenVG and bcm_host for Raspberry Pi implemented using Cython''&lt;br /&gt;
'''Java'''&lt;br /&gt;
* [http://www.jogamp.org JogAmp JOGL] - ''JogAmp JOGL Java bindings for EGL and OpenGL ES for Raspberry Pi implemented using Gluegen.&lt;br /&gt;
** Raspberry Pi autodetection is included in JogAmp JOGL RC11 and later. http://forum.jogamp.org/Release-v2-0-rc11-td4026703.html&lt;br /&gt;
* [http://www.lwjgl.org LWJGL] - http://www.raspberrypi.org/phpBB3/viewtopic.php?p=211087 Raspberry Pi community port by '''spsn'''&lt;br /&gt;
&lt;br /&gt;
== Open Source Software compatible with the VideoCore APIs ==&lt;br /&gt;
* '''[https://github.com/huceke/omxplayer omxplayer]''' - ''a command line a/v player for the Raspberry Pi utilising the OpenMAX APIs and ffmpeg''&lt;br /&gt;
* '''[http://wiki.xbmc.org/index.php?title=Raspberry_Pi XBMC]''' - ''a media center, omxplayer's &amp;quot;big brother&amp;quot; ''&lt;br /&gt;
* '''[http://nccastaff.bournemouth.ac.uk/jmacey/GraphicsLib/piNGL/index.html piNGL]''' - ''port of the NGL graphics library to Raspberry Pi''&lt;br /&gt;
* '''[http://qt-project.org/wiki/Qt-RaspberryPi Qt on Pi]''' - ''Raspberry Pi port of the Qt toolkit''&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Template:Raspberry Pi}}&lt;br /&gt;
[[Category: RaspberryPi]]&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/File:VideoCore-Architecture-and-Source.png</id>
		<title>File:VideoCore-Architecture-and-Source.png</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/File:VideoCore-Architecture-and-Source.png"/>
				<updated>2013-03-10T15:46:34Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: The structure of the VideoCore driver stack

Category:RaspberryPi&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The structure of the VideoCore driver stack&lt;br /&gt;
&lt;br /&gt;
[[Category:RaspberryPi]]&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/RPi_VideoCore_APIs</id>
		<title>RPi VideoCore APIs</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RPi_VideoCore_APIs"/>
				<updated>2013-03-10T15:39:20Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: /* Libraries */ Added link to open-sourcing announcement&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:RPi_Software}}&lt;br /&gt;
&lt;br /&gt;
[[File:Raspberrypi_video_API_03.svg|500px|thumb|Source: http://elinux.org/images/b/be/Raspberrypi_video_API_03.svg]]&lt;br /&gt;
&lt;br /&gt;
The Raspberry Pi contains 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. &lt;br /&gt;
&lt;br /&gt;
Currently C header files and libraries for many of the Broadcom APIs are located in &amp;lt;code&amp;gt;/opt/vc/include&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/opt/vc/lib&amp;lt;/code&amp;gt; respectively, or available from [https://github.com/raspberrypi/firmware GitHub] within the same directory structure. Some documentation is contained within comments in the header files, as well as documentation for the OpenMAX IL components in the [https://github.com/raspberrypi/firmware/tree/master/documentation/ilcomponents documentation directory on Github], however it is severely lacking and difficult to understand in a general sense for people wanting to experiment with the device due to it being proprietary. As such, we encourage you to [http://elinux.org/index.php?title=RPi_VideoCore_APIs&amp;amp;action=edit edit this page] to help us build a much better open documentation.&lt;br /&gt;
&lt;br /&gt;
==Quirks==&lt;br /&gt;
&lt;br /&gt;
* The Raspberry Pi requires that the &amp;lt;code&amp;gt;bcm_host_init()&amp;lt;/code&amp;gt; function is called first before any GPU calls can be made.&lt;br /&gt;
* Before calling any of the vc_* functions, you need to initialise vcos and vchi, and make a vchi connection, before then calling the corresponding vc_*_init function for the part of the library you want to use: &amp;lt;code&amp;gt;vc_vchi_dispmanx_init&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;vc_vchi_tv_init&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;vc_vchi_cec_init&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;vc_vchi_gencmd_init&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;(See this [https://github.com/adammw/rpi-output-swapper/blob/master/video_swap.c#L152-169 sample code] which does initialisation for vc_tvservice_* APIs)&lt;br /&gt;
* Linking against the EGL library (-lEGL) also requires you to link against the GLESv2 library (-lGLESv2).&lt;br /&gt;
* &amp;lt;code&amp;gt;[[#graphics_get_display_size|graphics_get_display_size()]]&amp;lt;/code&amp;gt; is a broadcom-specific function&lt;br /&gt;
&lt;br /&gt;
== Built-in Sample Programs==&lt;br /&gt;
The Raspberry Pi comes with 7 sample programs and two helper libraries in the /opt/vc/src/hello_pi directory showing some of the system's capabilities and sample code. &lt;br /&gt;
===hello_encode===&lt;br /&gt;
This  sample is a GPU-assisted  h.264 encoder using the OpenMAX APIs , and currently&lt;br /&gt;
works with raw frames. It outputs a raw h.264 file.&lt;br /&gt;
&lt;br /&gt;
===hello_video===&lt;br /&gt;
This sample decodes h264 video using the OpenMAX APIs and the ilclient library, and is distributed with a short scene of [http://www.bigbuckbunny.org/ Big Buck Bunny]&lt;br /&gt;
===hello_audio===&lt;br /&gt;
This sample plays a sine wave for ten seconds using the ??? APIs.&lt;br /&gt;
===hello_triangle===&lt;br /&gt;
This sample shows how to get a OpenGL ES context on the Raspberry Pi.&lt;br /&gt;
===ilclient helper library===&lt;br /&gt;
This library is described as:&lt;br /&gt;
&amp;lt;code&amp;gt;This API defines helper functions for writing IL clients.&lt;br /&gt;
 *&lt;br /&gt;
 * This file defines an IL client side library.  This is useful when&lt;br /&gt;
 * writing IL clients, since there tends to be much repeated and&lt;br /&gt;
 * common code across both single and multiple clients.  This library&lt;br /&gt;
 * seeks to remove that common code and abstract some of the&lt;br /&gt;
 * interactions with components.  There is a wrapper around a&lt;br /&gt;
 * component and tunnel, and some operations can be done on lists of&lt;br /&gt;
 * these.  The callbacks from components are handled, and specific&lt;br /&gt;
 * events can be checked or waited for.&lt;br /&gt;
 */&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| ''' The userland libraries have been [http://www.raspberrypi.org/archives/2221 open-sourced] !  Code can be found at [https://github.com/raspberrypi/userland github.com/raspberrypi/userland]'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== libbcm_host ===&lt;br /&gt;
bcm_host is the Broadcom hardware interface library.&lt;br /&gt;
&lt;br /&gt;
=== vc_dispmanx_*===&lt;br /&gt;
Dispmanx is a windowing system in the process of being deprecated in favour of [http://www.khronos.org/openwf/ OpenWF] (or similar), however dispmanx is still used in all API demos and it's replacement may not yet be available. &amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?t=5621&amp;amp;p=77981&amp;lt;/ref&amp;gt;(confirmation required?)&lt;br /&gt;
=== vc_tvservice_* ===&lt;br /&gt;
These APIs allow controlling the HDMI and SDTV video outputs of the Raspberry Pi, as well as allowing the user to query the supported HDMI resolutions and audio formats and turn on/off copy protection. The Raspberry Pi can only have one output active at a time - turning on the HDMI automatically turns off the SDTV and vice-versa. However either can be turned off using the &amp;lt;code&amp;gt;vc_tv_power_off()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
&lt;br /&gt;
The header file [https://github.com/raspberrypi/firmware/blob/master/opt/vc/include/interface/vmcs_host/vc_tvservice.h vc_tvservice.h] documents the functions quite well via comments above each prototype function, however before any of these functions will succeed you must initialise the connection to the host API like so:&lt;br /&gt;
&lt;br /&gt;
 void tvservice_init() {&lt;br /&gt;
    VCHI_INSTANCE_T vchi_instance;&lt;br /&gt;
    VCHI_CONNECTION_T *vchi_connections;&lt;br /&gt;
    &lt;br /&gt;
    // initialise bcm_host&lt;br /&gt;
    bcm_host_init();&lt;br /&gt;
    &lt;br /&gt;
    // initialise vcos/vchi&lt;br /&gt;
    vcos_init();&lt;br /&gt;
    if (vchi_initialise(&amp;amp;vchi_instance) != VCHIQ_SUCCESS) {&lt;br /&gt;
        fprintf(stderr, &amp;quot;failed to open vchiq instance\n&amp;quot;);&lt;br /&gt;
        exit(-2);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // create a vchi connection&lt;br /&gt;
    if ( vchi_connect( NULL, 0, vchi_instance ) != 0) {&lt;br /&gt;
        fprintf(stderr, &amp;quot;failed to connect to VCHI\n&amp;quot;);&lt;br /&gt;
        exit(-3);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // connect to tvservice&lt;br /&gt;
    if ( vc_vchi_tv_init( vchi_instance, &amp;amp;vchi_connections, 1) != 0) {&lt;br /&gt;
        fprintf(stderr, &amp;quot;failed to connect to tvservice\n&amp;quot;);&lt;br /&gt;
        exit(-4);&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
''TODO: Deinitialization''&lt;br /&gt;
==== Samples ====&lt;br /&gt;
* [https://github.com/adammw/rpi-output-swapper rpi-output-swapper] Uses tvservice apis to power on HDMI or SDTV display in specific or preferred mode.&lt;br /&gt;
&lt;br /&gt;
=== vc_cec_* ===&lt;br /&gt;
The vc_cec APIs allow programs to interface with the [http://en.wikipedia.org/wiki/Consumer_Electronics_Control#CEC Consumer Electronics Control (CEC)] host middleware on the system to send CEC packets, set strings for the middleware to auto-respond to certain requests or override the middleware handling by adding custom callbacks.&lt;br /&gt;
&lt;br /&gt;
''TODO: Samples/Howto''&lt;br /&gt;
&lt;br /&gt;
=== vc_gencmd_* ===&lt;br /&gt;
''TODO''&lt;br /&gt;
&lt;br /&gt;
=== EGL ===&lt;br /&gt;
[http://www.khronos.org/egl/ EGL (Native Platform Graphics Interface)] is an interface between Khronos rendering APIs such as OpenGL ES or OpenVG and the underlying native platform. The Raspberry Pi supports [http://www.khronos.org/registry/egl/specs/eglspec.1.4.20110406.pdf EGL Version 1.4] and the following EGL extensions (links are to EGL registry documentation):&amp;lt;ref name=&amp;quot;egl-info&amp;quot;&amp;gt;eglinfo, http://www.raspberrypi.org/phpBB3/viewtopic.php?p=35942#p35942 , http://www.raspberrypi.org/phpBB3/viewtopic.php?p=36318#p36318&amp;lt;/ref&amp;gt;&lt;br /&gt;
*[http://www.khronos.org/registry/egl/extensions/KHR/EGL_KHR_image.txt EGL_KHR_image]&lt;br /&gt;
*[http://www.khronos.org/registry/egl/extensions/KHR/EGL_KHR_image_base.txt EGL_KHR_image_base]&lt;br /&gt;
*[http://www.khronos.org/registry/egl/extensions/KHR/EGL_KHR_image_pixmap.txt EGL_KHR_image_pixmap]&lt;br /&gt;
*[http://www.khronos.org/registry/egl/extensions/KHR/EGL_KHR_vg_parent_image.txt EGL_KHR_vg_parent_image]&lt;br /&gt;
*[http://www.khronos.org/registry/egl/extensions/KHR/EGL_KHR_gl_image.txt EGL_KHR_gl_texture_2D_image]&lt;br /&gt;
*[http://www.khronos.org/registry/egl/extensions/KHR/EGL_KHR_gl_image.txt EGL_KHR_gl_texture_cubemap_image]&lt;br /&gt;
*[http://www.khronos.org/registry/egl/extensions/KHR/EGL_KHR_lock_surface.txt EGL_KHR_lock_surface]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Creating an on-screen EGL rendering surface requires you to to use the eglCreateWindowSurface function, which takes a EGLNativeWindowType parameter. On the Raspberry Pi, this is implemented as a EGL_DISPMANX_WINDOW_T struct, which is defined in eglplatform.h as:&lt;br /&gt;
&lt;br /&gt;
  typedef struct {&lt;br /&gt;
    DISPMANX_ELEMENT_HANDLE_T element;&lt;br /&gt;
    int width;   /* This is necessary because dispmanx elements are not queriable. */&lt;br /&gt;
    int height;&lt;br /&gt;
  } EGL_DISPMANX_WINDOW_T;&lt;br /&gt;
&lt;br /&gt;
Therefore, to create a EGL surface you must also use the Dispmanx library to get a dispmanx element handle. The [https://github.com/raspberrypi/firmware/blob/master/opt/vc/src/hello_pi/hello_triangle/triangle.c#L147-173 hello_triangle source code] provides example code to do this.&lt;br /&gt;
&lt;br /&gt;
==== Samples====&lt;br /&gt;
&lt;br /&gt;
See [http://jonmacey.blogspot.com.au/2012/05/getting-started-with-egl-on-raspberry.html Getting Started with EGL] post by Jon Macey. &lt;br /&gt;
Extended documentation available in the [http://www.khronos.org/registry/egl/specs/eglspec.1.4.20110406.pdf EGL Version 1.4 Specification] and Simple Reference available in the [http://www.khronos.org/files/egl-1-4-quick-reference-card.pdf EGL 1.4 API Quick Reference Card].&lt;br /&gt;
&lt;br /&gt;
==== Function Documentation====&lt;br /&gt;
====={{anchor|graphics_get_display_size}}&amp;lt;code&amp;gt;int32_t graphics_get_display_size( const uint16_t display_number, uint32_t *width, uint32_t *height);&amp;lt;/code&amp;gt;=====&lt;br /&gt;
&lt;br /&gt;
This function allows you to get the size of the display, and is often used in creating an EGL Surface. width and height are pointers that you pass in to where you want the response values to be written to, display number 0 is usually used for the Raspberry Pi. return value of &amp;gt;= 0 indicates success, &amp;lt;0 indicates failure.&lt;br /&gt;
&lt;br /&gt;
This function is implemented in libbcm_host, and the implementation has been made [https://github.com/raspberrypi/firmware/issues/14#issuecomment-5652185 public] showing that it internally calls the vc_dispmanx_display_get_info function to get the width and height of the current mode.&lt;br /&gt;
&lt;br /&gt;
Bugs present in early versions of the firmware caused this function to always return 1920x1080, however this can easily be fixed by updating the firmware with [https://github.com/Hexxeh/rpi-update Hexxeh's rpi-update] (see the [[R-Pi_Troubleshooting#Updating_firmware|Updating firmware]] page for help).&amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?f=68&amp;amp;t=8252&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/raspberrypi/firmware/issues/14&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OpenGL ES ===&lt;br /&gt;
The Raspberry Pi supports OpenGL ES 2.0 with the following extensions: &amp;lt;ref name=&amp;quot;egl-info&amp;quot; /&amp;gt;&lt;br /&gt;
*GL_OES_compressed_ETC1_RGB8_texture&lt;br /&gt;
*GL_OES_compressed_paletted_texture&lt;br /&gt;
*GL_OES_texture_npot GL_OES_depth24&lt;br /&gt;
*GL_OES_vertex_half_float&lt;br /&gt;
*GL_OES_EGL_image&lt;br /&gt;
*GL_OES_EGL_image_external&lt;br /&gt;
*GL_EXT_discard_framebuffer&lt;br /&gt;
*GL_OES_rgb8_rgba8&lt;br /&gt;
*GL_OES_depth32&lt;br /&gt;
*GL_OES_mapbuffer&lt;br /&gt;
*GL_EXT_texture_format_BGRA8888&lt;br /&gt;
*GL_APPLE_rgb_422&lt;br /&gt;
*GL_EXT_debug_marker&lt;br /&gt;
 &lt;br /&gt;
''TODO: Sample of how to use/initalise OpenGL ES''&lt;br /&gt;
&lt;br /&gt;
=== OpenVG ===&lt;br /&gt;
The Raspberry Pi supports OpenVG 1.1 for hardware-accelerated two-dimensional vector and raster graphics. See the full specification [http://www.khronos.org/registry/vg/specs/openvg-1.1.pdf here] or [http://www.khronos.org/files/openvg-quick-reference-card.pdf the API quick reference card].&lt;br /&gt;
&lt;br /&gt;
==== Samples ====&lt;br /&gt;
* [http://docs.blackberry.com/en/developers/deliverables/17967/CS_Drawing_a_triangle_using_OpenVG_1241146_11.jsp Code sample: Drawing a triangle by using OpenVG] ''(Java implentation for RIM devices, however should be able to get a grasp on how it works and be able to port it to the Raspberry Pi)''&lt;br /&gt;
&lt;br /&gt;
=== OpenMAX ===&lt;br /&gt;
See [https://github.com/raspberrypi/firmware/tree/master/documentation/ilcomponents /documentation/ilcomponents] on GitHub firmware repository for official documentation.&lt;br /&gt;
&lt;br /&gt;
''TODO: Sample of how to use OpenMAX to decode audio/video/images, etc.''&lt;br /&gt;
&lt;br /&gt;
== Bindings for Other Programming Languages ==&lt;br /&gt;
'''Python'''&lt;br /&gt;
* [https://bitbucket.org/bryancole/rpi_vid_core/ RPi_Vid_Core] - ''python bindings of EGL, OpenGL ES, OpenVG and bcm_host for Raspberry Pi implemented using Cython''&lt;br /&gt;
'''Java'''&lt;br /&gt;
* [http://www.jogamp.org JogAmp JOGL] - ''JogAmp JOGL Java bindings for EGL and OpenGL ES for Raspberry Pi implemented using Gluegen.&lt;br /&gt;
** Raspberry Pi autodetection is included in JogAmp JOGL RC11 and later. http://forum.jogamp.org/Release-v2-0-rc11-td4026703.html&lt;br /&gt;
* [http://www.lwjgl.org LWJGL] - http://www.raspberrypi.org/phpBB3/viewtopic.php?p=211087 Raspberry Pi community port by '''spsn'''&lt;br /&gt;
&lt;br /&gt;
== Open Source Software compatible with the VideoCore APIs ==&lt;br /&gt;
* '''[https://github.com/huceke/omxplayer omxplayer]''' - ''a command line a/v player for the Raspberry Pi utilising the OpenMAX APIs and ffmpeg''&lt;br /&gt;
* '''[http://wiki.xbmc.org/index.php?title=Raspberry_Pi XBMC]''' - ''a media center, omxplayer's &amp;quot;big brother&amp;quot; ''&lt;br /&gt;
* '''[http://nccastaff.bournemouth.ac.uk/jmacey/GraphicsLib/piNGL/index.html piNGL]''' - ''port of the NGL graphics library to Raspberry Pi''&lt;br /&gt;
* '''[http://qt-project.org/wiki/Qt-RaspberryPi Qt on Pi]''' - ''Raspberry Pi port of the Qt toolkit''&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Template:Raspberry Pi}}&lt;br /&gt;
[[Category: RaspberryPi]]&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Template:Raspberry_Pi</id>
		<title>Template:Raspberry Pi</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Template:Raspberry_Pi"/>
				<updated>2013-03-10T14:55:38Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: Removed Model Wizard link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Navbox&lt;br /&gt;
| name  = Raspberry Pi&lt;br /&gt;
| title = [[R-Pi Hub|&amp;lt;span style=&amp;quot;color:#FFFFFF&amp;quot;&amp;gt;Raspberry Pi&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|listclass = hlist&lt;br /&gt;
| state = plain&lt;br /&gt;
| style = width:100%&lt;br /&gt;
| image = [[File:RpiFront.jpg|167px]]&lt;br /&gt;
&lt;br /&gt;
| basestyle = background:#00CC00;&lt;br /&gt;
| groupstyle = background:#AA0033&lt;br /&gt;
| liststyle = background:#FFE0FF;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| group1 = '''&amp;lt;span style=&amp;quot;color:#FFFFFF&amp;quot;&amp;gt;Startup&amp;lt;/span&amp;gt;'''&lt;br /&gt;
| list1  = &lt;br /&gt;
[[RPi Buying Guide|Buying Guide]] - [[RPi Easy SD Card Setup|SD Card Setup]] - [[RPi Hardware Basic Setup|Basic Setup]] - [[RPi Advanced Setup|Advanced Setup]] - [[RPi Beginners|Beginners Guide]] - [[R-Pi Troubleshooting|Troubleshooting]]&lt;br /&gt;
&lt;br /&gt;
| group2 = '''&amp;lt;span style=&amp;quot;color:#FFFFFF&amp;quot;&amp;gt;Hardware&amp;lt;/span&amp;gt;'''&lt;br /&gt;
| list2  = [[RPi Hardware|Hardware]] - [[RPi HardwareHistory|Hardware History]] - [[RPi Low-level peripherals|Low-level peripherals]] - [[RPi Expansion Boards|Expansion Boards]]&lt;br /&gt;
&lt;br /&gt;
| group3 = '''&amp;lt;span style=&amp;quot;color:#FFFFFF&amp;quot;&amp;gt;Peripherals&amp;lt;/span&amp;gt;'''&lt;br /&gt;
| list3  = &lt;br /&gt;
[[RPi Screens|Screens]] - [[RPi Cases|Cases]] - [[RPi VerifiedPeripherals|Other Peripherals]]&lt;br /&gt;
&lt;br /&gt;
| group4 = '''&amp;lt;span style=&amp;quot;color:#FFFFFF&amp;quot;&amp;gt;Software&amp;lt;/span&amp;gt;'''&lt;br /&gt;
| list4  =&lt;br /&gt;
[[RPi Software|Software]] - [[RPi Distributions|Distributions]] - [[RPi Kernel Compilation|Kernel]] - [[RPi Performance|Performance]] -  [[RPi Programming|Programming]] - [[RPi_VideoCore_APIs|VideoCore APIs]]&lt;br /&gt;
&lt;br /&gt;
| group5 = '''&amp;lt;span style=&amp;quot;color:#FFFFFF&amp;quot;&amp;gt;Projects&amp;lt;/span&amp;gt;'''&lt;br /&gt;
| list5  =&lt;br /&gt;
[[RPi Tutorials|Tutorials]] - [[RPi Guides|Guides]] - [[RPi Projects|Projects]] - [[RPi Tasks|Tasks]] - [[RPi DatasheetCategories|DataSheets]] - [[RPi Education|Education]] - [[RPi Community|Communities]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| below =&lt;br /&gt;
&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;'''''Please use this template only for the English language version''''', and make a copy if you wish to use it for another language. Please be careful when editing and use preview, as this template appears on a number of pages.&lt;br /&gt;
&lt;br /&gt;
To add this to a page, use &amp;lt;nowiki&amp;gt;{{Raspberry Pi}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As the RaspberryPi category is included below, every article using this links table template should be forced to become a member of the category, but feel free to add the category tag to the article anyway as it does no harm.&lt;br /&gt;
&lt;br /&gt;
If you're wondering how this template is possible - it uses the Navbar, Navbox and Transclude templates from wikipedia under Creative Commons Sharealike licence, with CSS info added manually as eLinux doesn't allow editing of the master CSS.&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:RaspberryPi]]&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/RPi_Buying_Guide</id>
		<title>RPi Buying Guide</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RPi_Buying_Guide"/>
				<updated>2013-03-10T14:52:36Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: Added details about Egoman Technology Corp and the Red Pis. Also added links to Maplin.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:RaspberryPi]]&lt;br /&gt;
{{Template:RPi_Startup}}&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi has appointed [http://www.element14.com/raspberrypi Farnell], [http://rswww.com RS Components] and (recently) [http://www.egoman.com.cn/ Egoman Technology Corp]&amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/3195&amp;lt;/ref&amp;gt; as its authorised manufacturing partners &amp;amp; distributors.&lt;br /&gt;
&lt;br /&gt;
As of July 16th 2012, both [http://www.element14.com/raspberrypi Premier Farnell] and [http://rswww.com RS Components] have removed their &amp;quot;one per customer&amp;quot; restriction. Both consumers and businesses alike should now be able to buy bulk stock of the Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi's distributors will ship worldwide to the best of their ability (ie subject to origin export and local import laws).&lt;br /&gt;
&lt;br /&gt;
Countries that are currently subject to UK (including EU and UN) export restrictions include North Korea, Iran, Ivory Coast, Liberia and Zimbabwe. A full list and further details are provided at [http://www.businesslink.gov.uk/bdotg/action/layer?topicId=1084100244]&lt;br /&gt;
&lt;br /&gt;
Farnell have also been refusing to sell direct to some consumers in the EU, to the best of my knowlage they have not given full details of why.&lt;br /&gt;
&lt;br /&gt;
There are three main options for buying a Raspberry Pi, buying direct from the distributor, buying from a subsidary or sister company of the distributor or buying from a third party reseller which option is best will depend on the location of the customer, the number of Raspberry Pi's being purchased, and the urgency of the order.&lt;br /&gt;
&lt;br /&gt;
All new orders from the main distributors should now be filled with 512&amp;amp;nbsp;MB rev 2 Raspberry Pi's. However, some third-party resellers may still have stock of the older models.&lt;br /&gt;
&lt;br /&gt;
Note that stock status may change quickly. It may be worth checking a local supplier even if they are listed as out of stock here.&lt;br /&gt;
&lt;br /&gt;
==Main distributors and subsidaries/sister companies==&lt;br /&gt;
==Farnell==&lt;br /&gt;
http://www.farnell.com/&lt;br /&gt;
Farnell are one of the two main distributors, as of 2012-11-21 their main European operation is out of stock and quoting a three-week lead time. Reports from the forum are that Farnell usually beat their delivery estimates.&lt;br /&gt;
&lt;br /&gt;
For European customers, the customer is asked whether they are &amp;quot;consumer&amp;quot; or &amp;quot;business&amp;quot;. If the customer selects business, they are taken back to Farnell's regular website to order. If the customer selects consumer, they are taken to a dedicated Raspberry Pi site which only offers a small selection of Raspberry Pi related products and gives no information on stock status. Farnell's site claims that consumers who do not have a previous account cannot use the &amp;quot;business&amp;quot; option but it is not clear if this is actually true for all countries. For some countries consumers are directed to third party resellers. The order code for the Raspberry Pi is 2191863.&lt;br /&gt;
&lt;br /&gt;
===Element14===&lt;br /&gt;
http://www.element14.com&lt;br /&gt;
The &amp;quot;Element14&amp;quot; brand is used by a number of different operations within the Premier Farnell group and is also used for the groups &amp;quot;social&amp;quot; operation. In the Asia-Pacific region the Element 14 brand has completely replaced the previous &amp;quot;Premier Electronics&amp;quot; brand for asia and the previous &amp;quot;Farnell&amp;quot; brand for australia and new-zealand. In Europe, the Element14 brand is used in paralell with the Farnell brand. In North america the Element14 brand is used in parallel with the Newark brand.&lt;br /&gt;
&lt;br /&gt;
===Newark===&lt;br /&gt;
http://www.newark.com/&lt;br /&gt;
Newark is the main American branch of the Premier Farnell group (Farnell's parent company). As of 2012-11-21, they are out of stock of Raspberry Pi's, but claim 1321 Expected to ship 2012-11-26 and Further stock expected to ship 2012-12-20.&lt;br /&gt;
&lt;br /&gt;
===Element14 AU/NZ===&lt;br /&gt;
http://au.element14.com/ http://nz.element14.com/&lt;br /&gt;
On Element14's Australian operation (which also serves New Zealand) as of 2012-11-21 availability is listed as &amp;quot;please call&amp;quot; and &amp;quot;supplier lead time&amp;quot; is listed as 30 days. The order code for the Raspberry Pi is 2191863.&lt;br /&gt;
&lt;br /&gt;
===Element 14 Asia===&lt;br /&gt;
http://cn.element14.com/ http://hk.element14.com/ http://in.element14.com/ http://cn.element14.com/ http://kr.element14.com/ http://my.element14.com/ http://ph.element14.com/ http://sg.element14.com/ http://tw.element14.com/ http://th.element14.com/ &lt;br /&gt;
Element14 have warehouses in Singapore and Shanghi. It appears that some countries are served from both warehouses while others are served from only one or the other. UK stock is also listed on these sites. As of 2012-11-21, Element14's Asian operation has 331 Raspberry Pi's in stock in Shanghi and 617 Raspberry Pi's in stock in Singapore. The order code for the Raspberry Pi is 2191863.&lt;br /&gt;
&lt;br /&gt;
===CPC===&lt;br /&gt;
http://cpc.farnell.com/&lt;br /&gt;
CPC is a branch of the Premier Farnell group in the UK based in Preston. As of 2012-11-21, they have 3100 Raspberry Pi's in stock. The order code for the Raspberry Pi is SC12590.&lt;br /&gt;
&lt;br /&gt;
===MCM===&lt;br /&gt;
http://www.mcmelectronics.com/&lt;br /&gt;
MCM is a branch of the Premier Farnell group in the US based in Centerville, Ohio. As of 2012-11-21, they are out of stock and give an estimated ship date of 2012-12-07.&lt;br /&gt;
&lt;br /&gt;
==RS components==&lt;br /&gt;
http://rswww.com/&lt;br /&gt;
RS are the other main distributor. Like Farnell they have a consumer site and business option with the consumer option taking users to a dedicated Raspberry Pi store while the business option takes them back to the regular RS site. They do not state whether consumers must use the consumer site or not. The order code for the Raspberry Pi is 756-8308. As of 2012-11-21, the Raspberry Pi is listed as &amp;quot;Temporarily out of stock - back order for despatch 21/12/2012&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
RS has delayed existing orders on several occasions and are reported on the forum as being very difficult to communicate with.&lt;br /&gt;
&lt;br /&gt;
===Allied electronics===&lt;br /&gt;
http://www.alliedelec.com/&lt;br /&gt;
Allied electronics is the US sister company of RS. The order code for the Raspberry Pi is 70229569. They website does not give a predicted dispatch date and state that &amp;quot;the estimated delivery time is uncertain and will likely take several months&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Reports from the forum are that Allied are easier to communicate with than RS, but they do not appear to be being kept will informed of the stock situation by RS.&lt;br /&gt;
&lt;br /&gt;
==Egoman Technology Corp==&lt;br /&gt;
http://www.egoman.com.cn/&lt;br /&gt;
On 1st February 2013 the Raspberry Pi Foundation announced they had &amp;quot;granted Egoman Technology Corp a licence to produce and distribute Pis in China and Taiwan&amp;quot; and to differentiate these boards, they would only be produced with red PCBs - [http://www.raspberrypi.org/archives/3195 Red Pi at night]. &amp;quot;Egoman are aiming to make these Pis widely available in China, Hong Kong, Macau and Taiwan.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Resellers==&lt;br /&gt;
There are now many companies reselling the Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
===RPF endorsed resellers===&lt;br /&gt;
====Maplin====&lt;br /&gt;
http://www.maplin.co.uk/&lt;br /&gt;
Maplin sells the Raspberry Pi in the UK but only as part of a kit including power supply, keyboard and mouse, programmed 4&amp;amp;nbsp;GB SD card, HDMI cable and wireless dongle. As of 2012-11-21, they list their [http://www.maplin.co.uk/raspberry-piandreg-board-and-starter-kit-652805 Raspberry Pi kit] as in stock for home delivery and also in stock in some stores.&lt;br /&gt;
&lt;br /&gt;
===Farnell Approved resellers===&lt;br /&gt;
Farnell now direct consumers in many countries to &amp;quot;approved retailers&amp;quot; rather than selling to them directly. Some of these suppliers specialise in the Raspberry Pi while others are general Farnell resellers.&lt;br /&gt;
&lt;br /&gt;
====Electrocomponentes S.A====&lt;br /&gt;
http://www.electrocomponentes.com/&lt;br /&gt;
Electrocomponentes S.A sells Farnell producs in Argentina.&lt;br /&gt;
&lt;br /&gt;
====Arabian Electric &amp;amp; Electronics Est.====&lt;br /&gt;
fisuoyla@batelco.com.bh&lt;br /&gt;
Arabian Electric &amp;amp; Electronics Est sells Farnell products in Bahrain.&lt;br /&gt;
&lt;br /&gt;
====Minifo====&lt;br /&gt;
http://www.minifo.com/&lt;br /&gt;
Minifo is a Raspberry Pi retailer in Belgium. As of 2012-11-21, they list the Raspberry Pi as in stock, but they do not state how much stock they have.&lt;br /&gt;
&lt;br /&gt;
====Electromin S.A.====&lt;br /&gt;
http://www.electromin.cl/&lt;br /&gt;
Electromin S.A. sells Farnell producs in Chile.&lt;br /&gt;
&lt;br /&gt;
====Betatech Ltd====&lt;br /&gt;
http://www.farnell.com/distributors/cyprus_bet.htm&lt;br /&gt;
Betatech Ltd sells Farnell products in Cyprus.&lt;br /&gt;
&lt;br /&gt;
====Grand soloutions====&lt;br /&gt;
http://www.gs.com.eg/&lt;br /&gt;
Grand soloutions sells Farnell producs in Egypt. Unfortunately, searching their website by Farnell part number seems to be currently broken.&lt;br /&gt;
&lt;br /&gt;
====Partco Oy====&lt;br /&gt;
http://www.partco.biz/&lt;br /&gt;
Partco sells the Raspberry Pi, Arduino and a selection of electronic components in Finland. As of 2012-11-21, they list the Raspberry Pi as in stock, but they do not state how much stock they have.&lt;br /&gt;
&lt;br /&gt;
==== kubii ====&lt;br /&gt;
http://www.kubii.fr/&lt;br /&gt;
kubii sells the Raspberry Pi, together with a selection of accessories. The website was created when Farnell changed their distribution policy.&lt;br /&gt;
&lt;br /&gt;
====Málna PC Magyarország ====&lt;br /&gt;
http://malnapc.hu/ &lt;br /&gt;
Málna PC Magyarország is a Raspberry Pi reseller in Hungary.&lt;br /&gt;
&lt;br /&gt;
====Midbaejarradio EHF====&lt;br /&gt;
Midbaejarradio EHF is the authorised Farnell distributor for Iceland. &lt;br /&gt;
&lt;br /&gt;
====Lion====&lt;br /&gt;
http://www.lion.co.il/h?q=RASPBERRY&lt;br /&gt;
Lion sells the Raspberry Pi in Israel. As of 2012-11-21, they do not appear to have stock.&lt;br /&gt;
&lt;br /&gt;
====International Oilfield Supplies====&lt;br /&gt;
http://www.farnell.com/distributors/malta_int.htm&lt;br /&gt;
International Oilfield Supplies are the authorised Farnell distributor for Malta.&lt;br /&gt;
&lt;br /&gt;
====Makkays====&lt;br /&gt;
http://www.farnell.com/distributors/pakistan_mak.htm&lt;br /&gt;
Makkays is the authorised Farnell distributor for Pakistan.&lt;br /&gt;
&lt;br /&gt;
====kamami====&lt;br /&gt;
http://www.kamami.pl/&lt;br /&gt;
kamami sells the Raspberry Pi in Poland. &lt;br /&gt;
&lt;br /&gt;
====Mixtronica====&lt;br /&gt;
http://www.mixtronica.com/&lt;br /&gt;
Mixtronica sell Farnell products in Portugal.&lt;br /&gt;
&lt;br /&gt;
====Computer and Engineering Specialists Co====&lt;br /&gt;
http://www.farnell.com/distributors/saudiarabia_ces.htm&lt;br /&gt;
CESCO Group is an authorised Farnell distributor for Saudi Arabia.&lt;br /&gt;
&lt;br /&gt;
====Dialogue s.r.o====&lt;br /&gt;
http://www.dialogue.sk/index.php?page=textaktual&amp;amp;id=71&lt;br /&gt;
Dialogue s.r.o sells the Raspberry Pi and accessories in Slovakia.&lt;br /&gt;
&lt;br /&gt;
====IC elektronika d.o.o.====&lt;br /&gt;
http://www.ic-elect.si/&lt;br /&gt;
IC elektronika d.o.o. sells Farnell products in Slovenia.&lt;br /&gt;
&lt;br /&gt;
====Electrocomp express====&lt;br /&gt;
http://www.eexpress.co.za/&lt;br /&gt;
Electrocomp express sells Farnell products in South Africa. As of 2012-11-21, they list the Raspberry Pi as awaiting delivery and do not give a lead time.&lt;br /&gt;
&lt;br /&gt;
====Orel Solutions (PVT) Ltd====&lt;br /&gt;
http://www.farnell.com/distributors/srilanka_osp.htm&lt;br /&gt;
Orel Solutions (PVT) Ltd is the authorised Farnell distributor for Sri Lanka. &lt;br /&gt;
&lt;br /&gt;
====Mikro-Kit Elektronik AB====&lt;br /&gt;
https://www.microkit.se/&lt;br /&gt;
Mikro-Kit Elektronik AB sells the Raspberry Pi (and it would appear other farnell producs too) in Sweeden. As of 2012-11-21, they list the Raspberry Pi as out of stock with expected delivery 2012-12-11.&lt;br /&gt;
&lt;br /&gt;
====digitec====&lt;br /&gt;
http://www.digitec.ch/ &lt;br /&gt;
Digitec sells the Raspberry Pi in Switzerland.&lt;br /&gt;
&lt;br /&gt;
====Yildrim====&lt;br /&gt;
http://www.yildirimelektronik.com/&lt;br /&gt;
Yildrim sells Farnell products in Turkey.&lt;br /&gt;
&lt;br /&gt;
====DGM distribution====&lt;br /&gt;
http://www.farnell.com/distributors/unitedarabemirates_dgm.htm&lt;br /&gt;
DGM distribution is the authorised Farnell distributor for Dubai.&lt;br /&gt;
&lt;br /&gt;
===Other resellers===&lt;br /&gt;
====Newit====&lt;br /&gt;
http://www.newit.co.uk/&lt;br /&gt;
Newit are a British company selling a variety of ARM hardware and accessories, including the Raspberry Pi. As of 2012-11-21, they list the Raspberry Pi as in stock, but they do not state how much stock they have.&lt;br /&gt;
&lt;br /&gt;
====Makershed====&lt;br /&gt;
http://www.makershed.com/&lt;br /&gt;
Makershed is a US company that sells various stuff aimed at hardware hackers including the Raspberry Pi. As of 2012-11-21, they list the Raspberry Pi as out of stock.&lt;br /&gt;
&lt;br /&gt;
====Tandy====&lt;br /&gt;
http://www.tandyonline.co.uk/&lt;br /&gt;
Tandy is a UK company that sells a small selection of electronics stuff. As of 2012-12-08, Tandy has both 256MV rev 1.1 boards and 512MB rev 2 boards in stock.&lt;br /&gt;
&lt;br /&gt;
Note that the current Tandy is a division of adslnation and other than buying the name has little relationship to the Tandy of old.&lt;br /&gt;
&lt;br /&gt;
====Adafruit====&lt;br /&gt;
http://www.adafruit.com/&lt;br /&gt;
Adafruit is a US company that makes a variety of boards for hardware hackers and tinkerers, some specifically designed for use with the Raspberry Pi. They sell the Raspberry Pi separately, as well as part of a large starter kit including everything needed to start experimenting with the Raspberry Pi and external hardware on the GPIO. They also currently include a free Raspberry Pi with orders over $350.&lt;br /&gt;
&lt;br /&gt;
====SNOOTLAB====&lt;br /&gt;
SNOOTLAB&lt;br /&gt;
http://snootlab.com/&lt;br /&gt;
Sells products in French as well as English. They also sell a number of different components and products such as Arduinos too.&lt;br /&gt;
&lt;br /&gt;
====Tenettech====&lt;br /&gt;
Tenettech&lt;br /&gt;
http://www.tenettech.com/product/2184/raspberry-pi&lt;br /&gt;
Tenettech is Bangalore based company who sells software/hardware based solutions in India. They sell Raspberry Pi and Raspberry Pi kit (which include the Raspberry Pi, SD card, card reader, HDMI cable, and video cable).&lt;br /&gt;
&lt;br /&gt;
====AVIES Tech====&lt;br /&gt;
http://www.shopavies.com&lt;br /&gt;
AVIES Tech is a US company that provides installation and integration solutions for a variety of media centric hardware. They also carry the Raspberry Pi and related accessories.&lt;br /&gt;
&lt;br /&gt;
====Amazon====&lt;br /&gt;
[http://www.amazon.com/ Amazon] also sells boards through the Raspberry Pi name for U$D 48.03. You can buy one [http://www.amazon.com/Raspberry-Pi-Model-Revision-512MB/dp/B009SQQF9C/ref=sr_1_1?ie=UTF8&amp;amp;qid=1361718715&amp;amp;sr=8-1&amp;amp;keywords=raspberry+pi here].&lt;br /&gt;
&lt;br /&gt;
====Bitcrafts====&lt;br /&gt;
[http://etsy.com/shop/bitcrafts Bitcrafts] ships the '''Model A''' worldwide. You can buy one [http://www.etsy.com/listing/124198601/raspberry-pi-model-a? here]. They also sell cases, pIO micro SD adapters and other related accessories.&lt;br /&gt;
&lt;br /&gt;
==Licensed Manufacture==&lt;br /&gt;
The foundation has chosen to license manufacture of the Raspberry Pi, which should provide several advantages including:&lt;br /&gt;
&lt;br /&gt;
# The involvement of RS Components and Premier Farnell means that build volume can be increased much, much faster than would have been possible otherwise. Due to costs and working capital, the foundation would have been limited to batches of only 10k Raspberry Pi's; the Raspberry Pi will now be being built to match demand.&lt;br /&gt;
# Both Premier Farnell and RS Components have worldwide distribution networks, so wherever you are in the world, you will be able to buy from a local distributor. It’s a much better way for you to buy than getting them all shipped from the Foundation in the UK.&lt;br /&gt;
# Both RS Components and Premier Farnell will be taking preorders, something which the foundation would otherwise be unable to do.&lt;br /&gt;
# The foundation will still receive a percentage from the sale of every Raspberry Pi sold, which will be put straight back into the charity.&lt;br /&gt;
# Primarily, by removing the focus on dealing with manufacture, distribution and sales, this frees up the limited resources of the foundation to focus on the original aims and goals of the project.&lt;br /&gt;
&lt;br /&gt;
Additional detail is available in the [http://hardware.slashdot.org/story/12/02/28/2347222/raspberry-pi-now-has-distributors----and-will-soon-have-boards-for-all-video video interview between Eben Upton and SlashDot here (2012-02-28)].&lt;br /&gt;
&lt;br /&gt;
Unfortunately the switch to licensed manufacture has also resulted in a marked reduction in transparency of the process as Farnell and RS consider detailed information of what is going on to be confidential.&lt;br /&gt;
&lt;br /&gt;
==What You Get In The Box==&lt;br /&gt;
1. Pre-Assembled Raspberry Pi board&lt;br /&gt;
&lt;br /&gt;
2. A sheet containing a combination of regulatory information and some very brief instructions. &amp;lt;!-- At least this is the case with Farnell Raspberry Pi's, I don't know about RS ones. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Note:''&lt;br /&gt;
&lt;br /&gt;
''1. The board will be supplied assembled (since most of the components are not suitable for home builds, including the BGA&amp;lt;ref name=&amp;quot;BGA&amp;quot;&amp;gt;http://en.wikipedia.org/wiki/Ball_grid_array&amp;lt;/ref&amp;gt;package mounted SoC&amp;lt;ref name=&amp;quot;SoC&amp;quot;&amp;gt;http://en.wikipedia.org/wiki/System_on_a_chip&amp;lt;/ref&amp;gt; and PoP&amp;lt;ref name=&amp;quot;PoP&amp;quot;&amp;gt;http://en.wikipedia.org/wiki/Package_on_package&amp;lt;/ref&amp;gt; memory).''&lt;br /&gt;
''2. The board has the GPIO header pins for the primary GPIO header (but not the secondary GPIO header added on the revision 2 boards) populated. The SoC JTAG may or may not be present depending on when the board was manufactured and at which factory but aren't really of use to end users anyway due to the lack of Broadcom documentation. The LAN JTAG header does not seem to be present on any boards.&lt;br /&gt;
''3. All other connectors will be assembled in place.''&lt;br /&gt;
&lt;br /&gt;
==Accessories==&lt;br /&gt;
To use the Raspberry Pi, a user will typically require some accessories. All of the Raspberry Pi vendors listed above sell some accessories, but the exact range varies. Accessories you should consider include.&lt;br /&gt;
* USB Power Supply (UK/EU/US Compatible; 5V, 700mA-1500mA(1.5A))&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/general-discussion/is-the-raspberrypi-going-to-be-sold-as-a-kit/#p32289&amp;lt;/ref&amp;gt;&lt;br /&gt;
* SD card. Most distributors are selling pre-prepared SD cards which are usually 4&amp;amp;nbsp;GB. Software is available to prepare your own SD cards.&lt;br /&gt;
* There is a wide choice of [[RPi_Cases|cases]], most distributors will have some but shopping around for one you like is suggested.&lt;br /&gt;
* There are a variety of [[Rpi expansion boards|AddOn/Expansion Boards]] now available, see that page for more details.&lt;br /&gt;
''See [[RPi Hardware Basic Setup#Typical Hardware You Will Need | Typical Hardware You Will Need]] for details about other items you may require.''&lt;br /&gt;
&lt;br /&gt;
==Price==&lt;br /&gt;
The price is $35USD before shipping, duty, and tax, about $60 after. &lt;br /&gt;
&lt;br /&gt;
Although the foundation is UK based, the guide price of the units are in USD since the Raspberry Pi components are sourced in USD$.&lt;br /&gt;
&lt;br /&gt;
The price is $25USD (~£16GBP) for model A, and $35USD (~£23GBP) for model B.&lt;br /&gt;
&lt;br /&gt;
Items will be subject to local tax (that is, UK will have 20% VAT added) and shipping cost is not included.&lt;br /&gt;
&lt;br /&gt;
See the following update on [http://www.raspberrypi.org/archives/826 RS Components and Farnell global pricing] (2012-03-13).&lt;br /&gt;
&lt;br /&gt;
==Clones &amp;amp; Copies==&lt;br /&gt;
The foundation plans to release all the required [[RPi_Hardware#Schematic_.2F_Layout|schematics]] and plans to reproduce the Raspberry Pi hardware, so clones and copies will be welcome.&lt;br /&gt;
&lt;br /&gt;
However, since the unit is built around the Broadcom SoC, the interested party will require suitable sized orders to obtain them. The foundation were fortunate enough to be supported in this aspect by Broadcom to enable the project to be feasible.&lt;br /&gt;
&lt;br /&gt;
==Historic information==&lt;br /&gt;
&lt;br /&gt;
# The foundation have built an initial run of 10,000 Model-B units.&lt;br /&gt;
# Due to extreme demand, the units were NOT sold directly from the [http://www.raspberrypi.com shop] (see [[#Licensed Manufacture]] below).&lt;br /&gt;
# You may buy a Raspberry Pi from [http://www.element14.com/raspberrypi Farnell] or from [http://rswww.com RS Components]&lt;br /&gt;
# A limit of one unit per person was applied for the first batch and some time afterwards&lt;br /&gt;
&lt;br /&gt;
 * There were reports that several people ordered multiple units at launch,&lt;br /&gt;
   however it appears that Farnell removed any excess items when they reviewed&lt;br /&gt;
   and confirmed the order for shipping dates.&lt;br /&gt;
   This has also appears to apply for the pre-orders they have taken.&lt;br /&gt;
   Many customers also ordered from both Farnell and RS.&lt;br /&gt;
&lt;br /&gt;
===1st Batch Order FAQ===&lt;br /&gt;
 NOTE: While every attempt has been made to provide accurate information,&lt;br /&gt;
       this FAQ is not official and is based on what information is available at the time of writing.&lt;br /&gt;
&lt;br /&gt;
====Press Releases====&lt;br /&gt;
'''Farnell:'''&lt;br /&gt;
&lt;br /&gt;
[http://www.element14.com/community/docs/DOC-43262/l/frequently-asked-questions-about-raspberry-pi/?CMP=SOM-TW-e14RasPiFAQ Post-Launch FAQ by Farnell], see their attached docx file for details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''RS Components:'''&lt;br /&gt;
&lt;br /&gt;
[http://www.electrocomponents.com/media/press-releases/2012/02/29th/ Post-Launch statement by RS Components]&lt;br /&gt;
&lt;br /&gt;
[http://uk.rs-online.com/web/generalDisplay.html?id=raspberrypi&amp;amp;file=questions&amp;amp;cm_sp=raspberrypi-_--_-questions Raspberry Pi, Your Questions Answered by RS Components]&lt;br /&gt;
&lt;br /&gt;
====Q: Couldn't this have been handled better, I couldn't get on the site to order and they sold too quickly?====&lt;br /&gt;
Both distributors were indeed unprepared for the volume of traffic the launch generated (they were warned by the foundation before hand).&lt;br /&gt;
&lt;br /&gt;
Chances are if the foundation had gone with their original plan of selling through their own shop, the situation would have been far worse, with no option of pre-order either.&lt;br /&gt;
&lt;br /&gt;
The distributors only have 5,000 units each to sell, reports have estimated the registered interest/pre-orders totalling over 2 million (no official figures available yet).&lt;br /&gt;
Even if it is half of that, it means the number of available units was less than 1% of the demand.&lt;br /&gt;
&lt;br /&gt;
====Q: If interest was obviously so high, why only build 10,000 units?====&lt;br /&gt;
There is a big risk involved with building a large batch of units and selling them, and 10,000 units would take well over $250,000 in capital investment. For a very small charity, that is a massive task in itself. Much of that funding came from the Foundation Trustees' own personal investment.&lt;br /&gt;
&lt;br /&gt;
Thankfully, the massive bonus of licensing out manufacture, is that the build rate is no longer limited by the foundation's own funding, which means there will be many more units available much sooner.&lt;br /&gt;
&lt;br /&gt;
====Q: I've been unable to register an account with the distributor, as I am not a company?====&lt;br /&gt;
There have been several reported problems with individuals placing orders (that is, not having company accounts or details).&lt;br /&gt;
&lt;br /&gt;
Both distributors &amp;quot;should&amp;quot; take orders from individuals. However, it appears each of the different localised sites may have different requirements so this will be investigated to ensure that this is corrected if needed.&lt;br /&gt;
&lt;br /&gt;
Often, many of the company related fields on application are optional. If in doubt, contact their sales team for help.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Q: Worldwide launch? It was not available here! ====&lt;br /&gt;
The distributors decided to make the units only available from selected locations. It appears the foundation were not made aware of this beforehand.&lt;br /&gt;
&lt;br /&gt;
Considering the small number of available units, it would have been unlikely to have improved the situation.&lt;br /&gt;
&lt;br /&gt;
Worldwide availability will be monitored, it is expected that they will be made available as soon as possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Q: The price for the Raspberry Pi from Farnell versus the price from RS Components is different, why?====&lt;br /&gt;
Please see the following page for details about [http://www.raspberrypi.org/archives/826 RS Components and Farnell global pricing] (2012-03-13).&lt;br /&gt;
&lt;br /&gt;
====Q: I've only been able to register my interest, what now?====&lt;br /&gt;
Be patient, both distributors have said they will contact people when they have more details (alternatively keep an eye on their sites for news).&lt;br /&gt;
&lt;br /&gt;
RS Components, in particular have only taken people's details, and according to the above [[#Press Releases | press-release]] will wait until they receive their allocated 5,000 units.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Q: I registered on the Raspberry Pi Site's Mailing List, but I didn't get an email====&lt;br /&gt;
Unfortunately, the mail server had problems with sending out the 100K+ emails in time, it is believed the email was often marked as spam by a lot of email systems so was rejected or returned on-mass, or sent to Junk folders. Yes, this system should have been tested, but the foundation were keen not to send unnecessary emails to people prior to launch.&lt;br /&gt;
&lt;br /&gt;
The email contained the same information about the announcement as was publicly posted on the website (2012-02-28) before launch day, no additional or extra information was given through the email.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Template:Raspberry Pi}}&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/RPi_Hub</id>
		<title>RPi Hub</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RPi_Hub"/>
				<updated>2013-03-10T14:28:50Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: /* About */ Added link to Egoman Technology Corp&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
{{Hub Flags}} &amp;lt;!-- please edit template to alter banner and flag display on all hubs --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; border:1px solid #f80033; padding:0 1em 1em 1em; background-color:#cd5555; align:right; width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;font color=&amp;quot;ffffff&amp;quot;&amp;gt;Notice: The Raspberry Pi Wiki pages on this site is collaborative work - the Raspberry Pi Foundation is '''not''' responsible for content on these pages.&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- This section is a bunch of nonsense.  Is anybody opposed to deletion or movement elsewhere?&lt;br /&gt;
== I need help with... ==&lt;br /&gt;
=== Buying a new Raspberry Pi ===&lt;br /&gt;
Please visit the [[RPi Model Wizard|Model Wizard]] to select your Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
=== Booting an OS onto my Raspberry Pi ===&lt;br /&gt;
Please visit the [[RPi OS Wizard|OS Wizard]] to select your Raspberry Pi OS distribution, or if you'd like to compare the OS distros, visit [[RPi Distributions|OS Distributions]] page to select an OS to boot onto your Raspberry Pi.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Now shipping to customers ==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
HIDING PREVIOUS STUFF:&lt;br /&gt;
&lt;br /&gt;
Premier Farnell and RS Components have started shipping to customers. Congratulations to those at the front of the queue!.&lt;br /&gt;
Work is ongoing to clear the backlog of orders, with both distributors now manufacturing them in serial production. Farnell/Element14 have stated that all people worldwide who ordered their Raspberry Pi through them on or before April 18th should receive theirs by the end of June.&lt;br /&gt;
Update: In the US, on 2012 July 24, Newark/Element 14 is quoting five weeks and Allied is still quoting 12 weeks. An order placed by Rick Seiden on July 19, 2012 at Newark/Element 14 shipped July 31, 2012, indicating a less than five week wait time.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
'''Update on lead times as of 17 November 2012:''' The lead time is around 2 days from Farnell and RS.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Don't have an idea on which to buy? Use the [[RPi Model Wizard|Model Wizard]] to select your Raspberry Pi!&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See the [[RPi Buying Guide|Buying Guide]] on how to order one, or visit the [http://www.raspberrypi.org Raspberry Pi Foundation Home Page]&lt;br /&gt;
&lt;br /&gt;
== About ==&lt;br /&gt;
[[File:RpiFront.jpg|300px|thumb|right|The Raspberry Pi production board (model B Rev 2.0)]]&lt;br /&gt;
&lt;br /&gt;
The Raspberry Pi (short: RPi or RasPi) is an ultra-low-cost ($25-$35) credit-card sized Linux computer which was conceived with the primary goal of teaching computer programming to children. It was developed by the [http://www.raspberrypi.org Raspberry Pi Foundation], which is a UK registered charity (Registration Number [http://www.charity-commission.gov.uk/Showcharity/RegisterOfCharities/CharityWithoutPartB.aspx?RegisteredCharityNumber=1129409&amp;amp;SubsidiaryNumber=0 1129409]). The foundation exists to promote the study of computer science and related topics, especially at school level, and to put the fun back into learning computing. The device is expected to have many other applications both in the developed and the developing world ([[RPi_Philosophy|Read more]]).&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi is manufactured and sold in partnership with the worldwide industrial distributors [http://www.farnell.com/ Premier Farnell/Element 14] and [http://rswww.com/ RS Components], and the Chinese distributor [http://www.egoman.com.cn/ Egoman Technology Corp]&amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/3195&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* You can get the latest news from the [http://www.raspberrypi.org Foundation Home Page], the [http://twitter.com/intent/user?screen_name=Raspberry_Pi Twitter Feed] or in the [http://www.raspberrypi.org/forum/general-discussion/news-articles-and-blog-posts-about-raspberry-pi forums].&lt;br /&gt;
* For Raspberry Pi frequently asked questions see the [[RPi FAQ|FAQ section]] or the [http://www.raspberrypi.org/?page_id=8 Raspberry Pi Foundation's FAQ] page.&lt;br /&gt;
* Both manufacturing partners provide community areas for more technically focused discussions, articles, FAQs and related information:&lt;br /&gt;
:* Premier Farnell: [http://www.element14.com/community/groups/raspberry-pi?view=discussions Element 14 Raspberry Pi Group]&lt;br /&gt;
:* RS-Components: [http://www.designspark.com/theme/raspberrypi DesignSpark - Raspberry Pi]&lt;br /&gt;
* Products are RoHS, CE, FCC, CTick, CSA and WEEE compliant&amp;lt;ref&amp;gt;http://www.element14.com/community/docs/DOC-44828/l/raspberry-pi-safety-data-sheet&amp;lt;/ref&amp;gt;.  In common with all Electronic and Electrical products the Raspberry Pi should not be disposed of in household waste.  Please contact the distributor from whom you purchased your Raspberry Pi device for details regarding WEEE in your country.&lt;br /&gt;
* Price: 25USD Model A, 35USD for Model B, excluding taxes, postage and packaging. For information about availability and shipping see the [[RPi Buying Guide | Buying Guide]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== History ===&lt;br /&gt;
&lt;br /&gt;
If you are interested in why the Raspberry Pi was created, and why it is what it is, check the [[RPi General History|General History]] page, which highlights relevant events in its history. It is not intended to be a detailed history, so it can be read quickly. You could also check the [[Rpi_HardwareHistory | design changes]] page for how the Raspberry Pi has evolved, and the [[RaspberryPi_Boards | manufacturing differences]] page that may help if you are having problems with your board.&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;background:transparent;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa;&amp;quot; |&lt;br /&gt;
=== [[Buying RPi|Buying Guide]] ===&lt;br /&gt;
&amp;lt;!-- ----&lt;br /&gt;
The [[RPi Model Wizard|Model Wizard]] will help you select your model to buy.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
Where can I get one and for how much?&lt;br /&gt;
* The Raspberry Pi can no longer only be purchased via their official distribution partners - detailed information can be found on the [[Buying RPi | RPi Buying Guide]] page.&lt;br /&gt;
&lt;br /&gt;
* Additional accessories, peripherals and merchandise will also be available through the [http://www.raspberrypi.com/ Raspberry Pi Shop], as well as [http://thepihut.com/ The Pi Hut's Raspberry Pi Store], [http://easyaspistore.com/ the EasyAsPi Store], and many others on Amazon [http://www.amazon.co.uk/ Amazon UK] and eBay [http://www.ebay.co.uk/ eBay UK] websites.&lt;br /&gt;
&lt;br /&gt;
* You can find out which peripherals and such are tested to work with the PI in the [[RPi_VerifiedPeripherals]] section&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== [[RPi Hardware Basic Setup|Basic Setup]] ===&lt;br /&gt;
----&lt;br /&gt;
First little Raspberry Pi Steps...&lt;br /&gt;
* Ensure you have all the [[RPi Hardware Basic Setup#Typical_Hardware_You_Will_Need |equipment]] you need to go with your Raspberry Pi.&lt;br /&gt;
* Become familiar with the [[RPi Hardware Basic Setup#Connecting_Together | board layout and connect]] it ready for power up.&lt;br /&gt;
* If you have not been provided with a pre-setup SD card you will need to prepare one with your chosen [[RPi_Easy_SD_Card_Setup | Operating System distribution]]&lt;br /&gt;
* Note: On the Debian OS after you log in you need to type '''startx''' at the prompt to get a graphic desktop.&lt;br /&gt;
* Particularly after first boot its important to do a clean shutdown with the command '''sudo halt'''&lt;br /&gt;
&lt;br /&gt;
* '''Having problems? Try the [[R-Pi_Troubleshooting | Troubleshooting]] page.'''&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== [[RPi Beginners|Beginners Guide]] ===&lt;br /&gt;
----&lt;br /&gt;
You've just got your new Raspberry Pi device - what now?&lt;br /&gt;
* [[RPi Beginners|Beginners Guide]]&lt;br /&gt;
&lt;br /&gt;
* Learn about the basics with the [http://h2g2.com/dna/h2g2/A13735596 H2G2 - Introducing the Raspberry Pi] entry.&lt;br /&gt;
&lt;br /&gt;
* Read a small book for the Raspberry Pi Beginner [http://bitkistl.blogspot.co.at/2013/01/raspberry-pi-e-book.html]&lt;br /&gt;
&lt;br /&gt;
* Get started with some basic projects and tutorials:&lt;br /&gt;
[http://www.youtube.com/user/RaspberryPiTutorials Raspberry Pi YouTube Tutorials]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/user/RaspberryPiBeginners Another set of video tutorials]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/playlist?list=PLgyU3jNA6VjS3ij6ZXbb2x4GdEP3bAWzO My First Raspberry Pi Game]&lt;br /&gt;
&lt;br /&gt;
[[RPi Tutorial Easy GPIO Hardware &amp;amp; Software|Easy GPIO Hardware &amp;amp; Software]] - in-progress at the moment&lt;br /&gt;
 Example projects/tuts which can be linked from here&lt;br /&gt;
 (or from within a beginners guide page perhaps):&lt;br /&gt;
  Setup XBMC media centre&lt;br /&gt;
  Programming tutorials (Liams YouTube etc)&lt;br /&gt;
  Easy GPIO (when complete or similar thing).&lt;br /&gt;
  Also links to some basic linux user guides.&lt;br /&gt;
&lt;br /&gt;
* Take a look through the [[#Community|Community]] section, which contains a range of beginner and advanced tutorials and guides, as well as groups to help you find like-minded developers.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;background:transparent;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== [[RPi Hardware|Hardware]] &amp;amp; [[RPi VerifiedPeripherals|Peripherals]] ===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* The Model B is more advanced than the Model A - see [[RPi Hardware]].&lt;br /&gt;
* The RPi can be plugged into a [[RPi Screens|suitable TV or monitor]].&lt;br /&gt;
* The unit will support a range of [[RPi VerifiedPeripherals|devices, peripherals and accessories]].&lt;br /&gt;
* The [[Rpi Low-level peripherals|Low-level interfaces]] allow the use of optional [[RPi Expansion Boards|Expansion Boards]] in a wide range of projects.&lt;br /&gt;
* For more advanced issues including see [[RPi Advanced Setup|Advanced Setup]].&lt;br /&gt;
* [[RPi Peripherals|Setting up peripherals - examples/HowTos]]&lt;br /&gt;
* [[RaspberryPi Boards|List of boards and user feedback]]&lt;br /&gt;
* [[RPi 5V PSU construction|Power Supply construction - HowTo]]&lt;br /&gt;
* [[RaspberryPi_Comparison|Comparison]] to other hardware&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== [[Rpi_Software|Software]] &amp;amp; [[RPi_Distributions|OS Distributions]] ===&lt;br /&gt;
----&lt;br /&gt;
The Raspberry Pi will run a range of OS Distributions and run a variety of software.&lt;br /&gt;
* See [[RPi Software|Software]] for an overview, and [[RPi Distributions|OS Distributions]] for supported operating system and pre-configured 'images'.&lt;br /&gt;
*Main OS distributions include [[RPi Distributions#Debian_ARM | Debian ARM]], [[RPi Distributions#Fedora | Fedora]], [[RPi Distributions#KidsRuby | KidsRuby]] and [http://puppylinux.org/wikka/Puppi Puppi] from Puppy Linux.&lt;br /&gt;
*Advice is also available if you want to [[Rpi_kernel_compilation|compile a kernel]], [[RPi_U-Boot|boot from the network using U-Boot]], or [[RPi_Performance|test the Pi's performance]].&lt;br /&gt;
*The Raspberry Pi supports a wide range of [[RPi Programming|programming languages]], with many tutorials available.&lt;br /&gt;
*Information about installing specific [[RPi_applications|applications]] is available through the link.&lt;br /&gt;
*Extensive (boot) configuration info (config.txt) is available [[RPi_config.txt|here]].&lt;br /&gt;
*Monitor your Raspberry Pi with Raspcontrol [[Raspcontrol|here]]&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== [[RPi Documentation|Documentation]] ===&lt;br /&gt;
----&lt;br /&gt;
Documentation relating to the Raspberry Pi can be found [[RPi Documentation|here]].&lt;br /&gt;
&lt;br /&gt;
[[RPi DatasheetCategories|Frambozenier.org Documentation Project Datasheets]]&lt;br /&gt;
&lt;br /&gt;
 Example documents which can be linked from here (or sub page):&lt;br /&gt;
  Official Datasheets&lt;br /&gt;
  White Papers&lt;br /&gt;
  User Manuals&lt;br /&gt;
  Recommended books (perhaps)&lt;br /&gt;
&lt;br /&gt;
=== RPi Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
Head over to the [[R-Pi Troubleshooting|troubleshooting page]] for help fixing common problems.&lt;br /&gt;
&lt;br /&gt;
=== RPi Bugs ===&lt;br /&gt;
&lt;br /&gt;
Head over to the [[RPi_Bugs|bugs page]] for a list of known bugs.&lt;br /&gt;
&lt;br /&gt;
=== RPi Model B 3D CAD files ===&lt;br /&gt;
Theses are various 3D CAD Versions in both RAR and ZIP.&lt;br /&gt;
&lt;br /&gt;
* CATIA V5 RAR http://sdrv.ms/JqdhMb&lt;br /&gt;
* CATIA V5 ZIP http://sdrv.ms/LjyLGD&lt;br /&gt;
* ProE RAR http://sdrv.ms/KCv1hZ&lt;br /&gt;
* ProE ZIP http://sdrv.ms/KCvhxq&lt;br /&gt;
* STEP RAR http://sdrv.ms/KCvv7T&lt;br /&gt;
* STEP ZIP http://sdrv.ms/JMhv18&lt;br /&gt;
* SketchUp http://scc.jezmckean.com/item/581&lt;br /&gt;
* SketchUp8 http://sketchup.google.com/3dwarehouse/details?mid=327d6b1d8bd6130d6fbd6b70c7f1d3e0&lt;br /&gt;
* Eagle 5 http://www.raspberrypi.org/phpBB3/viewtopic.php?f=41&amp;amp;t=4457&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Community ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;background:transparent;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== [[RPi Projects|Projects]], [[RPi Guides|Guides]] &amp;amp; [[RPi Tutorials|Tutorials]] ===&lt;br /&gt;
----&lt;br /&gt;
*An important source of information and guides is the [http://www.raspberrypi.org/forum Official Forum].&lt;br /&gt;
*Get started by following some of the many [[RPi Tutorials | Tutorials]].&lt;br /&gt;
*Common tasks and useful tips are available through the [[RPi Guides | Guides page]]. &lt;br /&gt;
*Projects can be found, and added to, on the [[RPi Projects |Projects page]].&lt;br /&gt;
*Raspberry Pi Datasheets can be found on the [[RPi DatasheetCategories |DataSheets page]].&lt;br /&gt;
*Knowledgeable users may want to review and help out with project wishlist items on the [[RPi Tasks |Tasks page]].&lt;br /&gt;
*[[Configuring a Static IP address on your Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== [[RPi Education|Schools, Universities, Clubs &amp;amp; Groups]] ===&lt;br /&gt;
----&lt;br /&gt;
*The Raspberry Pi Foundation's aims include encouraging education. Several groups including [http://www.computingatschool.org.uk/ Computing At School] aim to bring Computing Science back into schools.&lt;br /&gt;
*Go to the [[Rpi Education|Education Page]] to add your project and find helpful links.&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;&amp;quot; |&lt;br /&gt;
=== [[RPi Community|Supporting Communities]] ===&lt;br /&gt;
----&lt;br /&gt;
The [[RPi Community|Raspberry Pi Community]] is steadily growing: &lt;br /&gt;
* [http://www.raspberrypi.org/forum The Official Raspberry Pi Forum]&lt;br /&gt;
* [http://www.element14.com/community/groups/raspberry-pi?view=discussions Element 14 Raspberry Pi Group], community site of Premier Farnell&lt;br /&gt;
* [http://www.designspark.com/theme/raspberrypi DesignSpark], community site of RS-Components&lt;br /&gt;
* [http://www.frambozenbier.org/index.php/ 'Frambozenbier' (Raspberry Pi Homebrew)]&lt;br /&gt;
* [http://raspberrypi.stackexchange.com/ Stack Exchange Forum]&lt;br /&gt;
* [http://www.raspberrypiforums.com/forum RaspberryPiForums] Un-Official Raspberry Pi Discussion Board&lt;br /&gt;
* [http://www.raspberrypi-spanish.es Non-official community of Raspberry Pi in spanish language]&lt;br /&gt;
* [http://www.worldofpi.com/ World Of Pi] A forum based on all things Raspberry Pi.&lt;br /&gt;
* [[RPi Community Magazine]] - User contributed eMagazine, get involved!&lt;br /&gt;
* [[RaspberryPi Osdev]] - Hardware specific OS-development community, sitting in freenode.net#raspberrypi-osdev.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== About the RPi Wiki ==&lt;br /&gt;
'''Do not be afraid to add your bit, content is vital for the wiki to function.'''&lt;br /&gt;
&lt;br /&gt;
[[File:Rasp_turn_around.gif|200px|thumb|right|A 3D rendering of the Raspberry Pi logo&amp;lt;!--by forum user Antario. [http://www.raspberrypi.org/forum/projects-and-collaboration-general/raspberry-pi-3d-logo-animation Source]--&amp;gt;]]&lt;br /&gt;
&amp;lt;!-- We are governed by the [[Project:RPi_Council|RPi Wiki Council]] (RPWC). New guidelines not made by Ghans alone are currently being drafted. As the RPi wiki is currently a wreck, the council's current goal is to clean up the RPi Wiki! --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Translations ===&lt;br /&gt;
&lt;br /&gt;
The wiki is being translated into several languages, some of which can be seen on the hub banner above. Current languages include:&lt;br /&gt;
&lt;br /&gt;
* English: [[R-Pi Hub]]&lt;br /&gt;
* Français: [[FR:R-Pi Hub]]&lt;br /&gt;
Any help translating would be greatly appreciated. Thank you to those who have already contributed!&lt;br /&gt;
&lt;br /&gt;
=== Admins/Contributors ===&lt;br /&gt;
&amp;lt;del&amp;gt;The wiki is governed by the [[Project:RPi_Council|Raspberry Pi Wiki Council]].&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:NOTE - This wiki is NOT governed by the [[Project:RPi_Council|Raspberry Pi Wiki Council]].  The whole of elinux.org is community driven.  It always has been.  If you have any questions, contact [[User:Wmat]].&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Template:Raspberry Pi}}&lt;br /&gt;
[[Category:RaspberryPi]]&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/RPi_Hub</id>
		<title>RPi Hub</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RPi_Hub"/>
				<updated>2013-03-10T14:18:16Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: Added link to charity-commission&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
{{Hub Flags}} &amp;lt;!-- please edit template to alter banner and flag display on all hubs --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; border:1px solid #f80033; padding:0 1em 1em 1em; background-color:#cd5555; align:right; width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;font color=&amp;quot;ffffff&amp;quot;&amp;gt;Notice: The Raspberry Pi Wiki pages on this site is collaborative work - the Raspberry Pi Foundation is '''not''' responsible for content on these pages.&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- This section is a bunch of nonsense.  Is anybody opposed to deletion or movement elsewhere?&lt;br /&gt;
== I need help with... ==&lt;br /&gt;
=== Buying a new Raspberry Pi ===&lt;br /&gt;
Please visit the [[RPi Model Wizard|Model Wizard]] to select your Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
=== Booting an OS onto my Raspberry Pi ===&lt;br /&gt;
Please visit the [[RPi OS Wizard|OS Wizard]] to select your Raspberry Pi OS distribution, or if you'd like to compare the OS distros, visit [[RPi Distributions|OS Distributions]] page to select an OS to boot onto your Raspberry Pi.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Now shipping to customers ==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
HIDING PREVIOUS STUFF:&lt;br /&gt;
&lt;br /&gt;
Premier Farnell and RS Components have started shipping to customers. Congratulations to those at the front of the queue!.&lt;br /&gt;
Work is ongoing to clear the backlog of orders, with both distributors now manufacturing them in serial production. Farnell/Element14 have stated that all people worldwide who ordered their Raspberry Pi through them on or before April 18th should receive theirs by the end of June.&lt;br /&gt;
Update: In the US, on 2012 July 24, Newark/Element 14 is quoting five weeks and Allied is still quoting 12 weeks. An order placed by Rick Seiden on July 19, 2012 at Newark/Element 14 shipped July 31, 2012, indicating a less than five week wait time.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
'''Update on lead times as of 17 November 2012:''' The lead time is around 2 days from Farnell and RS.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Don't have an idea on which to buy? Use the [[RPi Model Wizard|Model Wizard]] to select your Raspberry Pi!&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See the [[RPi Buying Guide|Buying Guide]] on how to order one, or visit the [http://www.raspberrypi.org Raspberry Pi Foundation Home Page]&lt;br /&gt;
&lt;br /&gt;
== About ==&lt;br /&gt;
[[File:RpiFront.jpg|300px|thumb|right|The Raspberry Pi production board (model B Rev 2.0)]]&lt;br /&gt;
&lt;br /&gt;
The Raspberry Pi (short: RPi or RasPi) is an ultra-low-cost ($25-$35) credit-card sized Linux computer which was conceived with the primary goal of teaching computer programming to children. It was developed by the [http://www.raspberrypi.org Raspberry Pi Foundation], which is a UK registered charity (Registration Number [http://www.charity-commission.gov.uk/Showcharity/RegisterOfCharities/CharityWithoutPartB.aspx?RegisteredCharityNumber=1129409&amp;amp;SubsidiaryNumber=0 1129409]). The foundation exists to promote the study of computer science and related topics, especially at school level, and to put the fun back into learning computing. The device is expected to have many other applications both in the developed and the developing world ([[RPi_Philosophy|Read more]]).&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi is manufactured and sold in partnership with the worldwide industrial distributors [http://www.farnell.com/ Premier Farnell/Element 14] and [http://rswww.com/ RS Components].&lt;br /&gt;
&lt;br /&gt;
* You can get the latest news from the [http://www.raspberrypi.org Foundation Home Page], the [http://twitter.com/intent/user?screen_name=Raspberry_Pi Twitter Feed] or in the [http://www.raspberrypi.org/forum/general-discussion/news-articles-and-blog-posts-about-raspberry-pi forums].&lt;br /&gt;
* For Raspberry Pi frequently asked questions see the [[RPi FAQ|FAQ section]] or the [http://www.raspberrypi.org/?page_id=8 Raspberry Pi Foundation's FAQ] page.&lt;br /&gt;
* Both manufacturing partners provide community areas for more technically focused discussions, articles, FAQs and related information:&lt;br /&gt;
:* Premier Farnell: [http://www.element14.com/community/groups/raspberry-pi?view=discussions Element 14 Raspberry Pi Group]&lt;br /&gt;
:* RS-Components: [http://www.designspark.com/theme/raspberrypi DesignSpark - Raspberry Pi]&lt;br /&gt;
* Products are RoHS, CE, FCC, CTick, CSA and WEEE compliant&amp;lt;ref&amp;gt;http://www.element14.com/community/docs/DOC-44828/l/raspberry-pi-safety-data-sheet&amp;lt;/ref&amp;gt;.  In common with all Electronic and Electrical products the Raspberry Pi should not be disposed of in household waste.  Please contact the distributor from whom you purchased your Raspberry Pi device for details regarding WEEE in your country.&lt;br /&gt;
* Price: 25USD Model A, 35USD for Model B, excluding taxes, postage and packaging. For information about availability and shipping see the [[RPi Buying Guide | Buying Guide]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== History ===&lt;br /&gt;
&lt;br /&gt;
If you are interested in why the Raspberry Pi was created, and why it is what it is, check the [[RPi General History|General History]] page, which highlights relevant events in its history. It is not intended to be a detailed history, so it can be read quickly. You could also check the [[Rpi_HardwareHistory | design changes]] page for how the Raspberry Pi has evolved, and the [[RaspberryPi_Boards | manufacturing differences]] page that may help if you are having problems with your board.&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;background:transparent;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa;&amp;quot; |&lt;br /&gt;
=== [[Buying RPi|Buying Guide]] ===&lt;br /&gt;
&amp;lt;!-- ----&lt;br /&gt;
The [[RPi Model Wizard|Model Wizard]] will help you select your model to buy.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
Where can I get one and for how much?&lt;br /&gt;
* The Raspberry Pi can no longer only be purchased via their official distribution partners - detailed information can be found on the [[Buying RPi | RPi Buying Guide]] page.&lt;br /&gt;
&lt;br /&gt;
* Additional accessories, peripherals and merchandise will also be available through the [http://www.raspberrypi.com/ Raspberry Pi Shop], as well as [http://thepihut.com/ The Pi Hut's Raspberry Pi Store], [http://easyaspistore.com/ the EasyAsPi Store], and many others on Amazon [http://www.amazon.co.uk/ Amazon UK] and eBay [http://www.ebay.co.uk/ eBay UK] websites.&lt;br /&gt;
&lt;br /&gt;
* You can find out which peripherals and such are tested to work with the PI in the [[RPi_VerifiedPeripherals]] section&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== [[RPi Hardware Basic Setup|Basic Setup]] ===&lt;br /&gt;
----&lt;br /&gt;
First little Raspberry Pi Steps...&lt;br /&gt;
* Ensure you have all the [[RPi Hardware Basic Setup#Typical_Hardware_You_Will_Need |equipment]] you need to go with your Raspberry Pi.&lt;br /&gt;
* Become familiar with the [[RPi Hardware Basic Setup#Connecting_Together | board layout and connect]] it ready for power up.&lt;br /&gt;
* If you have not been provided with a pre-setup SD card you will need to prepare one with your chosen [[RPi_Easy_SD_Card_Setup | Operating System distribution]]&lt;br /&gt;
* Note: On the Debian OS after you log in you need to type '''startx''' at the prompt to get a graphic desktop.&lt;br /&gt;
* Particularly after first boot its important to do a clean shutdown with the command '''sudo halt'''&lt;br /&gt;
&lt;br /&gt;
* '''Having problems? Try the [[R-Pi_Troubleshooting | Troubleshooting]] page.'''&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== [[RPi Beginners|Beginners Guide]] ===&lt;br /&gt;
----&lt;br /&gt;
You've just got your new Raspberry Pi device - what now?&lt;br /&gt;
* [[RPi Beginners|Beginners Guide]]&lt;br /&gt;
&lt;br /&gt;
* Learn about the basics with the [http://h2g2.com/dna/h2g2/A13735596 H2G2 - Introducing the Raspberry Pi] entry.&lt;br /&gt;
&lt;br /&gt;
* Read a small book for the Raspberry Pi Beginner [http://bitkistl.blogspot.co.at/2013/01/raspberry-pi-e-book.html]&lt;br /&gt;
&lt;br /&gt;
* Get started with some basic projects and tutorials:&lt;br /&gt;
[http://www.youtube.com/user/RaspberryPiTutorials Raspberry Pi YouTube Tutorials]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/user/RaspberryPiBeginners Another set of video tutorials]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/playlist?list=PLgyU3jNA6VjS3ij6ZXbb2x4GdEP3bAWzO My First Raspberry Pi Game]&lt;br /&gt;
&lt;br /&gt;
[[RPi Tutorial Easy GPIO Hardware &amp;amp; Software|Easy GPIO Hardware &amp;amp; Software]] - in-progress at the moment&lt;br /&gt;
 Example projects/tuts which can be linked from here&lt;br /&gt;
 (or from within a beginners guide page perhaps):&lt;br /&gt;
  Setup XBMC media centre&lt;br /&gt;
  Programming tutorials (Liams YouTube etc)&lt;br /&gt;
  Easy GPIO (when complete or similar thing).&lt;br /&gt;
  Also links to some basic linux user guides.&lt;br /&gt;
&lt;br /&gt;
* Take a look through the [[#Community|Community]] section, which contains a range of beginner and advanced tutorials and guides, as well as groups to help you find like-minded developers.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;background:transparent;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== [[RPi Hardware|Hardware]] &amp;amp; [[RPi VerifiedPeripherals|Peripherals]] ===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* The Model B is more advanced than the Model A - see [[RPi Hardware]].&lt;br /&gt;
* The RPi can be plugged into a [[RPi Screens|suitable TV or monitor]].&lt;br /&gt;
* The unit will support a range of [[RPi VerifiedPeripherals|devices, peripherals and accessories]].&lt;br /&gt;
* The [[Rpi Low-level peripherals|Low-level interfaces]] allow the use of optional [[RPi Expansion Boards|Expansion Boards]] in a wide range of projects.&lt;br /&gt;
* For more advanced issues including see [[RPi Advanced Setup|Advanced Setup]].&lt;br /&gt;
* [[RPi Peripherals|Setting up peripherals - examples/HowTos]]&lt;br /&gt;
* [[RaspberryPi Boards|List of boards and user feedback]]&lt;br /&gt;
* [[RPi 5V PSU construction|Power Supply construction - HowTo]]&lt;br /&gt;
* [[RaspberryPi_Comparison|Comparison]] to other hardware&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== [[Rpi_Software|Software]] &amp;amp; [[RPi_Distributions|OS Distributions]] ===&lt;br /&gt;
----&lt;br /&gt;
The Raspberry Pi will run a range of OS Distributions and run a variety of software.&lt;br /&gt;
* See [[RPi Software|Software]] for an overview, and [[RPi Distributions|OS Distributions]] for supported operating system and pre-configured 'images'.&lt;br /&gt;
*Main OS distributions include [[RPi Distributions#Debian_ARM | Debian ARM]], [[RPi Distributions#Fedora | Fedora]], [[RPi Distributions#KidsRuby | KidsRuby]] and [http://puppylinux.org/wikka/Puppi Puppi] from Puppy Linux.&lt;br /&gt;
*Advice is also available if you want to [[Rpi_kernel_compilation|compile a kernel]], [[RPi_U-Boot|boot from the network using U-Boot]], or [[RPi_Performance|test the Pi's performance]].&lt;br /&gt;
*The Raspberry Pi supports a wide range of [[RPi Programming|programming languages]], with many tutorials available.&lt;br /&gt;
*Information about installing specific [[RPi_applications|applications]] is available through the link.&lt;br /&gt;
*Extensive (boot) configuration info (config.txt) is available [[RPi_config.txt|here]].&lt;br /&gt;
*Monitor your Raspberry Pi with Raspcontrol [[Raspcontrol|here]]&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== [[RPi Documentation|Documentation]] ===&lt;br /&gt;
----&lt;br /&gt;
Documentation relating to the Raspberry Pi can be found [[RPi Documentation|here]].&lt;br /&gt;
&lt;br /&gt;
[[RPi DatasheetCategories|Frambozenier.org Documentation Project Datasheets]]&lt;br /&gt;
&lt;br /&gt;
 Example documents which can be linked from here (or sub page):&lt;br /&gt;
  Official Datasheets&lt;br /&gt;
  White Papers&lt;br /&gt;
  User Manuals&lt;br /&gt;
  Recommended books (perhaps)&lt;br /&gt;
&lt;br /&gt;
=== RPi Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
Head over to the [[R-Pi Troubleshooting|troubleshooting page]] for help fixing common problems.&lt;br /&gt;
&lt;br /&gt;
=== RPi Bugs ===&lt;br /&gt;
&lt;br /&gt;
Head over to the [[RPi_Bugs|bugs page]] for a list of known bugs.&lt;br /&gt;
&lt;br /&gt;
=== RPi Model B 3D CAD files ===&lt;br /&gt;
Theses are various 3D CAD Versions in both RAR and ZIP.&lt;br /&gt;
&lt;br /&gt;
* CATIA V5 RAR http://sdrv.ms/JqdhMb&lt;br /&gt;
* CATIA V5 ZIP http://sdrv.ms/LjyLGD&lt;br /&gt;
* ProE RAR http://sdrv.ms/KCv1hZ&lt;br /&gt;
* ProE ZIP http://sdrv.ms/KCvhxq&lt;br /&gt;
* STEP RAR http://sdrv.ms/KCvv7T&lt;br /&gt;
* STEP ZIP http://sdrv.ms/JMhv18&lt;br /&gt;
* SketchUp http://scc.jezmckean.com/item/581&lt;br /&gt;
* SketchUp8 http://sketchup.google.com/3dwarehouse/details?mid=327d6b1d8bd6130d6fbd6b70c7f1d3e0&lt;br /&gt;
* Eagle 5 http://www.raspberrypi.org/phpBB3/viewtopic.php?f=41&amp;amp;t=4457&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Community ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;background:transparent;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== [[RPi Projects|Projects]], [[RPi Guides|Guides]] &amp;amp; [[RPi Tutorials|Tutorials]] ===&lt;br /&gt;
----&lt;br /&gt;
*An important source of information and guides is the [http://www.raspberrypi.org/forum Official Forum].&lt;br /&gt;
*Get started by following some of the many [[RPi Tutorials | Tutorials]].&lt;br /&gt;
*Common tasks and useful tips are available through the [[RPi Guides | Guides page]]. &lt;br /&gt;
*Projects can be found, and added to, on the [[RPi Projects |Projects page]].&lt;br /&gt;
*Raspberry Pi Datasheets can be found on the [[RPi DatasheetCategories |DataSheets page]].&lt;br /&gt;
*Knowledgeable users may want to review and help out with project wishlist items on the [[RPi Tasks |Tasks page]].&lt;br /&gt;
*[[Configuring a Static IP address on your Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== [[RPi Education|Schools, Universities, Clubs &amp;amp; Groups]] ===&lt;br /&gt;
----&lt;br /&gt;
*The Raspberry Pi Foundation's aims include encouraging education. Several groups including [http://www.computingatschool.org.uk/ Computing At School] aim to bring Computing Science back into schools.&lt;br /&gt;
*Go to the [[Rpi Education|Education Page]] to add your project and find helpful links.&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;&amp;quot; |&lt;br /&gt;
=== [[RPi Community|Supporting Communities]] ===&lt;br /&gt;
----&lt;br /&gt;
The [[RPi Community|Raspberry Pi Community]] is steadily growing: &lt;br /&gt;
* [http://www.raspberrypi.org/forum The Official Raspberry Pi Forum]&lt;br /&gt;
* [http://www.element14.com/community/groups/raspberry-pi?view=discussions Element 14 Raspberry Pi Group], community site of Premier Farnell&lt;br /&gt;
* [http://www.designspark.com/theme/raspberrypi DesignSpark], community site of RS-Components&lt;br /&gt;
* [http://www.frambozenbier.org/index.php/ 'Frambozenbier' (Raspberry Pi Homebrew)]&lt;br /&gt;
* [http://raspberrypi.stackexchange.com/ Stack Exchange Forum]&lt;br /&gt;
* [http://www.raspberrypiforums.com/forum RaspberryPiForums] Un-Official Raspberry Pi Discussion Board&lt;br /&gt;
* [http://www.raspberrypi-spanish.es Non-official community of Raspberry Pi in spanish language]&lt;br /&gt;
* [http://www.worldofpi.com/ World Of Pi] A forum based on all things Raspberry Pi.&lt;br /&gt;
* [[RPi Community Magazine]] - User contributed eMagazine, get involved!&lt;br /&gt;
* [[RaspberryPi Osdev]] - Hardware specific OS-development community, sitting in freenode.net#raspberrypi-osdev.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== About the RPi Wiki ==&lt;br /&gt;
'''Do not be afraid to add your bit, content is vital for the wiki to function.'''&lt;br /&gt;
&lt;br /&gt;
[[File:Rasp_turn_around.gif|200px|thumb|right|A 3D rendering of the Raspberry Pi logo&amp;lt;!--by forum user Antario. [http://www.raspberrypi.org/forum/projects-and-collaboration-general/raspberry-pi-3d-logo-animation Source]--&amp;gt;]]&lt;br /&gt;
&amp;lt;!-- We are governed by the [[Project:RPi_Council|RPi Wiki Council]] (RPWC). New guidelines not made by Ghans alone are currently being drafted. As the RPi wiki is currently a wreck, the council's current goal is to clean up the RPi Wiki! --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Translations ===&lt;br /&gt;
&lt;br /&gt;
The wiki is being translated into several languages, some of which can be seen on the hub banner above. Current languages include:&lt;br /&gt;
&lt;br /&gt;
* English: [[R-Pi Hub]]&lt;br /&gt;
* Français: [[FR:R-Pi Hub]]&lt;br /&gt;
Any help translating would be greatly appreciated. Thank you to those who have already contributed!&lt;br /&gt;
&lt;br /&gt;
=== Admins/Contributors ===&lt;br /&gt;
&amp;lt;del&amp;gt;The wiki is governed by the [[Project:RPi_Council|Raspberry Pi Wiki Council]].&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:NOTE - This wiki is NOT governed by the [[Project:RPi_Council|Raspberry Pi Wiki Council]].  The whole of elinux.org is community driven.  It always has been.  If you have any questions, contact [[User:Wmat]].&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Template:Raspberry Pi}}&lt;br /&gt;
[[Category:RaspberryPi]]&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/RPi_Hub</id>
		<title>RPi Hub</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RPi_Hub"/>
				<updated>2013-03-10T14:10:23Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: /* About the RPi Wiki */ Looks like the &amp;quot;Raspberry Pi Wiki Council&amp;quot; turned into a dead end - so removed links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
{{Hub Flags}} &amp;lt;!-- please edit template to alter banner and flag display on all hubs --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; border:1px solid #f80033; padding:0 1em 1em 1em; background-color:#cd5555; align:right; width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;font color=&amp;quot;ffffff&amp;quot;&amp;gt;Notice: The Raspberry Pi Wiki pages on this site is collaborative work - the Raspberry Pi Foundation is '''not''' responsible for content on these pages.&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== I need help with... ==&lt;br /&gt;
&amp;lt;!-- This section is a bunch of nonsense.  Is anybody opposed to deletion or movement elsewhere?&lt;br /&gt;
=== Buying a new Raspberry Pi ===&lt;br /&gt;
Please visit the [[RPi Model Wizard|Model Wizard]] to select your Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
=== Booting an OS onto my Raspberry Pi ===&lt;br /&gt;
Please visit the [[RPi OS Wizard|OS Wizard]] to select your Raspberry Pi OS distribution, or if you'd like to compare the OS distros, visit [[RPi Distributions|OS Distributions]] page to select an OS to boot onto your Raspberry Pi.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Now shipping to customers ==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
HIDING PREVIOUS STUFF:&lt;br /&gt;
&lt;br /&gt;
Premier Farnell and RS Components have started shipping to customers. Congratulations to those at the front of the queue!.&lt;br /&gt;
Work is ongoing to clear the backlog of orders, with both distributors now manufacturing them in serial production. Farnell/Element14 have stated that all people worldwide who ordered their Raspberry Pi through them on or before April 18th should receive theirs by the end of June.&lt;br /&gt;
Update: In the US, on 2012 July 24, Newark/Element 14 is quoting five weeks and Allied is still quoting 12 weeks. An order placed by Rick Seiden on July 19, 2012 at Newark/Element 14 shipped July 31, 2012, indicating a less than five week wait time.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
'''Update on lead times as of 17 November 2012:''' The lead time is around 2 days from Farnell and RS.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Don't have an idea on which to buy? Use the [[RPi Model Wizard|Model Wizard]] to select your Raspberry Pi!&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See the [[RPi Buying Guide|Buying Guide]] on how to order one, or visit the [http://www.raspberrypi.org Raspberry Pi Foundation Home Page]&lt;br /&gt;
&lt;br /&gt;
== About ==&lt;br /&gt;
[[File:RpiFront.jpg|300px|thumb|right|The Raspberry Pi production board (model B Rev 2.0)]]&lt;br /&gt;
&lt;br /&gt;
The Raspberry Pi (short: RPi or RasPi) is an ultra-low-cost ($25-$35) credit-card sized Linux computer which was conceived with the primary goal of teaching computer programming to children. It was developed by the [http://www.raspberrypi.org Raspberry Pi Foundation], which is a UK registered charity (Registration Number 1129409). The foundation exists to promote the study of computer science and related topics, especially at school level, and to put the fun back into learning computing. The device is expected to have many other applications both in the developed and the developing world ([[RPi_Philosophy|Read more]]).&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi is manufactured and sold in partnership with the worldwide industrial distributors [http://www.farnell.com/ Premier Farnell/Element 14] and [http://rswww.com/ RS Components].&lt;br /&gt;
&lt;br /&gt;
* You can get the latest news from the [http://www.raspberrypi.org Foundation Home Page], the [http://twitter.com/intent/user?screen_name=Raspberry_Pi Twitter Feed] or in the [http://www.raspberrypi.org/forum/general-discussion/news-articles-and-blog-posts-about-raspberry-pi forums].&lt;br /&gt;
* For Raspberry Pi frequently asked questions see the [[RPi FAQ|FAQ section]] or the [http://www.raspberrypi.org/?page_id=8 Raspberry Pi Foundation's FAQ] page.&lt;br /&gt;
* Both manufacturing partners provide community areas for more technically focused discussions, articles, FAQs and related information:&lt;br /&gt;
:* Premier Farnell: [http://www.element14.com/community/groups/raspberry-pi?view=discussions Element 14 Raspberry Pi Group]&lt;br /&gt;
:* RS-Components: [http://www.designspark.com/theme/raspberrypi DesignSpark - Raspberry Pi]&lt;br /&gt;
* Products are RoHS, CE, FCC, CTick, CSA and WEEE compliant&amp;lt;ref&amp;gt;http://www.element14.com/community/docs/DOC-44828/l/raspberry-pi-safety-data-sheet&amp;lt;/ref&amp;gt;.  In common with all Electronic and Electrical products the Raspberry Pi should not be disposed of in household waste.  Please contact the distributor from whom you purchased your Raspberry Pi device for details regarding WEEE in your country.&lt;br /&gt;
* Price: 25USD Model A, 35USD for Model B, excluding taxes, postage and packaging. For information about availability and shipping see the [[RPi Buying Guide | Buying Guide]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== History ===&lt;br /&gt;
&lt;br /&gt;
If you are interested in why the Raspberry Pi was created, and why it is what it is, check the [[RPi General History|General History]] page, which highlights relevant events in its history. It is not intended to be a detailed history, so it can be read quickly. You could also check the [[Rpi_HardwareHistory | design changes]] page for how the Raspberry Pi has evolved, and the [[RaspberryPi_Boards | manufacturing differences]] page that may help if you are having problems with your board.&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;background:transparent;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa;&amp;quot; |&lt;br /&gt;
=== [[Buying RPi|Buying Guide]] ===&lt;br /&gt;
&amp;lt;!-- ----&lt;br /&gt;
The [[RPi Model Wizard|Model Wizard]] will help you select your model to buy.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
Where can I get one and for how much?&lt;br /&gt;
* The Raspberry Pi can no longer only be purchased via their official distribution partners - detailed information can be found on the [[Buying RPi | RPi Buying Guide]] page.&lt;br /&gt;
&lt;br /&gt;
* Additional accessories, peripherals and merchandise will also be available through the [http://www.raspberrypi.com/ Raspberry Pi Shop], as well as [http://thepihut.com/ The Pi Hut's Raspberry Pi Store], [http://easyaspistore.com/ the EasyAsPi Store], and many others on Amazon [http://www.amazon.co.uk/ Amazon UK] and eBay [http://www.ebay.co.uk/ eBay UK] websites.&lt;br /&gt;
&lt;br /&gt;
* You can find out which peripherals and such are tested to work with the PI in the [[RPi_VerifiedPeripherals]] section&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== [[RPi Hardware Basic Setup|Basic Setup]] ===&lt;br /&gt;
----&lt;br /&gt;
First little Raspberry Pi Steps...&lt;br /&gt;
* Ensure you have all the [[RPi Hardware Basic Setup#Typical_Hardware_You_Will_Need |equipment]] you need to go with your Raspberry Pi.&lt;br /&gt;
* Become familiar with the [[RPi Hardware Basic Setup#Connecting_Together | board layout and connect]] it ready for power up.&lt;br /&gt;
* If you have not been provided with a pre-setup SD card you will need to prepare one with your chosen [[RPi_Easy_SD_Card_Setup | Operating System distribution]]&lt;br /&gt;
* Note: On the Debian OS after you log in you need to type '''startx''' at the prompt to get a graphic desktop.&lt;br /&gt;
* Particularly after first boot its important to do a clean shutdown with the command '''sudo halt'''&lt;br /&gt;
&lt;br /&gt;
* '''Having problems? Try the [[R-Pi_Troubleshooting | Troubleshooting]] page.'''&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== [[RPi Beginners|Beginners Guide]] ===&lt;br /&gt;
----&lt;br /&gt;
You've just got your new Raspberry Pi device - what now?&lt;br /&gt;
* [[RPi Beginners|Beginners Guide]]&lt;br /&gt;
&lt;br /&gt;
* Learn about the basics with the [http://h2g2.com/dna/h2g2/A13735596 H2G2 - Introducing the Raspberry Pi] entry.&lt;br /&gt;
&lt;br /&gt;
* Read a small book for the Raspberry Pi Beginner [http://bitkistl.blogspot.co.at/2013/01/raspberry-pi-e-book.html]&lt;br /&gt;
&lt;br /&gt;
* Get started with some basic projects and tutorials:&lt;br /&gt;
[http://www.youtube.com/user/RaspberryPiTutorials Raspberry Pi YouTube Tutorials]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/user/RaspberryPiBeginners Another set of video tutorials]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/playlist?list=PLgyU3jNA6VjS3ij6ZXbb2x4GdEP3bAWzO My First Raspberry Pi Game]&lt;br /&gt;
&lt;br /&gt;
[[RPi Tutorial Easy GPIO Hardware &amp;amp; Software|Easy GPIO Hardware &amp;amp; Software]] - in-progress at the moment&lt;br /&gt;
 Example projects/tuts which can be linked from here&lt;br /&gt;
 (or from within a beginners guide page perhaps):&lt;br /&gt;
  Setup XBMC media centre&lt;br /&gt;
  Programming tutorials (Liams YouTube etc)&lt;br /&gt;
  Easy GPIO (when complete or similar thing).&lt;br /&gt;
  Also links to some basic linux user guides.&lt;br /&gt;
&lt;br /&gt;
* Take a look through the [[#Community|Community]] section, which contains a range of beginner and advanced tutorials and guides, as well as groups to help you find like-minded developers.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;background:transparent;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== [[RPi Hardware|Hardware]] &amp;amp; [[RPi VerifiedPeripherals|Peripherals]] ===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* The Model B is more advanced than the Model A - see [[RPi Hardware]].&lt;br /&gt;
* The RPi can be plugged into a [[RPi Screens|suitable TV or monitor]].&lt;br /&gt;
* The unit will support a range of [[RPi VerifiedPeripherals|devices, peripherals and accessories]].&lt;br /&gt;
* The [[Rpi Low-level peripherals|Low-level interfaces]] allow the use of optional [[RPi Expansion Boards|Expansion Boards]] in a wide range of projects.&lt;br /&gt;
* For more advanced issues including see [[RPi Advanced Setup|Advanced Setup]].&lt;br /&gt;
* [[RPi Peripherals|Setting up peripherals - examples/HowTos]]&lt;br /&gt;
* [[RaspberryPi Boards|List of boards and user feedback]]&lt;br /&gt;
* [[RPi 5V PSU construction|Power Supply construction - HowTo]]&lt;br /&gt;
* [[RaspberryPi_Comparison|Comparison]] to other hardware&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== [[Rpi_Software|Software]] &amp;amp; [[RPi_Distributions|OS Distributions]] ===&lt;br /&gt;
----&lt;br /&gt;
The Raspberry Pi will run a range of OS Distributions and run a variety of software.&lt;br /&gt;
* See [[RPi Software|Software]] for an overview, and [[RPi Distributions|OS Distributions]] for supported operating system and pre-configured 'images'.&lt;br /&gt;
*Main OS distributions include [[RPi Distributions#Debian_ARM | Debian ARM]], [[RPi Distributions#Fedora | Fedora]], [[RPi Distributions#KidsRuby | KidsRuby]] and [http://puppylinux.org/wikka/Puppi Puppi] from Puppy Linux.&lt;br /&gt;
*Advice is also available if you want to [[Rpi_kernel_compilation|compile a kernel]], [[RPi_U-Boot|boot from the network using U-Boot]], or [[RPi_Performance|test the Pi's performance]].&lt;br /&gt;
*The Raspberry Pi supports a wide range of [[RPi Programming|programming languages]], with many tutorials available.&lt;br /&gt;
*Information about installing specific [[RPi_applications|applications]] is available through the link.&lt;br /&gt;
*Extensive (boot) configuration info (config.txt) is available [[RPi_config.txt|here]].&lt;br /&gt;
*Monitor your Raspberry Pi with Raspcontrol [[Raspcontrol|here]]&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== [[RPi Documentation|Documentation]] ===&lt;br /&gt;
----&lt;br /&gt;
Documentation relating to the Raspberry Pi can be found [[RPi Documentation|here]].&lt;br /&gt;
&lt;br /&gt;
[[RPi DatasheetCategories|Frambozenier.org Documentation Project Datasheets]]&lt;br /&gt;
&lt;br /&gt;
 Example documents which can be linked from here (or sub page):&lt;br /&gt;
  Official Datasheets&lt;br /&gt;
  White Papers&lt;br /&gt;
  User Manuals&lt;br /&gt;
  Recommended books (perhaps)&lt;br /&gt;
&lt;br /&gt;
=== RPi Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
Head over to the [[R-Pi Troubleshooting|troubleshooting page]] for help fixing common problems.&lt;br /&gt;
&lt;br /&gt;
=== RPi Bugs ===&lt;br /&gt;
&lt;br /&gt;
Head over to the [[RPi_Bugs|bugs page]] for a list of known bugs.&lt;br /&gt;
&lt;br /&gt;
=== RPi Model B 3D CAD files ===&lt;br /&gt;
Theses are various 3D CAD Versions in both RAR and ZIP.&lt;br /&gt;
&lt;br /&gt;
* CATIA V5 RAR http://sdrv.ms/JqdhMb&lt;br /&gt;
* CATIA V5 ZIP http://sdrv.ms/LjyLGD&lt;br /&gt;
* ProE RAR http://sdrv.ms/KCv1hZ&lt;br /&gt;
* ProE ZIP http://sdrv.ms/KCvhxq&lt;br /&gt;
* STEP RAR http://sdrv.ms/KCvv7T&lt;br /&gt;
* STEP ZIP http://sdrv.ms/JMhv18&lt;br /&gt;
* SketchUp http://scc.jezmckean.com/item/581&lt;br /&gt;
* SketchUp8 http://sketchup.google.com/3dwarehouse/details?mid=327d6b1d8bd6130d6fbd6b70c7f1d3e0&lt;br /&gt;
* Eagle 5 http://www.raspberrypi.org/phpBB3/viewtopic.php?f=41&amp;amp;t=4457&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Community ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;background:transparent;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== [[RPi Projects|Projects]], [[RPi Guides|Guides]] &amp;amp; [[RPi Tutorials|Tutorials]] ===&lt;br /&gt;
----&lt;br /&gt;
*An important source of information and guides is the [http://www.raspberrypi.org/forum Official Forum].&lt;br /&gt;
*Get started by following some of the many [[RPi Tutorials | Tutorials]].&lt;br /&gt;
*Common tasks and useful tips are available through the [[RPi Guides | Guides page]]. &lt;br /&gt;
*Projects can be found, and added to, on the [[RPi Projects |Projects page]].&lt;br /&gt;
*Raspberry Pi Datasheets can be found on the [[RPi DatasheetCategories |DataSheets page]].&lt;br /&gt;
*Knowledgeable users may want to review and help out with project wishlist items on the [[RPi Tasks |Tasks page]].&lt;br /&gt;
*[[Configuring a Static IP address on your Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== [[RPi Education|Schools, Universities, Clubs &amp;amp; Groups]] ===&lt;br /&gt;
----&lt;br /&gt;
*The Raspberry Pi Foundation's aims include encouraging education. Several groups including [http://www.computingatschool.org.uk/ Computing At School] aim to bring Computing Science back into schools.&lt;br /&gt;
*Go to the [[Rpi Education|Education Page]] to add your project and find helpful links.&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;&amp;quot; |&lt;br /&gt;
=== [[RPi Community|Supporting Communities]] ===&lt;br /&gt;
----&lt;br /&gt;
The [[RPi Community|Raspberry Pi Community]] is steadily growing: &lt;br /&gt;
* [http://www.raspberrypi.org/forum The Official Raspberry Pi Forum]&lt;br /&gt;
* [http://www.element14.com/community/groups/raspberry-pi?view=discussions Element 14 Raspberry Pi Group], community site of Premier Farnell&lt;br /&gt;
* [http://www.designspark.com/theme/raspberrypi DesignSpark], community site of RS-Components&lt;br /&gt;
* [http://www.frambozenbier.org/index.php/ 'Frambozenbier' (Raspberry Pi Homebrew)]&lt;br /&gt;
* [http://raspberrypi.stackexchange.com/ Stack Exchange Forum]&lt;br /&gt;
* [http://www.raspberrypiforums.com/forum RaspberryPiForums] Un-Official Raspberry Pi Discussion Board&lt;br /&gt;
* [http://www.raspberrypi-spanish.es Non-official community of Raspberry Pi in spanish language]&lt;br /&gt;
* [http://www.worldofpi.com/ World Of Pi] A forum based on all things Raspberry Pi.&lt;br /&gt;
* [[RPi Community Magazine]] - User contributed eMagazine, get involved!&lt;br /&gt;
* [[RaspberryPi Osdev]] - Hardware specific OS-development community, sitting in freenode.net#raspberrypi-osdev.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== About the RPi Wiki ==&lt;br /&gt;
'''Do not be afraid to add your bit, content is vital for the wiki to function.'''&lt;br /&gt;
&lt;br /&gt;
[[File:Rasp_turn_around.gif|200px|thumb|right|A 3D rendering of the Raspberry Pi logo&amp;lt;!--by forum user Antario. [http://www.raspberrypi.org/forum/projects-and-collaboration-general/raspberry-pi-3d-logo-animation Source]--&amp;gt;]]&lt;br /&gt;
&amp;lt;!-- We are governed by the [[Project:RPi_Council|RPi Wiki Council]] (RPWC). New guidelines not made by Ghans alone are currently being drafted. As the RPi wiki is currently a wreck, the council's current goal is to clean up the RPi Wiki! --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Translations ===&lt;br /&gt;
&lt;br /&gt;
The wiki is being translated into several languages, some of which can be seen on the hub banner above. Current languages include:&lt;br /&gt;
&lt;br /&gt;
* English: [[R-Pi Hub]]&lt;br /&gt;
* Français: [[FR:R-Pi Hub]]&lt;br /&gt;
Any help translating would be greatly appreciated. Thank you to those who have already contributed!&lt;br /&gt;
&lt;br /&gt;
=== Admins/Contributors ===&lt;br /&gt;
&amp;lt;del&amp;gt;The wiki is governed by the [[Project:RPi_Council|Raspberry Pi Wiki Council]].&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:NOTE - This wiki is NOT governed by the [[Project:RPi_Council|Raspberry Pi Wiki Council]].  The whole of elinux.org is community driven.  It always has been.  If you have any questions, contact [[User:Wmat]].&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Template:Raspberry Pi}}&lt;br /&gt;
[[Category:RaspberryPi]]&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/RPi_Hardware_Basic_Setup</id>
		<title>RPi Hardware Basic Setup</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RPi_Hardware_Basic_Setup"/>
				<updated>2013-03-10T14:05:10Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: /* Prepared Operating System SD Card */ Added links to preloaded SD cards sold by RS &amp;amp; Farnell&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:RaspberryPi]]&lt;br /&gt;
{{Template:RPi_Startup}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Typical Hardware You Will Need=&lt;br /&gt;
While the RPi can be used without any additional hardware (except perhaps a power supply of some kind), it won't be much use as a general computer. As with any normal PC, it is likely you will need some additional hardware.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT''' For USB devices other than a mouse and a simple wired keyboard (for USB devices drawing more than 100mA) a powered USB hub is strongly recommended. A technical discussion as to why can be found  [http://www.raspberrypi.org/phpBB3/viewtopic.php?f=24&amp;amp;t=5830 here]. Specifically the RPI's built in USB hub is designed only for &amp;quot;Single current unit&amp;quot; USB devices. Note that when using Revision 2 (or later) boards the problem has been mitigated somewhat with the removal of the USB polyfuses, still due to the limited current the PI can provide to USB devices, due to its main polyfuse, its still recommended to use a hub for all USB peripherals requiring more than 100mA.&lt;br /&gt;
&lt;br /&gt;
The following are more or less essential, and are all available from [http://thepihut.com/ The Pi Hut's Raspberry Pi Store]:&lt;br /&gt;
&lt;br /&gt;
* [[RPi Buying Guide|Raspberry Pi board]]&lt;br /&gt;
* [[#Prepared Operating System SD Card|Prepared Operating System SD Card]]&lt;br /&gt;
* [[#Keyboard &amp;amp; Mouse|USB keyboard]]&lt;br /&gt;
* [[#Display|Display]] (with HDMI, DVI, Composite or SCART input)&lt;br /&gt;
* [[#Power Supply|Power Supply]]&lt;br /&gt;
* [[#Cables|Cables]]&lt;br /&gt;
&lt;br /&gt;
Highly suggested extras include:&lt;br /&gt;
&lt;br /&gt;
* [[#Keyboard &amp;amp; Mouse|USB mouse]]&lt;br /&gt;
* [[#Additional Peripherals|Internet connectivity]] - a USB WiFi adaptor (Model A/B) or a LAN cable (Model B)&lt;br /&gt;
* [[#Additional Peripherals|Powered USB Hub]]&lt;br /&gt;
* [[#Additional Peripherals|Case]]&lt;br /&gt;
* [[#Additional Peripherals|Real Time Clock]] - If you can't count on Network Time&lt;br /&gt;
* [[#Additional Peripherals|SD card reader]] - if you need to prepare your own SD card&lt;br /&gt;
&lt;br /&gt;
==Prepared Operating System SD Card==&lt;br /&gt;
As the RPi has no internal storage or built-in [[RPi Distributions|operating system]] it requires an SD-Card that is set up to boot the RPi.&lt;br /&gt;
&lt;br /&gt;
* Have a look at [[RPi Easy SD Card Setup]] to create your own preloaded SD Card.&lt;br /&gt;
* If you want an extensive technical explanation, look here : ''Create your own preloaded card using any [[RPi VerifiedPeripherals#SD_cards]] card you have and this [[RPi Beginners#SD_card_setup| HowTo]] . '' &lt;br /&gt;
* Preloaded SD cards will be available from &amp;lt;del&amp;gt;the [http://www.raspberrypi.com RPi Shop]&amp;lt;/del&amp;gt;, [http://thepihut.com/ The Pi Hut's Raspberry Pi Store], [http://raspberrypi.rsdelivers.com/product/rs/4gb-sd-card-with-raspberry-pi-os-installed/7631030.aspx RS], [http://export.farnell.com/samsung/raspberry-pi-prog-4gb-sdcard/memory-sdhc-rd-raspberry-pi-4gb/dp/2113756 Farnell].&lt;br /&gt;
* For configuration of boot options and extensive graphic modes, look at the [[RPi_Configuration|Configuration]] page.&lt;br /&gt;
&lt;br /&gt;
NOTE: An RPi SD card can only be used to boot an RPi. A normal PC will refuse to boot from an RPi SD card.&lt;br /&gt;
&lt;br /&gt;
This guide will assume you have a preloaded SD card.&lt;br /&gt;
&lt;br /&gt;
''To check your SD card is compatible with Linux, see [[RPi VerifiedPeripherals#SD_cards]].''&lt;br /&gt;
&lt;br /&gt;
==Keyboard &amp;amp; Mouse==&lt;br /&gt;
Most standard USB keyboards and mice will work with the RPi. Wireless keyboard/mice should also function, and only require a single USB port for an RF dongle. In order to use a Bluetooth keyboard or mouse you would need to use a Bluetooth dongle, which again uses a single port.&lt;br /&gt;
&lt;br /&gt;
Remember that the Model A has a single USB port and the Model B only has two (typically a keyboard and mouse will use a USB port each) - see [[RPi_Hardware_Basic_Setup#USB-Hub | USB Hub]] below.&lt;br /&gt;
&lt;br /&gt;
''To check your mouse and keyboard are compatible with Linux, see [[RPi VerifiedPeripherals | RPi Verified Peripherals]].''&lt;br /&gt;
&lt;br /&gt;
==Display==&lt;br /&gt;
There are two main connection options for the RPi display, ''HDMI'' (high definition) and ''Composite'' (low definition).&lt;br /&gt;
&lt;br /&gt;
* HD TVs and most LCD Monitors can be connected using a full-size 'male' HDMI cable, and with an inexpensive adaptor if DVI is used. HDMI versions 1.3 and 1.4 are supported, and a version 1.4 cable is recommended. The RPi outputs audio and video via HMDI, but does not support HDMI input.&lt;br /&gt;
&lt;br /&gt;
* Most older TVs can be connected using Composite (a yellow-to-yellow cable). PAL and NTSC TVs are supported. Note that the RCA output is composite video, not RF, so it cannot be connected directly to the antenna input of a TV, you need to connected it the the yellow video input connector, or to the SCART input using a RCA to SCART plug, (adapter).&lt;br /&gt;
&lt;br /&gt;
When using composite video, audio is available from a 3.5mm (1/8 inch) socket, and can be sent to your TV, or to an amplifier. To send audio to your TV, you will need a cable which adapts from 3.5mm to double (red and white) RCA connectors. These red and white can go into the red and white RCA plug inputs of a TV, or a stereo set, or to the above mentioned RCA to SCART plug. Another option for audio (when not using HDMI) is to connect the 3.5mm jackplug to an amplified speakerset. Do not connect the 3.5 mm jack directly to a headset, as the 3.5 mm audio output isn't suitable to drive headsets, only amplifier inputs. Attaching a low  impedance load, (such as a headset) to the stereo audio output may lead to distorted sound.&lt;br /&gt;
&lt;br /&gt;
'''Note: There is no VGA output available, so older VGA monitors will require an expensive adaptor.'''&lt;br /&gt;
&lt;br /&gt;
Using an HDMI to DVI-D (digital) adaptor plus a DVI to VGA adaptor will not work. HDMI does not supply the DVI-A (analogue) needed to convert to VGA - converting an HDMI or DVI-D source to VGA (or component) needs an active converter. (It can work out cheaper to buy a new monitor.) The lack of VGA has been acknowledged as a priority issue. In a [http://interviews.slashdot.org/story/11/09/14/1554243/Eben-Upton-Answers-Your-Questions Q/A with Slashdot] Eben said that they plan to look into providing some form of add-on.&lt;br /&gt;
&lt;br /&gt;
''For detailed information see [[Rpi Screens]].''&lt;br /&gt;
&lt;br /&gt;
==Power Supply==&lt;br /&gt;
The unit uses a Micro USB connection to power itself (only the power pins are connected - so it will not transfer data over this connection).  A standard modern phone charger with a micro-USB connector will do, but needs to produce at least 700mA at 5 volts. Check your power supply's ratings carefully, and [http://www.raspberrypi.org/forum/general-discussion/power-supply-warning beware cheap knock-offs!]. Suitable mains adaptors will be available from the [http://www.raspberrypi.com RPi Shop] as well as [http://thepihut.com/collections/power-supplies The Pi Hut's Raspberry Pi Store] or [http://www.ebay.co.uk/itm/330844162509 eBay] and are recommended if you are unsure what to use.&lt;br /&gt;
&lt;br /&gt;
You can use a range of other power sources (assuming they are able to provide enough current ~700mA):&lt;br /&gt;
* Computer USB Port or powered USB hub (will depend on power output)&lt;br /&gt;
* Special wall warts with USB ports&lt;br /&gt;
* Mobile Phone Backup Battery (will depend on power output) (in theory - needs confirmation)&lt;br /&gt;
* Modern TV with built-in USB (for example, it has been shown to work with the Sony KDL-40HX723 and KDL-55NX813)&lt;br /&gt;
* Internet Routers with USB Ports (the BT Home Hub 3 seems to run the Pi nicely)&lt;br /&gt;
&lt;br /&gt;
To use the above, you'll need a USB A 'male' to USB micro 'male' cable - these are often shipped as data cables with mobile phones.&lt;br /&gt;
&lt;br /&gt;
''For detailed information about power requirements see [[Rpi_Hardware#Power | RPi Hardware - Power]].''&lt;br /&gt;
&lt;br /&gt;
==Cables==&lt;br /&gt;
You will probably need a number of cables in order to connect your RPi up.&lt;br /&gt;
# Micro-B USB Power Cable (see above) [http://en.wikipedia.org/wiki/File:MicroB_USB_Plug.jpg picture]. This has to be a [[On the RPi usb power cable|high quality one]]. Tested cables available at [http://thepihut.com/collections/cables The Pi Hut's Raspberry Pi Store]&lt;br /&gt;
# HDMI-A [http://en.wikipedia.org/wiki/File:HDMI.jpg picture] or Composite cable [http://en.wikipedia.org/wiki/File:Composite-video-cable.jpg picture], plus DVI adaptor [http://en.wikipedia.org/wiki/File:Adapter_dvi_hdmi_S7302224_wp.jpg picture] or SCART adaptor [http://en.wikipedia.org/wiki/File:Multiconnector-scart-chti.jpg picture] if required, to connect your RPi to the Display/Monitor/TV of your choice. Tested cables available at [http://thepihut.com/collections/cables The Pi Hut's Raspberry Pi Store]&lt;br /&gt;
# Audio cable [http://en.wikipedia.org/wiki/File:Audio-TRS-Mini-Plug.jpg picture], this is not needed if you use a HDMI TV/monitor.&lt;br /&gt;
# Ethernet/LAN Cable (see below) [http://en.wikipedia.org/wiki/File:Ethernet_RJ45_connector_p1160054.jpg picture].&lt;br /&gt;
&lt;br /&gt;
The price you pay for an HDMI cable can very wildly and under most circumstances a low-cost cable from a reputable online or local supplier will be absolutely fine, but the definition of what constitutes 'low cost' can vary wildly - for example, in the UK, a 1m cable can be purchased for anything between £1 and £24.99. &lt;br /&gt;
If, however, you want to drive a display some distance from the RPi (say greater than the ubiquitous 1.8m/6ft), or you are using a video switch to share a display between several devices, then higher quality cables might be wise - for example, a pair of 1m HDMI cables purchased in a UK 'pound shop' worked fine when directly connected between the RPi and a display, but would not give a stable picture when used via an HDMI switch. Replacing the £1 1m cable with a 1.5m cable bought online for £1.30 fixed the problem.   &lt;br /&gt;
For more insight: [http://www.techradar.com/news/video/why-you-dont-need-to-spend-more-than-2-on-an-hdmi-cable-1071343 Why you don't need to spend more than £2 on an HDMI cable]&lt;br /&gt;
&lt;br /&gt;
==Additional Peripherals==&lt;br /&gt;
You may decide you want to use various other devices with your RPi, such as Flash Drives/Portable Hard Drives, Speakers etc.&lt;br /&gt;
&lt;br /&gt;
''For detailed information see [[RPi VerifiedPeripherals | RPi Verified Peripherals]].''&lt;br /&gt;
&lt;br /&gt;
===Internet Connectivity===&lt;br /&gt;
&lt;br /&gt;
This may be an Ethernet/LAN cable (standard RJ45 connector) or a USB WiFi adaptor. The RPi ethernet port is auto-sensing which means that it may be connected to a router or directly to another computer (without the need for a crossover cable&amp;lt;ref name=autoMDIX&amp;gt;[http://en.wikipedia.org/wiki/Medium_dependent_interface#Auto-MDIX Wikipedia:Auto-MDIX]&amp;lt;/ref&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
''Support for USB WiFi adaptors will vary - see [[RPi VerifiedPeripherals | RPi Verified Peripherals]].''&lt;br /&gt;
&lt;br /&gt;
Note:  If a Netgear router has a blank in the fourth box of the subnet mask, raspbian will interpret that as a 255, not as a '0' like Ubuntu will do.  This will give you a subnet mask of 255.255.255.255 and a useless network connection.  Changing the router's setting to put a '0' in the last field and reinitializing the network will fix this.&lt;br /&gt;
&lt;br /&gt;
===USB-Hub===&lt;br /&gt;
In order to connect additional devices to the RPi, you may want to obtain a USB Hub, which will allow multiple devices to be used.&lt;br /&gt;
&lt;br /&gt;
It is nearly a requirement that  a '''powered''' hub is used - this will provide any additional power to the devices without affecting the RPi itself. The USB ports are fused at about 140ma each without an additional external power source. This not enough to power a hard drive, and you may even have trouble powering wireless adapters and other peripherals. There is enough current out there, however, for mice and most keyboards. (see [[Rpi_Hardware#Power | RPi Hardware - Power]] section).&lt;br /&gt;
&lt;br /&gt;
USB version 2.0 is recommended. USB version 1.1 is fine for keyboards and mice, but may not be fast enough for other accessories.&lt;br /&gt;
&lt;br /&gt;
===Heatsink===&lt;br /&gt;
Not a vital accessory for your RPi, but will help to reduce the CPU's temperature whilst under load. Available from [http://www.etsy.com/shop/nhslzt Etsy] [http://thepihut.com/collections/heatsinks The Pi Hut's Raspberry Pi Store] or [http://www.ebay.co.uk/itm/330758220781 eBay]&lt;br /&gt;
&lt;br /&gt;
===Case===&lt;br /&gt;
Since the RPi is supplied without a case, it will be important to ensure that you do not use it in places where it will come into contact with conductive metal or liquids, unless suitably protected. Some form of [[Rpi Cases | case]] should be considered, and there is a [http://www.raspberrypi.org/forum/general-discussion/cases-for-the-raspberry-pi Rpi case thread] on the forum. Cases are also available from [http://thepihut.com/collections/cases The Pi Hut's Raspberry Pi Store] and [http://store.mobileappsystems.com MobileApp Systems].&lt;br /&gt;
&lt;br /&gt;
''For detailed information see [[Rpi Cases]].''&lt;br /&gt;
&lt;br /&gt;
===Real Time Clock===&lt;br /&gt;
There are a number of possible solutions for real time clocks, but so far, most are either expensive or not particularly friendly.&lt;br /&gt;
&lt;br /&gt;
One promising device is the Cymbet Evaluation board (CBC-EVAL-06) available from digikey for approximately $30.&lt;br /&gt;
Cymbet is in the business of making small batteries and this eval board is intended just as a demonstration of their product using COTS parts on a small board that plugs directly into the USB. Their product is actually the battery that backs up the RTC memory and oscillator when not receiving power from the USB. However, this demo board is very well suited to this application. Ideally, a maker-oriented company will pick up this reference design and start producing boards based on it at a lower cost in larger volume.&lt;br /&gt;
&lt;br /&gt;
To use this board, you will need some software. libmpsse from Google Code (http://code.google.com/p/libmpsse/) is a GPL library that can talk to the board in user-space.&lt;br /&gt;
&lt;br /&gt;
User friendly software is a work in progress visible on GITHub http://github.com/owendelong/Cymbet-RTC&lt;br /&gt;
&lt;br /&gt;
===SD card reader===&lt;br /&gt;
If you will not use a preloaded SD card to boot from, you will need an SD card reader to prepare an SD card.&lt;br /&gt;
&lt;br /&gt;
Note that the SD card reader will be connected to a traditional PC, not to the RPi. You may use an SD card reader integrated into your PC, or you may use a dedicated USB-connected SD card reader. Note that several peripherals may also be used as an SD card reader, for example cameras, smartphones, camcorders and GPS units.&lt;br /&gt;
&lt;br /&gt;
===Expansion &amp;amp; Low Level Peripherals===&lt;br /&gt;
If you plan on making use of the low level interfaces available on the RPi, then ensure you have suitable header pins for the GPIO (and if required JTAG) suitable for your needs.&lt;br /&gt;
&lt;br /&gt;
Also if you have a particular low-level project in mind, then ensure you design in suitable protection circuits to keep your RPi safe (details will be made available within the [[RaspberryPiBoardProjects | RPi Projects, Guides &amp;amp; Tutorials]] section).&lt;br /&gt;
&lt;br /&gt;
''For detailed information see [[Rpi Low-level peripherals | Rpi Low-level Peripherals]].''&lt;br /&gt;
&lt;br /&gt;
=Connecting Together=&lt;br /&gt;
&lt;br /&gt;
[[File:Raspi-Model-AB-Mono-1-699x1024.png|200px|thumb|right|A diagram denoting the places of the different components on the Rpi, made by Paul Beech. Click to enlarge.]]&lt;br /&gt;
You can use the diagram to connect everything together, or use the following instructions:&lt;br /&gt;
&lt;br /&gt;
# Plug the preloaded SD Card into the Pi.&lt;br /&gt;
# Plug the USB keyboard and mouse into the Pi, perhaps via a USB Hub. Connect the Hub to power, if necessary.&lt;br /&gt;
# Plug the video cable into the screen (TV) and into the Pi.&lt;br /&gt;
# Plug your extras into the Pi (USB WiFi,  Ethernet cable, hard drive etc.). This is where you may really need a USB Hub.&lt;br /&gt;
# Ensure that your USB Hub (if any) and screen are working.&lt;br /&gt;
# Plug the power source into the main socket.&lt;br /&gt;
# With your screen on, plug the other end of the power source into the Pi.&lt;br /&gt;
# The Pi should boot up and display messages on the screen.&lt;br /&gt;
&lt;br /&gt;
It is always recommended to connect the MicroUSB Power to the unit last (while most connections can be made live, it is best practice to connect items such as displays and other connections with the power turned off). &lt;br /&gt;
&lt;br /&gt;
If you use both a R-PI power supply and a powered hub, its recommended you connect them to the same switched power bar, and use the switch on the power bar to switch off both the R-PI and hub at the exact same time. &lt;br /&gt;
&lt;br /&gt;
Also, always shutdown using the software shutdown function, not by pulling the plug. When not using a GUI, (with a GUI use the GUI command) you can use the command &amp;quot;shutdown -h now&amp;quot;, and power off when all the LED's on the board (except the power LED) go off. This is especially important the first time you boot, as in the process the R-PI modifies the content of the SD-card, without a clean shutdown the contents of the card may be damaged.&lt;br /&gt;
&lt;br /&gt;
The RPi may take a long time to boot when powered-on for the first time, so be patient, and cleanly shutdown afterwards, as described above!&lt;br /&gt;
&lt;br /&gt;
=External Links=&lt;br /&gt;
&lt;br /&gt;
For a verbose guide aimed at absolute beginners, see [http://h2g2.com/A13413584 Peripherals You'll Need] and [http://h2g2.com/A9143796 Getting Started] in h2g2's 'Introducing the Raspberry Pi'.&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
{{Template:Raspberry Pi}}&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/RPi_Buying_Guide</id>
		<title>RPi Buying Guide</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RPi_Buying_Guide"/>
				<updated>2013-03-10T13:51:37Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: /* Accessories */ Added link to cases page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:RaspberryPi]]&lt;br /&gt;
{{Template:RPi_Startup}}&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi has appointed [http://www.element14.com/raspberrypi Farnell] and [http://rswww.com RS Components] as its authorised manufacturing parners distributors.&lt;br /&gt;
&lt;br /&gt;
As of July 16th 2012, both [http://www.element14.com/raspberrypi Premier Farnell] and [http://rswww.com RS Components] have removed their &amp;quot;one per customer&amp;quot; restriction. Both consumers and businesses alike should now be able to buy bulk stock of the Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi's distributors will ship worldwide to the best of their ability (ie subject to origin export and local import laws).&lt;br /&gt;
&lt;br /&gt;
Countries that are currently subject to UK (including EU and UN) export restrictions include North Korea, Iran, Ivory Coast, Liberia and Zimbabwe. A full list and further details are provided at [http://www.businesslink.gov.uk/bdotg/action/layer?topicId=1084100244]&lt;br /&gt;
&lt;br /&gt;
Farnell have also been refusing to sell direct to some consumers in the EU, to the best of my knowlage they have not given full details of why.&lt;br /&gt;
&lt;br /&gt;
There are three main options for buying a Raspberry Pi, buying direct from the distributor, buying from a subsidary or sister company of the distributor or buying from a third party reseller which option is best will depend on the location of the customer, the number of Raspberry Pi's being purchased, and the urgency of the order.&lt;br /&gt;
&lt;br /&gt;
All new orders from the main distributors should now be filled with 512&amp;amp;nbsp;MB rev 2 Raspberry Pi's. However, some third-party resellers may still have stock of the older models.&lt;br /&gt;
&lt;br /&gt;
Note that stock status may change quickly. It may be worth checking a local supplier even if they are listed as out of stock here.&lt;br /&gt;
&lt;br /&gt;
==Main distributors and subsidaries/sister companies==&lt;br /&gt;
==Farnell==&lt;br /&gt;
http://www.farnell.com/&lt;br /&gt;
Farnell are one of the two main distributors, as of 2012-11-21 their main European operation is out of stock and quoting a three-week lead time. Reports from the forum are that Farnell usually beat their delivery estimates.&lt;br /&gt;
&lt;br /&gt;
For European customers, the customer is asked whether they are &amp;quot;consumer&amp;quot; or &amp;quot;business&amp;quot;. If the customer selects business, they are taken back to Farnell's regular website to order. If the customer selects consumer, they are taken to a dedicated Raspberry Pi site which only offers a small selection of Raspberry Pi related products and gives no information on stock status. Farnell's site claims that consumers who do not have a previous account cannot use the &amp;quot;business&amp;quot; option but it is not clear if this is actually true for all countries. For some countries consumers are directed to third party resellers. The order code for the Raspberry Pi is 2191863.&lt;br /&gt;
&lt;br /&gt;
===Element14===&lt;br /&gt;
http://www.element14.com&lt;br /&gt;
The &amp;quot;Element14&amp;quot; brand is used by a number of different operations within the Premier Farnell group and is also used for the groups &amp;quot;social&amp;quot; operation. In the Asia-Pacific region the Element 14 brand has completely replaced the previous &amp;quot;Premier Electronics&amp;quot; brand for asia and the previous &amp;quot;Farnell&amp;quot; brand for australia and new-zealand. In Europe, the Element14 brand is used in paralell with the Farnell brand. In North america the Element14 brand is used in parallel with the Newark brand.&lt;br /&gt;
&lt;br /&gt;
===Newark===&lt;br /&gt;
http://www.newark.com/&lt;br /&gt;
Newark is the main American branch of the Premier Farnell group (Farnell's parent company). As of 2012-11-21, they are out of stock of Raspberry Pi's, but claim 1321 Expected to ship 2012-11-26 and Further stock expected to ship 2012-12-20.&lt;br /&gt;
&lt;br /&gt;
===Element14 AU/NZ===&lt;br /&gt;
http://au.element14.com/ http://nz.element14.com/&lt;br /&gt;
On Element14's Australian operation (which also serves New Zealand) as of 2012-11-21 availability is listed as &amp;quot;please call&amp;quot; and &amp;quot;supplier lead time&amp;quot; is listed as 30 days. The order code for the Raspberry Pi is 2191863.&lt;br /&gt;
&lt;br /&gt;
===Element 14 Asia===&lt;br /&gt;
http://cn.element14.com/ http://hk.element14.com/ http://in.element14.com/ http://cn.element14.com/ http://kr.element14.com/ http://my.element14.com/ http://ph.element14.com/ http://sg.element14.com/ http://tw.element14.com/ http://th.element14.com/ &lt;br /&gt;
Element14 have warehouses in Singapore and Shanghi. It appears that some countries are served from both warehouses while others are served from only one or the other. UK stock is also listed on these sites. As of 2012-11-21, Element14's Asian operation has 331 Raspberry Pi's in stock in Shanghi and 617 Raspberry Pi's in stock in Singapore. The order code for the Raspberry Pi is 2191863.&lt;br /&gt;
&lt;br /&gt;
===CPC===&lt;br /&gt;
http://cpc.farnell.com/&lt;br /&gt;
CPC is a branch of the Premier Farnell group in the UK based in Preston. As of 2012-11-21, they have 3100 Raspberry Pi's in stock. The order code for the Raspberry Pi is SC12590.&lt;br /&gt;
&lt;br /&gt;
===MCM===&lt;br /&gt;
http://www.mcmelectronics.com/&lt;br /&gt;
MCM is a branch of the Premier Farnell group in the US based in Centerville, Ohio. As of 2012-11-21, they are out of stock and give an estimated ship date of 2012-12-07.&lt;br /&gt;
&lt;br /&gt;
==RS components==&lt;br /&gt;
http://rswww.com/&lt;br /&gt;
RS are the other main distributor. Like Farnell they have a consumer site and business option with the consumer option taking users to a dedicated Raspberry Pi store while the business option takes them back to the regular RS site. They do not state whether consumers must use the consumer site or not. The order code for the Raspberry Pi is 756-8308. As of 2012-11-21, the Raspberry Pi is listed as &amp;quot;Temporarily out of stock - back order for despatch 21/12/2012&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
RS has delayed existing orders on several occasions and are reported on the forum as being very difficult to communicate with.&lt;br /&gt;
&lt;br /&gt;
===Allied electronics===&lt;br /&gt;
http://www.alliedelec.com/&lt;br /&gt;
Allied electronics is the US sister company of RS. The order code for the Raspberry Pi is 70229569. They website does not give a predicted dispatch date and state that &amp;quot;the estimated delivery time is uncertain and will likely take several months&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Reports from the forum are that Allied are easier to communicate with than RS, but they do not appear to be being kept will informed of the stock situation by RS.&lt;br /&gt;
&lt;br /&gt;
==Resellers==&lt;br /&gt;
There are now many companies reselling the Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
===RPF endorsed resellers===&lt;br /&gt;
====Maplin====&lt;br /&gt;
Maplin sells the Raspberry Pi in the UK but only as part of a kit including power supply, keyboard and mouse, programmed 4&amp;amp;nbsp;GB SD card, HDMI cable and wireless dongle. As of 2012-11-21, they list the Raspberry Pi kit as in stock for home delivery and also in stock in some stores.&lt;br /&gt;
&lt;br /&gt;
===Farnell Approved resellers===&lt;br /&gt;
Farnell now direct consumers in many countries to &amp;quot;approved retailers&amp;quot; rather than selling to them directly. Some of these suppliers specialise in the Raspberry Pi while others are general Farnell resellers.&lt;br /&gt;
&lt;br /&gt;
====Electrocomponentes S.A====&lt;br /&gt;
http://www.electrocomponentes.com/&lt;br /&gt;
Electrocomponentes S.A sells Farnell producs in Argentina.&lt;br /&gt;
&lt;br /&gt;
====Arabian Electric &amp;amp; Electronics Est.====&lt;br /&gt;
fisuoyla@batelco.com.bh&lt;br /&gt;
Arabian Electric &amp;amp; Electronics Est sells Farnell products in Bahrain.&lt;br /&gt;
&lt;br /&gt;
====Minifo====&lt;br /&gt;
http://www.minifo.com/&lt;br /&gt;
Minifo is a Raspberry Pi retailer in Belgium. As of 2012-11-21, they list the Raspberry Pi as in stock, but they do not state how much stock they have.&lt;br /&gt;
&lt;br /&gt;
====Electromin S.A.====&lt;br /&gt;
http://www.electromin.cl/&lt;br /&gt;
Electromin S.A. sells Farnell producs in Chile.&lt;br /&gt;
&lt;br /&gt;
====Betatech Ltd====&lt;br /&gt;
http://www.farnell.com/distributors/cyprus_bet.htm&lt;br /&gt;
Betatech Ltd sells Farnell products in Cyprus.&lt;br /&gt;
&lt;br /&gt;
====Grand soloutions====&lt;br /&gt;
http://www.gs.com.eg/&lt;br /&gt;
Grand soloutions sells Farnell producs in Egypt. Unfortunately, searching their website by Farnell part number seems to be currently broken.&lt;br /&gt;
&lt;br /&gt;
====Partco Oy====&lt;br /&gt;
http://www.partco.biz/&lt;br /&gt;
Partco sells the Raspberry Pi, Arduino and a selection of electronic components in Finland. As of 2012-11-21, they list the Raspberry Pi as in stock, but they do not state how much stock they have.&lt;br /&gt;
&lt;br /&gt;
==== kubii ====&lt;br /&gt;
http://www.kubii.fr/&lt;br /&gt;
kubii sells the Raspberry Pi, together with a selection of accessories. The website was created when Farnell changed their distribution policy.&lt;br /&gt;
&lt;br /&gt;
====Málna PC Magyarország ====&lt;br /&gt;
http://malnapc.hu/ &lt;br /&gt;
Málna PC Magyarország is a Raspberry Pi reseller in Hungary.&lt;br /&gt;
&lt;br /&gt;
====Midbaejarradio EHF====&lt;br /&gt;
Midbaejarradio EHF is the authorised Farnell distributor for Iceland. &lt;br /&gt;
&lt;br /&gt;
====Lion====&lt;br /&gt;
http://www.lion.co.il/h?q=RASPBERRY&lt;br /&gt;
Lion sells the Raspberry Pi in Israel. As of 2012-11-21, they do not appear to have stock.&lt;br /&gt;
&lt;br /&gt;
====International Oilfield Supplies====&lt;br /&gt;
http://www.farnell.com/distributors/malta_int.htm&lt;br /&gt;
International Oilfield Supplies are the authorised Farnell distributor for Malta.&lt;br /&gt;
&lt;br /&gt;
====Makkays====&lt;br /&gt;
http://www.farnell.com/distributors/pakistan_mak.htm&lt;br /&gt;
Makkays is the authorised Farnell distributor for Pakistan.&lt;br /&gt;
&lt;br /&gt;
====kamami====&lt;br /&gt;
http://www.kamami.pl/&lt;br /&gt;
kamami sells the Raspberry Pi in Poland. &lt;br /&gt;
&lt;br /&gt;
====Mixtronica====&lt;br /&gt;
http://www.mixtronica.com/&lt;br /&gt;
Mixtronica sell Farnell products in Portugal.&lt;br /&gt;
&lt;br /&gt;
====Computer and Engineering Specialists Co====&lt;br /&gt;
http://www.farnell.com/distributors/saudiarabia_ces.htm&lt;br /&gt;
CESCO Group is an authorised Farnell distributor for Saudi Arabia.&lt;br /&gt;
&lt;br /&gt;
====Dialogue s.r.o====&lt;br /&gt;
http://www.dialogue.sk/index.php?page=textaktual&amp;amp;id=71&lt;br /&gt;
Dialogue s.r.o sells the Raspberry Pi and accessories in Slovakia.&lt;br /&gt;
&lt;br /&gt;
====IC elektronika d.o.o.====&lt;br /&gt;
http://www.ic-elect.si/&lt;br /&gt;
IC elektronika d.o.o. sells Farnell products in Slovenia.&lt;br /&gt;
&lt;br /&gt;
====Electrocomp express====&lt;br /&gt;
http://www.eexpress.co.za/&lt;br /&gt;
Electrocomp express sells Farnell products in South Africa. As of 2012-11-21, they list the Raspberry Pi as awaiting delivery and do not give a lead time.&lt;br /&gt;
&lt;br /&gt;
====Orel Solutions (PVT) Ltd====&lt;br /&gt;
http://www.farnell.com/distributors/srilanka_osp.htm&lt;br /&gt;
Orel Solutions (PVT) Ltd is the authorised Farnell distributor for Sri Lanka. &lt;br /&gt;
&lt;br /&gt;
====Mikro-Kit Elektronik AB====&lt;br /&gt;
https://www.microkit.se/&lt;br /&gt;
Mikro-Kit Elektronik AB sells the Raspberry Pi (and it would appear other farnell producs too) in Sweeden. As of 2012-11-21, they list the Raspberry Pi as out of stock with expected delivery 2012-12-11.&lt;br /&gt;
&lt;br /&gt;
====digitec====&lt;br /&gt;
http://www.digitec.ch/ &lt;br /&gt;
Digitec sells the Raspberry Pi in Switzerland.&lt;br /&gt;
&lt;br /&gt;
====Yildrim====&lt;br /&gt;
http://www.yildirimelektronik.com/&lt;br /&gt;
Yildrim sells Farnell products in Turkey.&lt;br /&gt;
&lt;br /&gt;
====DGM distribution====&lt;br /&gt;
http://www.farnell.com/distributors/unitedarabemirates_dgm.htm&lt;br /&gt;
DGM distribution is the authorised Farnell distributor for Dubai.&lt;br /&gt;
&lt;br /&gt;
===Other resellers===&lt;br /&gt;
====Newit====&lt;br /&gt;
http://www.newit.co.uk/&lt;br /&gt;
Newit are a British company selling a variety of ARM hardware and accessories, including the Raspberry Pi. As of 2012-11-21, they list the Raspberry Pi as in stock, but they do not state how much stock they have.&lt;br /&gt;
&lt;br /&gt;
====Makershed====&lt;br /&gt;
http://www.makershed.com/&lt;br /&gt;
Makershed is a US company that sells various stuff aimed at hardware hackers including the Raspberry Pi. As of 2012-11-21, they list the Raspberry Pi as out of stock.&lt;br /&gt;
&lt;br /&gt;
====Tandy====&lt;br /&gt;
http://www.tandyonline.co.uk/&lt;br /&gt;
Tandy is a UK company that sells a small selection of electronics stuff. As of 2012-12-08, Tandy has both 256MV rev 1.1 boards and 512MB rev 2 boards in stock.&lt;br /&gt;
&lt;br /&gt;
Note that the current Tandy is a division of adslnation and other than buying the name has little relationship to the Tandy of old.&lt;br /&gt;
&lt;br /&gt;
====Adafruit====&lt;br /&gt;
http://www.adafruit.com/&lt;br /&gt;
Adafruit is a US company that makes a variety of boards for hardware hackers and tinkerers, some specifically designed for use with the Raspberry Pi. They sell the Raspberry Pi separately, as well as part of a large starter kit including everything needed to start experimenting with the Raspberry Pi and external hardware on the GPIO. They also currently include a free Raspberry Pi with orders over $350.&lt;br /&gt;
&lt;br /&gt;
====SNOOTLAB====&lt;br /&gt;
SNOOTLAB&lt;br /&gt;
http://snootlab.com/&lt;br /&gt;
Sells products in French as well as English. They also sell a number of different components and products such as Arduinos too.&lt;br /&gt;
&lt;br /&gt;
====Tenettech====&lt;br /&gt;
Tenettech&lt;br /&gt;
http://www.tenettech.com/product/2184/raspberry-pi&lt;br /&gt;
Tenettech is Bangalore based company who sells software/hardware based solutions in India. They sell Raspberry Pi and Raspberry Pi kit (which include the Raspberry Pi, SD card, card reader, HDMI cable, and video cable).&lt;br /&gt;
&lt;br /&gt;
====AVIES Tech====&lt;br /&gt;
http://www.shopavies.com&lt;br /&gt;
AVIES Tech is a US company that provides installation and integration solutions for a variety of media centric hardware. They also carry the Raspberry Pi and related accessories.&lt;br /&gt;
&lt;br /&gt;
====Amazon====&lt;br /&gt;
[http://www.amazon.com/ Amazon] also sells boards through the Raspberry Pi name for U$D 48.03. You can buy one [http://www.amazon.com/Raspberry-Pi-Model-Revision-512MB/dp/B009SQQF9C/ref=sr_1_1?ie=UTF8&amp;amp;qid=1361718715&amp;amp;sr=8-1&amp;amp;keywords=raspberry+pi here].&lt;br /&gt;
&lt;br /&gt;
====Bitcrafts====&lt;br /&gt;
[http://etsy.com/shop/bitcrafts Bitcrafts] ships the '''Model A''' worldwide. You can buy one [http://www.etsy.com/listing/124198601/raspberry-pi-model-a? here]. They also sell cases, pIO micro SD adapters and other related accessories.&lt;br /&gt;
&lt;br /&gt;
==Licensed Manufacture==&lt;br /&gt;
The foundation has chosen to license manufacture of the Raspberry Pi, which should provide several advantages including:&lt;br /&gt;
&lt;br /&gt;
# The involvement of RS Components and Premier Farnell means that build volume can be increased much, much faster than would have been possible otherwise. Due to costs and working capital, the foundation would have been limited to batches of only 10k Raspberry Pi's; the Raspberry Pi will now be being built to match demand.&lt;br /&gt;
# Both Premier Farnell and RS Components have worldwide distribution networks, so wherever you are in the world, you will be able to buy from a local distributor. It’s a much better way for you to buy than getting them all shipped from the Foundation in the UK.&lt;br /&gt;
# Both RS Components and Premier Farnell will be taking preorders, something which the foundation would otherwise be unable to do.&lt;br /&gt;
# The foundation will still receive a percentage from the sale of every Raspberry Pi sold, which will be put straight back into the charity.&lt;br /&gt;
# Primarily, by removing the focus on dealing with manufacture, distribution and sales, this frees up the limited resources of the foundation to focus on the original aims and goals of the project.&lt;br /&gt;
&lt;br /&gt;
Additional detail is available in the [http://hardware.slashdot.org/story/12/02/28/2347222/raspberry-pi-now-has-distributors----and-will-soon-have-boards-for-all-video video interview between Eben Upton and SlashDot here (2012-02-28)].&lt;br /&gt;
&lt;br /&gt;
Unfortunately the switch to licensed manufacture has also resulted in a marked reduction in transparency of the process as Farnell and RS consider detailed information of what is going on to be confidential.&lt;br /&gt;
&lt;br /&gt;
==What You Get In The Box==&lt;br /&gt;
1. Pre-Assembled Raspberry Pi board&lt;br /&gt;
&lt;br /&gt;
2. A sheet containing a combination of regulatory information and some very brief instructions. &amp;lt;!-- At least this is the case with Farnell Raspberry Pi's, I don't know about RS ones. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Note:''&lt;br /&gt;
&lt;br /&gt;
''1. The board will be supplied assembled (since most of the components are not suitable for home builds, including the BGA&amp;lt;ref name=&amp;quot;BGA&amp;quot;&amp;gt;http://en.wikipedia.org/wiki/Ball_grid_array&amp;lt;/ref&amp;gt;package mounted SoC&amp;lt;ref name=&amp;quot;SoC&amp;quot;&amp;gt;http://en.wikipedia.org/wiki/System_on_a_chip&amp;lt;/ref&amp;gt; and PoP&amp;lt;ref name=&amp;quot;PoP&amp;quot;&amp;gt;http://en.wikipedia.org/wiki/Package_on_package&amp;lt;/ref&amp;gt; memory).''&lt;br /&gt;
''2. The board has the GPIO header pins for the primary GPIO header (but not the secondary GPIO header added on the revision 2 boards) populated. The SoC JTAG may or may not be present depending on when the board was manufactured and at which factory but aren't really of use to end users anyway due to the lack of Broadcom documentation. The LAN JTAG header does not seem to be present on any boards.&lt;br /&gt;
''3. All other connectors will be assembled in place.''&lt;br /&gt;
&lt;br /&gt;
==Accessories==&lt;br /&gt;
To use the Raspberry Pi, a user will typically require some accessories. All of the Raspberry Pi vendors listed above sell some accessories, but the exact range varies. Accessories you should consider include.&lt;br /&gt;
* USB Power Supply (UK/EU/US Compatible; 5V, 700mA-1500mA(1.5A))&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/general-discussion/is-the-raspberrypi-going-to-be-sold-as-a-kit/#p32289&amp;lt;/ref&amp;gt;&lt;br /&gt;
* SD card. Most distributors are selling pre-prepared SD cards which are usually 4&amp;amp;nbsp;GB. Software is available to prepare your own SD cards.&lt;br /&gt;
* There is a wide choice of [[RPi_Cases|cases]], most distributors will have some but shopping around for one you like is suggested.&lt;br /&gt;
* There are a variety of [[Rpi expansion boards|AddOn/Expansion Boards]] now available, see that page for more details.&lt;br /&gt;
''See [[RPi Hardware Basic Setup#Typical Hardware You Will Need | Typical Hardware You Will Need]] for details about other items you may require.''&lt;br /&gt;
&lt;br /&gt;
==Price==&lt;br /&gt;
The price is $35USD before shipping, duty, and tax, about $60 after. &lt;br /&gt;
&lt;br /&gt;
Although the foundation is UK based, the guide price of the units are in USD since the Raspberry Pi components are sourced in USD$.&lt;br /&gt;
&lt;br /&gt;
The price is $25USD (~£16GBP) for model A, and $35USD (~£23GBP) for model B.&lt;br /&gt;
&lt;br /&gt;
Items will be subject to local tax (that is, UK will have 20% VAT added) and shipping cost is not included.&lt;br /&gt;
&lt;br /&gt;
See the following update on [http://www.raspberrypi.org/archives/826 RS Components and Farnell global pricing] (2012-03-13).&lt;br /&gt;
&lt;br /&gt;
==Clones &amp;amp; Copies==&lt;br /&gt;
The foundation plans to release all the required [[RPi_Hardware#Schematic_.2F_Layout|schematics]] and plans to reproduce the Raspberry Pi hardware, so clones and copies will be welcome.&lt;br /&gt;
&lt;br /&gt;
However, since the unit is built around the Broadcom SoC, the interested party will require suitable sized orders to obtain them. The foundation were fortunate enough to be supported in this aspect by Broadcom to enable the project to be feasible.&lt;br /&gt;
&lt;br /&gt;
==Historic information==&lt;br /&gt;
&lt;br /&gt;
# The foundation have built an initial run of 10,000 Model-B units.&lt;br /&gt;
# Due to extreme demand, the units were NOT sold directly from the [http://www.raspberrypi.com shop] (see [[#Licensed Manufacture]] below).&lt;br /&gt;
# You may buy a Raspberry Pi from [http://www.element14.com/raspberrypi Farnell] or from [http://rswww.com RS Components]&lt;br /&gt;
# A limit of one unit per person was applied for the first batch and some time afterwards&lt;br /&gt;
&lt;br /&gt;
 * There were reports that several people ordered multiple units at launch,&lt;br /&gt;
   however it appears that Farnell removed any excess items when they reviewed&lt;br /&gt;
   and confirmed the order for shipping dates.&lt;br /&gt;
   This has also appears to apply for the pre-orders they have taken.&lt;br /&gt;
   Many customers also ordered from both Farnell and RS.&lt;br /&gt;
&lt;br /&gt;
===1st Batch Order FAQ===&lt;br /&gt;
 NOTE: While every attempt has been made to provide accurate information,&lt;br /&gt;
       this FAQ is not official and is based on what information is available at the time of writing.&lt;br /&gt;
&lt;br /&gt;
====Press Releases====&lt;br /&gt;
'''Farnell:'''&lt;br /&gt;
&lt;br /&gt;
[http://www.element14.com/community/docs/DOC-43262/l/frequently-asked-questions-about-raspberry-pi/?CMP=SOM-TW-e14RasPiFAQ Post-Launch FAQ by Farnell], see their attached docx file for details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''RS Components:'''&lt;br /&gt;
&lt;br /&gt;
[http://www.electrocomponents.com/media/press-releases/2012/02/29th/ Post-Launch statement by RS Components]&lt;br /&gt;
&lt;br /&gt;
[http://uk.rs-online.com/web/generalDisplay.html?id=raspberrypi&amp;amp;file=questions&amp;amp;cm_sp=raspberrypi-_--_-questions Raspberry Pi, Your Questions Answered by RS Components]&lt;br /&gt;
&lt;br /&gt;
====Q: Couldn't this have been handled better, I couldn't get on the site to order and they sold too quickly?====&lt;br /&gt;
Both distributors were indeed unprepared for the volume of traffic the launch generated (they were warned by the foundation before hand).&lt;br /&gt;
&lt;br /&gt;
Chances are if the foundation had gone with their original plan of selling through their own shop, the situation would have been far worse, with no option of pre-order either.&lt;br /&gt;
&lt;br /&gt;
The distributors only have 5,000 units each to sell, reports have estimated the registered interest/pre-orders totalling over 2 million (no official figures available yet).&lt;br /&gt;
Even if it is half of that, it means the number of available units was less than 1% of the demand.&lt;br /&gt;
&lt;br /&gt;
====Q: If interest was obviously so high, why only build 10,000 units?====&lt;br /&gt;
There is a big risk involved with building a large batch of units and selling them, and 10,000 units would take well over $250,000 in capital investment. For a very small charity, that is a massive task in itself. Much of that funding came from the Foundation Trustees' own personal investment.&lt;br /&gt;
&lt;br /&gt;
Thankfully, the massive bonus of licensing out manufacture, is that the build rate is no longer limited by the foundation's own funding, which means there will be many more units available much sooner.&lt;br /&gt;
&lt;br /&gt;
====Q: I've been unable to register an account with the distributor, as I am not a company?====&lt;br /&gt;
There have been several reported problems with individuals placing orders (that is, not having company accounts or details).&lt;br /&gt;
&lt;br /&gt;
Both distributors &amp;quot;should&amp;quot; take orders from individuals. However, it appears each of the different localised sites may have different requirements so this will be investigated to ensure that this is corrected if needed.&lt;br /&gt;
&lt;br /&gt;
Often, many of the company related fields on application are optional. If in doubt, contact their sales team for help.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Q: Worldwide launch? It was not available here! ====&lt;br /&gt;
The distributors decided to make the units only available from selected locations. It appears the foundation were not made aware of this beforehand.&lt;br /&gt;
&lt;br /&gt;
Considering the small number of available units, it would have been unlikely to have improved the situation.&lt;br /&gt;
&lt;br /&gt;
Worldwide availability will be monitored, it is expected that they will be made available as soon as possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Q: The price for the Raspberry Pi from Farnell versus the price from RS Components is different, why?====&lt;br /&gt;
Please see the following page for details about [http://www.raspberrypi.org/archives/826 RS Components and Farnell global pricing] (2012-03-13).&lt;br /&gt;
&lt;br /&gt;
====Q: I've only been able to register my interest, what now?====&lt;br /&gt;
Be patient, both distributors have said they will contact people when they have more details (alternatively keep an eye on their sites for news).&lt;br /&gt;
&lt;br /&gt;
RS Components, in particular have only taken people's details, and according to the above [[#Press Releases | press-release]] will wait until they receive their allocated 5,000 units.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Q: I registered on the Raspberry Pi Site's Mailing List, but I didn't get an email====&lt;br /&gt;
Unfortunately, the mail server had problems with sending out the 100K+ emails in time, it is believed the email was often marked as spam by a lot of email systems so was rejected or returned on-mass, or sent to Junk folders. Yes, this system should have been tested, but the foundation were keen not to send unnecessary emails to people prior to launch.&lt;br /&gt;
&lt;br /&gt;
The email contained the same information about the announcement as was publicly posted on the website (2012-02-28) before launch day, no additional or extra information was given through the email.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Template:Raspberry Pi}}&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/RPi_Buying_Guide</id>
		<title>RPi Buying Guide</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RPi_Buying_Guide"/>
				<updated>2013-03-10T13:49:25Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: /* Clones &amp;amp; Copies */ Added link to schematics section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:RaspberryPi]]&lt;br /&gt;
{{Template:RPi_Startup}}&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi has appointed [http://www.element14.com/raspberrypi Farnell] and [http://rswww.com RS Components] as its authorised manufacturing parners distributors.&lt;br /&gt;
&lt;br /&gt;
As of July 16th 2012, both [http://www.element14.com/raspberrypi Premier Farnell] and [http://rswww.com RS Components] have removed their &amp;quot;one per customer&amp;quot; restriction. Both consumers and businesses alike should now be able to buy bulk stock of the Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi's distributors will ship worldwide to the best of their ability (ie subject to origin export and local import laws).&lt;br /&gt;
&lt;br /&gt;
Countries that are currently subject to UK (including EU and UN) export restrictions include North Korea, Iran, Ivory Coast, Liberia and Zimbabwe. A full list and further details are provided at [http://www.businesslink.gov.uk/bdotg/action/layer?topicId=1084100244]&lt;br /&gt;
&lt;br /&gt;
Farnell have also been refusing to sell direct to some consumers in the EU, to the best of my knowlage they have not given full details of why.&lt;br /&gt;
&lt;br /&gt;
There are three main options for buying a Raspberry Pi, buying direct from the distributor, buying from a subsidary or sister company of the distributor or buying from a third party reseller which option is best will depend on the location of the customer, the number of Raspberry Pi's being purchased, and the urgency of the order.&lt;br /&gt;
&lt;br /&gt;
All new orders from the main distributors should now be filled with 512&amp;amp;nbsp;MB rev 2 Raspberry Pi's. However, some third-party resellers may still have stock of the older models.&lt;br /&gt;
&lt;br /&gt;
Note that stock status may change quickly. It may be worth checking a local supplier even if they are listed as out of stock here.&lt;br /&gt;
&lt;br /&gt;
==Main distributors and subsidaries/sister companies==&lt;br /&gt;
==Farnell==&lt;br /&gt;
http://www.farnell.com/&lt;br /&gt;
Farnell are one of the two main distributors, as of 2012-11-21 their main European operation is out of stock and quoting a three-week lead time. Reports from the forum are that Farnell usually beat their delivery estimates.&lt;br /&gt;
&lt;br /&gt;
For European customers, the customer is asked whether they are &amp;quot;consumer&amp;quot; or &amp;quot;business&amp;quot;. If the customer selects business, they are taken back to Farnell's regular website to order. If the customer selects consumer, they are taken to a dedicated Raspberry Pi site which only offers a small selection of Raspberry Pi related products and gives no information on stock status. Farnell's site claims that consumers who do not have a previous account cannot use the &amp;quot;business&amp;quot; option but it is not clear if this is actually true for all countries. For some countries consumers are directed to third party resellers. The order code for the Raspberry Pi is 2191863.&lt;br /&gt;
&lt;br /&gt;
===Element14===&lt;br /&gt;
http://www.element14.com&lt;br /&gt;
The &amp;quot;Element14&amp;quot; brand is used by a number of different operations within the Premier Farnell group and is also used for the groups &amp;quot;social&amp;quot; operation. In the Asia-Pacific region the Element 14 brand has completely replaced the previous &amp;quot;Premier Electronics&amp;quot; brand for asia and the previous &amp;quot;Farnell&amp;quot; brand for australia and new-zealand. In Europe, the Element14 brand is used in paralell with the Farnell brand. In North america the Element14 brand is used in parallel with the Newark brand.&lt;br /&gt;
&lt;br /&gt;
===Newark===&lt;br /&gt;
http://www.newark.com/&lt;br /&gt;
Newark is the main American branch of the Premier Farnell group (Farnell's parent company). As of 2012-11-21, they are out of stock of Raspberry Pi's, but claim 1321 Expected to ship 2012-11-26 and Further stock expected to ship 2012-12-20.&lt;br /&gt;
&lt;br /&gt;
===Element14 AU/NZ===&lt;br /&gt;
http://au.element14.com/ http://nz.element14.com/&lt;br /&gt;
On Element14's Australian operation (which also serves New Zealand) as of 2012-11-21 availability is listed as &amp;quot;please call&amp;quot; and &amp;quot;supplier lead time&amp;quot; is listed as 30 days. The order code for the Raspberry Pi is 2191863.&lt;br /&gt;
&lt;br /&gt;
===Element 14 Asia===&lt;br /&gt;
http://cn.element14.com/ http://hk.element14.com/ http://in.element14.com/ http://cn.element14.com/ http://kr.element14.com/ http://my.element14.com/ http://ph.element14.com/ http://sg.element14.com/ http://tw.element14.com/ http://th.element14.com/ &lt;br /&gt;
Element14 have warehouses in Singapore and Shanghi. It appears that some countries are served from both warehouses while others are served from only one or the other. UK stock is also listed on these sites. As of 2012-11-21, Element14's Asian operation has 331 Raspberry Pi's in stock in Shanghi and 617 Raspberry Pi's in stock in Singapore. The order code for the Raspberry Pi is 2191863.&lt;br /&gt;
&lt;br /&gt;
===CPC===&lt;br /&gt;
http://cpc.farnell.com/&lt;br /&gt;
CPC is a branch of the Premier Farnell group in the UK based in Preston. As of 2012-11-21, they have 3100 Raspberry Pi's in stock. The order code for the Raspberry Pi is SC12590.&lt;br /&gt;
&lt;br /&gt;
===MCM===&lt;br /&gt;
http://www.mcmelectronics.com/&lt;br /&gt;
MCM is a branch of the Premier Farnell group in the US based in Centerville, Ohio. As of 2012-11-21, they are out of stock and give an estimated ship date of 2012-12-07.&lt;br /&gt;
&lt;br /&gt;
==RS components==&lt;br /&gt;
http://rswww.com/&lt;br /&gt;
RS are the other main distributor. Like Farnell they have a consumer site and business option with the consumer option taking users to a dedicated Raspberry Pi store while the business option takes them back to the regular RS site. They do not state whether consumers must use the consumer site or not. The order code for the Raspberry Pi is 756-8308. As of 2012-11-21, the Raspberry Pi is listed as &amp;quot;Temporarily out of stock - back order for despatch 21/12/2012&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
RS has delayed existing orders on several occasions and are reported on the forum as being very difficult to communicate with.&lt;br /&gt;
&lt;br /&gt;
===Allied electronics===&lt;br /&gt;
http://www.alliedelec.com/&lt;br /&gt;
Allied electronics is the US sister company of RS. The order code for the Raspberry Pi is 70229569. They website does not give a predicted dispatch date and state that &amp;quot;the estimated delivery time is uncertain and will likely take several months&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Reports from the forum are that Allied are easier to communicate with than RS, but they do not appear to be being kept will informed of the stock situation by RS.&lt;br /&gt;
&lt;br /&gt;
==Resellers==&lt;br /&gt;
There are now many companies reselling the Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
===RPF endorsed resellers===&lt;br /&gt;
====Maplin====&lt;br /&gt;
Maplin sells the Raspberry Pi in the UK but only as part of a kit including power supply, keyboard and mouse, programmed 4&amp;amp;nbsp;GB SD card, HDMI cable and wireless dongle. As of 2012-11-21, they list the Raspberry Pi kit as in stock for home delivery and also in stock in some stores.&lt;br /&gt;
&lt;br /&gt;
===Farnell Approved resellers===&lt;br /&gt;
Farnell now direct consumers in many countries to &amp;quot;approved retailers&amp;quot; rather than selling to them directly. Some of these suppliers specialise in the Raspberry Pi while others are general Farnell resellers.&lt;br /&gt;
&lt;br /&gt;
====Electrocomponentes S.A====&lt;br /&gt;
http://www.electrocomponentes.com/&lt;br /&gt;
Electrocomponentes S.A sells Farnell producs in Argentina.&lt;br /&gt;
&lt;br /&gt;
====Arabian Electric &amp;amp; Electronics Est.====&lt;br /&gt;
fisuoyla@batelco.com.bh&lt;br /&gt;
Arabian Electric &amp;amp; Electronics Est sells Farnell products in Bahrain.&lt;br /&gt;
&lt;br /&gt;
====Minifo====&lt;br /&gt;
http://www.minifo.com/&lt;br /&gt;
Minifo is a Raspberry Pi retailer in Belgium. As of 2012-11-21, they list the Raspberry Pi as in stock, but they do not state how much stock they have.&lt;br /&gt;
&lt;br /&gt;
====Electromin S.A.====&lt;br /&gt;
http://www.electromin.cl/&lt;br /&gt;
Electromin S.A. sells Farnell producs in Chile.&lt;br /&gt;
&lt;br /&gt;
====Betatech Ltd====&lt;br /&gt;
http://www.farnell.com/distributors/cyprus_bet.htm&lt;br /&gt;
Betatech Ltd sells Farnell products in Cyprus.&lt;br /&gt;
&lt;br /&gt;
====Grand soloutions====&lt;br /&gt;
http://www.gs.com.eg/&lt;br /&gt;
Grand soloutions sells Farnell producs in Egypt. Unfortunately, searching their website by Farnell part number seems to be currently broken.&lt;br /&gt;
&lt;br /&gt;
====Partco Oy====&lt;br /&gt;
http://www.partco.biz/&lt;br /&gt;
Partco sells the Raspberry Pi, Arduino and a selection of electronic components in Finland. As of 2012-11-21, they list the Raspberry Pi as in stock, but they do not state how much stock they have.&lt;br /&gt;
&lt;br /&gt;
==== kubii ====&lt;br /&gt;
http://www.kubii.fr/&lt;br /&gt;
kubii sells the Raspberry Pi, together with a selection of accessories. The website was created when Farnell changed their distribution policy.&lt;br /&gt;
&lt;br /&gt;
====Málna PC Magyarország ====&lt;br /&gt;
http://malnapc.hu/ &lt;br /&gt;
Málna PC Magyarország is a Raspberry Pi reseller in Hungary.&lt;br /&gt;
&lt;br /&gt;
====Midbaejarradio EHF====&lt;br /&gt;
Midbaejarradio EHF is the authorised Farnell distributor for Iceland. &lt;br /&gt;
&lt;br /&gt;
====Lion====&lt;br /&gt;
http://www.lion.co.il/h?q=RASPBERRY&lt;br /&gt;
Lion sells the Raspberry Pi in Israel. As of 2012-11-21, they do not appear to have stock.&lt;br /&gt;
&lt;br /&gt;
====International Oilfield Supplies====&lt;br /&gt;
http://www.farnell.com/distributors/malta_int.htm&lt;br /&gt;
International Oilfield Supplies are the authorised Farnell distributor for Malta.&lt;br /&gt;
&lt;br /&gt;
====Makkays====&lt;br /&gt;
http://www.farnell.com/distributors/pakistan_mak.htm&lt;br /&gt;
Makkays is the authorised Farnell distributor for Pakistan.&lt;br /&gt;
&lt;br /&gt;
====kamami====&lt;br /&gt;
http://www.kamami.pl/&lt;br /&gt;
kamami sells the Raspberry Pi in Poland. &lt;br /&gt;
&lt;br /&gt;
====Mixtronica====&lt;br /&gt;
http://www.mixtronica.com/&lt;br /&gt;
Mixtronica sell Farnell products in Portugal.&lt;br /&gt;
&lt;br /&gt;
====Computer and Engineering Specialists Co====&lt;br /&gt;
http://www.farnell.com/distributors/saudiarabia_ces.htm&lt;br /&gt;
CESCO Group is an authorised Farnell distributor for Saudi Arabia.&lt;br /&gt;
&lt;br /&gt;
====Dialogue s.r.o====&lt;br /&gt;
http://www.dialogue.sk/index.php?page=textaktual&amp;amp;id=71&lt;br /&gt;
Dialogue s.r.o sells the Raspberry Pi and accessories in Slovakia.&lt;br /&gt;
&lt;br /&gt;
====IC elektronika d.o.o.====&lt;br /&gt;
http://www.ic-elect.si/&lt;br /&gt;
IC elektronika d.o.o. sells Farnell products in Slovenia.&lt;br /&gt;
&lt;br /&gt;
====Electrocomp express====&lt;br /&gt;
http://www.eexpress.co.za/&lt;br /&gt;
Electrocomp express sells Farnell products in South Africa. As of 2012-11-21, they list the Raspberry Pi as awaiting delivery and do not give a lead time.&lt;br /&gt;
&lt;br /&gt;
====Orel Solutions (PVT) Ltd====&lt;br /&gt;
http://www.farnell.com/distributors/srilanka_osp.htm&lt;br /&gt;
Orel Solutions (PVT) Ltd is the authorised Farnell distributor for Sri Lanka. &lt;br /&gt;
&lt;br /&gt;
====Mikro-Kit Elektronik AB====&lt;br /&gt;
https://www.microkit.se/&lt;br /&gt;
Mikro-Kit Elektronik AB sells the Raspberry Pi (and it would appear other farnell producs too) in Sweeden. As of 2012-11-21, they list the Raspberry Pi as out of stock with expected delivery 2012-12-11.&lt;br /&gt;
&lt;br /&gt;
====digitec====&lt;br /&gt;
http://www.digitec.ch/ &lt;br /&gt;
Digitec sells the Raspberry Pi in Switzerland.&lt;br /&gt;
&lt;br /&gt;
====Yildrim====&lt;br /&gt;
http://www.yildirimelektronik.com/&lt;br /&gt;
Yildrim sells Farnell products in Turkey.&lt;br /&gt;
&lt;br /&gt;
====DGM distribution====&lt;br /&gt;
http://www.farnell.com/distributors/unitedarabemirates_dgm.htm&lt;br /&gt;
DGM distribution is the authorised Farnell distributor for Dubai.&lt;br /&gt;
&lt;br /&gt;
===Other resellers===&lt;br /&gt;
====Newit====&lt;br /&gt;
http://www.newit.co.uk/&lt;br /&gt;
Newit are a British company selling a variety of ARM hardware and accessories, including the Raspberry Pi. As of 2012-11-21, they list the Raspberry Pi as in stock, but they do not state how much stock they have.&lt;br /&gt;
&lt;br /&gt;
====Makershed====&lt;br /&gt;
http://www.makershed.com/&lt;br /&gt;
Makershed is a US company that sells various stuff aimed at hardware hackers including the Raspberry Pi. As of 2012-11-21, they list the Raspberry Pi as out of stock.&lt;br /&gt;
&lt;br /&gt;
====Tandy====&lt;br /&gt;
http://www.tandyonline.co.uk/&lt;br /&gt;
Tandy is a UK company that sells a small selection of electronics stuff. As of 2012-12-08, Tandy has both 256MV rev 1.1 boards and 512MB rev 2 boards in stock.&lt;br /&gt;
&lt;br /&gt;
Note that the current Tandy is a division of adslnation and other than buying the name has little relationship to the Tandy of old.&lt;br /&gt;
&lt;br /&gt;
====Adafruit====&lt;br /&gt;
http://www.adafruit.com/&lt;br /&gt;
Adafruit is a US company that makes a variety of boards for hardware hackers and tinkerers, some specifically designed for use with the Raspberry Pi. They sell the Raspberry Pi separately, as well as part of a large starter kit including everything needed to start experimenting with the Raspberry Pi and external hardware on the GPIO. They also currently include a free Raspberry Pi with orders over $350.&lt;br /&gt;
&lt;br /&gt;
====SNOOTLAB====&lt;br /&gt;
SNOOTLAB&lt;br /&gt;
http://snootlab.com/&lt;br /&gt;
Sells products in French as well as English. They also sell a number of different components and products such as Arduinos too.&lt;br /&gt;
&lt;br /&gt;
====Tenettech====&lt;br /&gt;
Tenettech&lt;br /&gt;
http://www.tenettech.com/product/2184/raspberry-pi&lt;br /&gt;
Tenettech is Bangalore based company who sells software/hardware based solutions in India. They sell Raspberry Pi and Raspberry Pi kit (which include the Raspberry Pi, SD card, card reader, HDMI cable, and video cable).&lt;br /&gt;
&lt;br /&gt;
====AVIES Tech====&lt;br /&gt;
http://www.shopavies.com&lt;br /&gt;
AVIES Tech is a US company that provides installation and integration solutions for a variety of media centric hardware. They also carry the Raspberry Pi and related accessories.&lt;br /&gt;
&lt;br /&gt;
====Amazon====&lt;br /&gt;
[http://www.amazon.com/ Amazon] also sells boards through the Raspberry Pi name for U$D 48.03. You can buy one [http://www.amazon.com/Raspberry-Pi-Model-Revision-512MB/dp/B009SQQF9C/ref=sr_1_1?ie=UTF8&amp;amp;qid=1361718715&amp;amp;sr=8-1&amp;amp;keywords=raspberry+pi here].&lt;br /&gt;
&lt;br /&gt;
====Bitcrafts====&lt;br /&gt;
[http://etsy.com/shop/bitcrafts Bitcrafts] ships the '''Model A''' worldwide. You can buy one [http://www.etsy.com/listing/124198601/raspberry-pi-model-a? here]. They also sell cases, pIO micro SD adapters and other related accessories.&lt;br /&gt;
&lt;br /&gt;
==Licensed Manufacture==&lt;br /&gt;
The foundation has chosen to license manufacture of the Raspberry Pi, which should provide several advantages including:&lt;br /&gt;
&lt;br /&gt;
# The involvement of RS Components and Premier Farnell means that build volume can be increased much, much faster than would have been possible otherwise. Due to costs and working capital, the foundation would have been limited to batches of only 10k Raspberry Pi's; the Raspberry Pi will now be being built to match demand.&lt;br /&gt;
# Both Premier Farnell and RS Components have worldwide distribution networks, so wherever you are in the world, you will be able to buy from a local distributor. It’s a much better way for you to buy than getting them all shipped from the Foundation in the UK.&lt;br /&gt;
# Both RS Components and Premier Farnell will be taking preorders, something which the foundation would otherwise be unable to do.&lt;br /&gt;
# The foundation will still receive a percentage from the sale of every Raspberry Pi sold, which will be put straight back into the charity.&lt;br /&gt;
# Primarily, by removing the focus on dealing with manufacture, distribution and sales, this frees up the limited resources of the foundation to focus on the original aims and goals of the project.&lt;br /&gt;
&lt;br /&gt;
Additional detail is available in the [http://hardware.slashdot.org/story/12/02/28/2347222/raspberry-pi-now-has-distributors----and-will-soon-have-boards-for-all-video video interview between Eben Upton and SlashDot here (2012-02-28)].&lt;br /&gt;
&lt;br /&gt;
Unfortunately the switch to licensed manufacture has also resulted in a marked reduction in transparency of the process as Farnell and RS consider detailed information of what is going on to be confidential.&lt;br /&gt;
&lt;br /&gt;
==What You Get In The Box==&lt;br /&gt;
1. Pre-Assembled Raspberry Pi board&lt;br /&gt;
&lt;br /&gt;
2. A sheet containing a combination of regulatory information and some very brief instructions. &amp;lt;!-- At least this is the case with Farnell Raspberry Pi's, I don't know about RS ones. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Note:''&lt;br /&gt;
&lt;br /&gt;
''1. The board will be supplied assembled (since most of the components are not suitable for home builds, including the BGA&amp;lt;ref name=&amp;quot;BGA&amp;quot;&amp;gt;http://en.wikipedia.org/wiki/Ball_grid_array&amp;lt;/ref&amp;gt;package mounted SoC&amp;lt;ref name=&amp;quot;SoC&amp;quot;&amp;gt;http://en.wikipedia.org/wiki/System_on_a_chip&amp;lt;/ref&amp;gt; and PoP&amp;lt;ref name=&amp;quot;PoP&amp;quot;&amp;gt;http://en.wikipedia.org/wiki/Package_on_package&amp;lt;/ref&amp;gt; memory).''&lt;br /&gt;
''2. The board has the GPIO header pins for the primary GPIO header (but not the secondary GPIO header added on the revision 2 boards) populated. The SoC JTAG may or may not be present depending on when the board was manufactured and at which factory but aren't really of use to end users anyway due to the lack of Broadcom documentation. The LAN JTAG header does not seem to be present on any boards.&lt;br /&gt;
''3. All other connectors will be assembled in place.''&lt;br /&gt;
&lt;br /&gt;
==Accessories==&lt;br /&gt;
To use the Raspberry Pi, a user will typically require some accessories. All of the Raspberry Pi vendors listed above sell some accessories, but the exact range varies. Accessories you should consider include.&lt;br /&gt;
* USB Power Supply (UK/EU/US Compatible; 5V, 700mA-1500mA(1.5A))&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/general-discussion/is-the-raspberrypi-going-to-be-sold-as-a-kit/#p32289&amp;lt;/ref&amp;gt;&lt;br /&gt;
* SD card. Most distributors are selling pre-prepared SD cards which are usually 4&amp;amp;nbsp;GB. Software is available to prepare your own SD cards.&lt;br /&gt;
* There is a wide choice of cases, most distributors will have some but shopping around for one you like is suggested.&lt;br /&gt;
* There are a variety of [[Rpi expansion boards|AddOn/Expansion Boards]] now available, see that page for more details.&lt;br /&gt;
''See [[RPi Hardware Basic Setup#Typical Hardware You Will Need | Typical Hardware You Will Need]] for details about other items you may require.''&lt;br /&gt;
&lt;br /&gt;
==Price==&lt;br /&gt;
The price is $35USD before shipping, duty, and tax, about $60 after. &lt;br /&gt;
&lt;br /&gt;
Although the foundation is UK based, the guide price of the units are in USD since the Raspberry Pi components are sourced in USD$.&lt;br /&gt;
&lt;br /&gt;
The price is $25USD (~£16GBP) for model A, and $35USD (~£23GBP) for model B.&lt;br /&gt;
&lt;br /&gt;
Items will be subject to local tax (that is, UK will have 20% VAT added) and shipping cost is not included.&lt;br /&gt;
&lt;br /&gt;
See the following update on [http://www.raspberrypi.org/archives/826 RS Components and Farnell global pricing] (2012-03-13).&lt;br /&gt;
&lt;br /&gt;
==Clones &amp;amp; Copies==&lt;br /&gt;
The foundation plans to release all the required [[RPi_Hardware#Schematic_.2F_Layout|schematics]] and plans to reproduce the Raspberry Pi hardware, so clones and copies will be welcome.&lt;br /&gt;
&lt;br /&gt;
However, since the unit is built around the Broadcom SoC, the interested party will require suitable sized orders to obtain them. The foundation were fortunate enough to be supported in this aspect by Broadcom to enable the project to be feasible.&lt;br /&gt;
&lt;br /&gt;
==Historic information==&lt;br /&gt;
&lt;br /&gt;
# The foundation have built an initial run of 10,000 Model-B units.&lt;br /&gt;
# Due to extreme demand, the units were NOT sold directly from the [http://www.raspberrypi.com shop] (see [[#Licensed Manufacture]] below).&lt;br /&gt;
# You may buy a Raspberry Pi from [http://www.element14.com/raspberrypi Farnell] or from [http://rswww.com RS Components]&lt;br /&gt;
# A limit of one unit per person was applied for the first batch and some time afterwards&lt;br /&gt;
&lt;br /&gt;
 * There were reports that several people ordered multiple units at launch,&lt;br /&gt;
   however it appears that Farnell removed any excess items when they reviewed&lt;br /&gt;
   and confirmed the order for shipping dates.&lt;br /&gt;
   This has also appears to apply for the pre-orders they have taken.&lt;br /&gt;
   Many customers also ordered from both Farnell and RS.&lt;br /&gt;
&lt;br /&gt;
===1st Batch Order FAQ===&lt;br /&gt;
 NOTE: While every attempt has been made to provide accurate information,&lt;br /&gt;
       this FAQ is not official and is based on what information is available at the time of writing.&lt;br /&gt;
&lt;br /&gt;
====Press Releases====&lt;br /&gt;
'''Farnell:'''&lt;br /&gt;
&lt;br /&gt;
[http://www.element14.com/community/docs/DOC-43262/l/frequently-asked-questions-about-raspberry-pi/?CMP=SOM-TW-e14RasPiFAQ Post-Launch FAQ by Farnell], see their attached docx file for details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''RS Components:'''&lt;br /&gt;
&lt;br /&gt;
[http://www.electrocomponents.com/media/press-releases/2012/02/29th/ Post-Launch statement by RS Components]&lt;br /&gt;
&lt;br /&gt;
[http://uk.rs-online.com/web/generalDisplay.html?id=raspberrypi&amp;amp;file=questions&amp;amp;cm_sp=raspberrypi-_--_-questions Raspberry Pi, Your Questions Answered by RS Components]&lt;br /&gt;
&lt;br /&gt;
====Q: Couldn't this have been handled better, I couldn't get on the site to order and they sold too quickly?====&lt;br /&gt;
Both distributors were indeed unprepared for the volume of traffic the launch generated (they were warned by the foundation before hand).&lt;br /&gt;
&lt;br /&gt;
Chances are if the foundation had gone with their original plan of selling through their own shop, the situation would have been far worse, with no option of pre-order either.&lt;br /&gt;
&lt;br /&gt;
The distributors only have 5,000 units each to sell, reports have estimated the registered interest/pre-orders totalling over 2 million (no official figures available yet).&lt;br /&gt;
Even if it is half of that, it means the number of available units was less than 1% of the demand.&lt;br /&gt;
&lt;br /&gt;
====Q: If interest was obviously so high, why only build 10,000 units?====&lt;br /&gt;
There is a big risk involved with building a large batch of units and selling them, and 10,000 units would take well over $250,000 in capital investment. For a very small charity, that is a massive task in itself. Much of that funding came from the Foundation Trustees' own personal investment.&lt;br /&gt;
&lt;br /&gt;
Thankfully, the massive bonus of licensing out manufacture, is that the build rate is no longer limited by the foundation's own funding, which means there will be many more units available much sooner.&lt;br /&gt;
&lt;br /&gt;
====Q: I've been unable to register an account with the distributor, as I am not a company?====&lt;br /&gt;
There have been several reported problems with individuals placing orders (that is, not having company accounts or details).&lt;br /&gt;
&lt;br /&gt;
Both distributors &amp;quot;should&amp;quot; take orders from individuals. However, it appears each of the different localised sites may have different requirements so this will be investigated to ensure that this is corrected if needed.&lt;br /&gt;
&lt;br /&gt;
Often, many of the company related fields on application are optional. If in doubt, contact their sales team for help.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Q: Worldwide launch? It was not available here! ====&lt;br /&gt;
The distributors decided to make the units only available from selected locations. It appears the foundation were not made aware of this beforehand.&lt;br /&gt;
&lt;br /&gt;
Considering the small number of available units, it would have been unlikely to have improved the situation.&lt;br /&gt;
&lt;br /&gt;
Worldwide availability will be monitored, it is expected that they will be made available as soon as possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Q: The price for the Raspberry Pi from Farnell versus the price from RS Components is different, why?====&lt;br /&gt;
Please see the following page for details about [http://www.raspberrypi.org/archives/826 RS Components and Farnell global pricing] (2012-03-13).&lt;br /&gt;
&lt;br /&gt;
====Q: I've only been able to register my interest, what now?====&lt;br /&gt;
Be patient, both distributors have said they will contact people when they have more details (alternatively keep an eye on their sites for news).&lt;br /&gt;
&lt;br /&gt;
RS Components, in particular have only taken people's details, and according to the above [[#Press Releases | press-release]] will wait until they receive their allocated 5,000 units.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Q: I registered on the Raspberry Pi Site's Mailing List, but I didn't get an email====&lt;br /&gt;
Unfortunately, the mail server had problems with sending out the 100K+ emails in time, it is believed the email was often marked as spam by a lot of email systems so was rejected or returned on-mass, or sent to Junk folders. Yes, this system should have been tested, but the foundation were keen not to send unnecessary emails to people prior to launch.&lt;br /&gt;
&lt;br /&gt;
The email contained the same information about the announcement as was publicly posted on the website (2012-02-28) before launch day, no additional or extra information was given through the email.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Template:Raspberry Pi}}&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/RPi_Buying_Guide</id>
		<title>RPi Buying Guide</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RPi_Buying_Guide"/>
				<updated>2013-03-10T13:45:20Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: /* Price */ ModelA *is* now available&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:RaspberryPi]]&lt;br /&gt;
{{Template:RPi_Startup}}&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi has appointed [http://www.element14.com/raspberrypi Farnell] and [http://rswww.com RS Components] as its authorised manufacturing parners distributors.&lt;br /&gt;
&lt;br /&gt;
As of July 16th 2012, both [http://www.element14.com/raspberrypi Premier Farnell] and [http://rswww.com RS Components] have removed their &amp;quot;one per customer&amp;quot; restriction. Both consumers and businesses alike should now be able to buy bulk stock of the Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi's distributors will ship worldwide to the best of their ability (ie subject to origin export and local import laws).&lt;br /&gt;
&lt;br /&gt;
Countries that are currently subject to UK (including EU and UN) export restrictions include North Korea, Iran, Ivory Coast, Liberia and Zimbabwe. A full list and further details are provided at [http://www.businesslink.gov.uk/bdotg/action/layer?topicId=1084100244]&lt;br /&gt;
&lt;br /&gt;
Farnell have also been refusing to sell direct to some consumers in the EU, to the best of my knowlage they have not given full details of why.&lt;br /&gt;
&lt;br /&gt;
There are three main options for buying a Raspberry Pi, buying direct from the distributor, buying from a subsidary or sister company of the distributor or buying from a third party reseller which option is best will depend on the location of the customer, the number of Raspberry Pi's being purchased, and the urgency of the order.&lt;br /&gt;
&lt;br /&gt;
All new orders from the main distributors should now be filled with 512&amp;amp;nbsp;MB rev 2 Raspberry Pi's. However, some third-party resellers may still have stock of the older models.&lt;br /&gt;
&lt;br /&gt;
Note that stock status may change quickly. It may be worth checking a local supplier even if they are listed as out of stock here.&lt;br /&gt;
&lt;br /&gt;
==Main distributors and subsidaries/sister companies==&lt;br /&gt;
==Farnell==&lt;br /&gt;
http://www.farnell.com/&lt;br /&gt;
Farnell are one of the two main distributors, as of 2012-11-21 their main European operation is out of stock and quoting a three-week lead time. Reports from the forum are that Farnell usually beat their delivery estimates.&lt;br /&gt;
&lt;br /&gt;
For European customers, the customer is asked whether they are &amp;quot;consumer&amp;quot; or &amp;quot;business&amp;quot;. If the customer selects business, they are taken back to Farnell's regular website to order. If the customer selects consumer, they are taken to a dedicated Raspberry Pi site which only offers a small selection of Raspberry Pi related products and gives no information on stock status. Farnell's site claims that consumers who do not have a previous account cannot use the &amp;quot;business&amp;quot; option but it is not clear if this is actually true for all countries. For some countries consumers are directed to third party resellers. The order code for the Raspberry Pi is 2191863.&lt;br /&gt;
&lt;br /&gt;
===Element14===&lt;br /&gt;
http://www.element14.com&lt;br /&gt;
The &amp;quot;Element14&amp;quot; brand is used by a number of different operations within the Premier Farnell group and is also used for the groups &amp;quot;social&amp;quot; operation. In the Asia-Pacific region the Element 14 brand has completely replaced the previous &amp;quot;Premier Electronics&amp;quot; brand for asia and the previous &amp;quot;Farnell&amp;quot; brand for australia and new-zealand. In Europe, the Element14 brand is used in paralell with the Farnell brand. In North america the Element14 brand is used in parallel with the Newark brand.&lt;br /&gt;
&lt;br /&gt;
===Newark===&lt;br /&gt;
http://www.newark.com/&lt;br /&gt;
Newark is the main American branch of the Premier Farnell group (Farnell's parent company). As of 2012-11-21, they are out of stock of Raspberry Pi's, but claim 1321 Expected to ship 2012-11-26 and Further stock expected to ship 2012-12-20.&lt;br /&gt;
&lt;br /&gt;
===Element14 AU/NZ===&lt;br /&gt;
http://au.element14.com/ http://nz.element14.com/&lt;br /&gt;
On Element14's Australian operation (which also serves New Zealand) as of 2012-11-21 availability is listed as &amp;quot;please call&amp;quot; and &amp;quot;supplier lead time&amp;quot; is listed as 30 days. The order code for the Raspberry Pi is 2191863.&lt;br /&gt;
&lt;br /&gt;
===Element 14 Asia===&lt;br /&gt;
http://cn.element14.com/ http://hk.element14.com/ http://in.element14.com/ http://cn.element14.com/ http://kr.element14.com/ http://my.element14.com/ http://ph.element14.com/ http://sg.element14.com/ http://tw.element14.com/ http://th.element14.com/ &lt;br /&gt;
Element14 have warehouses in Singapore and Shanghi. It appears that some countries are served from both warehouses while others are served from only one or the other. UK stock is also listed on these sites. As of 2012-11-21, Element14's Asian operation has 331 Raspberry Pi's in stock in Shanghi and 617 Raspberry Pi's in stock in Singapore. The order code for the Raspberry Pi is 2191863.&lt;br /&gt;
&lt;br /&gt;
===CPC===&lt;br /&gt;
http://cpc.farnell.com/&lt;br /&gt;
CPC is a branch of the Premier Farnell group in the UK based in Preston. As of 2012-11-21, they have 3100 Raspberry Pi's in stock. The order code for the Raspberry Pi is SC12590.&lt;br /&gt;
&lt;br /&gt;
===MCM===&lt;br /&gt;
http://www.mcmelectronics.com/&lt;br /&gt;
MCM is a branch of the Premier Farnell group in the US based in Centerville, Ohio. As of 2012-11-21, they are out of stock and give an estimated ship date of 2012-12-07.&lt;br /&gt;
&lt;br /&gt;
==RS components==&lt;br /&gt;
http://rswww.com/&lt;br /&gt;
RS are the other main distributor. Like Farnell they have a consumer site and business option with the consumer option taking users to a dedicated Raspberry Pi store while the business option takes them back to the regular RS site. They do not state whether consumers must use the consumer site or not. The order code for the Raspberry Pi is 756-8308. As of 2012-11-21, the Raspberry Pi is listed as &amp;quot;Temporarily out of stock - back order for despatch 21/12/2012&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
RS has delayed existing orders on several occasions and are reported on the forum as being very difficult to communicate with.&lt;br /&gt;
&lt;br /&gt;
===Allied electronics===&lt;br /&gt;
http://www.alliedelec.com/&lt;br /&gt;
Allied electronics is the US sister company of RS. The order code for the Raspberry Pi is 70229569. They website does not give a predicted dispatch date and state that &amp;quot;the estimated delivery time is uncertain and will likely take several months&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Reports from the forum are that Allied are easier to communicate with than RS, but they do not appear to be being kept will informed of the stock situation by RS.&lt;br /&gt;
&lt;br /&gt;
==Resellers==&lt;br /&gt;
There are now many companies reselling the Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
===RPF endorsed resellers===&lt;br /&gt;
====Maplin====&lt;br /&gt;
Maplin sells the Raspberry Pi in the UK but only as part of a kit including power supply, keyboard and mouse, programmed 4&amp;amp;nbsp;GB SD card, HDMI cable and wireless dongle. As of 2012-11-21, they list the Raspberry Pi kit as in stock for home delivery and also in stock in some stores.&lt;br /&gt;
&lt;br /&gt;
===Farnell Approved resellers===&lt;br /&gt;
Farnell now direct consumers in many countries to &amp;quot;approved retailers&amp;quot; rather than selling to them directly. Some of these suppliers specialise in the Raspberry Pi while others are general Farnell resellers.&lt;br /&gt;
&lt;br /&gt;
====Electrocomponentes S.A====&lt;br /&gt;
http://www.electrocomponentes.com/&lt;br /&gt;
Electrocomponentes S.A sells Farnell producs in Argentina.&lt;br /&gt;
&lt;br /&gt;
====Arabian Electric &amp;amp; Electronics Est.====&lt;br /&gt;
fisuoyla@batelco.com.bh&lt;br /&gt;
Arabian Electric &amp;amp; Electronics Est sells Farnell products in Bahrain.&lt;br /&gt;
&lt;br /&gt;
====Minifo====&lt;br /&gt;
http://www.minifo.com/&lt;br /&gt;
Minifo is a Raspberry Pi retailer in Belgium. As of 2012-11-21, they list the Raspberry Pi as in stock, but they do not state how much stock they have.&lt;br /&gt;
&lt;br /&gt;
====Electromin S.A.====&lt;br /&gt;
http://www.electromin.cl/&lt;br /&gt;
Electromin S.A. sells Farnell producs in Chile.&lt;br /&gt;
&lt;br /&gt;
====Betatech Ltd====&lt;br /&gt;
http://www.farnell.com/distributors/cyprus_bet.htm&lt;br /&gt;
Betatech Ltd sells Farnell products in Cyprus.&lt;br /&gt;
&lt;br /&gt;
====Grand soloutions====&lt;br /&gt;
http://www.gs.com.eg/&lt;br /&gt;
Grand soloutions sells Farnell producs in Egypt. Unfortunately, searching their website by Farnell part number seems to be currently broken.&lt;br /&gt;
&lt;br /&gt;
====Partco Oy====&lt;br /&gt;
http://www.partco.biz/&lt;br /&gt;
Partco sells the Raspberry Pi, Arduino and a selection of electronic components in Finland. As of 2012-11-21, they list the Raspberry Pi as in stock, but they do not state how much stock they have.&lt;br /&gt;
&lt;br /&gt;
==== kubii ====&lt;br /&gt;
http://www.kubii.fr/&lt;br /&gt;
kubii sells the Raspberry Pi, together with a selection of accessories. The website was created when Farnell changed their distribution policy.&lt;br /&gt;
&lt;br /&gt;
====Málna PC Magyarország ====&lt;br /&gt;
http://malnapc.hu/ &lt;br /&gt;
Málna PC Magyarország is a Raspberry Pi reseller in Hungary.&lt;br /&gt;
&lt;br /&gt;
====Midbaejarradio EHF====&lt;br /&gt;
Midbaejarradio EHF is the authorised Farnell distributor for Iceland. &lt;br /&gt;
&lt;br /&gt;
====Lion====&lt;br /&gt;
http://www.lion.co.il/h?q=RASPBERRY&lt;br /&gt;
Lion sells the Raspberry Pi in Israel. As of 2012-11-21, they do not appear to have stock.&lt;br /&gt;
&lt;br /&gt;
====International Oilfield Supplies====&lt;br /&gt;
http://www.farnell.com/distributors/malta_int.htm&lt;br /&gt;
International Oilfield Supplies are the authorised Farnell distributor for Malta.&lt;br /&gt;
&lt;br /&gt;
====Makkays====&lt;br /&gt;
http://www.farnell.com/distributors/pakistan_mak.htm&lt;br /&gt;
Makkays is the authorised Farnell distributor for Pakistan.&lt;br /&gt;
&lt;br /&gt;
====kamami====&lt;br /&gt;
http://www.kamami.pl/&lt;br /&gt;
kamami sells the Raspberry Pi in Poland. &lt;br /&gt;
&lt;br /&gt;
====Mixtronica====&lt;br /&gt;
http://www.mixtronica.com/&lt;br /&gt;
Mixtronica sell Farnell products in Portugal.&lt;br /&gt;
&lt;br /&gt;
====Computer and Engineering Specialists Co====&lt;br /&gt;
http://www.farnell.com/distributors/saudiarabia_ces.htm&lt;br /&gt;
CESCO Group is an authorised Farnell distributor for Saudi Arabia.&lt;br /&gt;
&lt;br /&gt;
====Dialogue s.r.o====&lt;br /&gt;
http://www.dialogue.sk/index.php?page=textaktual&amp;amp;id=71&lt;br /&gt;
Dialogue s.r.o sells the Raspberry Pi and accessories in Slovakia.&lt;br /&gt;
&lt;br /&gt;
====IC elektronika d.o.o.====&lt;br /&gt;
http://www.ic-elect.si/&lt;br /&gt;
IC elektronika d.o.o. sells Farnell products in Slovenia.&lt;br /&gt;
&lt;br /&gt;
====Electrocomp express====&lt;br /&gt;
http://www.eexpress.co.za/&lt;br /&gt;
Electrocomp express sells Farnell products in South Africa. As of 2012-11-21, they list the Raspberry Pi as awaiting delivery and do not give a lead time.&lt;br /&gt;
&lt;br /&gt;
====Orel Solutions (PVT) Ltd====&lt;br /&gt;
http://www.farnell.com/distributors/srilanka_osp.htm&lt;br /&gt;
Orel Solutions (PVT) Ltd is the authorised Farnell distributor for Sri Lanka. &lt;br /&gt;
&lt;br /&gt;
====Mikro-Kit Elektronik AB====&lt;br /&gt;
https://www.microkit.se/&lt;br /&gt;
Mikro-Kit Elektronik AB sells the Raspberry Pi (and it would appear other farnell producs too) in Sweeden. As of 2012-11-21, they list the Raspberry Pi as out of stock with expected delivery 2012-12-11.&lt;br /&gt;
&lt;br /&gt;
====digitec====&lt;br /&gt;
http://www.digitec.ch/ &lt;br /&gt;
Digitec sells the Raspberry Pi in Switzerland.&lt;br /&gt;
&lt;br /&gt;
====Yildrim====&lt;br /&gt;
http://www.yildirimelektronik.com/&lt;br /&gt;
Yildrim sells Farnell products in Turkey.&lt;br /&gt;
&lt;br /&gt;
====DGM distribution====&lt;br /&gt;
http://www.farnell.com/distributors/unitedarabemirates_dgm.htm&lt;br /&gt;
DGM distribution is the authorised Farnell distributor for Dubai.&lt;br /&gt;
&lt;br /&gt;
===Other resellers===&lt;br /&gt;
====Newit====&lt;br /&gt;
http://www.newit.co.uk/&lt;br /&gt;
Newit are a British company selling a variety of ARM hardware and accessories, including the Raspberry Pi. As of 2012-11-21, they list the Raspberry Pi as in stock, but they do not state how much stock they have.&lt;br /&gt;
&lt;br /&gt;
====Makershed====&lt;br /&gt;
http://www.makershed.com/&lt;br /&gt;
Makershed is a US company that sells various stuff aimed at hardware hackers including the Raspberry Pi. As of 2012-11-21, they list the Raspberry Pi as out of stock.&lt;br /&gt;
&lt;br /&gt;
====Tandy====&lt;br /&gt;
http://www.tandyonline.co.uk/&lt;br /&gt;
Tandy is a UK company that sells a small selection of electronics stuff. As of 2012-12-08, Tandy has both 256MV rev 1.1 boards and 512MB rev 2 boards in stock.&lt;br /&gt;
&lt;br /&gt;
Note that the current Tandy is a division of adslnation and other than buying the name has little relationship to the Tandy of old.&lt;br /&gt;
&lt;br /&gt;
====Adafruit====&lt;br /&gt;
http://www.adafruit.com/&lt;br /&gt;
Adafruit is a US company that makes a variety of boards for hardware hackers and tinkerers, some specifically designed for use with the Raspberry Pi. They sell the Raspberry Pi separately, as well as part of a large starter kit including everything needed to start experimenting with the Raspberry Pi and external hardware on the GPIO. They also currently include a free Raspberry Pi with orders over $350.&lt;br /&gt;
&lt;br /&gt;
====SNOOTLAB====&lt;br /&gt;
SNOOTLAB&lt;br /&gt;
http://snootlab.com/&lt;br /&gt;
Sells products in French as well as English. They also sell a number of different components and products such as Arduinos too.&lt;br /&gt;
&lt;br /&gt;
====Tenettech====&lt;br /&gt;
Tenettech&lt;br /&gt;
http://www.tenettech.com/product/2184/raspberry-pi&lt;br /&gt;
Tenettech is Bangalore based company who sells software/hardware based solutions in India. They sell Raspberry Pi and Raspberry Pi kit (which include the Raspberry Pi, SD card, card reader, HDMI cable, and video cable).&lt;br /&gt;
&lt;br /&gt;
====AVIES Tech====&lt;br /&gt;
http://www.shopavies.com&lt;br /&gt;
AVIES Tech is a US company that provides installation and integration solutions for a variety of media centric hardware. They also carry the Raspberry Pi and related accessories.&lt;br /&gt;
&lt;br /&gt;
====Amazon====&lt;br /&gt;
[http://www.amazon.com/ Amazon] also sells boards through the Raspberry Pi name for U$D 48.03. You can buy one [http://www.amazon.com/Raspberry-Pi-Model-Revision-512MB/dp/B009SQQF9C/ref=sr_1_1?ie=UTF8&amp;amp;qid=1361718715&amp;amp;sr=8-1&amp;amp;keywords=raspberry+pi here].&lt;br /&gt;
&lt;br /&gt;
====Bitcrafts====&lt;br /&gt;
[http://etsy.com/shop/bitcrafts Bitcrafts] ships the '''Model A''' worldwide. You can buy one [http://www.etsy.com/listing/124198601/raspberry-pi-model-a? here]. They also sell cases, pIO micro SD adapters and other related accessories.&lt;br /&gt;
&lt;br /&gt;
==Licensed Manufacture==&lt;br /&gt;
The foundation has chosen to license manufacture of the Raspberry Pi, which should provide several advantages including:&lt;br /&gt;
&lt;br /&gt;
# The involvement of RS Components and Premier Farnell means that build volume can be increased much, much faster than would have been possible otherwise. Due to costs and working capital, the foundation would have been limited to batches of only 10k Raspberry Pi's; the Raspberry Pi will now be being built to match demand.&lt;br /&gt;
# Both Premier Farnell and RS Components have worldwide distribution networks, so wherever you are in the world, you will be able to buy from a local distributor. It’s a much better way for you to buy than getting them all shipped from the Foundation in the UK.&lt;br /&gt;
# Both RS Components and Premier Farnell will be taking preorders, something which the foundation would otherwise be unable to do.&lt;br /&gt;
# The foundation will still receive a percentage from the sale of every Raspberry Pi sold, which will be put straight back into the charity.&lt;br /&gt;
# Primarily, by removing the focus on dealing with manufacture, distribution and sales, this frees up the limited resources of the foundation to focus on the original aims and goals of the project.&lt;br /&gt;
&lt;br /&gt;
Additional detail is available in the [http://hardware.slashdot.org/story/12/02/28/2347222/raspberry-pi-now-has-distributors----and-will-soon-have-boards-for-all-video video interview between Eben Upton and SlashDot here (2012-02-28)].&lt;br /&gt;
&lt;br /&gt;
Unfortunately the switch to licensed manufacture has also resulted in a marked reduction in transparency of the process as Farnell and RS consider detailed information of what is going on to be confidential.&lt;br /&gt;
&lt;br /&gt;
==What You Get In The Box==&lt;br /&gt;
1. Pre-Assembled Raspberry Pi board&lt;br /&gt;
&lt;br /&gt;
2. A sheet containing a combination of regulatory information and some very brief instructions. &amp;lt;!-- At least this is the case with Farnell Raspberry Pi's, I don't know about RS ones. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Note:''&lt;br /&gt;
&lt;br /&gt;
''1. The board will be supplied assembled (since most of the components are not suitable for home builds, including the BGA&amp;lt;ref name=&amp;quot;BGA&amp;quot;&amp;gt;http://en.wikipedia.org/wiki/Ball_grid_array&amp;lt;/ref&amp;gt;package mounted SoC&amp;lt;ref name=&amp;quot;SoC&amp;quot;&amp;gt;http://en.wikipedia.org/wiki/System_on_a_chip&amp;lt;/ref&amp;gt; and PoP&amp;lt;ref name=&amp;quot;PoP&amp;quot;&amp;gt;http://en.wikipedia.org/wiki/Package_on_package&amp;lt;/ref&amp;gt; memory).''&lt;br /&gt;
''2. The board has the GPIO header pins for the primary GPIO header (but not the secondary GPIO header added on the revision 2 boards) populated. The SoC JTAG may or may not be present depending on when the board was manufactured and at which factory but aren't really of use to end users anyway due to the lack of Broadcom documentation. The LAN JTAG header does not seem to be present on any boards.&lt;br /&gt;
''3. All other connectors will be assembled in place.''&lt;br /&gt;
&lt;br /&gt;
==Accessories==&lt;br /&gt;
To use the Raspberry Pi, a user will typically require some accessories. All of the Raspberry Pi vendors listed above sell some accessories, but the exact range varies. Accessories you should consider include.&lt;br /&gt;
* USB Power Supply (UK/EU/US Compatible; 5V, 700mA-1500mA(1.5A))&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/general-discussion/is-the-raspberrypi-going-to-be-sold-as-a-kit/#p32289&amp;lt;/ref&amp;gt;&lt;br /&gt;
* SD card. Most distributors are selling pre-prepared SD cards which are usually 4&amp;amp;nbsp;GB. Software is available to prepare your own SD cards.&lt;br /&gt;
* There is a wide choice of cases, most distributors will have some but shopping around for one you like is suggested.&lt;br /&gt;
* There are a variety of [[Rpi expansion boards|AddOn/Expansion Boards]] now available, see that page for more details.&lt;br /&gt;
''See [[RPi Hardware Basic Setup#Typical Hardware You Will Need | Typical Hardware You Will Need]] for details about other items you may require.''&lt;br /&gt;
&lt;br /&gt;
==Price==&lt;br /&gt;
The price is $35USD before shipping, duty, and tax, about $60 after. &lt;br /&gt;
&lt;br /&gt;
Although the foundation is UK based, the guide price of the units are in USD since the Raspberry Pi components are sourced in USD$.&lt;br /&gt;
&lt;br /&gt;
The price is $25USD (~£16GBP) for model A, and $35USD (~£23GBP) for model B.&lt;br /&gt;
&lt;br /&gt;
Items will be subject to local tax (that is, UK will have 20% VAT added) and shipping cost is not included.&lt;br /&gt;
&lt;br /&gt;
See the following update on [http://www.raspberrypi.org/archives/826 RS Components and Farnell global pricing] (2012-03-13).&lt;br /&gt;
&lt;br /&gt;
==Clones &amp;amp; Copies==&lt;br /&gt;
The foundation plans to release all the required schematics and plans to reproduce the Raspberry Pi hardware, so clones and copies will be welcome.&lt;br /&gt;
&lt;br /&gt;
However, since the unit is built around the Broadcom SoC, the interested party will require suitable sized orders to obtain them. The foundation were fortunate enough to be supported in this aspect by Broadcom to enable the project to be feasible.&lt;br /&gt;
&lt;br /&gt;
==Historic information==&lt;br /&gt;
&lt;br /&gt;
# The foundation have built an initial run of 10,000 Model-B units.&lt;br /&gt;
# Due to extreme demand, the units were NOT sold directly from the [http://www.raspberrypi.com shop] (see [[#Licensed Manufacture]] below).&lt;br /&gt;
# You may buy a Raspberry Pi from [http://www.element14.com/raspberrypi Farnell] or from [http://rswww.com RS Components]&lt;br /&gt;
# A limit of one unit per person was applied for the first batch and some time afterwards&lt;br /&gt;
&lt;br /&gt;
 * There were reports that several people ordered multiple units at launch,&lt;br /&gt;
   however it appears that Farnell removed any excess items when they reviewed&lt;br /&gt;
   and confirmed the order for shipping dates.&lt;br /&gt;
   This has also appears to apply for the pre-orders they have taken.&lt;br /&gt;
   Many customers also ordered from both Farnell and RS.&lt;br /&gt;
&lt;br /&gt;
===1st Batch Order FAQ===&lt;br /&gt;
 NOTE: While every attempt has been made to provide accurate information,&lt;br /&gt;
       this FAQ is not official and is based on what information is available at the time of writing.&lt;br /&gt;
&lt;br /&gt;
====Press Releases====&lt;br /&gt;
'''Farnell:'''&lt;br /&gt;
&lt;br /&gt;
[http://www.element14.com/community/docs/DOC-43262/l/frequently-asked-questions-about-raspberry-pi/?CMP=SOM-TW-e14RasPiFAQ Post-Launch FAQ by Farnell], see their attached docx file for details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''RS Components:'''&lt;br /&gt;
&lt;br /&gt;
[http://www.electrocomponents.com/media/press-releases/2012/02/29th/ Post-Launch statement by RS Components]&lt;br /&gt;
&lt;br /&gt;
[http://uk.rs-online.com/web/generalDisplay.html?id=raspberrypi&amp;amp;file=questions&amp;amp;cm_sp=raspberrypi-_--_-questions Raspberry Pi, Your Questions Answered by RS Components]&lt;br /&gt;
&lt;br /&gt;
====Q: Couldn't this have been handled better, I couldn't get on the site to order and they sold too quickly?====&lt;br /&gt;
Both distributors were indeed unprepared for the volume of traffic the launch generated (they were warned by the foundation before hand).&lt;br /&gt;
&lt;br /&gt;
Chances are if the foundation had gone with their original plan of selling through their own shop, the situation would have been far worse, with no option of pre-order either.&lt;br /&gt;
&lt;br /&gt;
The distributors only have 5,000 units each to sell, reports have estimated the registered interest/pre-orders totalling over 2 million (no official figures available yet).&lt;br /&gt;
Even if it is half of that, it means the number of available units was less than 1% of the demand.&lt;br /&gt;
&lt;br /&gt;
====Q: If interest was obviously so high, why only build 10,000 units?====&lt;br /&gt;
There is a big risk involved with building a large batch of units and selling them, and 10,000 units would take well over $250,000 in capital investment. For a very small charity, that is a massive task in itself. Much of that funding came from the Foundation Trustees' own personal investment.&lt;br /&gt;
&lt;br /&gt;
Thankfully, the massive bonus of licensing out manufacture, is that the build rate is no longer limited by the foundation's own funding, which means there will be many more units available much sooner.&lt;br /&gt;
&lt;br /&gt;
====Q: I've been unable to register an account with the distributor, as I am not a company?====&lt;br /&gt;
There have been several reported problems with individuals placing orders (that is, not having company accounts or details).&lt;br /&gt;
&lt;br /&gt;
Both distributors &amp;quot;should&amp;quot; take orders from individuals. However, it appears each of the different localised sites may have different requirements so this will be investigated to ensure that this is corrected if needed.&lt;br /&gt;
&lt;br /&gt;
Often, many of the company related fields on application are optional. If in doubt, contact their sales team for help.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Q: Worldwide launch? It was not available here! ====&lt;br /&gt;
The distributors decided to make the units only available from selected locations. It appears the foundation were not made aware of this beforehand.&lt;br /&gt;
&lt;br /&gt;
Considering the small number of available units, it would have been unlikely to have improved the situation.&lt;br /&gt;
&lt;br /&gt;
Worldwide availability will be monitored, it is expected that they will be made available as soon as possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Q: The price for the Raspberry Pi from Farnell versus the price from RS Components is different, why?====&lt;br /&gt;
Please see the following page for details about [http://www.raspberrypi.org/archives/826 RS Components and Farnell global pricing] (2012-03-13).&lt;br /&gt;
&lt;br /&gt;
====Q: I've only been able to register my interest, what now?====&lt;br /&gt;
Be patient, both distributors have said they will contact people when they have more details (alternatively keep an eye on their sites for news).&lt;br /&gt;
&lt;br /&gt;
RS Components, in particular have only taken people's details, and according to the above [[#Press Releases | press-release]] will wait until they receive their allocated 5,000 units.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Q: I registered on the Raspberry Pi Site's Mailing List, but I didn't get an email====&lt;br /&gt;
Unfortunately, the mail server had problems with sending out the 100K+ emails in time, it is believed the email was often marked as spam by a lot of email systems so was rejected or returned on-mass, or sent to Junk folders. Yes, this system should have been tested, but the foundation were keen not to send unnecessary emails to people prior to launch.&lt;br /&gt;
&lt;br /&gt;
The email contained the same information about the announcement as was publicly posted on the website (2012-02-28) before launch day, no additional or extra information was given through the email.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Template:Raspberry Pi}}&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/RPi_Buying_Guide</id>
		<title>RPi Buying Guide</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RPi_Buying_Guide"/>
				<updated>2013-03-10T13:40:47Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: Undo revision 228296 by Tskwara (talk) MobileAppSystems only sell cases, not Raspberry Pi units (and they're already listed on the RPi Cases page)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:RaspberryPi]]&lt;br /&gt;
{{Template:RPi_Startup}}&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi has appointed [http://www.element14.com/raspberrypi Farnell] and [http://rswww.com RS Components] as its authorised manufacturing parners distributors.&lt;br /&gt;
&lt;br /&gt;
As of July 16th 2012, both [http://www.element14.com/raspberrypi Premier Farnell] and [http://rswww.com RS Components] have removed their &amp;quot;one per customer&amp;quot; restriction. Both consumers and businesses alike should now be able to buy bulk stock of the Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi's distributors will ship worldwide to the best of their ability (ie subject to origin export and local import laws).&lt;br /&gt;
&lt;br /&gt;
Countries that are currently subject to UK (including EU and UN) export restrictions include North Korea, Iran, Ivory Coast, Liberia and Zimbabwe. A full list and further details are provided at [http://www.businesslink.gov.uk/bdotg/action/layer?topicId=1084100244]&lt;br /&gt;
&lt;br /&gt;
Farnell have also been refusing to sell direct to some consumers in the EU, to the best of my knowlage they have not given full details of why.&lt;br /&gt;
&lt;br /&gt;
There are three main options for buying a Raspberry Pi, buying direct from the distributor, buying from a subsidary or sister company of the distributor or buying from a third party reseller which option is best will depend on the location of the customer, the number of Raspberry Pi's being purchased, and the urgency of the order.&lt;br /&gt;
&lt;br /&gt;
All new orders from the main distributors should now be filled with 512&amp;amp;nbsp;MB rev 2 Raspberry Pi's. However, some third-party resellers may still have stock of the older models.&lt;br /&gt;
&lt;br /&gt;
Note that stock status may change quickly. It may be worth checking a local supplier even if they are listed as out of stock here.&lt;br /&gt;
&lt;br /&gt;
==Main distributors and subsidaries/sister companies==&lt;br /&gt;
==Farnell==&lt;br /&gt;
http://www.farnell.com/&lt;br /&gt;
Farnell are one of the two main distributors, as of 2012-11-21 their main European operation is out of stock and quoting a three-week lead time. Reports from the forum are that Farnell usually beat their delivery estimates.&lt;br /&gt;
&lt;br /&gt;
For European customers, the customer is asked whether they are &amp;quot;consumer&amp;quot; or &amp;quot;business&amp;quot;. If the customer selects business, they are taken back to Farnell's regular website to order. If the customer selects consumer, they are taken to a dedicated Raspberry Pi site which only offers a small selection of Raspberry Pi related products and gives no information on stock status. Farnell's site claims that consumers who do not have a previous account cannot use the &amp;quot;business&amp;quot; option but it is not clear if this is actually true for all countries. For some countries consumers are directed to third party resellers. The order code for the Raspberry Pi is 2191863.&lt;br /&gt;
&lt;br /&gt;
===Element14===&lt;br /&gt;
http://www.element14.com&lt;br /&gt;
The &amp;quot;Element14&amp;quot; brand is used by a number of different operations within the Premier Farnell group and is also used for the groups &amp;quot;social&amp;quot; operation. In the Asia-Pacific region the Element 14 brand has completely replaced the previous &amp;quot;Premier Electronics&amp;quot; brand for asia and the previous &amp;quot;Farnell&amp;quot; brand for australia and new-zealand. In Europe, the Element14 brand is used in paralell with the Farnell brand. In North america the Element14 brand is used in parallel with the Newark brand.&lt;br /&gt;
&lt;br /&gt;
===Newark===&lt;br /&gt;
http://www.newark.com/&lt;br /&gt;
Newark is the main American branch of the Premier Farnell group (Farnell's parent company). As of 2012-11-21, they are out of stock of Raspberry Pi's, but claim 1321 Expected to ship 2012-11-26 and Further stock expected to ship 2012-12-20.&lt;br /&gt;
&lt;br /&gt;
===Element14 AU/NZ===&lt;br /&gt;
http://au.element14.com/ http://nz.element14.com/&lt;br /&gt;
On Element14's Australian operation (which also serves New Zealand) as of 2012-11-21 availability is listed as &amp;quot;please call&amp;quot; and &amp;quot;supplier lead time&amp;quot; is listed as 30 days. The order code for the Raspberry Pi is 2191863.&lt;br /&gt;
&lt;br /&gt;
===Element 14 Asia===&lt;br /&gt;
http://cn.element14.com/ http://hk.element14.com/ http://in.element14.com/ http://cn.element14.com/ http://kr.element14.com/ http://my.element14.com/ http://ph.element14.com/ http://sg.element14.com/ http://tw.element14.com/ http://th.element14.com/ &lt;br /&gt;
Element14 have warehouses in Singapore and Shanghi. It appears that some countries are served from both warehouses while others are served from only one or the other. UK stock is also listed on these sites. As of 2012-11-21, Element14's Asian operation has 331 Raspberry Pi's in stock in Shanghi and 617 Raspberry Pi's in stock in Singapore. The order code for the Raspberry Pi is 2191863.&lt;br /&gt;
&lt;br /&gt;
===CPC===&lt;br /&gt;
http://cpc.farnell.com/&lt;br /&gt;
CPC is a branch of the Premier Farnell group in the UK based in Preston. As of 2012-11-21, they have 3100 Raspberry Pi's in stock. The order code for the Raspberry Pi is SC12590.&lt;br /&gt;
&lt;br /&gt;
===MCM===&lt;br /&gt;
http://www.mcmelectronics.com/&lt;br /&gt;
MCM is a branch of the Premier Farnell group in the US based in Centerville, Ohio. As of 2012-11-21, they are out of stock and give an estimated ship date of 2012-12-07.&lt;br /&gt;
&lt;br /&gt;
==RS components==&lt;br /&gt;
http://rswww.com/&lt;br /&gt;
RS are the other main distributor. Like Farnell they have a consumer site and business option with the consumer option taking users to a dedicated Raspberry Pi store while the business option takes them back to the regular RS site. They do not state whether consumers must use the consumer site or not. The order code for the Raspberry Pi is 756-8308. As of 2012-11-21, the Raspberry Pi is listed as &amp;quot;Temporarily out of stock - back order for despatch 21/12/2012&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
RS has delayed existing orders on several occasions and are reported on the forum as being very difficult to communicate with.&lt;br /&gt;
&lt;br /&gt;
===Allied electronics===&lt;br /&gt;
http://www.alliedelec.com/&lt;br /&gt;
Allied electronics is the US sister company of RS. The order code for the Raspberry Pi is 70229569. They website does not give a predicted dispatch date and state that &amp;quot;the estimated delivery time is uncertain and will likely take several months&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Reports from the forum are that Allied are easier to communicate with than RS, but they do not appear to be being kept will informed of the stock situation by RS.&lt;br /&gt;
&lt;br /&gt;
==Resellers==&lt;br /&gt;
There are now many companies reselling the Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
===RPF endorsed resellers===&lt;br /&gt;
====Maplin====&lt;br /&gt;
Maplin sells the Raspberry Pi in the UK but only as part of a kit including power supply, keyboard and mouse, programmed 4&amp;amp;nbsp;GB SD card, HDMI cable and wireless dongle. As of 2012-11-21, they list the Raspberry Pi kit as in stock for home delivery and also in stock in some stores.&lt;br /&gt;
&lt;br /&gt;
===Farnell Approved resellers===&lt;br /&gt;
Farnell now direct consumers in many countries to &amp;quot;approved retailers&amp;quot; rather than selling to them directly. Some of these suppliers specialise in the Raspberry Pi while others are general Farnell resellers.&lt;br /&gt;
&lt;br /&gt;
====Electrocomponentes S.A====&lt;br /&gt;
http://www.electrocomponentes.com/&lt;br /&gt;
Electrocomponentes S.A sells Farnell producs in Argentina.&lt;br /&gt;
&lt;br /&gt;
====Arabian Electric &amp;amp; Electronics Est.====&lt;br /&gt;
fisuoyla@batelco.com.bh&lt;br /&gt;
Arabian Electric &amp;amp; Electronics Est sells Farnell products in Bahrain.&lt;br /&gt;
&lt;br /&gt;
====Minifo====&lt;br /&gt;
http://www.minifo.com/&lt;br /&gt;
Minifo is a Raspberry Pi retailer in Belgium. As of 2012-11-21, they list the Raspberry Pi as in stock, but they do not state how much stock they have.&lt;br /&gt;
&lt;br /&gt;
====Electromin S.A.====&lt;br /&gt;
http://www.electromin.cl/&lt;br /&gt;
Electromin S.A. sells Farnell producs in Chile.&lt;br /&gt;
&lt;br /&gt;
====Betatech Ltd====&lt;br /&gt;
http://www.farnell.com/distributors/cyprus_bet.htm&lt;br /&gt;
Betatech Ltd sells Farnell products in Cyprus.&lt;br /&gt;
&lt;br /&gt;
====Grand soloutions====&lt;br /&gt;
http://www.gs.com.eg/&lt;br /&gt;
Grand soloutions sells Farnell producs in Egypt. Unfortunately, searching their website by Farnell part number seems to be currently broken.&lt;br /&gt;
&lt;br /&gt;
====Partco Oy====&lt;br /&gt;
http://www.partco.biz/&lt;br /&gt;
Partco sells the Raspberry Pi, Arduino and a selection of electronic components in Finland. As of 2012-11-21, they list the Raspberry Pi as in stock, but they do not state how much stock they have.&lt;br /&gt;
&lt;br /&gt;
==== kubii ====&lt;br /&gt;
http://www.kubii.fr/&lt;br /&gt;
kubii sells the Raspberry Pi, together with a selection of accessories. The website was created when Farnell changed their distribution policy.&lt;br /&gt;
&lt;br /&gt;
====Málna PC Magyarország ====&lt;br /&gt;
http://malnapc.hu/ &lt;br /&gt;
Málna PC Magyarország is a Raspberry Pi reseller in Hungary.&lt;br /&gt;
&lt;br /&gt;
====Midbaejarradio EHF====&lt;br /&gt;
Midbaejarradio EHF is the authorised Farnell distributor for Iceland. &lt;br /&gt;
&lt;br /&gt;
====Lion====&lt;br /&gt;
http://www.lion.co.il/h?q=RASPBERRY&lt;br /&gt;
Lion sells the Raspberry Pi in Israel. As of 2012-11-21, they do not appear to have stock.&lt;br /&gt;
&lt;br /&gt;
====International Oilfield Supplies====&lt;br /&gt;
http://www.farnell.com/distributors/malta_int.htm&lt;br /&gt;
International Oilfield Supplies are the authorised Farnell distributor for Malta.&lt;br /&gt;
&lt;br /&gt;
====Makkays====&lt;br /&gt;
http://www.farnell.com/distributors/pakistan_mak.htm&lt;br /&gt;
Makkays is the authorised Farnell distributor for Pakistan.&lt;br /&gt;
&lt;br /&gt;
====kamami====&lt;br /&gt;
http://www.kamami.pl/&lt;br /&gt;
kamami sells the Raspberry Pi in Poland. &lt;br /&gt;
&lt;br /&gt;
====Mixtronica====&lt;br /&gt;
http://www.mixtronica.com/&lt;br /&gt;
Mixtronica sell Farnell products in Portugal.&lt;br /&gt;
&lt;br /&gt;
====Computer and Engineering Specialists Co====&lt;br /&gt;
http://www.farnell.com/distributors/saudiarabia_ces.htm&lt;br /&gt;
CESCO Group is an authorised Farnell distributor for Saudi Arabia.&lt;br /&gt;
&lt;br /&gt;
====Dialogue s.r.o====&lt;br /&gt;
http://www.dialogue.sk/index.php?page=textaktual&amp;amp;id=71&lt;br /&gt;
Dialogue s.r.o sells the Raspberry Pi and accessories in Slovakia.&lt;br /&gt;
&lt;br /&gt;
====IC elektronika d.o.o.====&lt;br /&gt;
http://www.ic-elect.si/&lt;br /&gt;
IC elektronika d.o.o. sells Farnell products in Slovenia.&lt;br /&gt;
&lt;br /&gt;
====Electrocomp express====&lt;br /&gt;
http://www.eexpress.co.za/&lt;br /&gt;
Electrocomp express sells Farnell products in South Africa. As of 2012-11-21, they list the Raspberry Pi as awaiting delivery and do not give a lead time.&lt;br /&gt;
&lt;br /&gt;
====Orel Solutions (PVT) Ltd====&lt;br /&gt;
http://www.farnell.com/distributors/srilanka_osp.htm&lt;br /&gt;
Orel Solutions (PVT) Ltd is the authorised Farnell distributor for Sri Lanka. &lt;br /&gt;
&lt;br /&gt;
====Mikro-Kit Elektronik AB====&lt;br /&gt;
https://www.microkit.se/&lt;br /&gt;
Mikro-Kit Elektronik AB sells the Raspberry Pi (and it would appear other farnell producs too) in Sweeden. As of 2012-11-21, they list the Raspberry Pi as out of stock with expected delivery 2012-12-11.&lt;br /&gt;
&lt;br /&gt;
====digitec====&lt;br /&gt;
http://www.digitec.ch/ &lt;br /&gt;
Digitec sells the Raspberry Pi in Switzerland.&lt;br /&gt;
&lt;br /&gt;
====Yildrim====&lt;br /&gt;
http://www.yildirimelektronik.com/&lt;br /&gt;
Yildrim sells Farnell products in Turkey.&lt;br /&gt;
&lt;br /&gt;
====DGM distribution====&lt;br /&gt;
http://www.farnell.com/distributors/unitedarabemirates_dgm.htm&lt;br /&gt;
DGM distribution is the authorised Farnell distributor for Dubai.&lt;br /&gt;
&lt;br /&gt;
===Other resellers===&lt;br /&gt;
====Newit====&lt;br /&gt;
http://www.newit.co.uk/&lt;br /&gt;
Newit are a British company selling a variety of ARM hardware and accessories, including the Raspberry Pi. As of 2012-11-21, they list the Raspberry Pi as in stock, but they do not state how much stock they have.&lt;br /&gt;
&lt;br /&gt;
====Makershed====&lt;br /&gt;
http://www.makershed.com/&lt;br /&gt;
Makershed is a US company that sells various stuff aimed at hardware hackers including the Raspberry Pi. As of 2012-11-21, they list the Raspberry Pi as out of stock.&lt;br /&gt;
&lt;br /&gt;
====Tandy====&lt;br /&gt;
http://www.tandyonline.co.uk/&lt;br /&gt;
Tandy is a UK company that sells a small selection of electronics stuff. As of 2012-12-08, Tandy has both 256MV rev 1.1 boards and 512MB rev 2 boards in stock.&lt;br /&gt;
&lt;br /&gt;
Note that the current Tandy is a division of adslnation and other than buying the name has little relationship to the Tandy of old.&lt;br /&gt;
&lt;br /&gt;
====Adafruit====&lt;br /&gt;
http://www.adafruit.com/&lt;br /&gt;
Adafruit is a US company that makes a variety of boards for hardware hackers and tinkerers, some specifically designed for use with the Raspberry Pi. They sell the Raspberry Pi separately, as well as part of a large starter kit including everything needed to start experimenting with the Raspberry Pi and external hardware on the GPIO. They also currently include a free Raspberry Pi with orders over $350.&lt;br /&gt;
&lt;br /&gt;
====SNOOTLAB====&lt;br /&gt;
SNOOTLAB&lt;br /&gt;
http://snootlab.com/&lt;br /&gt;
Sells products in French as well as English. They also sell a number of different components and products such as Arduinos too.&lt;br /&gt;
&lt;br /&gt;
====Tenettech====&lt;br /&gt;
Tenettech&lt;br /&gt;
http://www.tenettech.com/product/2184/raspberry-pi&lt;br /&gt;
Tenettech is Bangalore based company who sells software/hardware based solutions in India. They sell Raspberry Pi and Raspberry Pi kit (which include the Raspberry Pi, SD card, card reader, HDMI cable, and video cable).&lt;br /&gt;
&lt;br /&gt;
====AVIES Tech====&lt;br /&gt;
http://www.shopavies.com&lt;br /&gt;
AVIES Tech is a US company that provides installation and integration solutions for a variety of media centric hardware. They also carry the Raspberry Pi and related accessories.&lt;br /&gt;
&lt;br /&gt;
====Amazon====&lt;br /&gt;
[http://www.amazon.com/ Amazon] also sells boards through the Raspberry Pi name for U$D 48.03. You can buy one [http://www.amazon.com/Raspberry-Pi-Model-Revision-512MB/dp/B009SQQF9C/ref=sr_1_1?ie=UTF8&amp;amp;qid=1361718715&amp;amp;sr=8-1&amp;amp;keywords=raspberry+pi here].&lt;br /&gt;
&lt;br /&gt;
====Bitcrafts====&lt;br /&gt;
[http://etsy.com/shop/bitcrafts Bitcrafts] ships the '''Model A''' worldwide. You can buy one [http://www.etsy.com/listing/124198601/raspberry-pi-model-a? here]. They also sell cases, pIO micro SD adapters and other related accessories.&lt;br /&gt;
&lt;br /&gt;
==Licensed Manufacture==&lt;br /&gt;
The foundation has chosen to license manufacture of the Raspberry Pi, which should provide several advantages including:&lt;br /&gt;
&lt;br /&gt;
# The involvement of RS Components and Premier Farnell means that build volume can be increased much, much faster than would have been possible otherwise. Due to costs and working capital, the foundation would have been limited to batches of only 10k Raspberry Pi's; the Raspberry Pi will now be being built to match demand.&lt;br /&gt;
# Both Premier Farnell and RS Components have worldwide distribution networks, so wherever you are in the world, you will be able to buy from a local distributor. It’s a much better way for you to buy than getting them all shipped from the Foundation in the UK.&lt;br /&gt;
# Both RS Components and Premier Farnell will be taking preorders, something which the foundation would otherwise be unable to do.&lt;br /&gt;
# The foundation will still receive a percentage from the sale of every Raspberry Pi sold, which will be put straight back into the charity.&lt;br /&gt;
# Primarily, by removing the focus on dealing with manufacture, distribution and sales, this frees up the limited resources of the foundation to focus on the original aims and goals of the project.&lt;br /&gt;
&lt;br /&gt;
Additional detail is available in the [http://hardware.slashdot.org/story/12/02/28/2347222/raspberry-pi-now-has-distributors----and-will-soon-have-boards-for-all-video video interview between Eben Upton and SlashDot here (2012-02-28)].&lt;br /&gt;
&lt;br /&gt;
Unfortunately the switch to licensed manufacture has also resulted in a marked reduction in transparency of the process as Farnell and RS consider detailed information of what is going on to be confidential.&lt;br /&gt;
&lt;br /&gt;
==What You Get In The Box==&lt;br /&gt;
1. Pre-Assembled Raspberry Pi board&lt;br /&gt;
&lt;br /&gt;
2. A sheet containing a combination of regulatory information and some very brief instructions. &amp;lt;!-- At least this is the case with Farnell Raspberry Pi's, I don't know about RS ones. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Note:''&lt;br /&gt;
&lt;br /&gt;
''1. The board will be supplied assembled (since most of the components are not suitable for home builds, including the BGA&amp;lt;ref name=&amp;quot;BGA&amp;quot;&amp;gt;http://en.wikipedia.org/wiki/Ball_grid_array&amp;lt;/ref&amp;gt;package mounted SoC&amp;lt;ref name=&amp;quot;SoC&amp;quot;&amp;gt;http://en.wikipedia.org/wiki/System_on_a_chip&amp;lt;/ref&amp;gt; and PoP&amp;lt;ref name=&amp;quot;PoP&amp;quot;&amp;gt;http://en.wikipedia.org/wiki/Package_on_package&amp;lt;/ref&amp;gt; memory).''&lt;br /&gt;
''2. The board has the GPIO header pins for the primary GPIO header (but not the secondary GPIO header added on the revision 2 boards) populated. The SoC JTAG may or may not be present depending on when the board was manufactured and at which factory but aren't really of use to end users anyway due to the lack of Broadcom documentation. The LAN JTAG header does not seem to be present on any boards.&lt;br /&gt;
''3. All other connectors will be assembled in place.''&lt;br /&gt;
&lt;br /&gt;
==Accessories==&lt;br /&gt;
To use the Raspberry Pi, a user will typically require some accessories. All of the Raspberry Pi vendors listed above sell some accessories, but the exact range varies. Accessories you should consider include.&lt;br /&gt;
* USB Power Supply (UK/EU/US Compatible; 5V, 700mA-1500mA(1.5A))&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/general-discussion/is-the-raspberrypi-going-to-be-sold-as-a-kit/#p32289&amp;lt;/ref&amp;gt;&lt;br /&gt;
* SD card. Most distributors are selling pre-prepared SD cards which are usually 4&amp;amp;nbsp;GB. Software is available to prepare your own SD cards.&lt;br /&gt;
* There is a wide choice of cases, most distributors will have some but shopping around for one you like is suggested.&lt;br /&gt;
* There are a variety of [[Rpi expansion boards|AddOn/Expansion Boards]] now available, see that page for more details.&lt;br /&gt;
''See [[RPi Hardware Basic Setup#Typical Hardware You Will Need | Typical Hardware You Will Need]] for details about other items you may require.''&lt;br /&gt;
&lt;br /&gt;
==Price==&lt;br /&gt;
The price is $35USD before shipping, duty, and tax, about $60 after. &lt;br /&gt;
&lt;br /&gt;
Although the foundation is UK based, the guide price of the units are in USD since the Raspberry Pi components are sourced in USD$.&lt;br /&gt;
&lt;br /&gt;
The price is $25USD (~£16GBP) for model A (not yet avalable), and $35USD (~£23GBP) for model B.&lt;br /&gt;
&lt;br /&gt;
Items will be subject to local tax (that is, UK will have 20% VAT added) and shipping cost is not included.&lt;br /&gt;
&lt;br /&gt;
See the following update on [http://www.raspberrypi.org/archives/826 RS Components and Farnell global pricing] (2012-03-13).&lt;br /&gt;
&lt;br /&gt;
==Clones &amp;amp; Copies==&lt;br /&gt;
The foundation plans to release all the required schematics and plans to reproduce the Raspberry Pi hardware, so clones and copies will be welcome.&lt;br /&gt;
&lt;br /&gt;
However, since the unit is built around the Broadcom SoC, the interested party will require suitable sized orders to obtain them. The foundation were fortunate enough to be supported in this aspect by Broadcom to enable the project to be feasible.&lt;br /&gt;
&lt;br /&gt;
==Historic information==&lt;br /&gt;
&lt;br /&gt;
# The foundation have built an initial run of 10,000 Model-B units.&lt;br /&gt;
# Due to extreme demand, the units were NOT sold directly from the [http://www.raspberrypi.com shop] (see [[#Licensed Manufacture]] below).&lt;br /&gt;
# You may buy a Raspberry Pi from [http://www.element14.com/raspberrypi Farnell] or from [http://rswww.com RS Components]&lt;br /&gt;
# A limit of one unit per person was applied for the first batch and some time afterwards&lt;br /&gt;
&lt;br /&gt;
 * There were reports that several people ordered multiple units at launch,&lt;br /&gt;
   however it appears that Farnell removed any excess items when they reviewed&lt;br /&gt;
   and confirmed the order for shipping dates.&lt;br /&gt;
   This has also appears to apply for the pre-orders they have taken.&lt;br /&gt;
   Many customers also ordered from both Farnell and RS.&lt;br /&gt;
&lt;br /&gt;
===1st Batch Order FAQ===&lt;br /&gt;
 NOTE: While every attempt has been made to provide accurate information,&lt;br /&gt;
       this FAQ is not official and is based on what information is available at the time of writing.&lt;br /&gt;
&lt;br /&gt;
====Press Releases====&lt;br /&gt;
'''Farnell:'''&lt;br /&gt;
&lt;br /&gt;
[http://www.element14.com/community/docs/DOC-43262/l/frequently-asked-questions-about-raspberry-pi/?CMP=SOM-TW-e14RasPiFAQ Post-Launch FAQ by Farnell], see their attached docx file for details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''RS Components:'''&lt;br /&gt;
&lt;br /&gt;
[http://www.electrocomponents.com/media/press-releases/2012/02/29th/ Post-Launch statement by RS Components]&lt;br /&gt;
&lt;br /&gt;
[http://uk.rs-online.com/web/generalDisplay.html?id=raspberrypi&amp;amp;file=questions&amp;amp;cm_sp=raspberrypi-_--_-questions Raspberry Pi, Your Questions Answered by RS Components]&lt;br /&gt;
&lt;br /&gt;
====Q: Couldn't this have been handled better, I couldn't get on the site to order and they sold too quickly?====&lt;br /&gt;
Both distributors were indeed unprepared for the volume of traffic the launch generated (they were warned by the foundation before hand).&lt;br /&gt;
&lt;br /&gt;
Chances are if the foundation had gone with their original plan of selling through their own shop, the situation would have been far worse, with no option of pre-order either.&lt;br /&gt;
&lt;br /&gt;
The distributors only have 5,000 units each to sell, reports have estimated the registered interest/pre-orders totalling over 2 million (no official figures available yet).&lt;br /&gt;
Even if it is half of that, it means the number of available units was less than 1% of the demand.&lt;br /&gt;
&lt;br /&gt;
====Q: If interest was obviously so high, why only build 10,000 units?====&lt;br /&gt;
There is a big risk involved with building a large batch of units and selling them, and 10,000 units would take well over $250,000 in capital investment. For a very small charity, that is a massive task in itself. Much of that funding came from the Foundation Trustees' own personal investment.&lt;br /&gt;
&lt;br /&gt;
Thankfully, the massive bonus of licensing out manufacture, is that the build rate is no longer limited by the foundation's own funding, which means there will be many more units available much sooner.&lt;br /&gt;
&lt;br /&gt;
====Q: I've been unable to register an account with the distributor, as I am not a company?====&lt;br /&gt;
There have been several reported problems with individuals placing orders (that is, not having company accounts or details).&lt;br /&gt;
&lt;br /&gt;
Both distributors &amp;quot;should&amp;quot; take orders from individuals. However, it appears each of the different localised sites may have different requirements so this will be investigated to ensure that this is corrected if needed.&lt;br /&gt;
&lt;br /&gt;
Often, many of the company related fields on application are optional. If in doubt, contact their sales team for help.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Q: Worldwide launch? It was not available here! ====&lt;br /&gt;
The distributors decided to make the units only available from selected locations. It appears the foundation were not made aware of this beforehand.&lt;br /&gt;
&lt;br /&gt;
Considering the small number of available units, it would have been unlikely to have improved the situation.&lt;br /&gt;
&lt;br /&gt;
Worldwide availability will be monitored, it is expected that they will be made available as soon as possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Q: The price for the Raspberry Pi from Farnell versus the price from RS Components is different, why?====&lt;br /&gt;
Please see the following page for details about [http://www.raspberrypi.org/archives/826 RS Components and Farnell global pricing] (2012-03-13).&lt;br /&gt;
&lt;br /&gt;
====Q: I've only been able to register my interest, what now?====&lt;br /&gt;
Be patient, both distributors have said they will contact people when they have more details (alternatively keep an eye on their sites for news).&lt;br /&gt;
&lt;br /&gt;
RS Components, in particular have only taken people's details, and according to the above [[#Press Releases | press-release]] will wait until they receive their allocated 5,000 units.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Q: I registered on the Raspberry Pi Site's Mailing List, but I didn't get an email====&lt;br /&gt;
Unfortunately, the mail server had problems with sending out the 100K+ emails in time, it is believed the email was often marked as spam by a lot of email systems so was rejected or returned on-mass, or sent to Junk folders. Yes, this system should have been tested, but the foundation were keen not to send unnecessary emails to people prior to launch.&lt;br /&gt;
&lt;br /&gt;
The email contained the same information about the announcement as was publicly posted on the website (2012-02-28) before launch day, no additional or extra information was given through the email.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Template:Raspberry Pi}}&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/RPi_Hub</id>
		<title>RPi Hub</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RPi_Hub"/>
				<updated>2013-03-04T19:59:27Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: /* RPi Model B 3D CAD files */ added link to another CAD file&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
{{Hub Flags}} &amp;lt;!-- please edit template to alter banner and flag display on all hubs --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; border:1px solid #f80033; padding:0 1em 1em 1em; background-color:#cd5555; align:right; width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;font color=&amp;quot;ffffff&amp;quot;&amp;gt;Notice: The Raspberry Pi Wiki pages on this site is collaborative work - the Raspberry Pi Foundation is '''not''' responsible for content on these pages.&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== I need help with... ==&lt;br /&gt;
&amp;lt;!-- This section is a bunch of nonsense.  Is anybody opposed to deletion or movement elsewhere? --&amp;gt;&lt;br /&gt;
=== Buying a new Raspberry Pi ===&lt;br /&gt;
Please visit the [[RPi Model Wizard|Model Wizard]] to select your Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
=== Booting an OS onto my Raspberry Pi ===&lt;br /&gt;
Please visit the [[RPi OS Wizard|OS Wizard]] to select your Raspberry Pi OS distribution, or if you'd like to compare the OS distros, visit [[RPi Distributions|OS Distributions]] page to select an OS to boot onto your Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
== Now shipping to customers ==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
HIDING PREVIOUS STUFF:&lt;br /&gt;
&lt;br /&gt;
Premier Farnell and RS Components have started shipping to customers. Congratulations to those at the front of the queue!.&lt;br /&gt;
Work is ongoing to clear the backlog of orders, with both distributors now manufacturing them in serial production. Farnell/Element14 have stated that all people worldwide who ordered their Raspberry Pi through them on or before April 18th should receive theirs by the end of June.&lt;br /&gt;
Update: In the US, on 2012 July 24, Newark/Element 14 is quoting five weeks and Allied is still quoting 12 weeks. An order placed by Rick Seiden on July 19, 2012 at Newark/Element 14 shipped July 31, 2012, indicating a less than five week wait time.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
'''Update on lead times as of 17 November 2012:''' The lead time is around 2 days from Farnell and RS.&lt;br /&gt;
&lt;br /&gt;
Don't have an idea on which to buy? Use the [[RPi Model Wizard|Model Wizard]] to select your Raspberry Pi!&lt;br /&gt;
&lt;br /&gt;
See the [[RPi Buying Guide|Buying Guide]] on how to order one, or visit the [http://www.raspberrypi.org Raspberry Pi Foundation Home Page]&lt;br /&gt;
&lt;br /&gt;
== About ==&lt;br /&gt;
[[File:RpiFront.jpg|300px|thumb|right|The Raspberry Pi production board (model B Rev 2.0)]]&lt;br /&gt;
&lt;br /&gt;
The Raspberry Pi (short: RPi or RasPi) is an ultra-low-cost ($25-$35) credit-card sized Linux computer which was conceived with the primary goal of teaching computer programming to children. It was developed by the [http://www.raspberrypi.org Raspberry Pi Foundation], which is a UK registered charity (Registration Number 1129409). The foundation exists to promote the study of computer science and related topics, especially at school level, and to put the fun back into learning computing. The device is expected to have many other applications both in the developed and the developing world ([[RPi_Philosophy|Read more]]).&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi is manufactured and sold in partnership with the worldwide industrial distributors [http://www.farnell.com/ Premier Farnell/Element 14] and [http://rswww.com/ RS Components].&lt;br /&gt;
&lt;br /&gt;
* You can get the latest news from the [http://www.raspberrypi.org Foundation Home Page], the [http://twitter.com/intent/user?screen_name=Raspberry_Pi Twitter Feed] or in the [http://www.raspberrypi.org/forum/general-discussion/news-articles-and-blog-posts-about-raspberry-pi forums].&lt;br /&gt;
* For Raspberry Pi frequently asked questions see the [[RPi FAQ|FAQ section]] or the [http://www.raspberrypi.org/?page_id=8 Raspberry Pi Foundation's FAQ] page.&lt;br /&gt;
* Both manufacturing partners provide community areas for more technically focused discussions, articles, FAQs and related information:&lt;br /&gt;
:* Premier Farnell: [http://www.element14.com/community/groups/raspberry-pi?view=discussions Element 14 Raspberry Pi Group]&lt;br /&gt;
:* RS-Components: [http://www.designspark.com/theme/raspberrypi DesignSpark - Raspberry Pi]&lt;br /&gt;
* Products are RoHS, CE, FCC, CTick, CSA and WEEE compliant&amp;lt;ref&amp;gt;http://www.element14.com/community/docs/DOC-44828/l/raspberry-pi-safety-data-sheet&amp;lt;/ref&amp;gt;.  In common with all Electronic and Electrical products the Raspberry Pi should not be disposed of in household waste.  Please contact the distributor from whom you purchased your Raspberry Pi device for details regarding WEEE in your country.&lt;br /&gt;
* Price: 25USD Model A, 35USD for Model B, excluding taxes, postage and packaging. For information about availability and shipping see the [[RPi Buying Guide | Buying Guide]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== History ===&lt;br /&gt;
&lt;br /&gt;
If you are interested in why the Raspberry Pi was created, and why it is what it is, check the [[RPi General History|General History]] page, which highlights relevant events in its history. It is not intended to be a detailed history, so it can be read quickly. You could also check the [[Rpi_HardwareHistory | design changes]] page for how the Raspberry Pi has evolved, and the [[RaspberryPi_Boards | manufacturing differences]] page that may help if you are having problems with your board.&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;background:transparent;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa;&amp;quot; |&lt;br /&gt;
=== [[Buying RPi|Buying Guide]] ===&lt;br /&gt;
----&lt;br /&gt;
The [[RPi Model Wizard|Model Wizard]] will help you select your model to buy.&lt;br /&gt;
----&lt;br /&gt;
Where can I get one and for how much?&lt;br /&gt;
* The Raspberry Pi can no longer only be purchased via their official distribution partners - detailed information can be found on the [[Buying RPi | RPi Buying Guide]] page.&lt;br /&gt;
&lt;br /&gt;
* Additional accessories, peripherals and merchandise will also be available through the [http://www.raspberrypi.com/ Raspberry Pi Shop], as well as [http://thepihut.com/ The Pi Hut's Raspberry Pi Store], [http://easyaspistore.com/ the EasyAsPi Store], and many others on Amazon [http://www.amazon.co.uk/ Amazon UK] and eBay [http://www.ebay.co.uk/ eBay UK] websites.&lt;br /&gt;
&lt;br /&gt;
* You can find out which peripherals and such are tested to work with the PI in the [[RPi_VerifiedPeripherals]] section&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== [[RPi Hardware Basic Setup|Basic Setup]] ===&lt;br /&gt;
----&lt;br /&gt;
First little Raspberry Pi Steps...&lt;br /&gt;
* Ensure you have all the [[RPi Hardware Basic Setup#Typical_Hardware_You_Will_Need |equipment]] you need to go with your Raspberry Pi.&lt;br /&gt;
* Become familiar with the [[RPi Hardware Basic Setup#Connecting_Together | board layout and connect]] it ready for power up.&lt;br /&gt;
* If you have not been provided with a pre-setup SD card you will need to prepare one with your chosen [[RPi_Easy_SD_Card_Setup | Operating System distribution]]&lt;br /&gt;
* Note: On the Debian OS after you log in you need to type '''startx''' at the prompt to get a graphic desktop.&lt;br /&gt;
* Particularly after first boot its important to do a clean shutdown with the command '''sudo halt'''&lt;br /&gt;
&lt;br /&gt;
* '''Having problems? Try the [[R-Pi_Troubleshooting | Troubleshooting]] page.'''&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== [[RPi Beginners|Beginners Guide]] ===&lt;br /&gt;
----&lt;br /&gt;
You've just got your new Raspberry Pi device - what now?&lt;br /&gt;
* [[RPi Beginners|Beginners Guide]]&lt;br /&gt;
&lt;br /&gt;
* Learn about the basics with the [http://h2g2.com/dna/h2g2/A13735596 H2G2 - Introducing the Raspberry Pi] entry.&lt;br /&gt;
&lt;br /&gt;
* Read a small book for the Raspberry Pi Beginner [http://bitkistl.blogspot.co.at/2013/01/raspberry-pi-e-book.html]&lt;br /&gt;
&lt;br /&gt;
* Get started with some basic projects and tutorials:&lt;br /&gt;
[http://www.youtube.com/user/RaspberryPiTutorials Raspberry Pi YouTube Tutorials]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/user/RaspberryPiBeginners Another set of video tutorials]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/playlist?list=PLgyU3jNA6VjS3ij6ZXbb2x4GdEP3bAWzO My First Raspberry Pi Game]&lt;br /&gt;
&lt;br /&gt;
[[RPi Tutorial Easy GPIO Hardware &amp;amp; Software|Easy GPIO Hardware &amp;amp; Software]] - in-progress at the moment&lt;br /&gt;
 Example projects/tuts which can be linked from here&lt;br /&gt;
 (or from within a beginners guide page perhaps):&lt;br /&gt;
  Setup XBMC media centre&lt;br /&gt;
  Programming tutorials (Liams YouTube etc)&lt;br /&gt;
  Easy GPIO (when complete or similar thing).&lt;br /&gt;
  Also links to some basic linux user guides.&lt;br /&gt;
&lt;br /&gt;
* Take a look through the [[#Community|Community]] section, which contains a range of beginner and advanced tutorials and guides, as well as groups to help you find like-minded developers.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;background:transparent;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== [[RPi Hardware|Hardware]] &amp;amp; [[RPi VerifiedPeripherals|Peripherals]] ===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* The Model B is more advanced than the Model A - see [[RPi Hardware]].&lt;br /&gt;
* The RPi can be plugged into a [[RPi Screens|suitable TV or monitor]].&lt;br /&gt;
* The unit will support a range of [[RPi VerifiedPeripherals|devices, peripherals and accessories]].&lt;br /&gt;
* The [[Rpi Low-level peripherals|Low-level interfaces]] allow the use of optional [[RPi Expansion Boards|Expansion Boards]] in a wide range of projects.&lt;br /&gt;
* For more advanced issues including see [[RPi Advanced Setup|Advanced Setup]].&lt;br /&gt;
* [[RPi Peripherals|Setting up peripherals - examples/HowTos]]&lt;br /&gt;
* [[RaspberryPi Boards|List of boards and user feedback]]&lt;br /&gt;
* [[RPi 5V PSU construction|Power Supply construction - HowTo]]&lt;br /&gt;
* [[RaspberryPi_Comparison|Comparison]] to other hardware&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== [[Rpi_Software|Software]] &amp;amp; [[RPi_Distributions|OS Distributions]] ===&lt;br /&gt;
----&lt;br /&gt;
The Raspberry Pi will run a range of OS Distributions and run a variety of software.&lt;br /&gt;
* See [[RPi Software|Software]] for an overview, and [[RPi Distributions|OS Distributions]] for supported operating system and pre-configured 'images'.&lt;br /&gt;
*Main OS distributions include [[RPi Distributions#Debian_ARM | Debian ARM]], [[RPi Distributions#Fedora | Fedora]], [[RPi Distributions#KidsRuby | KidsRuby]] and [http://puppylinux.org/wikka/Puppi Puppi] from Puppy Linux.&lt;br /&gt;
*Advice is also available if you want to [[Rpi_kernel_compilation|compile a kernel]], [[RPi_U-Boot|boot from the network using U-Boot]], or [[RPi_Performance|test the Pi's performance]].&lt;br /&gt;
*The Raspberry Pi supports a wide range of [[RPi Programming|programming languages]], with many tutorials available.&lt;br /&gt;
*Information about installing specific [[RPi_applications|applications]] is available through the link.&lt;br /&gt;
*Extensive (boot) configuration info (config.txt) is available [[RPi_config.txt|here]].&lt;br /&gt;
*Monitor your Raspberry Pi with Raspcontrol [[Raspcontrol|here]]&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== [[RPi Documentation|Documentation]] ===&lt;br /&gt;
----&lt;br /&gt;
Documentation relating to the Raspberry Pi can be found [[RPi Documentation|here]].&lt;br /&gt;
&lt;br /&gt;
[[RPi DatasheetCategories|Frambozenier.org Documentation Project Datasheets]]&lt;br /&gt;
&lt;br /&gt;
 Example documents which can be linked from here (or sub page):&lt;br /&gt;
  Official Datasheets&lt;br /&gt;
  White Papers&lt;br /&gt;
  User Manuals&lt;br /&gt;
  Recommended books (perhaps)&lt;br /&gt;
&lt;br /&gt;
=== RPi Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
Head over to the [[R-Pi Troubleshooting|troubleshooting page]] for help fixing common problems.&lt;br /&gt;
&lt;br /&gt;
=== RPi Bugs ===&lt;br /&gt;
&lt;br /&gt;
Head over to the [[RPi_Bugs|bugs page]] for a list of known bugs.&lt;br /&gt;
&lt;br /&gt;
=== RPi Model B 3D CAD files ===&lt;br /&gt;
Theses are various 3D CAD Versions in both RAR and ZIP.&lt;br /&gt;
&lt;br /&gt;
* CATIA V5 RAR http://sdrv.ms/JqdhMb&lt;br /&gt;
* CATIA V5 ZIP http://sdrv.ms/LjyLGD&lt;br /&gt;
* ProE RAR http://sdrv.ms/KCv1hZ&lt;br /&gt;
* ProE ZIP http://sdrv.ms/KCvhxq&lt;br /&gt;
* STEP RAR http://sdrv.ms/KCvv7T&lt;br /&gt;
* STEP ZIP http://sdrv.ms/JMhv18&lt;br /&gt;
* SketchUp http://scc.jezmckean.com/item/581&lt;br /&gt;
* SketchUp8 http://sketchup.google.com/3dwarehouse/details?mid=327d6b1d8bd6130d6fbd6b70c7f1d3e0&lt;br /&gt;
* Eagle 5 http://www.raspberrypi.org/phpBB3/viewtopic.php?f=41&amp;amp;t=4457&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Community ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;background:transparent;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== [[RPi Projects|Projects]], [[RPi Guides|Guides]] &amp;amp; [[RPi Tutorials|Tutorials]] ===&lt;br /&gt;
----&lt;br /&gt;
*An important source of information and guides is the [http://www.raspberrypi.org/forum Official Forum].&lt;br /&gt;
*Get started by following some of the many [[RPi Tutorials | Tutorials]].&lt;br /&gt;
*Common tasks and useful tips are available through the [[RPi Guides | Guides page]]. &lt;br /&gt;
*Projects can be found, and added to, on the [[RPi Projects |Projects page]].&lt;br /&gt;
*Raspberry Pi Datasheets can be found on the [[RPi DatasheetCategories |DataSheets page]].&lt;br /&gt;
*Knowledgeable users may want to review and help out with project wishlist items on the [[RPi Tasks |Tasks page]].&lt;br /&gt;
*[[Configuring a Static IP address on your Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== [[RPi Education|Schools, Universities, Clubs &amp;amp; Groups]] ===&lt;br /&gt;
----&lt;br /&gt;
*The Raspberry Pi Foundation's aims include encouraging education. Several groups including [http://www.computingatschool.org.uk/ Computing At School] aim to bring Computing Science back into schools.&lt;br /&gt;
*Go to the [[Rpi Education|Education Page]] to add your project and find helpful links.&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;&amp;quot; |&lt;br /&gt;
=== [[RPi Community|Supporting Communities]] ===&lt;br /&gt;
----&lt;br /&gt;
The [[RPi Community|Raspberry Pi Community]] is steadily growing: &lt;br /&gt;
* [http://www.raspberrypi.org/forum The Official Raspberry Pi Forum]&lt;br /&gt;
* [http://www.element14.com/community/groups/raspberry-pi?view=discussions Element 14 Raspberry Pi Group], community site of Premier Farnell&lt;br /&gt;
* [http://www.designspark.com/theme/raspberrypi DesignSpark], community site of RS-Components&lt;br /&gt;
* [http://www.frambozenbier.org/index.php/ 'Frambozenbier' (Raspberry Pi Homebrew)]&lt;br /&gt;
* [http://raspberrypi.stackexchange.com/ Stack Exchange Forum]&lt;br /&gt;
* [http://www.raspberrypiforums.com/forum RaspberryPiForums] Un-Official Raspberry Pi Discussion Board&lt;br /&gt;
* [http://www.raspberrypi-spanish.es Non-official community of Raspberry Pi in spanish language]&lt;br /&gt;
* [http://www.worldofpi.com/ World Of Pi] A forum based on all things Raspberry Pi.&lt;br /&gt;
* [[RPi Community Magazine]] - User contributed eMagazine, get involved!&lt;br /&gt;
* [[RaspberryPi Osdev]] - Hardware specific OS-development community, sitting in freenode.net#raspberrypi-osdev.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== About the RPi Wiki ==&lt;br /&gt;
'''Do not be afraid to add your bit, content is vital for the wiki to function.'''&lt;br /&gt;
&lt;br /&gt;
[[File:Rasp_turn_around.gif|200px|thumb|right|A 3D rendering of the Raspberry Pi logo&amp;lt;!--by forum user Antario. [http://www.raspberrypi.org/forum/projects-and-collaboration-general/raspberry-pi-3d-logo-animation Source]--&amp;gt;]]&lt;br /&gt;
We are governed by the [[Project:RPi_Council|RPi Wiki Council]] (RPWC). New guidelines not made by Ghans alone are currently being drafted. As the RPi wiki is currently a wreck, the council's current goal is to clean up the RPi Wiki!&lt;br /&gt;
&lt;br /&gt;
=== Translations ===&lt;br /&gt;
&lt;br /&gt;
The wiki is being translated into several languages, some of which can be seen on the hub banner above. Current languages include:&lt;br /&gt;
&lt;br /&gt;
* English: [[R-Pi Hub]]&lt;br /&gt;
* Français: [[FR:R-Pi Hub]]&lt;br /&gt;
Any help translating would be greatly appreciated. Thank you to those who have already contributed!&lt;br /&gt;
&lt;br /&gt;
=== Admins/Contributors ===&lt;br /&gt;
The wiki is governed by the [[Project:RPi_Council|Raspberry Pi Wiki Council]].&lt;br /&gt;
&lt;br /&gt;
:NOTE - This wiki is NOT governed by the [[Project:RPi_Council|Raspberry Pi Wiki Council]].  The whole of elinux.org is community driven.  It always has been.  If you have any questions, contact [[User:Wmat]].&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Template:Raspberry Pi}}&lt;br /&gt;
[[Category:RaspberryPi]]&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/RPi_Hardware</id>
		<title>RPi Hardware</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RPi_Hardware"/>
				<updated>2013-03-04T19:56:53Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: /* Components */ corrected board size&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: RaspberryPi]]&lt;br /&gt;
{{Template:RPi_Hardware}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
[[File:Rpi unpopulated pcb.jpg|thumb|right|The unpopulated Rpi bèta board]]&lt;br /&gt;
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 [[Rpi Low-level peripherals| GPIO pins]] on each board allow the use of optional [[Rpi expansion boards|expansion boards]].&lt;br /&gt;
&lt;br /&gt;
Those who are looking to set up a Raspberry Pi for the first time, see [[RPi Hardware Basic Setup]].&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! Model A&lt;br /&gt;
! Model B&lt;br /&gt;
|-&lt;br /&gt;
| Target price:&amp;lt;ref name=&amp;quot;faq&amp;quot; &amp;gt;http://www.raspberrypi.org/faqs&amp;lt;/ref&amp;gt;&lt;br /&gt;
| US$25 Ext tax (GBP £16 Exc VAT)&lt;br /&gt;
| US$35 Ext tax (GBP £22 Exc VAT)&lt;br /&gt;
|-&lt;br /&gt;
| System-on-a-chip (SoC):&amp;lt;ref name=&amp;quot;faq&amp;quot; /&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Broadcom BCM2835 (CPU + GPU. SDRAM is a separate chip stacked on top)&lt;br /&gt;
|-&lt;br /&gt;
| CPU:&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 700&amp;amp;nbsp;MHz ARM11 ARM1176JZF-S core&lt;br /&gt;
|-&lt;br /&gt;
| GPU:&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Broadcom VideoCore IV,OpenGL ES 2.0,OpenVG 1080p30 H.264 high-profile encode/decode &lt;br /&gt;
|-&lt;br /&gt;
| Memory (SDRAM)iB&lt;br /&gt;
| 256&amp;amp;nbsp;MiB (planned with 128&amp;amp;nbsp;MiB, upgraded to 256&amp;amp;nbsp;MiB on 29 Feb 2012)&lt;br /&gt;
| 256&amp;amp;nbsp;MiB (until 15 Oct 2012); 512&amp;amp;nbsp;MiB (since 15 Oct 2012)&lt;br /&gt;
|-&lt;br /&gt;
| USB 2.0 ports:&lt;br /&gt;
| 1 (provided by the BCM2835)&lt;br /&gt;
| 2 (via integrated USB hub)&lt;br /&gt;
|-&lt;br /&gt;
| Video outputs:&amp;lt;ref name=&amp;quot;faq&amp;quot; /&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Composite video | Composite RCA, HDMI (not at the same time)&lt;br /&gt;
|-&lt;br /&gt;
| Audio outputs:&amp;lt;ref name=&amp;quot;faq&amp;quot; /&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | TRS connector | 3.5 mm jack, HDMI&lt;br /&gt;
|-&lt;br /&gt;
| Audio inputs:&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | none, but a USB mic or sound-card could be added&lt;br /&gt;
|-&lt;br /&gt;
| Onboard Storage:&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Secure Digital|SD / MMC / SDIO card slot&lt;br /&gt;
|-&lt;br /&gt;
| Onboard Network:&amp;lt;ref name=&amp;quot;faq&amp;quot; /&amp;gt;&lt;br /&gt;
| None&lt;br /&gt;
| 10/100 wired Ethernet RJ45&lt;br /&gt;
|-&lt;br /&gt;
| Low-level peripherals:&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | General Purpose Input/Output (GPIO) pins, Serial Peripheral Interface Bus (SPI), I²C, I²S&amp;lt;ref name=&amp;quot;i2s&amp;quot;&amp;gt;[http://www.raspberrypi.org/forum/features-and-requests/sad-about-removal-of-i2s-why-was-this-change-made Forum:Sad about removal of I2S. Why was this change made?]&amp;lt;/ref&amp;gt;, Universal asynchronous receiver/transmitter (UART)&lt;br /&gt;
|-&lt;br /&gt;
| Real-time clock:&amp;lt;ref name=&amp;quot;faq&amp;quot; /&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | None&lt;br /&gt;
|-&lt;br /&gt;
| Power ratings (provisional, from alpha board):&lt;br /&gt;
| 500&amp;amp;nbsp;mA, (2.5&amp;amp;nbsp;W) &amp;lt;ref name=&amp;quot;faq&amp;quot; /&amp;gt;&lt;br /&gt;
| 700&amp;amp;nbsp;mA, (3.5&amp;amp;nbsp;W)&lt;br /&gt;
|-&lt;br /&gt;
| Power source:&amp;lt;ref name=&amp;quot;faq&amp;quot; /&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 5&amp;amp;nbsp;V (DC) via Micro USB type B or GPIO header&lt;br /&gt;
|-&lt;br /&gt;
| Size:&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 85.0 x 56.0 mm (two different boards, measured with callipers)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Components==&lt;br /&gt;
[[File:Raspi-Model-AB-Mono-2-699x1024.png|400px|thumb|right|A diagram denoting the places of the different components on the Rpi, made by Paul&lt;br /&gt;
Beech, edited to show 256MB ram for both boards]]&lt;br /&gt;
(Provisional - some of the expansion interfaces won't be available on production boards)&lt;br /&gt;
(PCB IDs are those of the Model B Beta board) &lt;br /&gt;
&lt;br /&gt;
* SoC: [http://www.broadcom.com/products/BCM2835 Broadcom BCM2835 media processor] ([http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf datasheet], [[BCM2835 datasheet errata]], [[RPi_BCM2835_Pinout|unofficial pinout]]) system-on-chip featuring:&lt;br /&gt;
** CPU core: [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0301h/DDI0301H_arm1176jzfs_r0p7_trm.pdf 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 [http://en.wikipedia.org/wiki/ARM_architecture ARM architecture] and [http://en.wikipedia.org/wiki/List_of_ARM_microprocessor_cores List of ARM microprocessor cores].&lt;br /&gt;
** 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&lt;br /&gt;
** 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)&lt;br /&gt;
** 256MiB of ([http://www.hynix.com/products/mobile/view.jsp?info.ramKind=28&amp;amp;info.serialNo=H9TKNNN2GDMPLR&amp;amp;posMap=MobileDDR2 Hynix MobileDDR2] or [http://www.samsung.com/global/business/semiconductor/product/mobile-dram/detail?productId=7611&amp;amp;iaId=747 Samsung Mobile DRAM]) SDRAM (or 512MB [http://www.samsung.com/global/business/semiconductor/product/mobile-dram/detail?iaId=747&amp;amp;productId=7609 Mobile DRAM] on later boards).  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.  Here is a highly magnified side view of the SDRAM stacked on top of the BCM2835 stacked on top of the PCB [http://www.raspberrypi.org/wp-content/uploads/2012/09/2012-09-21-10.58.22.jpg PoP stack] (you can see why it's job that can only be done by robots!).&lt;br /&gt;
* 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:&lt;br /&gt;
** 10/100Mb Ethernet (Auto-MDIX)&amp;lt;ref name=autoMDIX&amp;gt;[http://en.wikipedia.org/wiki/Medium_dependent_interface#Auto-MDIX Wikipedia:Auto-MDIX]&amp;lt;/ref&amp;gt;&lt;br /&gt;
** 2x USB 2.0 &lt;br /&gt;
* S1: Micro USB power jack (5v - Power Only)&lt;br /&gt;
* S2: [http://www.mipi.org/specifications/display-interface DSI] interface.  15-pin surface mounted flat flex connector, providing two data lanes, one clock lane, 3.3V and GND.&lt;br /&gt;
* S3: HDMI connector providing type A HDMI 1.3a out&lt;br /&gt;
* S4: Composite Video connector: RCA&lt;br /&gt;
* S5: MIPI [http://www.mipi.org/specifications/camera-interface CSI-2] interface.  15-pin surface mounted flat flex connector.&lt;br /&gt;
* S6: Audio connector: 3.5mm stereo jack (output only)&lt;br /&gt;
* S8: SD/MMC/SDIO memory card slot (underside)&lt;br /&gt;
* S7: Either 1x USB 2.0 '''(Model A)''' 2x USB 2.0 '''(Model B)'''&lt;br /&gt;
* P1: 26-pin (2x13) 2.54 mm header expansion, providing: see [[Rpi_Low-level_peripherals | Low-level peripherals]]&lt;br /&gt;
** 8 [[Rpi_Low-level_peripherals#General_Purpose_Input.2FOutput_.28GPIO.29|GPIO]]s at 3v3&lt;br /&gt;
** 2-pin UART serial console, 3v3 TTL (debug); or 2 GPIOs at 3v3&lt;br /&gt;
** I&amp;amp;sup2;C interface (3v3); or 2 GPIOs at 3v3&lt;br /&gt;
** SPI interface (3v3); or 5 GPIOs at 3v3&lt;br /&gt;
** 3v3, 5v and GND supply pins&lt;br /&gt;
** ARM JTAG (if pins are reconfigured in software - on Revision1.0 boards one signal would also need to be taken from S5)&lt;br /&gt;
** I&amp;amp;sup2;S interface (if pins are reconfigured in software, hardware hack may be required&amp;lt;ref name=&amp;quot;i2s&amp;quot;/&amp;gt;)&lt;br /&gt;
* P2: 8-pin 2.54 mm header expansion (header not fitted on Revision 2.0 boards), providing GPU JTAG (ARM11 pinout, pin 7 is nofit for locating)&lt;br /&gt;
* P3: 7-pin 2.54 mm header expansion (header not fitted), providing LAN9512 JTAG (pin 6 is nofit for locating)&lt;br /&gt;
* P4: 10/100Mb RJ45 Ethernet jack '''(Model B)'''&lt;br /&gt;
* P5: 8-pin (2x4) 2.54 mm header expansion (header not fitted), on the ''bottom'' of the board, providing: see [[Rpi_Low-level_peripherals | Low-level peripherals]] '''(Revision 2.0 boards only)'''&lt;br /&gt;
** 4 [[Rpi_Low-level_peripherals#P5_header|GPIO]]s at 3v3&lt;br /&gt;
** 3v3, 5v and GND supply pins&lt;br /&gt;
** Second I&amp;amp;sup2;C interface (3v3) (if pins are reconfigured in software)&lt;br /&gt;
** I&amp;amp;sup2;S interface (if pins are reconfigured in software)&lt;br /&gt;
** Handshake signals for the UART on the P1 header (if pins are reconfigured in software)&lt;br /&gt;
* P6: 2-pin 2.54 mm header expansion (header not fitted), providing an option to connect a hardware-reset button '''(Revision 2.0 boards only)'''&lt;br /&gt;
* TP1 and TP2: Test Points giving access to +5V and GND respectively&lt;br /&gt;
* 5 Status LEDs&amp;lt;ref name=&amp;quot;PCBs&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/402 RPiBlog Post: High-res pics of the PCBs]&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;LEDs&amp;quot;&amp;gt;[http://twitpic.com/8edlsf TwitPic:Photo of Board Powered]&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;LEDsGPIO&amp;quot;&amp;gt;[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?]&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;OKGreen&amp;quot;&amp;gt;[[RPi_schematic_errata]]&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Revision2.0&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/1959 RPiBlog Post: A nice shiny photo of the rev2 board – and User Guide news]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
** D5(Green) - SDCard Access (via GPIO16) - labelled as &amp;quot;OK&amp;quot; on Rev1.0 boards and &amp;quot;ACT&amp;quot; on Rev2.0 boards&lt;br /&gt;
** D6(Red) - 3.3 V Power - labelled as &amp;quot;PWR&amp;quot; on both Rev1.0 and Rev2.0 boards&lt;br /&gt;
** D7(Green) - Full Duplex (LAN) '''(Model B)''' - labelled as &amp;quot;FDX&amp;quot; on both Rev1.0 and Rev2.0 boards&lt;br /&gt;
** D8(Green)  - Link/Activity (LAN) '''(Model B)''' - labelled as &amp;quot;LNK&amp;quot; on both Rev1.0 and Rev2.0 boards&lt;br /&gt;
** D9(Yellow) - 10/100Mbit (LAN) '''(Model B)''' - labelled (incorrectly) as &amp;quot;10M&amp;quot; on Rev1.0 boards and &amp;quot;100&amp;quot; on Rev2.0 boards&lt;br /&gt;
&lt;br /&gt;
* Board size: &amp;lt;del&amp;gt;85.60 mm x 53.98 mm.&amp;lt;/del&amp;gt;  Overall height expected to be less than 25 mm. &amp;lt;ref name=&amp;quot;artwork&amp;quot;&amp;gt;http://www.raspberrypi.org/archives/344&amp;lt;/ref&amp;gt;  Production boards measure 85.0 mm x 56.0 mm.&lt;br /&gt;
** A Model B between the highest points (USB connector to card slot) measured 21 mm.&lt;br /&gt;
** A Model A between the highest points (composite video connector to card slot) measured 18mm.&lt;br /&gt;
* Weight: under 40 g?&lt;br /&gt;
** Alpha board weighs approx. 55 g.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/?page_id=43&amp;amp;mingleforumaction=viewtopic&amp;amp;t=285.0&amp;lt;/ref&amp;gt;&lt;br /&gt;
** A sample model B weighed 39.45 g.&lt;br /&gt;
* 6 layer PCB &amp;lt;ref name=&amp;quot;artwork&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Schematic / Layout==&lt;br /&gt;
&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2011/07/raspberry1.png PCB screenshot, Alpha board]&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2011/11/gerbers2.png PCB screenshot rev 1.0]&lt;br /&gt;
* [http://lh3.googleusercontent.com/-uO4l8pwSLvU/TsQGbth6x6I/AAAAAAAAAkk/5zQMH3uKPiE/s829/Boardlayout.png PCB screenshot rev 1.0, labelled version]&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2011/12/psu.png Preliminary power supply schematic, Beta board]&lt;br /&gt;
* [http://elinux.org/File:RPi-Front-JPB.jpg High-resolution Model B PCB front photo, production board rev 1.0]&lt;br /&gt;
* [http://elinux.org/File:RPi-back-JPB.jpg High-resolution Model B PCB back photo, production board rev 1.0]&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2012/09/sony-rasp-pi.jpg High-resolution Model B PCB front photo, production board rev 2.0]&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2012/11/2012-11-29-14.48.47-HDR.jpg High-resolution Model A PCB front photo, production board rev 2.0]&lt;br /&gt;
* [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)]&lt;br /&gt;
* [[Media:RPi beta xray.jpg|&amp;quot;Xray style&amp;quot; image of the beta board, created from the above GIMP project]] | [[RPi_xray_wallpapers|desktop wallpapers]]&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2012/04/Raspberry-Pi-Schematics-R1.0.pdf Official Rev 1.0 schematics PDF] | [http://www.raspberrypi.org/wp-content/uploads/2012/10/Raspberry-Pi-R2.0-Schematics-Issue2.2_027.pdf Official Rev 2.0 schematics PDF] | [[RPi_schematic_differences|differences]] | [[RPi_schematic_errata|errata]] | [[RPi_schematics_breakdown|breakdown]] | [[RPi_Partial_BOM_Rev2.0_ModelB|partial BOM]]&lt;br /&gt;
* [http://www.andrewscheller.co.uk/rpi_pcb_modules.html 'Module groups' of the PCB photos]&lt;br /&gt;
&lt;br /&gt;
==Power==&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Premier Farnell recommend the following power supplies:&lt;br /&gt;
* Model A: 5V dc, 500-700mA&lt;br /&gt;
* Model B: 5V dc, 700-1200mA&lt;br /&gt;
&lt;br /&gt;
Power consumption of the Raspberry Pi device is&lt;br /&gt;
&lt;br /&gt;
* Board A: 5V, 500 mA (2.5W) '''without any devices connected''' (e.g. USB, Ethernet, HDMI)&lt;br /&gt;
* Board B: 5V, 700 mA (3.5W) '''without any devices connected''' (e.g. USB, Ethernet, HDMI) (Is this correct? These [http://www.raspberrypi.org/forum/troubleshooting/usb-hub-sending-power-to-raspberry-pi-through-usb-port/#p68382] links [http://www.raspberrypi.org/forum/general-discussion/raspberry-pi-power-requirements/page-2/#p68224] suggest that the 700mA is only required if &amp;quot;using networking and high-current USB peripherals&amp;quot; [http://www.raspberrypi.org/archives/260].)&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
*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.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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).&lt;br /&gt;
* 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, but not advisable. Revision 1.0 boards have to be modified to back power, this is due to the 140ma &amp;quot;polyfuses&amp;quot; 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&amp;quot; (.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). But do note that if you do not power the PI in the &amp;quot;official manner&amp;quot;, that is through it's micro-USB port, but use any alternative way (such as through the GPIO header, the test points TP1 and TP2), but also by back-powering it, '''you are actually bypassing the PI's input polyfuse protection device!''' This can have extreme consequences if ever you manage to put more than 6V on the PI, even for a very short period. As this causes the overvoltage device D17 on the the PI to trigger and short the 5V supply! Without the polyfuse limiting the current through D17, it will burn out, probably melting the PI's enclosure with it, (if you have any) and possibly causing a fire-hazard. It will probably also create a permanent short of the 5V supply! So be warned, and if you use back power make sure your hub or its PSU has a fuse to prevent this from happening. If not, add your own fuse.&lt;br /&gt;
&lt;br /&gt;
===Power Supply Problems===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The power required by the Pi will vary depending on how busy it is and what peripherals are connected.&lt;br /&gt;
* Running a GUI will take more power.&lt;br /&gt;
* The USB devices and Ethernet connection will take power.&lt;br /&gt;
* Running the GPU will take extra power.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;low power&amp;quot; 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 &amp;amp; F2 removed (replaced with shorts).&lt;br /&gt;
&lt;br /&gt;
The microUSB input port also has a 1.1 A polyfuse (700mA &amp;quot;hold current&amp;quot;) 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.&lt;br /&gt;
&lt;br /&gt;
A extended explanation of the consequences of the use of these polyfuses can be found here [[Polyfuses explained]]&lt;br /&gt;
&lt;br /&gt;
There are several reasons why the power to the board may be inadequate:&lt;br /&gt;
* 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.&lt;br /&gt;
* The PSU is not regulated.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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 &amp;quot;blow&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
====How Can I tell if the power supply is inadequate?====&lt;br /&gt;
&lt;br /&gt;
Common symptoms of an inadequate power supply are&lt;br /&gt;
* Unreliable Ethernet or keyboard operation, especially if it's OK at first but not when the GUI is started.&lt;br /&gt;
* SD card errors at start up seems to be another symptom of poor power.&lt;br /&gt;
&lt;br /&gt;
If you think you have a problem with your power supply, it is a good idea to check the actual voltage&lt;br /&gt;
on the Raspberry Pi circuit board. Two test points labelled TP1 and TP2 are provided on the circuit board&lt;br /&gt;
to facilitate voltage measurements.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[File:RPI_Test_Points.JPG|400px]] [[File:Voltmeter.JPG|250px]]&lt;br /&gt;
&lt;br /&gt;
====Things that can cause problems====&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* A power supply that is rated for less than 700mA may work some of the time.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
====Summary====&lt;br /&gt;
&lt;br /&gt;
* If you are having unreliable operation the first thing to do is check your power supply.&lt;br /&gt;
* Start with a good quality regulated power supply that is rated to provide 5V and at least 1A (1000mA).&lt;br /&gt;
* Use a good quality micro USB cable. Cables are notorious for giving trouble so be prepared to swap for another one.&lt;br /&gt;
* Not all power supplies will deliver what they claim.&lt;br /&gt;
&lt;br /&gt;
===Capacitor C6===&lt;br /&gt;
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.&lt;br /&gt;
[[File:Rpic6.jpg|300px|thumb|center|Capacitor C6 (ringed)]]&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
[http://uk.farnell.com/jsp/search/browse.jsp?N=202457+110114112+110119850+110141127+110200576&amp;amp;No=0&amp;amp;getResults=true&amp;amp;appliedparametrics=true&amp;amp;locale=en_UK&amp;amp;divisionLocale=en_UK&amp;amp;catalogId=&amp;amp;skipManufacturer=false&amp;amp;skipParametricAttributeId=&amp;amp;prevNValues=202457+110114112+110119850+110141127&amp;amp;mm=1000002|110114112|110114112,1001880|110119850|110119850,1002520||,1002063||,1002999||,&amp;amp;filtersHidden=false&amp;amp;appliedHidden=false&amp;amp;autoApply=true&amp;amp;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]&lt;br /&gt;
&lt;br /&gt;
[http://www.rapidonline.com/Electronic-Components/220uf-16v-85deg-Smd-Electro-Capacitor-11-2264 Rapid Electronics]&lt;br /&gt;
&lt;br /&gt;
[http://uk.rs-online.com/web/c/passives/capacitors/aluminium/?sort-by=default&amp;amp;sort-order=default&amp;amp;applied-dimensions=4294884868,%204294884170,%204294672278,4294885140&amp;amp;lastAttributeSelectedBlock=4294955811 RS Components]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you prefer to make your own PSU - see: [[RPi_5V_PSU_construction| Power Supply construction - HowTo]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Template:Raspberry Pi}}&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/RPi_Low-level_peripherals</id>
		<title>RPi Low-level peripherals</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RPi_Low-level_peripherals"/>
				<updated>2013-03-01T01:04:30Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: /* General Purpose Input/Output (GPIO) */ Added pin-orientation images for the P1, P2 and P3 headers&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: RaspberryPi]]&lt;br /&gt;
{{Template:RPi_Hardware}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
In addition to the familiar USB, Ethernet and HDMI ports, the R-Pi offers lower-level interfaces intended to connect more directly with chips and subsystem modules. These GPIO (general purpose I/O) signals on the 2x13 header pins include SPI, I2C, serial UART, 3V3 and 5V power. These interfaces are not &amp;quot;plug and play&amp;quot; and require care to avoid miswiring. The pins use a 3V3 logic level and are not tolerant of 5V levels, such as you might find on a 5V powered Arduino.  Not yet software-enabled are the flex cable connectors with CSI (camera serial interface) and DSI (display serial interface), and a serial link inside the HDMI connector called CEC. (consumer electronics control)&lt;br /&gt;
&lt;br /&gt;
==General Purpose Input/Output (GPIO)==&lt;br /&gt;
[[File:GPIOs.png|thumb|254px|right|The layout of the Raspberry Pi Revision 1 P1 pin-header seen from the top, containing pins useable for general purpose I/O. Colour coded to the table. [https://sites.google.com/site/burngatehouse/home/drawings/GPIOs2.gif Source] ]]&lt;br /&gt;
&lt;br /&gt;
General Purpose Input/Output (a.k.a. GPIO) is a generic pin on a chip whose behavior (including whether it is an input or output pin) can be controlled (programmed) through software.&lt;br /&gt;
&lt;br /&gt;
The Raspberry Pi allows peripherals and expansion boards (such as the [[Rpi Gertboard]]) to access the CPU by exposing the inputs and outputs.&lt;br /&gt;
&lt;br /&gt;
For further general information about GPIOs, see: [http://en.wikipedia.org/wiki/GPIO the wikipedia article].&amp;lt;BR&amp;gt;&lt;br /&gt;
For further specific information about the Raspberry Pi's BCM2835 GPIOs, see: [[RPi_BCM2835_GPIOs|this wiki article]].&lt;br /&gt;
&lt;br /&gt;
The production Raspberry Pi board has a 26-pin 2.54&amp;amp;nbsp;mm (100&amp;amp;nbsp;mil)&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/features-and-requests/easy-gpio-hardware-software/page-3/#p31907&amp;lt;/ref&amp;gt; expansion header, marked as P1, arranged in a 2x13 strip. They provide 8 GPIO pins plus access to I²C, SPI, UART), as well as +3.3&amp;amp;nbsp;V, +5&amp;amp;nbsp;V and GND supply lines. Pin one is the pin in the first column and on the bottom row. &amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/384&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:RPi_P1_header.png]]&lt;br /&gt;
&lt;br /&gt;
'''GPIO voltage levels are 3.3&amp;amp;nbsp;V and are not 5&amp;amp;nbsp;V tolerant. There is no over-voltage protection on the board''' - the intention is that people interested in serious interfacing will use an external board with buffers, level conversion and analog I/O rather than soldering directly onto the main board.&lt;br /&gt;
&lt;br /&gt;
All the GPIO pins can be reconfigured to provide alternate functions, SPI, [http://en.wikipedia.org/wiki/Pulse-width_modulation PWM], I²C and so. At reset only pins GPIO 14 &amp;amp; 15 are assigned to the alternate function UART, these two can be switched back to GPIO to provide a total of 17 GPIO pins&amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/384&amp;lt;/ref&amp;gt;. Each of their functions and full details of how to access are detailed in the chipset datasheet &amp;lt;ref&amp;gt;http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Each GPIO can interrupt, high/low/rise/fall/change.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/384#comment-5217&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf&amp;lt;/ref&amp;gt; There is currently no support for GPIO interrupts in the official kernel, howewer a patch exists, requiring compilation of modified source tree.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?f=44&amp;amp;t=7509&amp;lt;/ref&amp;gt; The 'Raspbian &amp;quot;wheezy&amp;quot;' &amp;lt;ref&amp;gt;http://www.raspberrypi.org/downloads&amp;lt;/ref&amp;gt; version that is currently recommended for starters already includes GPIO interrupts.&lt;br /&gt;
&lt;br /&gt;
GPIO input hysteresis (Schmitt trigger) can be on or off, output slew rate can be fast or limited, and source and sink current is configurable from 2&amp;amp;nbsp;mA up to 16&amp;amp;nbsp;mA. Note that chipset GPIO pins 0-27 are in the same block and these properties are set per block, not per pin. See [http://www.scribd.com/doc/101830961/GPIO-Pads-Control2 GPIO Datasheet Addendum - GPIO Pads Control]. Particular attention should be applied to the note regarding SSO (Simultaneous Switching Outputs): to avoid interference, driving currents should be kept as low as possible.&lt;br /&gt;
&lt;br /&gt;
The available [[RPi_BCM2835_GPIOs|alternative functions]] and their corresponding pins are detailed below. These numbers are in reference to the chipset documentation and may not match the numbers exposed in Linux. Only fully usable functions are detailed, for some alternative functions not all the necessary pins are available for the funtionality to be actually used.&lt;br /&gt;
&lt;br /&gt;
There is also some information on the [[RPi Tutorial Easy GPIO Hardware &amp;amp; Software|Tutorial on Easy GPIO Hardware &amp;amp; Software]].&lt;br /&gt;
&lt;br /&gt;
Kernel boot messages go to the [[RPi_Serial_Connection|UART]] at 115200&amp;amp;nbsp;bit/s.&lt;br /&gt;
&lt;br /&gt;
'''R-Pi PCB Revision 2 UPDATE:''' According to Eben at [http://www.raspberrypi.org/archives/1929#comment-31646] the R-Pi Rev.2 board being rolled out starting in September 2012 adds 4 more GPIO on a new connector called P5, and changes some of the existing P1 GPIO pinouts. On Rev2, GPIO_GEN2 [BCM2835/GPIO27] is routed to P1 pin 13, and changes what was SCL0/SDA0 to SCL1/SDA1: SCL1 [BCM2835/GPIO3] is routed to P1 pin 5, SDA1 [BCM2835/GPIO2] is routed to P1 pin 3. Also the power and ground connections previously marked &amp;quot;Do Not Connect&amp;quot; on P1 will remain as connected, specifically: P1-04:+5V0, P1-09:GND, P1-14:GND, P1-17:+3V3, P1-20:GND, P1-25:GND. According to this comment [http://www.raspberrypi.org/archives/2081#comment-33577] (and confirmed in this post [http://www.raspberrypi.org/archives/2233]) the P1 pinout is not expected to change in future beyond the current Rev.2 layout. &lt;br /&gt;
&lt;br /&gt;
'''Header Pinout, top row:'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
| '''Pin Number''' || '''Pin Name Rev1''' || '''Pin Name Rev2''' || '''Hardware Notes''' || '''Alt 0 Function''' || '''Other Alternative Functions'''&lt;br /&gt;
|-&lt;br /&gt;
| P1-02 || bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; || Supply through input poly fuse&lt;br /&gt;
|-&lt;br /&gt;
| P1-04 || bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; || Supply through input poly fuse&lt;br /&gt;
|-&lt;br /&gt;
| P1-06 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| P1-08 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 14 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 14 || Boot to Alt 0 -&amp;gt; || bgcolor=&amp;quot;yellow&amp;quot; | UART0_TXD || ALT5 = UART1_TXD&lt;br /&gt;
|-&lt;br /&gt;
| P1-10 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 15 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 15 || Boot to Alt 0 -&amp;gt; || bgcolor=&amp;quot;yellow&amp;quot; | UART0_RXD || ALT5 = UART1_RXD&lt;br /&gt;
|-&lt;br /&gt;
| P1-12 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 18 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 18 || || PCM_CLK || ALT4 = SPI1_CE0_N ALT5 = PWM0&lt;br /&gt;
|-&lt;br /&gt;
| P1-14 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| P1-16 || bgcolor=&amp;quot;lime&amp;quot; | GPIO23 || bgcolor=&amp;quot;lime&amp;quot; | GPIO23 || || || ALT3 = SD1_CMD ALT4 = ARM_RTCK&lt;br /&gt;
|-&lt;br /&gt;
| P1-18 || bgcolor=&amp;quot;lime&amp;quot; | GPIO24 || bgcolor=&amp;quot;lime&amp;quot; | GPIO24 || || || ALT3 = SD1_DAT0 ALT4 = ARM_TDO&lt;br /&gt;
|-&lt;br /&gt;
| P1-20 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| P1-22 || bgcolor=&amp;quot;lime&amp;quot; | GPIO25 || bgcolor=&amp;quot;lime&amp;quot; | GPIO25 || || || ALT3 = SD1_DAT1 ALT4 = ARM_TCK&lt;br /&gt;
|-&lt;br /&gt;
| P1-24 || bgcolor=&amp;quot;lime&amp;quot; | GPIO08 || bgcolor=&amp;quot;lime&amp;quot; | GPIO08 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_CE0_N&amp;lt;/span&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| P1-26 || bgcolor=&amp;quot;lime&amp;quot; | GPIO07 || bgcolor=&amp;quot;lime&amp;quot; | GPIO07 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_CE1_N&amp;lt;/span&amp;gt; || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Header Pinout, bottom row:'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
| '''Pin Number''' || '''Pin Name Rev1''' || '''Pin Name Rev2''' || '''Hardware Notes''' || '''Alt 0 Function''' || '''Other Alternative Functions'''&lt;br /&gt;
|-&lt;br /&gt;
| P1-01 || bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V ||bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V || 50&amp;amp;nbsp;mA max (01 &amp;amp; 17)&lt;br /&gt;
|-&lt;br /&gt;
| P1-03 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 0 || bgcolor=&amp;quot;lime&amp;quot; | '''GPIO 2'''|| 1K8 pull up resistor || bgcolor=&amp;quot;cyan&amp;quot; | I2C0_SDA / '''I2C1_SDA''' ||&lt;br /&gt;
|-&lt;br /&gt;
| P1-05 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 1 || bgcolor=&amp;quot;lime&amp;quot; | '''GPIO 3'''|| 1K8 pull up resistor || bgcolor=&amp;quot;cyan&amp;quot; | I2C0_SCL / '''I2C1_SCL''' ||&lt;br /&gt;
|-&lt;br /&gt;
| P1-07 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 4 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 4 || || GPCLK0 || ALT5 = ARM_TDI&lt;br /&gt;
|-&lt;br /&gt;
| P1-09 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| P1-11 || bgcolor=&amp;quot;lime&amp;quot; | GPIO17 || bgcolor=&amp;quot;lime&amp;quot; | GPIO17 || || ||| ALT3 = UART0_RTS ALT4 = SPI1_CE1_N ALT5 = UART1_RTS&lt;br /&gt;
|-&lt;br /&gt;
| P1-13 || bgcolor=&amp;quot;lime&amp;quot; | GPIO21 || bgcolor=&amp;quot;lime&amp;quot; | '''GPIO27''' || || PCM_DOUT / '''reserved''' || ALT4 = SPI1_SCLK ALT5 = GPCLK1 / '''ALT3 = SD1_DAT3 ALT4 = ARM_TMS'''&lt;br /&gt;
|-&lt;br /&gt;
| P1-15 || bgcolor=&amp;quot;lime&amp;quot; | GPIO22 || bgcolor=&amp;quot;lime&amp;quot; | GPIO22 || || || ALT3 = SD1_CLK ALT4 = ARM_TRST&lt;br /&gt;
|-&lt;br /&gt;
| P1-17 || bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V || bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V || 50&amp;amp;nbsp;mA max (01 &amp;amp; 17)&lt;br /&gt;
|-&lt;br /&gt;
| P1-19 || bgcolor=&amp;quot;lime&amp;quot; | GPIO10 || bgcolor=&amp;quot;lime&amp;quot; | GPIO10 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_MOSI&amp;lt;/span&amp;gt; || &lt;br /&gt;
|-&lt;br /&gt;
| P1-21 || bgcolor=&amp;quot;lime&amp;quot; | GPIO9 || bgcolor=&amp;quot;lime&amp;quot; | GPIO9 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_MISO&amp;lt;/span&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| P1-23 || bgcolor=&amp;quot;lime&amp;quot; | GPIO11 || bgcolor=&amp;quot;lime&amp;quot; | GPIO11 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_SCLK&amp;lt;/span&amp;gt; || &lt;br /&gt;
|-&lt;br /&gt;
| P1-25 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Colour legend&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;+5&amp;amp;nbsp;V&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | +3.3&amp;amp;nbsp;V&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;Ground, 0V&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;yellow&amp;quot; | UART&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | GPIO&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;cyan&amp;quot; | I²C&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
KiCad symbol: [[File:Conn-raspberry.lib]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/projects-and-collaboration-general/gpio-header-pinout-clarification/page-2&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pin 3 (SDA0) and Pin 5 (SCL0) are preset to be used as an I²C interface. So there are 1.8&amp;amp;nbsp;kilohm pulls up resistors on the board for these pins.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/features-and-requests/easy-gpio-hardware-software/page-6/#p56480&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pin 12 supports [http://en.wikipedia.org/wiki/Pulse-width_modulation PWM] .&lt;br /&gt;
&lt;br /&gt;
It is also possible to reconfigure GPIO connector pins P1-7, 15, 16, 18, 22 (chipset GPIOs 4 and 22 to 25) to provide an ARM JTAG interface.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&amp;amp;t=1288.1&amp;lt;/ref&amp;gt; However ARM_TMS isn't available on the GPIO connector (chipset pin 12 or 27 is needed).  Chipset pin 27 is available on S5, the CSI camera interface however.&lt;br /&gt;
&lt;br /&gt;
It is also possible to reconfigure GPIO connector pins P1-12 and 13 (chipset GPIO 18 and 21) to provide an I2S (a hardware modification may be required&amp;lt;ref name=&amp;quot;I2S&amp;quot;&amp;gt;[http://www.raspberrypi.org/forum/features-and-requests/sad-about-removal-of-i2s-why-was-this-change-made Forum:Sad about removal of I2S. Why was this change made?]&amp;lt;/ref&amp;gt;) or PCM interface.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&amp;amp;t=1288.2&amp;lt;/ref&amp;gt; However, PCM_FS and PCM_DIN (chipset pins 19 and 20) are needed for I2S or PCM.&lt;br /&gt;
&lt;br /&gt;
A second I²C interface (GPIO02_ALT0 is SDA1 and GPIO03_ALT0 is SCL1) and two further GPIOs (GPIO05_ALT0 is GPCLK1, and GPIO27) are available on S5, the CSI camera interface.&lt;br /&gt;
&lt;br /&gt;
===Referring to pins on the Expansion header===&lt;br /&gt;
&lt;br /&gt;
The header is referred to as &amp;quot;The GPIO Connector (P1)&amp;quot;.  To avoid nomenclature confusion between Broadcom signal names on the SoC and pin names on the expansion header, the following naming is highly recommended.&lt;br /&gt;
&lt;br /&gt;
* The expansion header is referred to as &amp;quot;Expansion Header&amp;quot; or &amp;quot;GPIO Connector (P1)&amp;quot;&lt;br /&gt;
* Pins on the GPIO connector (P1) are referred to as P1-01, etc.&lt;br /&gt;
* Names GPIO0, GPIO1, GPIOx-ALTy, etc. refer to the signal names on the SoC as enumerated in the Broadcom datasheet, where &amp;quot;x&amp;quot; matches BCM2835 number (without leading zero) and &amp;quot;y&amp;quot; is the alternate number column 0 to 5 on page 102-103 of the Broadcom document. For example, depending on what you are describing, use either &amp;quot;GPIO7&amp;quot; to refer to a row of the table, and &amp;quot;GPIO7-ALT0&amp;quot; would refer to a specific cell of the table.&lt;br /&gt;
* When refering to signal names, you should modify the Broadcom name slightly to minimize confusion. The Broadcom SPI bus pin names are fine, such as &amp;quot;SPI0_*&amp;quot; and &amp;quot;SPI1_*&amp;quot;, but they didn't do the same on the I²C and UART pins.  Instead of using &amp;quot;SDA0&amp;quot; and &amp;quot;SCL0&amp;quot;, you should use &amp;quot;I2C0_SDA&amp;quot; and &amp;quot;I2C0_SCL&amp;quot;; and instead of &amp;quot;TX&amp;quot; or &amp;quot;TXD&amp;quot; and &amp;quot;RX&amp;quot; or &amp;quot;RXD&amp;quot;, you should use &amp;quot;UART0_TXD&amp;quot; and &amp;quot;UART0_RXD&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Power pins===&lt;br /&gt;
The maximum permitted current draw from the 3.3&amp;amp;nbsp;V pins is 50&amp;amp;nbsp;mA.&lt;br /&gt;
&lt;br /&gt;
Maximum permitted current draw from the 5&amp;amp;nbsp;V pin is the USB input current (usually 1&amp;amp;nbsp;A) minus any current draw from the rest of the board.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&amp;amp;t=1536#postid-21841&amp;lt;/ref&amp;gt;&lt;br /&gt;
*Model A: 1000&amp;amp;nbsp;mA - 500&amp;amp;nbsp;mA -&amp;gt; max current draw: 500&amp;amp;nbsp;mA&lt;br /&gt;
*Model B: 1000&amp;amp;nbsp;mA - 700&amp;amp;nbsp;mA -&amp;gt; max current draw: 300&amp;amp;nbsp;mA&lt;br /&gt;
Be very careful with the 5&amp;amp;nbsp;V pins P1-02 and P1-04, because if you short 5&amp;amp;nbsp;V to any other P1 pin you may permanently damage your RasPi.  Before probing P1, it's a good idea to strip short pieces of insulation off a wire and push them over the 5&amp;amp;nbsp;V pins so you don't accidentally short them with a probe.&lt;br /&gt;
&lt;br /&gt;
=== GPIO hardware hacking ===&lt;br /&gt;
&lt;br /&gt;
The complete list of [[RPi_BCM2835_GPIOs|chipset GPIO pins]] which are available on the GPIO connector is: &amp;lt;blockquote&amp;gt;[[RPi_BCM2835_GPIOs#GPIO0|0]], [[RPi_BCM2835_GPIOs#GPIO1|1]], [[RPi_BCM2835_GPIOs#GPIO4|4]], [[RPi_BCM2835_GPIOs#GPIO7|7]], [[RPi_BCM2835_GPIOs#GPIO8|8]], [[RPi_BCM2835_GPIOs#GPIO9|9]], [[RPi_BCM2835_GPIOs#GPIO10|10]], [[RPi_BCM2835_GPIOs#GPIO11|11]], [[RPi_BCM2835_GPIOs#GPIO14|14]], [[RPi_BCM2835_GPIOs#GPIO15|15]], [[RPi_BCM2835_GPIOs#GPIO17|17]], [[RPi_BCM2835_GPIOs#GPIO18|18]], [[RPi_BCM2835_GPIOs#GPIO21|21]], [[RPi_BCM2835_GPIOs#GPIO22|22]], [[RPi_BCM2835_GPIOs#GPIO23|23]], [[RPi_BCM2835_GPIOs#GPIO24|24]], [[RPi_BCM2835_GPIOs#GPIO25|25]]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(on the Revision2.0 RaspberryPis, this list changes to: [[RPi_BCM2835_GPIOs#GPIO2|2]], [[RPi_BCM2835_GPIOs#GPIO3|3]], [[RPi_BCM2835_GPIOs#GPIO4|4]], [[RPi_BCM2835_GPIOs#GPIO7|7]], [[RPi_BCM2835_GPIOs#GPIO8|8]], [[RPi_BCM2835_GPIOs#GPIO9|9]], [[RPi_BCM2835_GPIOs#GPIO10|10]], [[RPi_BCM2835_GPIOs#GPIO11|11]], [[RPi_BCM2835_GPIOs#GPIO14|14]], [[RPi_BCM2835_GPIOs#GPIO15|15]], [[RPi_BCM2835_GPIOs#GPIO17|17]], [[RPi_BCM2835_GPIOs#GPIO18|18]], [[RPi_BCM2835_GPIOs#GPIO22|22]], [[RPi_BCM2835_GPIOs#GPIO23|23]], [[RPi_BCM2835_GPIOs#GPIO24|24]], [[RPi_BCM2835_GPIOs#GPIO25|25]], [[RPi_BCM2835_GPIOs#GPIO27|27]], with [[RPi_BCM2835_GPIOs#GPIO28|28]], [[RPi_BCM2835_GPIOs#GPIO29|29]], [[RPi_BCM2835_GPIOs#GPIO30|30]], [[RPi_BCM2835_GPIOs#GPIO31|31]] additionally available on the [[#P5_header|P5 header]])&lt;br /&gt;
&lt;br /&gt;
As noted above, P1-03 and P1-05 (SDA0 and SCL0 / SDA1 and SCL1) have 1.8&amp;amp;nbsp;kilohm pull-up resistors to 3.3&amp;amp;nbsp;V.&lt;br /&gt;
&lt;br /&gt;
If 17 GPIOs aren't sufficient for your project, there are a few other signals potentially available, with varying levels of software and hardware (soldering iron) hackery skills:&lt;br /&gt;
&lt;br /&gt;
GPIO02, 03, 05 and 27 are available on S5 (the CSI interface) when a camera peripheral is not connected to that socket, and are configured by default to provide the functions SDA1, SCL1, CAM_CLK and CAM_GPIO respectively.  SDA1 and SCL1 have 1K6 pull-up resistors to 3.3&amp;amp;nbsp;V.&lt;br /&gt;
&lt;br /&gt;
GPIO06 is LAN_RUN and is available on pad 12 of the footprint for IC3 on the Model A. On Model B, it is in use for the Ethernet function.&lt;br /&gt;
&lt;br /&gt;
There are a few other chipset GPIO pins accessible on the PCB but are in use:&lt;br /&gt;
&lt;br /&gt;
* GPIO16 drives status LED D5 (usually SD card access indicator)&lt;br /&gt;
* GPIO28-31 are used by the board ID and are connected to resistors R3 to R10 (only on Rev1.0 boards).&lt;br /&gt;
* GPIO40 and 45 are used by analogue audio and support [http://en.wikipedia.org/wiki/Pulse-width_modulation PWM]. They connect to the analogue audio circuitry via R21 and R27 respectively.&lt;br /&gt;
* GPIO46 is HDMI hotplug detect (goes to pin 6 of IC1).&lt;br /&gt;
* GPIO47 to 53 are used by the SD card interface.  In particular, GPIO47 is SD card detect (this would seem to be a good candidate for re-use).  GPIO47 is connected to the SD card interface card detect switch; GPIO48 to 53 are connected to the SD card interface via resistors R45 to R50.&lt;br /&gt;
&lt;br /&gt;
=== P2 header ===&lt;br /&gt;
&lt;br /&gt;
The P2 header is the VideoCore JTAG and used only during the production of the board. It cannot be used as the ARM JTAG &amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?f=24&amp;amp;t=5894&amp;lt;/ref&amp;gt;. This connector is unpopulated in Rev 2.0 boards. &lt;br /&gt;
&lt;br /&gt;
[[File:RPi_P2_header.png]]&lt;br /&gt;
&lt;br /&gt;
Useful P2 pins:&lt;br /&gt;
&lt;br /&gt;
* Pin 1 - 3.3V (same as P1-01, 50 mA max current draw across both of them)&lt;br /&gt;
* Pin 7 - GND&lt;br /&gt;
* Pin 8 - GND&lt;br /&gt;
&lt;br /&gt;
=== P3 header ===&lt;br /&gt;
&lt;br /&gt;
The P3 header, unpopulated, is the LAN9512 JTAG &amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?f=24&amp;amp;t=5894&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[File:RPi_P3_header.png]]&lt;br /&gt;
&lt;br /&gt;
Useful P3 pins:&lt;br /&gt;
&lt;br /&gt;
* Pin 7 - GND&lt;br /&gt;
&lt;br /&gt;
=== P5 header ===&lt;br /&gt;
&lt;br /&gt;
The P5 header was added with the release of the Revision 2.0 PCB design.&lt;br /&gt;
&lt;br /&gt;
'''P5 Pinout, seen from the bottom of the board:'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
| '''Pin Number''' || '''Pin Name Rev2''' || '''Hardware Notes''' || '''Alt 0 Function''' || '''Other Alternative Functions'''&lt;br /&gt;
|-&lt;br /&gt;
| P5-01 || bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; || Supply through input poly fuse&lt;br /&gt;
|-&lt;br /&gt;
| P5-02 || bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V || 50&amp;amp;nbsp;mA max (combined with P1)&lt;br /&gt;
|-&lt;br /&gt;
| P5-03 || bgcolor=&amp;quot;lime&amp;quot; | GPIO28 || || bgcolor=&amp;quot;cyan&amp;quot; | I2C0_SDA || ALT2 = PCM_CLK&lt;br /&gt;
|-&lt;br /&gt;
| P5-04 || bgcolor=&amp;quot;lime&amp;quot; | GPIO29 || || bgcolor=&amp;quot;cyan&amp;quot; | I2C0_SCL || ALT2 = PCM_FS&lt;br /&gt;
|-&lt;br /&gt;
| P5-05 || bgcolor=&amp;quot;lime&amp;quot; | GPIO30 || || || ALT2 = PCM_DIN ALT3 = UART0_CTS ALT5 = UART1_CTS&lt;br /&gt;
|-&lt;br /&gt;
| P5-06 || bgcolor=&amp;quot;lime&amp;quot; | GPIO31 || || || ALT2 = PCM_DOUT ALT3 = UART0_RTS ALT5 = UART1_RTS&lt;br /&gt;
|-&lt;br /&gt;
| P5-07 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P5-08 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that the connector is intended to be mounted on the '''bottom''' of the PCB, so that for those who put the connector on the top side, the pin numbers are swapped. Pin 1 and pin 2 are swapped, pin 3 and 4, etc. &lt;br /&gt;
&lt;br /&gt;
The new header can provide a second I2C channel (SDA + SCL) and handshake lines for the existing UART (TxD and RxD), or it can be used for an I2S (audio codec chip) interface using the PCM signals CLK, FS (Frame Sync), Din and Dout.&lt;br /&gt;
&lt;br /&gt;
Note that the connector is placed JUST off-grid with respect to the P1 connector.&lt;br /&gt;
&lt;br /&gt;
=== P6 header ===&lt;br /&gt;
&lt;br /&gt;
The P6 header was added with the release of the Revision 2.0 PCB design.&lt;br /&gt;
&lt;br /&gt;
[http://raspi.tv/2012/making-a-reset-switch-for-your-rev-2-raspberry-pi A reset button can be attached to the P6 header], with which the Pi can be reset.&lt;br /&gt;
Momentarily shorting the two pins of P6 together will cause a soft reset of the CPU.&lt;br /&gt;
&lt;br /&gt;
===Driver support===&lt;br /&gt;
&lt;br /&gt;
The Foundation will not include a GPIO driver in the initial release, standard Linux GPIO drivers should work with minimal modification.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&amp;amp;t=1278.0&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The community implemented SPI and I²C drivers &amp;lt;ref&amp;gt;http://www.bootc.net/projects/raspberry-pi-kernel/&amp;lt;/ref&amp;gt;, which will be integrated with the new Linux pinctrl concept in a later version of the kernel. (On Oct. 14 2012, it was already included in the latest raspbian image.) A first compiled version as Linux modules is available to install on the 19/04/2012 Debian image, including 1-wire support&amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?p=86172#p86172&amp;lt;/ref&amp;gt;. The I²C and SPI driver uses the hardware modules of the microcontroller and interrupts for low CPU usage, the 1-wire support uses bitbanging on the GPIO ports, which results in higher CPU usage.&lt;br /&gt;
&lt;br /&gt;
GordonH&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/general-discussion/wiring-for-the-raspberry-pis-gpio&amp;lt;/ref&amp;gt; wrote a (mostly) Arduino compatible/style [https://projects.drogon.net/raspberry-pi/wiringpi/ WiringPi library] in C for controlling the GPIO pins.&lt;br /&gt;
&lt;br /&gt;
A useful tutorial on setting up I²C driver support can be found at [http://www.robot-electronics.co.uk/htm/raspberry_pi_examples.htm Robot Electronics] - look for the downloadable document rpi_i2c_setup.doc&lt;br /&gt;
&lt;br /&gt;
===Graphical User Interfaces===&lt;br /&gt;
====WebIOPi====&lt;br /&gt;
[http://code.google.com/p/webiopi/ WebIOPi] allows you to control each GPIO with a simple web interface that you can use with any browser. Available in PHP and Python, they both require root access, but Python version serves HTTP itself. You can setup each GPIO as input or output and change their states (LOW/HIGH). WebIOPi is fully customizable, so you can use it for home remote control. It also work over Internet. UART/SPI/I2C support will be added later. If you need some computing for your GPIO go to code examples below.&lt;br /&gt;
&lt;br /&gt;
==GPIO Code examples==&lt;br /&gt;
====GPIO Driving Example (C)====&lt;br /&gt;
[http://www.raspberrypi.org/forum/educational-applications/gertboard/page-4/#p31555 Gert van Loo &amp;amp; Dom, has provided] some tested code which accesses the GPIO pins through direct GPIO register manipulation in C-code.&lt;br /&gt;
(Thanks to Dom for doing the difficult work of finding and testing the mapping.)&lt;br /&gt;
Example GPIO code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
//  How to access GPIO registers from C-code on the Raspberry-Pi&lt;br /&gt;
//  Example program&lt;br /&gt;
//  15-January-2012&lt;br /&gt;
//  Dom and Gert&lt;br /&gt;
//  Revised: 15-Feb-2013&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Access from ARM Running Linux&lt;br /&gt;
&lt;br /&gt;
#define BCM2708_PERI_BASE        0x20000000&lt;br /&gt;
#define GPIO_BASE                (BCM2708_PERI_BASE + 0x200000) /* GPIO controller */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;sys/mman.h&amp;gt;&lt;br /&gt;
#include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define PAGE_SIZE (4*1024)&lt;br /&gt;
#define BLOCK_SIZE (4*1024)&lt;br /&gt;
&lt;br /&gt;
int  mem_fd;&lt;br /&gt;
void *gpio_map;&lt;br /&gt;
&lt;br /&gt;
// I/O access&lt;br /&gt;
volatile unsigned *gpio;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// GPIO setup macros. Always use INP_GPIO(x) before using OUT_GPIO(x) or SET_GPIO_ALT(x,y)&lt;br /&gt;
#define INP_GPIO(g) *(gpio+((g)/10)) &amp;amp;= ~(7&amp;lt;&amp;lt;(((g)%10)*3))&lt;br /&gt;
#define OUT_GPIO(g) *(gpio+((g)/10)) |=  (1&amp;lt;&amp;lt;(((g)%10)*3))&lt;br /&gt;
#define SET_GPIO_ALT(g,a) *(gpio+(((g)/10))) |= (((a)&amp;lt;=3?(a)+4:(a)==4?3:2)&amp;lt;&amp;lt;(((g)%10)*3))&lt;br /&gt;
&lt;br /&gt;
#define GPIO_SET *(gpio+7)  // sets   bits which are 1 ignores bits which are 0&lt;br /&gt;
#define GPIO_CLR *(gpio+10) // clears bits which are 1 ignores bits which are 0&lt;br /&gt;
&lt;br /&gt;
void setup_io();&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char **argv)&lt;br /&gt;
{&lt;br /&gt;
  int g,rep;&lt;br /&gt;
&lt;br /&gt;
  // Set up gpi pointer for direct register access&lt;br /&gt;
  setup_io();&lt;br /&gt;
&lt;br /&gt;
  // Switch GPIO 7..11 to output mode&lt;br /&gt;
&lt;br /&gt;
 /************************************************************************\&lt;br /&gt;
  * You are about to change the GPIO settings of your computer.          *&lt;br /&gt;
  * Mess this up and it will stop working!                               *&lt;br /&gt;
  * It might be a good idea to 'sync' before running this program        *&lt;br /&gt;
  * so at least you still have your code changes written to the SD-card! *&lt;br /&gt;
 \************************************************************************/&lt;br /&gt;
&lt;br /&gt;
  // Set GPIO pins 7-11 to output&lt;br /&gt;
  for (g=7; g&amp;lt;=11; g++)&lt;br /&gt;
  {&lt;br /&gt;
    INP_GPIO(g); // must use INP_GPIO before we can use OUT_GPIO&lt;br /&gt;
    OUT_GPIO(g);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (rep=0; rep&amp;lt;10; rep++)&lt;br /&gt;
  {&lt;br /&gt;
     for (g=7; g&amp;lt;=11; g++)&lt;br /&gt;
     {&lt;br /&gt;
       GPIO_SET = 1&amp;lt;&amp;lt;g;&lt;br /&gt;
       sleep(1);&lt;br /&gt;
     }&lt;br /&gt;
     for (g=7; g&amp;lt;=11; g++)&lt;br /&gt;
     {&lt;br /&gt;
       GPIO_CLR = 1&amp;lt;&amp;lt;g;&lt;br /&gt;
       sleep(1);&lt;br /&gt;
     }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  return 0;&lt;br /&gt;
&lt;br /&gt;
} // main&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
// Set up a memory regions to access GPIO&lt;br /&gt;
//&lt;br /&gt;
void setup_io()&lt;br /&gt;
{&lt;br /&gt;
   /* open /dev/mem */&lt;br /&gt;
   if ((mem_fd = open(&amp;quot;/dev/mem&amp;quot;, O_RDWR|O_SYNC) ) &amp;lt; 0) {&lt;br /&gt;
      printf(&amp;quot;can't open /dev/mem \n&amp;quot;);&lt;br /&gt;
      exit(-1);&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   /* mmap GPIO */&lt;br /&gt;
   gpio_map = mmap(&lt;br /&gt;
      NULL,             //Any adddress in our space will do&lt;br /&gt;
      BLOCK_SIZE,       //Map length&lt;br /&gt;
      PROT_READ|PROT_WRITE,// Enable reading &amp;amp; writting to mapped memory&lt;br /&gt;
      MAP_SHARED,       //Shared with other processes&lt;br /&gt;
      mem_fd,           //File to map&lt;br /&gt;
      GPIO_BASE         //Offset to GPIO peripheral&lt;br /&gt;
   );&lt;br /&gt;
&lt;br /&gt;
   close(mem_fd); //No need to keep mem_fd open after mmap&lt;br /&gt;
&lt;br /&gt;
   if (gpio_map == MAP_FAILED) {&lt;br /&gt;
      printf(&amp;quot;mmap error %d\n&amp;quot;, (int)gpio_map);//errno also set!&lt;br /&gt;
      exit(-1);&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   // Always use volatile pointer!&lt;br /&gt;
   gpio = (volatile unsigned *)gpio_map;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
} // setup_io&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Pull Up/Pull Down Register Example====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   // enable pull-up on GPIO24&amp;amp;25&lt;br /&gt;
   GPIO_PULL = 2;&lt;br /&gt;
   short_wait();&lt;br /&gt;
   // clock on GPIO 24 &amp;amp; 25 (bit 24 &amp;amp; 25 set)&lt;br /&gt;
   GPIO_PULLCLK0 = 0x03000000;&lt;br /&gt;
   short_wait();&lt;br /&gt;
   GPIO_PULL = 0;&lt;br /&gt;
   GPIO_PULLCLK0 = 0;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Python)====&lt;br /&gt;
This uses the Python module available at http://pypi.python.org/pypi/RPi.GPIO&lt;br /&gt;
Any Python script that controls GPIO must be run as root.&lt;br /&gt;
&amp;lt;pre&amp;gt;import RPi.GPIO as GPIO&lt;br /&gt;
&lt;br /&gt;
# Set up the GPIO channels - one input and one output&lt;br /&gt;
GPIO.setup(11, GPIO.IN)&lt;br /&gt;
GPIO.setup(12, GPIO.OUT)&lt;br /&gt;
&lt;br /&gt;
# Input from pin 11&lt;br /&gt;
input_value = GPIO.input(11)&lt;br /&gt;
&lt;br /&gt;
# Output to pin 12&lt;br /&gt;
GPIO.output(12, True)&lt;br /&gt;
&lt;br /&gt;
# The same script as above but using BCM GPIO 00..nn numbers&lt;br /&gt;
GPIO.setmode(GPIO.BCM)&lt;br /&gt;
GPIO.setup(17, GPIO.IN)&lt;br /&gt;
GPIO.setup(18, GPIO.OUT)&lt;br /&gt;
input_value = GPIO.input(17)&lt;br /&gt;
GPIO.output(18, True)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Java using the Pi4J Library)====&lt;br /&gt;
This uses the Java library available at http://www.pi4j.com/. &lt;br /&gt;
(Any Java application that controls GPIO must be run as root.)&lt;br /&gt;
&lt;br /&gt;
Please note that the Pi4J library uses the WiringPi GPIO pin numbering scheme &amp;lt;ref&amp;gt;http://pi4j.com/usage.html#Pin_Numbering&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://projects.drogon.net/raspberry-pi/wiringpi/pins/&amp;lt;/ref&amp;gt;.  Please see the usage documentation for more details: http://pi4j.com/usage.html  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
public static void main(String[] args) {&lt;br /&gt;
&lt;br /&gt;
    // create gpio controller&lt;br /&gt;
    GpioController gpio = GpioFactory.getInstance();&lt;br /&gt;
        &lt;br /&gt;
    // provision gpio pin #01 as an output pin and turn off&lt;br /&gt;
    GpioPinDigitalOutput outputPin = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_01, &amp;quot;MyLED&amp;quot;, PinState.LOW);&lt;br /&gt;
    &lt;br /&gt;
    // turn output to LOW/OFF state&lt;br /&gt;
    outputPin.low();&lt;br /&gt;
&lt;br /&gt;
    // turn output to HIGH/ON state&lt;br /&gt;
    outputPin.high();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    // provision gpio pin #02 as an input pin with its internal pull down resistor enabled&lt;br /&gt;
    GpioPinDigitalInput inputPin = gpio.provisionDigitalInputPin(RaspiPin.GPIO_02, &amp;quot;MyButton&amp;quot;, PinPullResistance.PULL_DOWN);&lt;br /&gt;
&lt;br /&gt;
    // get input state from pin 2&lt;br /&gt;
    boolean input_value = inputPin.isHigh();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More complete and detailed examples are included on the Pi4J website at http://www.pi4j.com/. &lt;br /&gt;
&lt;br /&gt;
The Pi4J library includes support for:&lt;br /&gt;
* GPIO Control&lt;br /&gt;
* GPIO Listeners&lt;br /&gt;
* Serial Communication&lt;br /&gt;
* I2C Communication&lt;br /&gt;
* SPI Communication&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Java)====&lt;br /&gt;
This uses the Java library available at https://github.com/jkransen/framboos. It does not depend on (or use) the wiringPi driver, but uses the same numbering scheme. Instead it uses the default driver under /sys/class/gpio that ships with the distro, so it works out of the box. Any Java application that controls GPIO must be run as root.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
public static void main(String[] args) {&lt;br /&gt;
  // reading from an in pin&lt;br /&gt;
  InPin button = new InPin(8);&lt;br /&gt;
  boolean isButtonPressed = button.getValue();&lt;br /&gt;
  button.close();&lt;br /&gt;
&lt;br /&gt;
  // writing to an out pin&lt;br /&gt;
  OutPin led = new Outpin(0);&lt;br /&gt;
  led.setValue(true);&lt;br /&gt;
  led.setValue(false);&lt;br /&gt;
  led.close();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Java Webapp GPIO web control via http)====&lt;br /&gt;
This uses the Java Webapp available at https://bitbucket.org/sbub/raspberry-pi-gpio-web-control/overview. You can control your GPIO over the internet. Any Java application that controls GPIO must be run as root.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
host:~ sb$ curl 'http://raspberrypi:8080/handle?g0=1&amp;amp;g1=0'&lt;br /&gt;
{&amp;quot;g1&amp;quot;:0,&amp;quot;g0&amp;quot;:1}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Bash shell script, using sysfs, part of the raspbian operating system)====&lt;br /&gt;
The export and unexport of pins must be done as root. &lt;br /&gt;
To change to the root user see below:  To change back, the word exit must be entered.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
Export creates a new folder for the exported pin, and creates files for each of its control functions (i.e. active_low, direction, edge, power, subsystem, uevent, and value). Upon creation, the control files can be read by all users (not just root), but can only be written to by user root, the file's owner. Nevertheless, once created, it is possible to allow users other than root, to also write inputs to the control files, by changing the ownership or permissions of these files. Changes to the file's ownership or permissions must initially be done as root, as their owner and group is set to root upon creation. Typically you might change the owner to be the (non root) user controlling the GPIO, or you might add write permission, and change the group ownership to one of which the user controlling the GPIO is a member. By such means, using only packages provided in the recommended rasbian distribution, it is possible for Python CGI scripts, which are typically run as user nobody, to be used for control of the GPIO over the internet from a browser at a remote location.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
# GPIO numbers should be from this list&lt;br /&gt;
# 0, 1, 4, 7, 8, 9, 10, 11, 14, 15, 17, 18, 21, 22, 23, 24, 25&lt;br /&gt;
&lt;br /&gt;
# Note that the GPIO numbers that you program here refer to the pins&lt;br /&gt;
# of the BCM2835 and *not* the numbers on the pin header. &lt;br /&gt;
# So, if you want to activate GPIO7 on the header you should be &lt;br /&gt;
# using GPIO4 in this script. Likewise if you want to activate GPIO0&lt;br /&gt;
# on the header you should be using GPIO17 here.&lt;br /&gt;
&lt;br /&gt;
# Set up GPIO 4 and set to output&lt;br /&gt;
echo &amp;quot;4&amp;quot; &amp;gt; /sys/class/gpio/export&lt;br /&gt;
echo &amp;quot;out&amp;quot; &amp;gt; /sys/class/gpio/gpio4/direction&lt;br /&gt;
&lt;br /&gt;
# Set up GPIO 7 and set to input&lt;br /&gt;
echo &amp;quot;7&amp;quot; &amp;gt; /sys/class/gpio/export&lt;br /&gt;
echo &amp;quot;in&amp;quot; &amp;gt; /sys/class/gpio/gpio7/direction&lt;br /&gt;
&lt;br /&gt;
# Write output&lt;br /&gt;
echo &amp;quot;1&amp;quot; &amp;gt; /sys/class/gpio/gpio4/value&lt;br /&gt;
&lt;br /&gt;
# Read from input&lt;br /&gt;
cat /sys/class/gpio/gpio7/value &lt;br /&gt;
&lt;br /&gt;
# Clean up&lt;br /&gt;
echo &amp;quot;4&amp;quot; &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
echo &amp;quot;7&amp;quot; &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Shell script - take 2)====&lt;br /&gt;
You need the wiringPi library from&lt;br /&gt;
https://projects.drogon.net/raspberry-pi/wiringpi/download-and-install/. Once installed, there is a new command '''gpio''' which can be used&lt;br /&gt;
as a '''non-root''' user to control the GPIO pins.&lt;br /&gt;
&lt;br /&gt;
The man page &amp;lt;pre&amp;gt;man gpio&amp;lt;/pre&amp;gt; has full details, but briefly:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gpio -g mode 17 out&lt;br /&gt;
  gpio -g mode 18 pwm&lt;br /&gt;
&lt;br /&gt;
  gpio -g write 17 1&lt;br /&gt;
  gpio -g pwm 18 512&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The '''-g''' flag tells the '''gpio''' program to use the BCM GPIO pin numbering&lt;br /&gt;
scheme (otherwise it will use the wiringPi numbering scheme by default).&lt;br /&gt;
&lt;br /&gt;
The gpio command can also control the internal pull-up and pull-down&lt;br /&gt;
resistors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gpio -g mode 17 up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This sets the pull-up resistor - however any change of mode, even&lt;br /&gt;
setting a pin that's already set as an input to an input will remove&lt;br /&gt;
the pull-up/pull-down resistors, so they may need to be reset.&lt;br /&gt;
&lt;br /&gt;
Additionally, it can export/un-export the GPIO devices for use by&lt;br /&gt;
other non-root programms - e.g. Python scripts. (Although you&lt;br /&gt;
may need to drop the calls to GPIO.Setup() in the Python scripts, and&lt;br /&gt;
do the setup separately in a little shell script, or call the '''gpio''' program&lt;br /&gt;
from inside Python).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gpio export 17 out&lt;br /&gt;
  gpio export 18 in&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
These exports GPIO-17 and sets it to output, and exports GPIO-18&lt;br /&gt;
and sets it to input. &lt;br /&gt;
&lt;br /&gt;
And when done:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gpio unexport 17&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
The export/unexport commands always use the BCM GPIO pin numbers regardless of the&lt;br /&gt;
presence of the '''-g''' flag or not.&lt;br /&gt;
&lt;br /&gt;
If you want to use the internal pull-up/down's with the /sys/class/gpio mechanisms,&lt;br /&gt;
then you can set them after exporting them. So:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gpio -g export 4 in&lt;br /&gt;
  gpio -g mode 4 up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can then use GPIO-4 as an input in your Python, Shell, Java, etc. programs without the use&lt;br /&gt;
of an external resistor to pull the pin high. (If that's what you were after - for example, a simple push&lt;br /&gt;
button switch taking the pin to ground.)&lt;br /&gt;
&lt;br /&gt;
A fully working example of a shell script using the GPIO pins&lt;br /&gt;
can be found at http://project-downloads.drogon.net/files/gpioExamples/tuxx.sh.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Lazarus / Free Pascal)====&lt;br /&gt;
[[File:RPI GPIO testprogram with lazarus.png|thumb|254px|right|A simple app for controlling GPIO pin 17 with Lazarus]]&lt;br /&gt;
&lt;br /&gt;
The GPIO pins are accessible from [[Lazarus on RPi|Lazarus]] without any third-party software. This is performed by means of invoking Unix shell commands with '''fpsystem'''. The following example uses GPIO pin 17 as output port. It is assumed that you created a form with a TToggleBox named GPIO17ToggleBox and for logging purposes a TMemo with name LogMemo (optional). The program has to be executed with root privileges.&lt;br /&gt;
&lt;br /&gt;
''Unit for controlling the GPIO port:''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
unit Unit1;&lt;br /&gt;
&lt;br /&gt;
{Demo application for GPIO on Raspberry Pi}&lt;br /&gt;
{Inspired by the Python input/output demo application by Gareth Halfacree}&lt;br /&gt;
{written for the Raspberry Pi User Guide, ISBN 978-1-118-46446-5}&lt;br /&gt;
&lt;br /&gt;
{$mode objfpc}{$H+}&lt;br /&gt;
&lt;br /&gt;
interface&lt;br /&gt;
&lt;br /&gt;
uses&lt;br /&gt;
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, Unix;&lt;br /&gt;
&lt;br /&gt;
type&lt;br /&gt;
&lt;br /&gt;
  { TForm1 }&lt;br /&gt;
&lt;br /&gt;
  TForm1 = class(TForm)&lt;br /&gt;
    LogMemo: TMemo;&lt;br /&gt;
    GPIO17ToggleBox: TToggleBox;&lt;br /&gt;
    procedure FormActivate(Sender: TObject);&lt;br /&gt;
    procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);&lt;br /&gt;
    procedure GPIO17ToggleBoxChange(Sender: TObject);&lt;br /&gt;
  private&lt;br /&gt;
    { private declarations }&lt;br /&gt;
  public&lt;br /&gt;
    { public declarations }&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
var&lt;br /&gt;
  Form1: TForm1;&lt;br /&gt;
  gReturnCode: longint; {stores the result of the IO operation}&lt;br /&gt;
&lt;br /&gt;
implementation&lt;br /&gt;
&lt;br /&gt;
{$R *.lfm}&lt;br /&gt;
&lt;br /&gt;
{ TForm1 }&lt;br /&gt;
&lt;br /&gt;
procedure TForm1.FormActivate(Sender: TObject);&lt;br /&gt;
begin&lt;br /&gt;
  { Prepare SoC pin 17 (pin 11 on GPIO port) for access: }&lt;br /&gt;
  gReturnCode := fpsystem('echo &amp;quot;17&amp;quot; &amp;gt; /sys/class/gpio/export');&lt;br /&gt;
  LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
  { Set SoC pin 17 as output: }&lt;br /&gt;
  gReturnCode := fpsystem('echo &amp;quot;out&amp;quot; &amp;gt; /sys/class/gpio/gpio17/direction');&lt;br /&gt;
  LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
procedure TForm1.FormClose(Sender: TObject; var CloseAction: TCloseAction);&lt;br /&gt;
begin&lt;br /&gt;
  { Free SoC pin 17: }&lt;br /&gt;
  gReturnCode := fpsystem('echo &amp;quot;17&amp;quot; &amp;gt; /sys/class/gpio/unexport');&lt;br /&gt;
  LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
procedure TForm1.GPIO17ToggleBoxChange(Sender: TObject);&lt;br /&gt;
begin&lt;br /&gt;
  if GPIO17ToggleBox.Checked then&lt;br /&gt;
  begin&lt;br /&gt;
    { Swith SoC pin 17 on: }&lt;br /&gt;
    gReturnCode := fpsystem('echo &amp;quot;1&amp;quot; &amp;gt; /sys/class/gpio/gpio17/value');&lt;br /&gt;
    LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
  end&lt;br /&gt;
  else&lt;br /&gt;
  begin&lt;br /&gt;
    { Switch SoC pin 17 off: }&lt;br /&gt;
    gReturnCode := fpsystem('echo &amp;quot;0&amp;quot; &amp;gt; /sys/class/gpio/gpio17/value');&lt;br /&gt;
    LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
  end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Main program:''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
program io_test;&lt;br /&gt;
&lt;br /&gt;
{$mode objfpc}{$H+}&lt;br /&gt;
&lt;br /&gt;
uses&lt;br /&gt;
  {$IFDEF UNIX}{$IFDEF UseCThreads}&lt;br /&gt;
  cthreads,&lt;br /&gt;
  {$ENDIF}{$ENDIF}&lt;br /&gt;
  Interfaces, // this includes the LCL widgetset&lt;br /&gt;
  Forms, Unit1&lt;br /&gt;
  { you can add units after this };&lt;br /&gt;
&lt;br /&gt;
{$R *.res}&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  Application.Initialize;&lt;br /&gt;
  Application.CreateForm(TForm1, Form1);&lt;br /&gt;
  Application.Run;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An alternative way to access the GPIO port with Lazarus / Free Pascal is by using [http://www.lazarus.freepascal.org/index.php/topic,17404.0.html Lazarus wrapper unit for Gordon Henderson's wiringPi C library].&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (C + wiringPi)====&lt;br /&gt;
Get and install wiringPi: https://projects.drogon.net/raspberry-pi/wiringpi/download-and-install/&lt;br /&gt;
&lt;br /&gt;
Save this, and compile with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gcc -o blink blink.c -lwiringPi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and run with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  sudo ./blink&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 * blink.c:&lt;br /&gt;
 *      blinks the first LED&lt;br /&gt;
 *      Gordon Henderson, projects@drogon.net&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;wiringPi.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main (void)&lt;br /&gt;
{&lt;br /&gt;
  printf (&amp;quot;Raspberry Pi blink\n&amp;quot;) ;&lt;br /&gt;
&lt;br /&gt;
  if (wiringPiSetup () == -1)&lt;br /&gt;
    return 1 ;&lt;br /&gt;
&lt;br /&gt;
  pinMode (0, OUTPUT) ;         // aka BCM_GPIO pin 17&lt;br /&gt;
&lt;br /&gt;
  for (;;)&lt;br /&gt;
  {&lt;br /&gt;
    digitalWrite (0, 1) ;       // On&lt;br /&gt;
    delay (500) ;               // mS&lt;br /&gt;
    digitalWrite (0, 0) ;       // Off&lt;br /&gt;
    delay (500) ;&lt;br /&gt;
  }&lt;br /&gt;
  return 0 ;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (C)====&lt;br /&gt;
This must be done as root. To change to the root user:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
You must also get and install the bcm2835 library, which supports&lt;br /&gt;
GPIO and SPI interfaces. Details and downloads &lt;br /&gt;
from  http://www.open.com.au/mikem/bcm2835&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// blink.c&lt;br /&gt;
//&lt;br /&gt;
// Example program for bcm2835 library&lt;br /&gt;
// Blinks a pin on an off every 0.5 secs&lt;br /&gt;
//&lt;br /&gt;
// After installing bcm2835, you can build this &lt;br /&gt;
// with something like:&lt;br /&gt;
// gcc -o blink -l rt blink.c -l bcm2835&lt;br /&gt;
// sudo ./blink&lt;br /&gt;
//&lt;br /&gt;
// Or you can test it before installing with:&lt;br /&gt;
// gcc -o blink -l rt -I ../../src ../../src/bcm2835.c blink.c&lt;br /&gt;
// sudo ./blink&lt;br /&gt;
//&lt;br /&gt;
// Author: Mike McCauley (mikem@open.com.au)&lt;br /&gt;
// Copyright (C) 2011 Mike McCauley&lt;br /&gt;
// $Id: RF22.h,v 1.21 2012/05/30 01:51:25 mikem Exp $&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;bcm2835.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Blinks on RPi pin GPIO 11&lt;br /&gt;
#define PIN RPI_GPIO_P1_11&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char **argv)&lt;br /&gt;
{&lt;br /&gt;
    // If you call this, it will not actually access the GPIO&lt;br /&gt;
    // Use for testing&lt;br /&gt;
//    bcm2835_set_debug(1);&lt;br /&gt;
&lt;br /&gt;
    if (!bcm2835_init())&lt;br /&gt;
	return 1;&lt;br /&gt;
&lt;br /&gt;
    // Set the pin to be an output&lt;br /&gt;
    bcm2835_gpio_fsel(PIN, BCM2835_GPIO_FSEL_OUTP);&lt;br /&gt;
&lt;br /&gt;
    // Blink&lt;br /&gt;
    while (1)&lt;br /&gt;
    {&lt;br /&gt;
	// Turn it on&lt;br /&gt;
	bcm2835_gpio_write(PIN, HIGH);&lt;br /&gt;
	&lt;br /&gt;
	// wait a bit&lt;br /&gt;
	delay(500);&lt;br /&gt;
	&lt;br /&gt;
	// turn it off&lt;br /&gt;
	bcm2835_gpio_write(PIN, LOW);&lt;br /&gt;
	&lt;br /&gt;
	// wait a bit&lt;br /&gt;
	delay(500);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Perl)====&lt;br /&gt;
This must be done as root. To change to the root user:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo su -&amp;lt;/pre&amp;gt;&lt;br /&gt;
Supports GPIO and SPI interfaces.&lt;br /&gt;
You must also get and install the bcm2835 library. Details and downloads &lt;br /&gt;
from  http://www.open.com.au/mikem/bcm2835&lt;br /&gt;
You must then get and install the Device::BCM2835 perl library from CPAN &lt;br /&gt;
http://search.cpan.org/~mikem/Device-BCM2835-1.0/lib/Device/BCM2835.pm&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
use Device::BCM2835;&lt;br /&gt;
use strict;&lt;br /&gt;
&lt;br /&gt;
# call set_debug(1) to do a non-destructive test on non-RPi hardware&lt;br /&gt;
#Device::BCM2835::set_debug(1);&lt;br /&gt;
Device::BCM2835::init() &lt;br /&gt;
 || die &amp;quot;Could not init library&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
# Blink pin 11:&lt;br /&gt;
# Set RPi pin 11 to be an output&lt;br /&gt;
Device::BCM2835::gpio_fsel(&amp;amp;Device::BCM2835::RPI_GPIO_P1_11, &lt;br /&gt;
                            &amp;amp;Device::BCM2835::BCM2835_GPIO_FSEL_OUTP);&lt;br /&gt;
&lt;br /&gt;
while (1)&lt;br /&gt;
{&lt;br /&gt;
    # Turn it on&lt;br /&gt;
    Device::BCM2835::gpio_write(&amp;amp;Device::BCM2835::RPI_GPIO_P1_11, 1);&lt;br /&gt;
    Device::BCM2835::delay(500); # Milliseconds&lt;br /&gt;
    # Turn it off&lt;br /&gt;
    Device::BCM2835::gpio_write(&amp;amp;Device::BCM2835::RPI_GPIO_P1_11, 0);&lt;br /&gt;
    Device::BCM2835::delay(500); # Milliseconds&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== GPIO Driving Example (C#) ====&lt;br /&gt;
RaspberryPiDotNet library is available at https://github.com/cypherkey/RaspberryPi.Net/.&lt;br /&gt;
The library includes a GPIOFile and GPIOMem class. The GPIOMem requires compiling Mike McCauley's bcm2835 library above in to a shared object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Linq;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using RaspberryPiDotNet;&lt;br /&gt;
using System.Threading;&lt;br /&gt;
&lt;br /&gt;
namespace RaspPi&lt;br /&gt;
{&lt;br /&gt;
    class Program&lt;br /&gt;
    {&lt;br /&gt;
        static void Main(string[] args)&lt;br /&gt;
        {&lt;br /&gt;
            // Access the GPIO pin using a static method&lt;br /&gt;
            GPIOFile.Write(GPIO.GPIOPins.GPIO00, true);&lt;br /&gt;
&lt;br /&gt;
            // Create a new GPIO object&lt;br /&gt;
            GPIOMem gpio = new GPIOMem(GPIO.GPIOPins.GPIO01);&lt;br /&gt;
            gpio.Write(false);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Ruby)====&lt;br /&gt;
&lt;br /&gt;
This example uses the WiringPi Ruby Gem: http://pi.gadgetoid.co.uk/post/015-wiringpi-now-with-serial which you can install on your Pi with &amp;quot;gem install wiringpi&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MY_PIN = 1&lt;br /&gt;
&lt;br /&gt;
require 'wiringpi'&lt;br /&gt;
io = WiringPi::GPIO.new&lt;br /&gt;
io.mode(MY_PIN,OUTPUT)&lt;br /&gt;
io.write(MY_PIN,HIGH)&lt;br /&gt;
io.read(MY_PIN)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternatively the Pi Piper Gem (https://github.com/jwhitehorn/pi_piper) allows for event driven programming:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
require 'pi_piper'&lt;br /&gt;
include PiPiper&lt;br /&gt;
&lt;br /&gt;
watch :pin =&amp;gt; 23 do&lt;br /&gt;
  puts &amp;quot;Pin changed from #{last_value} to #{value}&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
PiPiper.wait&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (BASIC - Return to BASIC)====&lt;br /&gt;
&lt;br /&gt;
'''RTB''' or Return to Basic can be found here: https://projects.drogon.net/return-to-basic/&lt;br /&gt;
&lt;br /&gt;
It's a new BASIC featuring modern looping constructs, switch statements, named procedures and functions as well as graphics (caresian and turtle), file handling and more. It also supports the Pi's on-board GPIO without needing to be run as root. (You don't need any special setup routines either)&lt;br /&gt;
&lt;br /&gt;
Sample blink program:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// blink.rtb:&lt;br /&gt;
//    Blink program in Return to Basic&lt;br /&gt;
//    Gordon Henderson, projects@drogon.net&lt;br /&gt;
//&lt;br /&gt;
PinMode (0, 1) // Output&lt;br /&gt;
CYCLE &lt;br /&gt;
  DigitalWrite (0, 1) // Pin 0 ON&lt;br /&gt;
  WAIT (0.5) // 0.5 seconds&lt;br /&gt;
  DigitalWrite (0, 0)&lt;br /&gt;
  WAIT (0.5)&lt;br /&gt;
REPEAT &lt;br /&gt;
END &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (BASIC)====&lt;br /&gt;
&lt;br /&gt;
'''Bywater BASIC Interpreter'''&lt;br /&gt;
&lt;br /&gt;
The Bywater BASIC Interpreter (bwBASIC) implements a large superset of the ANSI Standard for Minimal BASIC (X3.60-1978) and a significant subset of the ANSI Standard for Full BASIC (X3.113-1987) in C. It also offers shell programming facilities as an extension of BASIC. bwBASIC seeks to be as portable as possible. &lt;br /&gt;
You can download it at.&lt;br /&gt;
http://packages.debian.org/stable/interpreters/bwbasic&lt;br /&gt;
&lt;br /&gt;
'''BASIC programming of the I/O'''&lt;br /&gt;
&lt;br /&gt;
'''Setting up a GPIO pin to be used for inputs or for outputs.'''&lt;br /&gt;
&lt;br /&gt;
We cannot load the control words directly into the  32 bit ARM registers with 32 bit addresses, as bwBASIC has no POKE and PEEK commands and other versions of BASIC (as far as I know) only handle 8 bit registers with 16 bit addresses with these commands. So we need to export the GPIO pins, so that they exist in a file structure which we can access from basic with the OPEN command.(ref 2)&lt;br /&gt;
&lt;br /&gt;
We need to do this in Linux root.&lt;br /&gt;
We need to run BASIC in the root too. First we go to the root, then we load bwbasic into root.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo -1&lt;br /&gt;
sudo bwbasic&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
REM Now to export the no4 GPIO pin for example, using a Shell command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo “4” &amp;gt;  /sys/class/gpio/export&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Whilst bwbasic can accommodate shell commands, and we can store a set of these commands (eg. to export a number of GPIO pins at the outset) as numbered statements in a file that can be loaded with the basic command LOAD “filename” and RUN (ref 2), the shell commands have to run as a separate file, as they cannot be run from within, as part of a basic programme.&lt;br /&gt;
&lt;br /&gt;
'''Now we can access the file containing the pin direction setting from BASIC'''&lt;br /&gt;
&lt;br /&gt;
We can set GPIO pin 4 to input or to output by OPENing its pin direction file for output and writing “in” or “out” with a PRINT# command. (ref 2 )&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic4gl&amp;quot;&amp;gt;&lt;br /&gt;
10 OPEN ”O”,#1, “/sys/devices/virtual/gpio/gpio4/direction”,2&lt;br /&gt;
20 PRINT #1,”out”&lt;br /&gt;
30 CLOSE #1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
REM closes the open direction file, whereupon the system performs the action of setting the direction to “out”. NB the system only carries out the action as the file is closed.(ref 3)&lt;br /&gt;
&lt;br /&gt;
'''We are now able to control the output of the gpio 4 pin from BASIC'''&lt;br /&gt;
&lt;br /&gt;
We can set the GPIO 4 pin to 1 or to 0 by OPENing its pin value file for output and writing “1” or “0” with a PRINT# command.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic4gl&amp;quot;&amp;gt;&lt;br /&gt;
40 OPEN ”O”,#4, “/sys/devices/virtual/gpio/gpio4/value”,1&lt;br /&gt;
50 PRINT #4,”1”&lt;br /&gt;
60 CLOSE #4 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
REM turns on the output of GPIO pin 4.&lt;br /&gt;
&lt;br /&gt;
REM similarly we can turn off the output of GPIO pin 4.&lt;br /&gt;
OPEN ”O”,#4, “/sys/devices/virtual/gpio/gpio4/value”,1&lt;br /&gt;
PRINT #4,”0”&lt;br /&gt;
CLOSE #4.&lt;br /&gt;
&lt;br /&gt;
'''Example of an (unstructured) BASIC programme''' &lt;br /&gt;
&lt;br /&gt;
To read the state of a switch and control the power to two LEDs connected to GPIO pins 8,7 and 4 respectively.&lt;br /&gt;
&lt;br /&gt;
Programme to set 2 pins as outputs and 1 pin as input and to read the input turning on two different combinations of the two outputs (ie output 0,1 or 1,0) depending on the state of the input (1 or 0).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic4gl&amp;quot;&amp;gt;&lt;br /&gt;
sudo –i&lt;br /&gt;
sudo bwbasic&lt;br /&gt;
LOAD “export.bas”&lt;br /&gt;
LIST&lt;br /&gt;
REM a set of Shell statements to export the three GPIO pins.&lt;br /&gt;
10 echo “4” &amp;gt; /sys/class/gpio/export&lt;br /&gt;
20 echo “7” &amp;gt; /sys/class/gpio/export&lt;br /&gt;
30 echo “8” &amp;gt; /sys/class/gpio/export&lt;br /&gt;
RUN&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NEW REM clears the export.bas programme from memory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic4gl&amp;quot;&amp;gt;&lt;br /&gt;
.&lt;br /&gt;
LOAD “demo1.bas”&lt;br /&gt;
LIST&lt;br /&gt;
10 OPEN ”O”,#1, “/sys/devices/virtual/gpio/gpio4/direction”,2 &lt;br /&gt;
20 OPEN ”O”,#2, “/sys/devices/virtual/gpio/gpio7/direction”,2 &lt;br /&gt;
30 OPEN ”O”,#3, “/sys/devices/virtual/gpio/gpio8/direction”,2&lt;br /&gt;
REM opens the three pin direction files&lt;br /&gt;
40 PRINT #1, “out”&lt;br /&gt;
50 PRINT #2, “out”&lt;br /&gt;
60 PRINT #3, “in”&lt;br /&gt;
REM sets GPIO pins 4 and 7 as outputs and GPIO pin 8 as input.&lt;br /&gt;
70 CLOSE #1&lt;br /&gt;
80 CLOSE #2&lt;br /&gt;
90 CLOSE #3&lt;br /&gt;
REM closes all open files, allowing the system to perform the direction settings.&lt;br /&gt;
100 OPEN ”I”,#8, “/sys/devices/virtual/gpio/gpio8/value”,1&lt;br /&gt;
REM opens the GPIO pin 8 value file&lt;br /&gt;
110 INPUT #8,x&lt;br /&gt;
REM reads the value of the input pin and stores the value in numerical variable x&lt;br /&gt;
120 CLOSE #8&lt;br /&gt;
REM closes the open file, allowing the system to read the value of the input pin and store the value in numerical variable x.&lt;br /&gt;
130 OPEN “O”,#1, “/sys/devices/virtual/gpio/gpio4/value”,1&lt;br /&gt;
140 OPEN “O”,#2, “/sys/devices/virtual/gpio/gpio7/value”,1&lt;br /&gt;
REM opens the GPIO pins 4 and value files ready for outputting 1s and 0s.&lt;br /&gt;
150 IF x&amp;lt;1 THEN GOTO 160 ELSE GOTO 190&lt;br /&gt;
REM tests the state of the switch (1 or0) and directs the program to generate the appropriate outputs&lt;br /&gt;
160 PRINT #1,”1”&lt;br /&gt;
170 PRINT #2,”0”&lt;br /&gt;
180 GOTO 210&lt;br /&gt;
190  PRINT#1,&amp;quot;0&amp;quot;&lt;br /&gt;
200 PRINT #2,&amp;quot;1&amp;quot;&lt;br /&gt;
210 CLOSE #1&lt;br /&gt;
220 CLOSE #2&lt;br /&gt;
REM Closes the files and allows the outputs to light the LED&lt;br /&gt;
230 END.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When all is done, we should unexport the GPIO pins, to leave the R-Pi as we found it.(Ref 1.)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic4gl&amp;quot;&amp;gt;&lt;br /&gt;
NEW&lt;br /&gt;
LOAD “unexport.bas”&lt;br /&gt;
LIST&lt;br /&gt;
REM a set of Shell statements to unexport the three GPIO pins.&lt;br /&gt;
10 echo “4” &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
20 echo “7” &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
30 echo “8” &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
RUN&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
A simple circuit to provide the switched input and the two LED outputs.&lt;br /&gt;
&lt;br /&gt;
Ancient Mariner. Dec. 2012&lt;br /&gt;
&lt;br /&gt;
References.&lt;br /&gt;
&lt;br /&gt;
1. This paper RPi Low-level peripherals.&lt;br /&gt;
&lt;br /&gt;
2. Ed Beynon.  [http://www.ybw.com/forums/showthread.php?t=331320&amp;amp;page=5 http://www.ybw.com/forums/showthread.php?t=331320&amp;amp;page=5]&lt;br /&gt;
&lt;br /&gt;
3. Arthur Kaletzky. Private communication. 25/10/2012&lt;br /&gt;
&lt;br /&gt;
4. bwbasic manual.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the two original documents this example has been copied from see:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Media:GPIO_Driving_Example_(BASIC)_.doc | GPIO_Driving_Example_(BASIC)_.doc]]&lt;br /&gt;
&lt;br /&gt;
[[Media:Raspberry_Pi_I-O_viii.doc | Raspberry_Pi_I-O_viii.doc]]&lt;br /&gt;
&lt;br /&gt;
==MIPI CSI-2==&lt;br /&gt;
&lt;br /&gt;
On the production board&amp;lt;ref&amp;gt;http://www.raspberrypi.org/wp-content/uploads/2012/04/Raspberry-Pi-Schematics-R1.0.pdf&amp;lt;/ref&amp;gt;, the Raspberry Pi Foundation design brings out the MIPI CSI-2 (Camera Serial Interface&amp;lt;ref&amp;gt;http://www.mipi.org/specifications/camera-interface&amp;lt;/ref&amp;gt;) to a 15-way flat flex connector S5, between the Ethernet and HDMI connectors. A compatible camera has been discussed as working in tests and is planned for release at a later date.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/projects-and-collaboration-general/complex-camera-peripherials#p72602&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&amp;lt;!-- This is misleading as it implies that cheap cameras from other devices can be used. CSI appears to be a generic interface with secret device-specific requirements so these devices must have drivers to be relevant (and currently only the VideoCore has access to the CSI hardware).&lt;br /&gt;
&lt;br /&gt;
is Sony sub-LVDS same as MIPI CSI-2? Sony IMX020 5Mbip module is available for $5-7 (SE K850i replacement camera).&lt;br /&gt;
&lt;br /&gt;
Looks like Nokia N95 uses CSI-2 5Mpix camera module with autofocus. ~$15 replacement part.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==DSI==&lt;br /&gt;
&lt;br /&gt;
On the production board, the Raspberry Pi Foundation design brings out the DSI (Display Serial Interface&amp;lt;ref&amp;gt;http://www.mipi.org/specifications/display-interface&amp;lt;/ref&amp;gt;) to a 15-way flat flex connector labelled S2, next to Raspberry Pi logo. It has two data lanes and a clock lane, to drive a possible future LCD screen device. Some smart phone screens use DSI&amp;lt;ref&amp;gt;http://en.wikipedia.org/wiki/Display_Serial_Interface&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==CEC==&lt;br /&gt;
&lt;br /&gt;
[[CEC (Consumer Electronics Control) over HDMI|HDMI-CEC (Consumer Electronics Control for HDMI)]] is supported by hardware but some driver work will be needed and currently isn't exposed into Linux userland.&lt;br /&gt;
Eben notes that he has seen CEC demos on the Broadcom SoC they are using. &lt;br /&gt;
&lt;br /&gt;
libCEC with Raspberry Pi support has been included in OpenELEC and will be included in Raspbmc RC4.&amp;lt;ref&amp;gt;http://blog.pulse-eight.com/2012/08/01/libcec-1-8-0-a-firmware-upgrade-and-raspberry-pi-support/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information about HDMI-CEC and what you could do with it on the Raspberry Pi please see the [[CEC (Consumer Electronics Control) over HDMI]] article.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Template:Raspberry Pi}}&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/File:RPi_P3_header.png</id>
		<title>File:RPi P3 header.png</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/File:RPi_P3_header.png"/>
				<updated>2013-03-01T00:54:10Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: The P3 header on the RaspberryPi, showing the orientation of the pin numbers

Category:RaspberryPi&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The P3 header on the RaspberryPi, showing the orientation of the pin numbers&lt;br /&gt;
&lt;br /&gt;
[[Category:RaspberryPi]]&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/File:RPi_P2_header.png</id>
		<title>File:RPi P2 header.png</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/File:RPi_P2_header.png"/>
				<updated>2013-03-01T00:53:12Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: The P2 header on the RaspberryPi, showing the orientation of the pin numbers

Category:RaspberryPi&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The P2 header on the RaspberryPi, showing the orientation of the pin numbers&lt;br /&gt;
&lt;br /&gt;
[[Category:RaspberryPi]]&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/File:RPi_P1_header.png</id>
		<title>File:RPi P1 header.png</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/File:RPi_P1_header.png"/>
				<updated>2013-03-01T00:47:40Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The P1 header on the RaspberryPi, showing the orientation of the pin numbers&lt;br /&gt;
&lt;br /&gt;
[[Category:RaspberryPi]]&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/File:RPi_P1_header.png</id>
		<title>File:RPi P1 header.png</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/File:RPi_P1_header.png"/>
				<updated>2013-03-01T00:46:52Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: The P1 header on the RaspberryPi, showing the orientation of the pin numbers&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The P1 header on the RaspberryPi, showing the orientation of the pin numbers&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/RPi_Hardware</id>
		<title>RPi Hardware</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RPi_Hardware"/>
				<updated>2013-02-24T16:50:31Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: /* Components */ Added height of Model A board&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: RaspberryPi]]&lt;br /&gt;
{{Template:RPi_Hardware}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
[[File:Rpi unpopulated pcb.jpg|thumb|right|The unpopulated Rpi bèta board]]&lt;br /&gt;
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 [[Rpi Low-level peripherals| GPIO pins]] on each board allow the use of optional [[Rpi expansion boards|expansion boards]].&lt;br /&gt;
&lt;br /&gt;
Those who are looking to set up a Raspberry Pi for the first time, see [[RPi Hardware Basic Setup]].&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! Model A&lt;br /&gt;
! Model B&lt;br /&gt;
|-&lt;br /&gt;
| Target price:&amp;lt;ref name=&amp;quot;faq&amp;quot; &amp;gt;http://www.raspberrypi.org/faqs&amp;lt;/ref&amp;gt;&lt;br /&gt;
| US$25 Ext tax (GBP £16 Exc VAT)&lt;br /&gt;
| US$35 Ext tax (GBP £22 Exc VAT)&lt;br /&gt;
|-&lt;br /&gt;
| System-on-a-chip (SoC):&amp;lt;ref name=&amp;quot;faq&amp;quot; /&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Broadcom BCM2835 (CPU + GPU. SDRAM is a separate chip stacked on top)&lt;br /&gt;
|-&lt;br /&gt;
| CPU:&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 700&amp;amp;nbsp;MHz ARM11 ARM1176JZF-S core&lt;br /&gt;
|-&lt;br /&gt;
| GPU:&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Broadcom VideoCore IV,OpenGL ES 2.0,OpenVG 1080p30 H.264 high-profile encode/decode &lt;br /&gt;
|-&lt;br /&gt;
| Memory (SDRAM)iB&lt;br /&gt;
| 256&amp;amp;nbsp;MiB (planned with 128&amp;amp;nbsp;MiB, upgraded to 256&amp;amp;nbsp;MiB on 29 Feb 2012)&lt;br /&gt;
| 256&amp;amp;nbsp;MiB (until 15 Oct 2012); 512&amp;amp;nbsp;MiB (since 15 Oct 2012)&lt;br /&gt;
|-&lt;br /&gt;
| USB 2.0 ports:&lt;br /&gt;
| 1 (provided by the BCM2835)&lt;br /&gt;
| 2 (via integrated USB hub)&lt;br /&gt;
|-&lt;br /&gt;
| Video outputs:&amp;lt;ref name=&amp;quot;faq&amp;quot; /&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Composite video | Composite RCA, HDMI (not at the same time)&lt;br /&gt;
|-&lt;br /&gt;
| Audio outputs:&amp;lt;ref name=&amp;quot;faq&amp;quot; /&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | TRS connector | 3.5 mm jack, HDMI&lt;br /&gt;
|-&lt;br /&gt;
| Audio inputs:&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | none, but a USB mic or sound-card could be added&lt;br /&gt;
|-&lt;br /&gt;
| Onboard Storage:&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Secure Digital|SD / MMC / SDIO card slot&lt;br /&gt;
|-&lt;br /&gt;
| Onboard Network:&amp;lt;ref name=&amp;quot;faq&amp;quot; /&amp;gt;&lt;br /&gt;
| None&lt;br /&gt;
| 10/100 wired Ethernet RJ45&lt;br /&gt;
|-&lt;br /&gt;
| Low-level peripherals:&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | General Purpose Input/Output (GPIO) pins, Serial Peripheral Interface Bus (SPI), I²C, I²S&amp;lt;ref name=&amp;quot;i2s&amp;quot;&amp;gt;[http://www.raspberrypi.org/forum/features-and-requests/sad-about-removal-of-i2s-why-was-this-change-made Forum:Sad about removal of I2S. Why was this change made?]&amp;lt;/ref&amp;gt;, Universal asynchronous receiver/transmitter (UART)&lt;br /&gt;
|-&lt;br /&gt;
| Real-time clock:&amp;lt;ref name=&amp;quot;faq&amp;quot; /&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | None&lt;br /&gt;
|-&lt;br /&gt;
| Power ratings (provisional, from alpha board):&lt;br /&gt;
| 500&amp;amp;nbsp;mA, (2.5&amp;amp;nbsp;W) &amp;lt;ref name=&amp;quot;faq&amp;quot; /&amp;gt;&lt;br /&gt;
| 700&amp;amp;nbsp;mA, (3.5&amp;amp;nbsp;W)&lt;br /&gt;
|-&lt;br /&gt;
| Power source:&amp;lt;ref name=&amp;quot;faq&amp;quot; /&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 5&amp;amp;nbsp;V (DC) via Micro USB type B or GPIO header&lt;br /&gt;
|-&lt;br /&gt;
| Size:&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 85.0 x 56.0 mm (two different boards, measured with callipers)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Components==&lt;br /&gt;
[[File:Raspi-Model-AB-Mono-2-699x1024.png|400px|thumb|right|A diagram denoting the places of the different components on the Rpi, made by Paul&lt;br /&gt;
Beech, edited to show 256MB ram for both boards]]&lt;br /&gt;
(Provisional - some of the expansion interfaces won't be available on production boards)&lt;br /&gt;
(PCB IDs are those of the Model B Beta board) &lt;br /&gt;
&lt;br /&gt;
* SoC: [http://www.broadcom.com/products/BCM2835 Broadcom BCM2835 media processor] ([http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf datasheet], [[BCM2835 datasheet errata]], [[RPi_BCM2835_Pinout|unofficial pinout]]) system-on-chip featuring:&lt;br /&gt;
** CPU core: [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0301h/DDI0301H_arm1176jzfs_r0p7_trm.pdf 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 [http://en.wikipedia.org/wiki/ARM_architecture ARM architecture] and [http://en.wikipedia.org/wiki/List_of_ARM_microprocessor_cores List of ARM microprocessor cores].&lt;br /&gt;
** 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&lt;br /&gt;
** 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)&lt;br /&gt;
** 256MiB of ([http://www.hynix.com/products/mobile/view.jsp?info.ramKind=28&amp;amp;info.serialNo=H9TKNNN2GDMPLR&amp;amp;posMap=MobileDDR2 Hynix MobileDDR2] or [http://www.samsung.com/global/business/semiconductor/product/mobile-dram/detail?productId=7611&amp;amp;iaId=747 Samsung Mobile DRAM]) SDRAM (or 512MB [http://www.samsung.com/global/business/semiconductor/product/mobile-dram/detail?iaId=747&amp;amp;productId=7609 Mobile DRAM] on later boards).  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.  Here is a highly magnified side view of the SDRAM stacked on top of the BCM2835 stacked on top of the PCB [http://www.raspberrypi.org/wp-content/uploads/2012/09/2012-09-21-10.58.22.jpg PoP stack] (you can see why it's job that can only be done by robots!).&lt;br /&gt;
* 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:&lt;br /&gt;
** 10/100Mb Ethernet (Auto-MDIX)&amp;lt;ref name=autoMDIX&amp;gt;[http://en.wikipedia.org/wiki/Medium_dependent_interface#Auto-MDIX Wikipedia:Auto-MDIX]&amp;lt;/ref&amp;gt;&lt;br /&gt;
** 2x USB 2.0 &lt;br /&gt;
* S1: Micro USB power jack (5v - Power Only)&lt;br /&gt;
* S2: [http://www.mipi.org/specifications/display-interface DSI] interface.  15-pin surface mounted flat flex connector, providing two data lanes, one clock lane, 3.3V and GND.&lt;br /&gt;
* S3: HDMI connector providing type A HDMI 1.3a out&lt;br /&gt;
* S4: Composite Video connector: RCA&lt;br /&gt;
* S5: MIPI [http://www.mipi.org/specifications/camera-interface CSI-2] interface.  15-pin surface mounted flat flex connector.&lt;br /&gt;
* S6: Audio connector: 3.5mm stereo jack (output only)&lt;br /&gt;
* S8: SD/MMC/SDIO memory card slot (underside)&lt;br /&gt;
* S7: Either 1x USB 2.0 '''(Model A)''' 2x USB 2.0 '''(Model B)'''&lt;br /&gt;
* P1: 26-pin (2x13) 2.54 mm header expansion, providing: see [[Rpi_Low-level_peripherals | Low-level peripherals]]&lt;br /&gt;
** 8 [[Rpi_Low-level_peripherals#General_Purpose_Input.2FOutput_.28GPIO.29|GPIO]]s at 3v3&lt;br /&gt;
** 2-pin UART serial console, 3v3 TTL (debug); or 2 GPIOs at 3v3&lt;br /&gt;
** I&amp;amp;sup2;C interface (3v3); or 2 GPIOs at 3v3&lt;br /&gt;
** SPI interface (3v3); or 5 GPIOs at 3v3&lt;br /&gt;
** 3v3, 5v and GND supply pins&lt;br /&gt;
** ARM JTAG (if pins are reconfigured in software - on Revision1.0 boards one signal would also need to be taken from S5)&lt;br /&gt;
** I&amp;amp;sup2;S interface (if pins are reconfigured in software, hardware hack may be required&amp;lt;ref name=&amp;quot;i2s&amp;quot;/&amp;gt;)&lt;br /&gt;
* P2: 8-pin 2.54 mm header expansion (header not fitted on Revision 2.0 boards), providing GPU JTAG (ARM11 pinout, pin 7 is nofit for locating)&lt;br /&gt;
* P3: 7-pin 2.54 mm header expansion (header not fitted), providing LAN9512 JTAG (pin 6 is nofit for locating)&lt;br /&gt;
* P4: 10/100Mb RJ45 Ethernet jack '''(Model B)'''&lt;br /&gt;
* P5: 8-pin (2x4) 2.54 mm header expansion (header not fitted), on the ''bottom'' of the board, providing: see [[Rpi_Low-level_peripherals | Low-level peripherals]] '''(Revision 2.0 boards only)'''&lt;br /&gt;
** 4 [[Rpi_Low-level_peripherals#P5_header|GPIO]]s at 3v3&lt;br /&gt;
** 3v3, 5v and GND supply pins&lt;br /&gt;
** Second I&amp;amp;sup2;C interface (3v3) (if pins are reconfigured in software)&lt;br /&gt;
** I&amp;amp;sup2;S interface (if pins are reconfigured in software)&lt;br /&gt;
** Handshake signals for the UART on the P1 header (if pins are reconfigured in software)&lt;br /&gt;
* P6: 2-pin 2.54 mm header expansion (header not fitted), providing an option to connect a hardware-reset button '''(Revision 2.0 boards only)'''&lt;br /&gt;
* TP1 and TP2: Test Points giving access to +5V and GND respectively&lt;br /&gt;
* 5 Status LEDs&amp;lt;ref name=&amp;quot;PCBs&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/402 RPiBlog Post: High-res pics of the PCBs]&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;LEDs&amp;quot;&amp;gt;[http://twitpic.com/8edlsf TwitPic:Photo of Board Powered]&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;LEDsGPIO&amp;quot;&amp;gt;[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?]&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;OKGreen&amp;quot;&amp;gt;[[RPi_schematic_errata]]&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Revision2.0&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/1959 RPiBlog Post: A nice shiny photo of the rev2 board – and User Guide news]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
** D5(Green) - SDCard Access (via GPIO16) - labelled as &amp;quot;OK&amp;quot; on Rev1.0 boards and &amp;quot;ACT&amp;quot; on Rev2.0 boards&lt;br /&gt;
** D6(Red) - 3.3 V Power - labelled as &amp;quot;PWR&amp;quot; on both Rev1.0 and Rev2.0 boards&lt;br /&gt;
** D7(Green) - Full Duplex (LAN) '''(Model B)''' - labelled as &amp;quot;FDX&amp;quot; on both Rev1.0 and Rev2.0 boards&lt;br /&gt;
** D8(Green)  - Link/Activity (LAN) '''(Model B)''' - labelled as &amp;quot;LNK&amp;quot; on both Rev1.0 and Rev2.0 boards&lt;br /&gt;
** D9(Yellow) - 10/100Mbit (LAN) '''(Model B)''' - labelled (incorrectly) as &amp;quot;10M&amp;quot; on Rev1.0 boards and &amp;quot;100&amp;quot; on Rev2.0 boards&lt;br /&gt;
&lt;br /&gt;
* Board size: 85.60 mm x 53.98 mm.  Overall height expected to be less than 25 mm. &amp;lt;ref name=&amp;quot;artwork&amp;quot;&amp;gt;http://www.raspberrypi.org/archives/344&amp;lt;/ref&amp;gt;&lt;br /&gt;
** A Model B between the highest points (USB connector to card slot) measured 21 mm.&lt;br /&gt;
** A Model A between the highest points (composite video connector to card slot) measured 18mm.&lt;br /&gt;
* Weight: under 40 g?&lt;br /&gt;
** Alpha board weighs approx. 55 g.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/?page_id=43&amp;amp;mingleforumaction=viewtopic&amp;amp;t=285.0&amp;lt;/ref&amp;gt;&lt;br /&gt;
** A sample model B weighed 39.45 g.&lt;br /&gt;
* 6 layer PCB &amp;lt;ref name=&amp;quot;artwork&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Schematic / Layout==&lt;br /&gt;
&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2011/07/raspberry1.png PCB screenshot, Alpha board]&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2011/11/gerbers2.png PCB screenshot rev 1.0]&lt;br /&gt;
* [http://lh3.googleusercontent.com/-uO4l8pwSLvU/TsQGbth6x6I/AAAAAAAAAkk/5zQMH3uKPiE/s829/Boardlayout.png PCB screenshot rev 1.0, labelled version]&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2011/12/psu.png Preliminary power supply schematic, Beta board]&lt;br /&gt;
* [http://elinux.org/File:RPi-Front-JPB.jpg High-resolution Model B PCB front photo, production board rev 1.0]&lt;br /&gt;
* [http://elinux.org/File:RPi-back-JPB.jpg High-resolution Model B PCB back photo, production board rev 1.0]&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2012/09/sony-rasp-pi.jpg High-resolution Model B PCB front photo, production board rev 2.0]&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2012/11/2012-11-29-14.48.47-HDR.jpg High-resolution Model A PCB front photo, production board rev 2.0]&lt;br /&gt;
* [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)]&lt;br /&gt;
* [[Media:RPi beta xray.jpg|&amp;quot;Xray style&amp;quot; image of the beta board, created from the above GIMP project]] | [[RPi_xray_wallpapers|desktop wallpapers]]&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2012/04/Raspberry-Pi-Schematics-R1.0.pdf Official Rev 1.0 schematics PDF] | [http://www.raspberrypi.org/wp-content/uploads/2012/10/Raspberry-Pi-R2.0-Schematics-Issue2.2_027.pdf Official Rev 2.0 schematics PDF] | [[RPi_schematic_differences|differences]] | [[RPi_schematic_errata|errata]] | [[RPi_schematics_breakdown|breakdown]] | [[RPi_Partial_BOM_Rev2.0_ModelB|partial BOM]]&lt;br /&gt;
* [http://www.andrewscheller.co.uk/rpi_pcb_modules.html 'Module groups' of the PCB photos]&lt;br /&gt;
&lt;br /&gt;
==Power==&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Premier Farnell recommend the following power supplies:&lt;br /&gt;
* Model A: 5V dc, 500-700mA&lt;br /&gt;
* Model B: 5V dc, 700-1200mA&lt;br /&gt;
&lt;br /&gt;
Power consumption of the Raspberry Pi device is&lt;br /&gt;
&lt;br /&gt;
* Board A: 5V, 500 mA (2.5W) '''without any devices connected''' (e.g. USB, Ethernet, HDMI)&lt;br /&gt;
* Board B: 5V, 700 mA (3.5W) '''without any devices connected''' (e.g. USB, Ethernet, HDMI) (Is this correct? These [http://www.raspberrypi.org/forum/troubleshooting/usb-hub-sending-power-to-raspberry-pi-through-usb-port/#p68382] links [http://www.raspberrypi.org/forum/general-discussion/raspberry-pi-power-requirements/page-2/#p68224] suggest that the 700mA is only required if &amp;quot;using networking and high-current USB peripherals&amp;quot; [http://www.raspberrypi.org/archives/260].)&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
*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.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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).&lt;br /&gt;
* 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 &amp;quot;polyfuses&amp;quot; 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&amp;quot; (.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).&lt;br /&gt;
&lt;br /&gt;
===Power Supply Problems===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The power required by the Pi will vary depending on how busy it is and what peripherals are connected.&lt;br /&gt;
* Running a GUI will take more power.&lt;br /&gt;
* The USB devices and Ethernet connection will take power.&lt;br /&gt;
* Running the GPU will take extra power.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;low power&amp;quot; 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 &amp;amp; F2 removed (replaced with shorts).&lt;br /&gt;
&lt;br /&gt;
The microUSB input port also has a 1.1 A polyfuse (700mA &amp;quot;hold current&amp;quot;) 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.&lt;br /&gt;
&lt;br /&gt;
A extended explanation of the consequences of the use of these polyfuses can be found here [[Polyfuses explained]]&lt;br /&gt;
&lt;br /&gt;
There are several reasons why the power to the board may be inadequate:&lt;br /&gt;
* 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.&lt;br /&gt;
* The PSU is not regulated.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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 &amp;quot;blow&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
====How Can I tell if the power supply is inadequate?====&lt;br /&gt;
&lt;br /&gt;
Common symptoms of an inadequate power supply are&lt;br /&gt;
* Unreliable Ethernet or keyboard operation, especially if it's OK at first but not when the GUI is started.&lt;br /&gt;
* SD card errors at start up seems to be another symptom of poor power.&lt;br /&gt;
&lt;br /&gt;
If you think you have a problem with your power supply, it is a good idea to check the actual voltage&lt;br /&gt;
on the Raspberry Pi circuit board. Two test points labelled TP1 and TP2 are provided on the circuit board&lt;br /&gt;
to facilitate voltage measurements.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[File:RPI_Test_Points.JPG|400px]] [[File:Voltmeter.JPG|250px]]&lt;br /&gt;
&lt;br /&gt;
====Things that can cause problems====&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* A power supply that is rated for less than 700mA may work some of the time.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
====Summary====&lt;br /&gt;
&lt;br /&gt;
* If you are having unreliable operation the first thing to do is check your power supply.&lt;br /&gt;
* Start with a good quality regulated power supply that is rated to provide 5V and at least 1A (1000mA).&lt;br /&gt;
* Use a good quality micro USB cable. Cables are notorious for giving trouble so be prepared to swap for another one.&lt;br /&gt;
* Not all power supplies will deliver what they claim.&lt;br /&gt;
&lt;br /&gt;
===Capacitor C6===&lt;br /&gt;
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.&lt;br /&gt;
[[File:Rpic6.jpg|300px|thumb|center|Capacitor C6 (ringed)]]&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
[http://uk.farnell.com/jsp/search/browse.jsp?N=202457+110114112+110119850+110141127+110200576&amp;amp;No=0&amp;amp;getResults=true&amp;amp;appliedparametrics=true&amp;amp;locale=en_UK&amp;amp;divisionLocale=en_UK&amp;amp;catalogId=&amp;amp;skipManufacturer=false&amp;amp;skipParametricAttributeId=&amp;amp;prevNValues=202457+110114112+110119850+110141127&amp;amp;mm=1000002|110114112|110114112,1001880|110119850|110119850,1002520||,1002063||,1002999||,&amp;amp;filtersHidden=false&amp;amp;appliedHidden=false&amp;amp;autoApply=true&amp;amp;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]&lt;br /&gt;
&lt;br /&gt;
[http://www.rapidonline.com/Electronic-Components/220uf-16v-85deg-Smd-Electro-Capacitor-11-2264 Rapid Electronics]&lt;br /&gt;
&lt;br /&gt;
[http://uk.rs-online.com/web/c/passives/capacitors/aluminium/?sort-by=default&amp;amp;sort-order=default&amp;amp;applied-dimensions=4294884868,%204294884170,%204294672278,4294885140&amp;amp;lastAttributeSelectedBlock=4294955811 RS Components]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you prefer to make your own PSU - see: [[RPi_5V_PSU_construction| Power Supply construction - HowTo]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Template:Raspberry Pi}}&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/RPi_Hardware</id>
		<title>RPi Hardware</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RPi_Hardware"/>
				<updated>2013-02-24T16:03:42Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: /* Components */ Extra P1 pins are no loner reserved. Added P5 and P6 for Revision 2.0 boards&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: RaspberryPi]]&lt;br /&gt;
{{Template:RPi_Hardware}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
[[File:Rpi unpopulated pcb.jpg|thumb|right|The unpopulated Rpi bèta board]]&lt;br /&gt;
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 [[Rpi Low-level peripherals| GPIO pins]] on each board allow the use of optional [[Rpi expansion boards|expansion boards]].&lt;br /&gt;
&lt;br /&gt;
Those who are looking to set up a Raspberry Pi for the first time, see [[RPi Hardware Basic Setup]].&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! Model A&lt;br /&gt;
! Model B&lt;br /&gt;
|-&lt;br /&gt;
| Target price:&amp;lt;ref name=&amp;quot;faq&amp;quot; &amp;gt;http://www.raspberrypi.org/faqs&amp;lt;/ref&amp;gt;&lt;br /&gt;
| US$25 Ext tax (GBP £16 Exc VAT)&lt;br /&gt;
| US$35 Ext tax (GBP £22 Exc VAT)&lt;br /&gt;
|-&lt;br /&gt;
| System-on-a-chip (SoC):&amp;lt;ref name=&amp;quot;faq&amp;quot; /&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Broadcom BCM2835 (CPU + GPU. SDRAM is a separate chip stacked on top)&lt;br /&gt;
|-&lt;br /&gt;
| CPU:&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 700&amp;amp;nbsp;MHz ARM11 ARM1176JZF-S core&lt;br /&gt;
|-&lt;br /&gt;
| GPU:&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Broadcom VideoCore IV,OpenGL ES 2.0,OpenVG 1080p30 H.264 high-profile encode/decode &lt;br /&gt;
|-&lt;br /&gt;
| Memory (SDRAM)iB&lt;br /&gt;
| 256&amp;amp;nbsp;MiB (planned with 128&amp;amp;nbsp;MiB, upgraded to 256&amp;amp;nbsp;MiB on 29 Feb 2012)&lt;br /&gt;
| 256&amp;amp;nbsp;MiB (until 15 Oct 2012); 512&amp;amp;nbsp;MiB (since 15 Oct 2012)&lt;br /&gt;
|-&lt;br /&gt;
| USB 2.0 ports:&lt;br /&gt;
| 1 (provided by the BCM2835)&lt;br /&gt;
| 2 (via integrated USB hub)&lt;br /&gt;
|-&lt;br /&gt;
| Video outputs:&amp;lt;ref name=&amp;quot;faq&amp;quot; /&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Composite video | Composite RCA, HDMI (not at the same time)&lt;br /&gt;
|-&lt;br /&gt;
| Audio outputs:&amp;lt;ref name=&amp;quot;faq&amp;quot; /&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | TRS connector | 3.5 mm jack, HDMI&lt;br /&gt;
|-&lt;br /&gt;
| Audio inputs:&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | none, but a USB mic or sound-card could be added&lt;br /&gt;
|-&lt;br /&gt;
| Onboard Storage:&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Secure Digital|SD / MMC / SDIO card slot&lt;br /&gt;
|-&lt;br /&gt;
| Onboard Network:&amp;lt;ref name=&amp;quot;faq&amp;quot; /&amp;gt;&lt;br /&gt;
| None&lt;br /&gt;
| 10/100 wired Ethernet RJ45&lt;br /&gt;
|-&lt;br /&gt;
| Low-level peripherals:&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | General Purpose Input/Output (GPIO) pins, Serial Peripheral Interface Bus (SPI), I²C, I²S&amp;lt;ref name=&amp;quot;i2s&amp;quot;&amp;gt;[http://www.raspberrypi.org/forum/features-and-requests/sad-about-removal-of-i2s-why-was-this-change-made Forum:Sad about removal of I2S. Why was this change made?]&amp;lt;/ref&amp;gt;, Universal asynchronous receiver/transmitter (UART)&lt;br /&gt;
|-&lt;br /&gt;
| Real-time clock:&amp;lt;ref name=&amp;quot;faq&amp;quot; /&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | None&lt;br /&gt;
|-&lt;br /&gt;
| Power ratings (provisional, from alpha board):&lt;br /&gt;
| 500&amp;amp;nbsp;mA, (2.5&amp;amp;nbsp;W) &amp;lt;ref name=&amp;quot;faq&amp;quot; /&amp;gt;&lt;br /&gt;
| 700&amp;amp;nbsp;mA, (3.5&amp;amp;nbsp;W)&lt;br /&gt;
|-&lt;br /&gt;
| Power source:&amp;lt;ref name=&amp;quot;faq&amp;quot; /&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 5&amp;amp;nbsp;V (DC) via Micro USB type B or GPIO header&lt;br /&gt;
|-&lt;br /&gt;
| Size:&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 85.0 x 56.0 mm (two different boards, measured with callipers)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Components==&lt;br /&gt;
[[File:Raspi-Model-AB-Mono-2-699x1024.png|400px|thumb|right|A diagram denoting the places of the different components on the Rpi, made by Paul&lt;br /&gt;
Beech, edited to show 256MB ram for both boards]]&lt;br /&gt;
(Provisional - some of the expansion interfaces won't be available on production boards)&lt;br /&gt;
(PCB IDs are those of the Model B Beta board) &lt;br /&gt;
&lt;br /&gt;
* SoC: [http://www.broadcom.com/products/BCM2835 Broadcom BCM2835 media processor] ([http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf datasheet], [[BCM2835 datasheet errata]], [[RPi_BCM2835_Pinout|unofficial pinout]]) system-on-chip featuring:&lt;br /&gt;
** CPU core: [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0301h/DDI0301H_arm1176jzfs_r0p7_trm.pdf 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 [http://en.wikipedia.org/wiki/ARM_architecture ARM architecture] and [http://en.wikipedia.org/wiki/List_of_ARM_microprocessor_cores List of ARM microprocessor cores].&lt;br /&gt;
** 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&lt;br /&gt;
** 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)&lt;br /&gt;
** 256MiB of ([http://www.hynix.com/products/mobile/view.jsp?info.ramKind=28&amp;amp;info.serialNo=H9TKNNN2GDMPLR&amp;amp;posMap=MobileDDR2 Hynix MobileDDR2] or [http://www.samsung.com/global/business/semiconductor/product/mobile-dram/detail?productId=7611&amp;amp;iaId=747 Samsung Mobile DRAM]) SDRAM (or 512MB [http://www.samsung.com/global/business/semiconductor/product/mobile-dram/detail?iaId=747&amp;amp;productId=7609 Mobile DRAM] on later boards).  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.  Here is a highly magnified side view of the SDRAM stacked on top of the BCM2835 stacked on top of the PCB [http://www.raspberrypi.org/wp-content/uploads/2012/09/2012-09-21-10.58.22.jpg PoP stack] (you can see why it's job that can only be done by robots!).&lt;br /&gt;
* 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:&lt;br /&gt;
** 10/100Mb Ethernet (Auto-MDIX)&amp;lt;ref name=autoMDIX&amp;gt;[http://en.wikipedia.org/wiki/Medium_dependent_interface#Auto-MDIX Wikipedia:Auto-MDIX]&amp;lt;/ref&amp;gt;&lt;br /&gt;
** 2x USB 2.0 &lt;br /&gt;
* S1: Micro USB power jack (5v - Power Only)&lt;br /&gt;
* S2: [http://www.mipi.org/specifications/display-interface DSI] interface.  15-pin surface mounted flat flex connector, providing two data lanes, one clock lane, 3.3V and GND.&lt;br /&gt;
* S3: HDMI connector providing type A HDMI 1.3a out&lt;br /&gt;
* S4: Composite Video connector: RCA&lt;br /&gt;
* S5: MIPI [http://www.mipi.org/specifications/camera-interface CSI-2] interface.  15-pin surface mounted flat flex connector.&lt;br /&gt;
* S6: Audio connector: 3.5mm stereo jack (output only)&lt;br /&gt;
* S8: SD/MMC/SDIO memory card slot (underside)&lt;br /&gt;
* S7: Either 1x USB 2.0 '''(Model A)''' 2x USB 2.0 '''(Model B)'''&lt;br /&gt;
* P1: 26-pin (2x13) 2.54 mm header expansion, providing: see [[Rpi_Low-level_peripherals | Low-level peripherals]]&lt;br /&gt;
** 8 [[Rpi_Low-level_peripherals#General_Purpose_Input.2FOutput_.28GPIO.29|GPIO]]s at 3v3&lt;br /&gt;
** 2-pin UART serial console, 3v3 TTL (debug); or 2 GPIOs at 3v3&lt;br /&gt;
** I&amp;amp;sup2;C interface (3v3); or 2 GPIOs at 3v3&lt;br /&gt;
** SPI interface (3v3); or 5 GPIOs at 3v3&lt;br /&gt;
** 3v3, 5v and GND supply pins&lt;br /&gt;
** ARM JTAG (if pins are reconfigured in software - on Revision1.0 boards one signal would also need to be taken from S5)&lt;br /&gt;
** I&amp;amp;sup2;S interface (if pins are reconfigured in software, hardware hack may be required&amp;lt;ref name=&amp;quot;i2s&amp;quot;/&amp;gt;)&lt;br /&gt;
* P2: 8-pin 2.54 mm header expansion (header not fitted on Revision 2.0 boards), providing GPU JTAG (ARM11 pinout, pin 7 is nofit for locating)&lt;br /&gt;
* P3: 7-pin 2.54 mm header expansion (header not fitted), providing LAN9512 JTAG (pin 6 is nofit for locating)&lt;br /&gt;
* P4: 10/100Mb RJ45 Ethernet jack '''(Model B)'''&lt;br /&gt;
* P5: 8-pin (2x4) 2.54 mm header expansion (header not fitted), on the ''bottom'' of the board, providing: see [[Rpi_Low-level_peripherals | Low-level peripherals]] '''(Revision 2.0 boards only)'''&lt;br /&gt;
** 4 [[Rpi_Low-level_peripherals#P5_header|GPIO]]s at 3v3&lt;br /&gt;
** 3v3, 5v and GND supply pins&lt;br /&gt;
** Second I&amp;amp;sup2;C interface (3v3) (if pins are reconfigured in software)&lt;br /&gt;
** I&amp;amp;sup2;S interface (if pins are reconfigured in software)&lt;br /&gt;
** Handshake signals for the UART on the P1 header (if pins are reconfigured in software)&lt;br /&gt;
* P6: 2-pin 2.54 mm header expansion (header not fitted), providing an option to connect a hardware-reset button '''(Revision 2.0 boards only)'''&lt;br /&gt;
* TP1 and TP2: Test Points giving access to +5V and GND respectively&lt;br /&gt;
* 5 Status LEDs&amp;lt;ref name=&amp;quot;PCBs&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/402 RPiBlog Post: High-res pics of the PCBs]&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;LEDs&amp;quot;&amp;gt;[http://twitpic.com/8edlsf TwitPic:Photo of Board Powered]&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;LEDsGPIO&amp;quot;&amp;gt;[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?]&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;OKGreen&amp;quot;&amp;gt;[[RPi_schematic_errata]]&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Revision2.0&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/1959 RPiBlog Post: A nice shiny photo of the rev2 board – and User Guide news]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
** D5(Green) - SDCard Access (via GPIO16) - labelled as &amp;quot;OK&amp;quot; on Rev1.0 boards and &amp;quot;ACT&amp;quot; on Rev2.0 boards&lt;br /&gt;
** D6(Red) - 3.3 V Power - labelled as &amp;quot;PWR&amp;quot; on both Rev1.0 and Rev2.0 boards&lt;br /&gt;
** D7(Green) - Full Duplex (LAN) '''(Model B)''' - labelled as &amp;quot;FDX&amp;quot; on both Rev1.0 and Rev2.0 boards&lt;br /&gt;
** D8(Green)  - Link/Activity (LAN) '''(Model B)''' - labelled as &amp;quot;LNK&amp;quot; on both Rev1.0 and Rev2.0 boards&lt;br /&gt;
** D9(Yellow) - 10/100Mbit (LAN) '''(Model B)''' - labelled (incorrectly) as &amp;quot;10M&amp;quot; on Rev1.0 boards and &amp;quot;100&amp;quot; on Rev2.0 boards&lt;br /&gt;
&lt;br /&gt;
* Board size: 85.60 mm x 53.98 mm.  Overall height expected to be less than 25 mm. &amp;lt;ref name=&amp;quot;artwork&amp;quot;&amp;gt;http://www.raspberrypi.org/archives/344&amp;lt;/ref&amp;gt;&lt;br /&gt;
** A model B between highest points (USB connector to card slot) measured 21 mm.&lt;br /&gt;
* Weight: under 40 g?&lt;br /&gt;
** Alpha board weighs approx. 55 g.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/?page_id=43&amp;amp;mingleforumaction=viewtopic&amp;amp;t=285.0&amp;lt;/ref&amp;gt;&lt;br /&gt;
** A sample model B weighed 39.45 g.&lt;br /&gt;
* 6 layer PCB &amp;lt;ref name=&amp;quot;artwork&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Schematic / Layout==&lt;br /&gt;
&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2011/07/raspberry1.png PCB screenshot, Alpha board]&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2011/11/gerbers2.png PCB screenshot rev 1.0]&lt;br /&gt;
* [http://lh3.googleusercontent.com/-uO4l8pwSLvU/TsQGbth6x6I/AAAAAAAAAkk/5zQMH3uKPiE/s829/Boardlayout.png PCB screenshot rev 1.0, labelled version]&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2011/12/psu.png Preliminary power supply schematic, Beta board]&lt;br /&gt;
* [http://elinux.org/File:RPi-Front-JPB.jpg High-resolution Model B PCB front photo, production board rev 1.0]&lt;br /&gt;
* [http://elinux.org/File:RPi-back-JPB.jpg High-resolution Model B PCB back photo, production board rev 1.0]&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2012/09/sony-rasp-pi.jpg High-resolution Model B PCB front photo, production board rev 2.0]&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2012/11/2012-11-29-14.48.47-HDR.jpg High-resolution Model A PCB front photo, production board rev 2.0]&lt;br /&gt;
* [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)]&lt;br /&gt;
* [[Media:RPi beta xray.jpg|&amp;quot;Xray style&amp;quot; image of the beta board, created from the above GIMP project]] | [[RPi_xray_wallpapers|desktop wallpapers]]&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2012/04/Raspberry-Pi-Schematics-R1.0.pdf Official Rev 1.0 schematics PDF] | [http://www.raspberrypi.org/wp-content/uploads/2012/10/Raspberry-Pi-R2.0-Schematics-Issue2.2_027.pdf Official Rev 2.0 schematics PDF] | [[RPi_schematic_differences|differences]] | [[RPi_schematic_errata|errata]] | [[RPi_schematics_breakdown|breakdown]] | [[RPi_Partial_BOM_Rev2.0_ModelB|partial BOM]]&lt;br /&gt;
* [http://www.andrewscheller.co.uk/rpi_pcb_modules.html 'Module groups' of the PCB photos]&lt;br /&gt;
&lt;br /&gt;
==Power==&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Premier Farnell recommend the following power supplies:&lt;br /&gt;
* Model A: 5V dc, 500-700mA&lt;br /&gt;
* Model B: 5V dc, 700-1200mA&lt;br /&gt;
&lt;br /&gt;
Power consumption of the Raspberry Pi device is&lt;br /&gt;
&lt;br /&gt;
* Board A: 5V, 500 mA (2.5W) '''without any devices connected''' (e.g. USB, Ethernet, HDMI)&lt;br /&gt;
* Board B: 5V, 700 mA (3.5W) '''without any devices connected''' (e.g. USB, Ethernet, HDMI) (Is this correct? These [http://www.raspberrypi.org/forum/troubleshooting/usb-hub-sending-power-to-raspberry-pi-through-usb-port/#p68382] links [http://www.raspberrypi.org/forum/general-discussion/raspberry-pi-power-requirements/page-2/#p68224] suggest that the 700mA is only required if &amp;quot;using networking and high-current USB peripherals&amp;quot; [http://www.raspberrypi.org/archives/260].)&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
*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.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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).&lt;br /&gt;
* 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 &amp;quot;polyfuses&amp;quot; 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&amp;quot; (.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).&lt;br /&gt;
&lt;br /&gt;
===Power Supply Problems===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The power required by the Pi will vary depending on how busy it is and what peripherals are connected.&lt;br /&gt;
* Running a GUI will take more power.&lt;br /&gt;
* The USB devices and Ethernet connection will take power.&lt;br /&gt;
* Running the GPU will take extra power.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;low power&amp;quot; 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 &amp;amp; F2 removed (replaced with shorts).&lt;br /&gt;
&lt;br /&gt;
The microUSB input port also has a 1.1 A polyfuse (700mA &amp;quot;hold current&amp;quot;) 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.&lt;br /&gt;
&lt;br /&gt;
A extended explanation of the consequences of the use of these polyfuses can be found here [[Polyfuses explained]]&lt;br /&gt;
&lt;br /&gt;
There are several reasons why the power to the board may be inadequate:&lt;br /&gt;
* 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.&lt;br /&gt;
* The PSU is not regulated.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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 &amp;quot;blow&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
====How Can I tell if the power supply is inadequate?====&lt;br /&gt;
&lt;br /&gt;
Common symptoms of an inadequate power supply are&lt;br /&gt;
* Unreliable Ethernet or keyboard operation, especially if it's OK at first but not when the GUI is started.&lt;br /&gt;
* SD card errors at start up seems to be another symptom of poor power.&lt;br /&gt;
&lt;br /&gt;
If you think you have a problem with your power supply, it is a good idea to check the actual voltage&lt;br /&gt;
on the Raspberry Pi circuit board. Two test points labelled TP1 and TP2 are provided on the circuit board&lt;br /&gt;
to facilitate voltage measurements.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[File:RPI_Test_Points.JPG|400px]] [[File:Voltmeter.JPG|250px]]&lt;br /&gt;
&lt;br /&gt;
====Things that can cause problems====&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* A power supply that is rated for less than 700mA may work some of the time.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
====Summary====&lt;br /&gt;
&lt;br /&gt;
* If you are having unreliable operation the first thing to do is check your power supply.&lt;br /&gt;
* Start with a good quality regulated power supply that is rated to provide 5V and at least 1A (1000mA).&lt;br /&gt;
* Use a good quality micro USB cable. Cables are notorious for giving trouble so be prepared to swap for another one.&lt;br /&gt;
* Not all power supplies will deliver what they claim.&lt;br /&gt;
&lt;br /&gt;
===Capacitor C6===&lt;br /&gt;
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.&lt;br /&gt;
[[File:Rpic6.jpg|300px|thumb|center|Capacitor C6 (ringed)]]&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
[http://uk.farnell.com/jsp/search/browse.jsp?N=202457+110114112+110119850+110141127+110200576&amp;amp;No=0&amp;amp;getResults=true&amp;amp;appliedparametrics=true&amp;amp;locale=en_UK&amp;amp;divisionLocale=en_UK&amp;amp;catalogId=&amp;amp;skipManufacturer=false&amp;amp;skipParametricAttributeId=&amp;amp;prevNValues=202457+110114112+110119850+110141127&amp;amp;mm=1000002|110114112|110114112,1001880|110119850|110119850,1002520||,1002063||,1002999||,&amp;amp;filtersHidden=false&amp;amp;appliedHidden=false&amp;amp;autoApply=true&amp;amp;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]&lt;br /&gt;
&lt;br /&gt;
[http://www.rapidonline.com/Electronic-Components/220uf-16v-85deg-Smd-Electro-Capacitor-11-2264 Rapid Electronics]&lt;br /&gt;
&lt;br /&gt;
[http://uk.rs-online.com/web/c/passives/capacitors/aluminium/?sort-by=default&amp;amp;sort-order=default&amp;amp;applied-dimensions=4294884868,%204294884170,%204294672278,4294885140&amp;amp;lastAttributeSelectedBlock=4294955811 RS Components]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you prefer to make your own PSU - see: [[RPi_5V_PSU_construction| Power Supply construction - HowTo]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Template:Raspberry Pi}}&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/eLinux.org:RPi_Council</id>
		<title>eLinux.org:RPi Council</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/eLinux.org:RPi_Council"/>
				<updated>2013-02-24T13:00:05Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: /* If you are interested edit here */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Hub Flags}}&lt;br /&gt;
{{Clear}}&lt;br /&gt;
Because of the messed up stuff on the Raspberry Pi wiki, I have found it necessary to create a governing council for the RPi wiki. Please edit the below section if you'd like to become a member (alderman) of the council.&lt;br /&gt;
&lt;br /&gt;
Note: This is official and is ok with the administration of eLinux.&lt;br /&gt;
&lt;br /&gt;
== Supplemental guidelines ==&lt;br /&gt;
''If anything is wrong with these guidelines please feel free to edit them. Thank you.''&lt;br /&gt;
=== Guidelines are made from consensus ===&lt;br /&gt;
All supplemental guidelines and decisions will now be made by the RPWC and eLinux administration.&lt;br /&gt;
&lt;br /&gt;
== Current council aldermen ==&lt;br /&gt;
* President - [[User:Jeff|Jeff]]&lt;br /&gt;
* [[User:TrevorGowen|Trevor Gowen]]&lt;br /&gt;
&lt;br /&gt;
== Current issues ==&lt;br /&gt;
=== Users ===&lt;br /&gt;
==== Mahjongg ====&lt;br /&gt;
&amp;lt;s&amp;gt;As he is not answering my requests for identity, he may be impersonating Mahjongg on the forums. I propose the account be blocked indefinitely because it clearly is copying the RPi forum mod's user name.&amp;lt;/s&amp;gt; --[[User:Jeff|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;'''Jeff'''&amp;lt;/font&amp;gt;]] &amp;amp;bull; [[User_talk:Jeff|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;(talk)&amp;lt;/font&amp;gt;]] &amp;lt;!--&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#ff6a6a; align:right; width:50%;&amp;quot;&amp;gt;--&amp;gt;[[File:RaspPi.png|25px|link=|Member of the RPWC]] [[Project:RPi_Council|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;RPWC President&amp;lt;/font&amp;gt;]] [[File:RaspPi.png|25px|link=|Member of the RPWC]] 12:26, 5 October 2012 (UTC)&lt;br /&gt;
:Verified thru PM. Case closed. :) --[[User:Jeff|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;'''Jeff'''&amp;lt;/font&amp;gt;]] &amp;amp;bull; [[User_talk:Jeff|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;(talk)&amp;lt;/font&amp;gt;]] &amp;lt;!--&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#ff6a6a; align:right; width:50%;&amp;quot;&amp;gt;--&amp;gt;[[File:RaspPi.png|25px|link=|Member of the RPWC]] [[Project:RPi_Council|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;RPWC President&amp;lt;/font&amp;gt;]] [[File:RaspPi.png|25px|link=|Member of the RPWC]] 21:16, 5 October 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
==== Ghans ====&lt;br /&gt;
I propose that since he ruined a lot of formatting that he is not to edit the Raspberry Pi Wiki's formatting for 1 month. You can see clearly [[RPi Wiki Best Practice|here]]. He, in fact, misguided everyone in best practices! I want you to go to Wikipedia and take a hard stare and compare the articles! They are misleading! He clearly cannot go on with this! Anyone else agree? --[[User:Jeff|Jeff]] 02:15, 2 October 2012 (UTC)&amp;lt;br /&amp;gt;'''Edit: and also add a block of 1 month if he does not comply.''' --[[User:Jeff|Jeff]] 22:39, 2 October 2012 (UTC)&amp;lt;br /&amp;gt;&lt;br /&gt;
(Note: This decision must be concluded by Wednesday, October 3, 2012.)&lt;br /&gt;
:Having compared [[RPi Wiki Best Practice|Ghans' &amp;quot;Best Practice&amp;quot;]] with which, I believe, are the equivalent areas of Wikipedia and parts of the Help sections here I can see what you mean. However, using Wikipedia as a guide, one also has to assume that he was writing with the best of intentions. Unfortunately he does not reveal much about his background, experience etc. on his user page. However, having had the experience of encouraging &amp;quot;best practice&amp;quot; within a mixed group of programmer's of different backgrounds (scientific, computational) and training (formal, informal, none), I am well aware that when considering adopting such from a related area, one also has to consider the needs etc. of the intended users ie. adopt as much as is appropriate, adapt or reject the remainder. An analogy would be that when preparing a presentation one may end up with several versions depending upon the expected audience. Hence, whilst I am prepared to support your proposal, it is on the understanding that this is done so to allow us to begin to formulate more suitable guidelines, given that, eventually, hopefully, there will be younger, enthusiastic but less experienced contributers whom I would not wish to discourage. --[[User:TrevorGowen|TrevorGowen]] 14:40, 2 October 2012 (UTC)&lt;br /&gt;
::So you're a support? --[[User:Jeff|Jeff]] 22:32, 2 October 2012 (UTC)&lt;br /&gt;
:::Assuming I'm interpreting your update above correctly, to mean that he is requested to refrain from edits that change formatting aspects of the Raspbery Pi sections of the Wiki for one month and ignores that request, yes. Hopefully such a request will generate a response, therebye opening up a dialogue, which may resolve matters such that a formal block need not be imposed. --[[User:TrevorGowen|TrevorGowen]] 12:09, 3 October 2012 (UTC)&lt;br /&gt;
I guess I will close this with a warning to Ghans. Block not implemented. --[[User:Jeff|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;'''Jeff'''&amp;lt;/font&amp;gt;]] &amp;amp;bull; [[User_talk:Jeff|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;(talk)&amp;lt;/font&amp;gt;]] &amp;lt;!--&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#ff6a6a; align:right; width:50%;&amp;quot;&amp;gt;--&amp;gt;[[File:RaspPi.png|25px|link=|Member of the RPWC]] [[Project:RPi_Council|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;RPWC President&amp;lt;/font&amp;gt;]] [[File:RaspPi.png|25px|link=|Member of the RPWC]] 12:39, 3 October 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== Content ===&lt;br /&gt;
==== Shutdown of most other language &amp;quot;hubs&amp;quot; ====&lt;br /&gt;
'''Due to the importance of this topic, ''everyone'' is invited to post their opinions, even users that are not a council member.'''&amp;lt;br /&amp;gt;&lt;br /&gt;
These hubs serve no purpose but to point the respective language speakers to English pages. This is utterly useless. If I only spoke Greek, I would be able to understand the hub, but the hub's purpose is to link to other pages. Unfortunately I would ask a Greek community for help because the links are to ENGLISH pages! Why don't we just tell everyone a bold message: THIS IS AN ENGLISH WIKI! I propose to redirect all these pages to the English page; as for the template Hub Flags, I propose it be renamed as the RPi Hub header, or something like so. --[[User:Jeff|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;'''Jeff'''&amp;lt;/font&amp;gt;]] &amp;amp;bull; [[User_talk:Jeff|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;(talk)&amp;lt;/font&amp;gt;]] &amp;lt;!--&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#ff6a6a; align:right; width:50%;&amp;quot;&amp;gt;--&amp;gt;[[File:RaspPi.png|25px|link=|Member of the RPWC]] [[Project:RPi_Council|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;RPWC President&amp;lt;/font&amp;gt;]] [[File:RaspPi.png|25px|link=|Member of the RPWC]] 01:27, 11 October 2012 (UTC)&amp;lt;br /&amp;gt;&lt;br /&gt;
'''This shall be concluded on Friday, October 12, 2012 at 9:00pm (21:00) Eastern Standard Time, or whenever an obvious consensus closes.'''&lt;br /&gt;
:Is this for real?... it goes against the actions of the Raspberry Pi Foundation, see http://www.raspberrypi.org/archives/1715. If they want to spread their Forum into multiple languages, then so should the wiki. [[User:Simon Small|SimonSmall]] 20:31, 11 October 2012 (UTC)&lt;br /&gt;
::'''THIS IS NEITHER CONTROLLED BY NOR SANCTIONED BY THE RASPI FOUNDATION'''. Unless YOU want to make all the different language pages, you really need to knock some sense into yourself. --[[User:Jeff|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;'''Jeff'''&amp;lt;/font&amp;gt;]] &amp;amp;bull; [[User_talk:Jeff|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;(talk)&amp;lt;/font&amp;gt;]] &amp;lt;!--&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#ff6a6a; align:right; width:50%;&amp;quot;&amp;gt;--&amp;gt;[[File:RaspPi.png|25px|link=|Member of the RPWC]] [[Project:RPi_Council|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;RPWC President&amp;lt;/font&amp;gt;]] [[File:RaspPi.png|25px|link=|Member of the RPWC]] 22:57, 11 October 2012 (UTC)&lt;br /&gt;
:Whilst it is my understanding that this section of the eLinux Wiki was created by members of the Raspi Foundation's forum (who, presumably, were already active contributors here), most of the non-english language pages appear to have been created in the early part of 2012 '''before''' the Raspberry Pi was generally available. As the number of active RasPi users grew, it was somewhat inevitable that contributions to this wiki area would increase. Unfortunately this has been at such a pace that, even where there had been significant translation effort in the early stages, at present, there appear to be too few people with the necessary skills to maintain those pages. I certainly don't have them (my French skills learned some 45 years ago are far too &amp;quot;rusty&amp;quot;). From the RPWC's president's comments above, I assume he's in a similar position. Hence, until such time that there are enough RPWC members with sufficient skills and &amp;quot;spare&amp;quot; time to properly check/moderate any translated pages, I agree that it is probably necessary to &amp;quot;shut them down&amp;quot;. However, out of respect for the effort put into those early pages, I hope that such a shutdown will not result in complete deletion (where there has been significant effort), just in case their restoration becomes viable. --[[User:TrevorGowen|TrevorGowen]] 17:52, 12 October 2012 (UTC)&lt;br /&gt;
::Yes, I will only redirect them. Very well. I guess we have finally reached consensus. --[[User:Jeff|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;'''Jeff'''&amp;lt;/font&amp;gt;]] &amp;amp;bull; [[User_talk:Jeff|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;(talk)&amp;lt;/font&amp;gt;]] &amp;lt;!--&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#ff6a6a; align:right; width:50%;&amp;quot;&amp;gt;--&amp;gt;[[File:RaspPi.png|25px|link=|Member of the RPWC]] [[Project:RPi_Council|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;RPWC President&amp;lt;/font&amp;gt;]] [[File:RaspPi.png|25px|link=|Member of the RPWC]] 02:50, 19 October 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
Well, yes the dictator reach a consensus. FR:RPi-Hub was maintained, I did some change as well as other during the last few months. Now what will happend when french speaking people go the this site. They will see an english only site and move on. Well Done!!&lt;br /&gt;
&lt;br /&gt;
Papillon&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the non-English &amp;quot;hubs&amp;quot; have been shutdown/redirected/whatever, maybe the list at http://elinux.org/RPi_Hub#Translations should be cleaned up too? [[User:AndrewS|AndrewS]] 23:13, 23 October 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== Supplemental guidelines ===&lt;br /&gt;
==== This isn't the RPi Forums ====&lt;br /&gt;
This will officially tell all that the RPi Forums are not how the RPi Wiki works! Closes whenever consensus is apparently reached. --[[User:Jeff|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;'''Jeff'''&amp;lt;/font&amp;gt;]] &amp;amp;bull; [[User_talk:Jeff|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;(talk)&amp;lt;/font&amp;gt;]] &amp;lt;!--&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#ff6a6a; align:right; width:50%;&amp;quot;&amp;gt;--&amp;gt;[[File:RaspPi.png|25px|link=|Member of the RPWC]] [[Project:RPi_Council|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;RPWC President&amp;lt;/font&amp;gt;]] [[File:RaspPi.png|25px|link=|Member of the RPWC]] 23:01, 11 October 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
==== Official language ====&lt;br /&gt;
'''Note: Due to the importance of this topic, all users, regardless of RPWC membership, may discuss this.'''&lt;br /&gt;
As amending to the above, English should be the official language of the wiki. We are in Amnet/Engnet/Euronet, not Runet or Chinet, so let's just say ENGLISH really should be the official language. --[[User:Jeff|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;'''Jeff'''&amp;lt;/font&amp;gt;]] &amp;amp;bull; [[User_talk:Jeff|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;(talk)&amp;lt;/font&amp;gt;]] &amp;lt;!--&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#ff6a6a; align:right; width:50%;&amp;quot;&amp;gt;--&amp;gt;[[File:RaspPi.png|25px|link=|Member of the RPWC]] [[Project:RPi_Council|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;RPWC President&amp;lt;/font&amp;gt;]] [[File:RaspPi.png|25px|link=|Member of the RPWC]] 01:37, 11 October 2012 (UTC)&lt;br /&gt;
(closes on Friday)&lt;br /&gt;
&lt;br /&gt;
I strongly disagree with that opinion. If you do make all hub page point to english, what is the point of having translation? You are not alone on this planet. A hole bunch of people don't speak (read) english at all. &lt;br /&gt;
&lt;br /&gt;
The point of having translation, is to offer the same information in different languages so as much as possible persons can read thing about the RPi. I know that it is not possible (practically speaking) to have all hub pages having the same exact information but at least the info is there in as much language possible.&lt;br /&gt;
&lt;br /&gt;
If you make english to only language here (even if just for the hub) people will go else where for a wiki and all your good work will be of no use. Just look around http://frenchmagpi.site-mpe.fr/index.php/Accueil, the magpi is being translated to french, issue 5 is already published and issue 6 is in good progress.&lt;br /&gt;
&lt;br /&gt;
In my opinion, &amp;quot;my language is the official one&amp;quot; opinion is selfish and close minded. The goal of a public wiki on the web like this one is to let people share as much as possible their information. Look at the succes of wikipedia, it is available in I don't know many language, there are pages on the same subject in many many languages that don't have all the same information but at least there is information for every one and a lot more people can find information than if just english is available. &lt;br /&gt;
&lt;br /&gt;
It is ok to have the default page point to the english hub but keep the flag and translated hub available to all. Do not trow to garbage the work of all the people who translated (updated) the hub to there own language.&lt;br /&gt;
&lt;br /&gt;
Papillon&lt;br /&gt;
:: Thank you for your comments - I've been waiting for further contributions to this discussion since, without proper feedback from the wiki users, this &amp;quot;council&amp;quot; has no mandate for its efforts. Personally, I do not like the term &amp;quot;official language&amp;quot;, and feel it would be more appropriate to use the term &amp;quot;primary language&amp;quot;. Whilst this wiki has &amp;quot;public access&amp;quot;, it appears to be &amp;quot;privately hosted&amp;quot;, hence I do not regard it as a &amp;quot;public wiki&amp;quot; like wikipedia. I've already  indicated above that I do not wish the existing translation work to be &amp;quot;thrown away&amp;quot;, however, some of the &amp;quot;translated hubs&amp;quot; appear to be &amp;quot;skeletal forms&amp;quot; with minimal content. As such they are potentially misleading as to the level and quality of content of this area of work. Should such pages be marked more clearly with their &amp;quot;translation status&amp;quot; (in their &amp;quot;native&amp;quot; language '''and''' English), and with the category &amp;quot;needs editing&amp;quot; (or similar) then I'd be much happier for them to remain linked to.--[[User:TrevorGowen|TrevorGowen]] 08:34, 16 October 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi, I'm not an English native speaker either - and I agree with the proposal of having English as the primary language ... but also with keeping of the already created translations and the hub - in maybe some form of &amp;quot;unofficial&amp;quot; sub-pages without guarantee that they contain the same/verified/complete information. If they really posses any valuable information rather than being just a fork pointing to English articles, they should be kept available (at least as read-only), otherwise it's rational to clean up. The term &amp;quot;official language&amp;quot; may not be the best choice, &amp;quot;primary language&amp;quot; sounds much better, but in my belief this is not about any selfishness, discrimination or anything else than an effort to keep this wiki well organized, readable, oriented on quality content, brief and clear. Maybe the language-hub can be placed somewhere at the bottom or as a sidebar menu (change to official wiki style?) with a clear marking, that its purpose is to provide extra space for smaller communities of people speaking other languages, and/or as some kind of mirrored clones with basic info from the main pages. Well, if that's what this wiki's objectives are... I understand very well that, this wiki may have a specific orientation and every contributor should respect the rules. Also, one wiki cannot meet everybody's wishes. There are plenty other options for specific language oriented wikis, forums, creating own, etc. On the other hand, if there is someone who would like to take over the role of an editor for a specific language and properly maintain the contents of that pages, I'm sure he will be greatly welcome. One more note - everybody should be aware that this is not a official Raspberry Pi Foundation's wiki. It is a publicly available private wiki (notwithstanding that it is created mostly by public community) for embedded Linux systems in general (correct me if necessary), where RPi is one of such systems/devices. It just happened to be the best available place for this purpose at the time, and thus the Raspberry Pi Foundation simply provided a link to this wiki (instead of creating its own, having to maintain it, moderate, etc.). We should be happy for having this place available for public collaboration. But without proper administration, it may easily become just a mess of unreadable contributions and literally lose its point... Who would want that? ;) --[[User:Pinoccio|Pinoccio]] 14:30, 16 October 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
==== Wiki Design principles ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;All good things require a good design. To improve this site, we should (re)define / clarify its purpose. The following principles are suggested:&lt;br /&gt;
&lt;br /&gt;
Users of the Raspberry Pi will be of three types (or a mixture of these);&lt;br /&gt;
(a) competent Linux user,&lt;br /&gt;
(b) experienced hardware and/or software modifier / hobbyist&lt;br /&gt;
(c) beginner&lt;br /&gt;
&lt;br /&gt;
Each page should consider WHY a reader would be using that page.&lt;br /&gt;
&lt;br /&gt;
A competent Linux user would only want to know how to get the Raspberry Pi working and set up, and any 'peculiarities' relating to the hardware or Linux distribution. The hobbyist would additionally want to know how to use the GPIO ports and associated software, or how to modify / build the distribution or packages not included in that distribution. There should be clear pointers on the first page for the sections relating to these groups.&lt;br /&gt;
&lt;br /&gt;
The beginner will need careful guidance in their first steps. For this, instructions should be clear:&lt;br /&gt;
* they lead the user from what they know into what they don't, with each step being small and simple with the 'objective' clearly defined.&lt;br /&gt;
* they use simple steps, and should skip optional complications that are not relevant to the current 'lesson', e.g. half of the raspi-config settings are 'advanced'.&lt;br /&gt;
* they should include a link to complete documentation for the topic, with a warning that this may cover advanced material, e.g. full raspi-config instructions.&lt;br /&gt;
* the writer should take into account that the site, and users, will be global, with english as a second language.&lt;br /&gt;
* the writer should take into account the variations of hardware and distribution installed, e.g. the raspi-config utility is not available in many distributions.&lt;br /&gt;
* the instructions should clearly state if they are specific to a particular set up, or are 'date sensitive' to changes.&lt;br /&gt;
* pages should be separated into GUI and command line pages and flows.&lt;br /&gt;
* instructions should be free from point-of-view opinions.&lt;br /&gt;
* instructions should link to 'choice' pages that give pros and cons regarding that choice, e.g. which text editor should be used and if it is available / installable.&lt;br /&gt;
&lt;br /&gt;
The beginner guidance should stop at the point where other sites can take over, e.g. once sufficient Linux has been covered, other Linux sites can provide more advanced or specific information. It should also be aligned to the objectives stated by the Raspberry Pi Foundation for why the Raspberry Pi exists.&lt;br /&gt;
&lt;br /&gt;
Proposal, in absence of anything similar. [[User:Simon Small|SimonSmall]] 16:54, 4 October 2012 (UTC)&amp;lt;/s&amp;gt;&lt;br /&gt;
:I strongly oppose this. We should NEVER split users into &amp;quot;social classes&amp;quot; and English is our official language, just as English is the Raspberry Pi's preferred language. I think this overhaul is too much right now. Why don't we focus on something else first? Also, you can't make proposals unless you already are a council alderman, in which case, as of my posting time, you currently are not. --[[User:Jeff|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;'''Jeff'''&amp;lt;/font&amp;gt;]] &amp;amp;bull; [[User_talk:Jeff|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;(talk)&amp;lt;/font&amp;gt;]] &amp;lt;!--&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#ff6a6a; align:right; width:50%;&amp;quot;&amp;gt;--&amp;gt;[[File:RaspPi.png|25px|link=|Member of the RPWC]] [[Project:RPi_Council|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;RPWC President&amp;lt;/font&amp;gt;]] [[File:RaspPi.png|25px|link=|Member of the RPWC]] 01:40, 5 October 2012 (UTC)&lt;br /&gt;
::As you clearly don't know much about a wiki, I suggest you become more mature when you apply for alderman in the future. I have rejected your request for aldermanship. --[[User:Jeff|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;'''Jeff'''&amp;lt;/font&amp;gt;]] &amp;amp;bull; [[User_talk:Jeff|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;(talk)&amp;lt;/font&amp;gt;]] &amp;lt;!--&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#ff6a6a; align:right; width:50%;&amp;quot;&amp;gt;--&amp;gt;[[File:RaspPi.png|25px|link=|Member of the RPWC]] [[Project:RPi_Council|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;RPWC President&amp;lt;/font&amp;gt;]] [[File:RaspPi.png|25px|link=|Member of the RPWC]] 01:43, 5 October 2012 (UTC)&lt;br /&gt;
:::Interesting. Explanation? Quote from above &amp;quot;If anything is wrong with these guidelines please feel free to edit them. Thank you.&amp;quot; This raises two questions; (1) What is being done to fix the Wiki? (2) How will (the wiki) encourage new users to contribute, especially the enthusiastic but inexperienced who likely form the target demographic? [[User:Simon Small|SimonSmall]] 21:45, 5 October 2012 (UTC)&lt;br /&gt;
::::That means minor changes, not major, overhauling changes. Also, nothing is ''wrong'' with the guidelines! --[[User:Jeff|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;'''Jeff'''&amp;lt;/font&amp;gt;]] &amp;amp;bull; [[User_talk:Jeff|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;(talk)&amp;lt;/font&amp;gt;]] &amp;lt;!--&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#ff6a6a; align:right; width:50%;&amp;quot;&amp;gt;--&amp;gt;[[File:RaspPi.png|25px|link=|Member of the RPWC]] [[Project:RPi_Council|&amp;lt;font color=&amp;quot;#0645ad&amp;quot;&amp;gt;RPWC President&amp;lt;/font&amp;gt;]] [[File:RaspPi.png|25px|link=|Member of the RPWC]] 04:30, 7 October 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
== If you are interested edit here ==&lt;br /&gt;
'''Please indicate your interest in joining the council below here, along with a link to your userpage.'''&lt;br /&gt;
&lt;br /&gt;
I have no interest in joining the council myself (just don't have the time), but I think any self-appointed &amp;quot;wiki council&amp;quot; should give itself some validity by spending some time coming up with practical guidelines / recommendations (without being ''too'' restrictive of course) rather than the &amp;quot;petty squabbling&amp;quot; that this page seems to be about so far ;-)&lt;br /&gt;
For example maybe you could have a list of pages that you've already &amp;quot;cleaned up&amp;quot;, so that we can at least see what &amp;quot;best practices&amp;quot; look like. And maybe you could come up with some guidelines for how pages like [[RPi_Hardware]] and [[RPi_Low-level_peripherals]] should document things which are different for the different revisions of RaspberryPi boards that exist? And Jeff, it might be useful to link to this page from your userpage :) [[User:AndrewS|AndrewS]] 23:31, 23 October 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
Some more things I've spotted after a quick poke around...&lt;br /&gt;
* I see you reverted the change Ryanteck made when adding Rastrack, citing &amp;quot;Self advertising&amp;quot; - IMHO Rastrack is a useful link (it's been featured on the RPi blog) and shouldn't count as self-advertising. When deleting links from the wiki (e.g. if they're on &amp;quot;the wrong page&amp;quot;), maybe you could add them onto &amp;quot;the right page&amp;quot; at the same time? We '''do''' want the wiki to be newbie-friendly, don't we? :)&lt;br /&gt;
* In terms of &amp;quot;guidelines&amp;quot;, should all pages like e.g. [[Raspcontrol]] be renamed to e.g. &amp;quot;RPi_Raspcontrol&amp;quot; ?&lt;br /&gt;
* Surely it'd have been better just to edit the existing [[RPi_Wiki_Best_Practice]] rather than nominating it for deletion (and removing all links to it) ?  I'm afraid I'm not a wiki-expert so could you explain how it's &amp;quot;clearly misleading from Wikipedia's policies&amp;quot; and how the policies of Wikipedia are relevant to elinux.org ?&lt;br /&gt;
* Is the [[RPi Model Wizard]] a joke? Currently there's only one model available to buy... (and even if there ''were'' two models on sale, the &amp;quot;wizard&amp;quot; seems pretty pointless IMHO)&lt;br /&gt;
[[User:AndrewS|AndrewS]] 00:37, 24 October 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hope you don't mind me adding further comments here...&amp;lt;br&amp;gt;&lt;br /&gt;
Something else that it might be nice for the &amp;quot;wiki council&amp;quot; to clean up, is that there are several orphaned RPi-related pages (see [http://elinux.org/index.php?title=Special:LonelyPages&amp;amp;limit=50&amp;amp;offset=100 here]) so I guess it would be nice if either i) links were added back to those pages or ii) the content from those pages is moved/edited to more appropriate/relevant pages or iii) those pages are marked as &amp;quot;redundant info, please delete&amp;quot; or something ?&lt;br /&gt;
[[User:AndrewS|AndrewS]] 01:45, 30 October 2012 (UTC)&lt;br /&gt;
:Thank you for the info. w.r.t. orphaned pages. I'm still finding my way around here myself, but, being retired, I have more time to deal with such issues than, maybe, Jeff has. (That is, when I'm not trying things out etc. with my raspbery pi boxes). I'll take a look at them as soon as I get the chance. --[[User:TrevorGowen|TrevorGowen]] 14:40, 30 October 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
I am really bothered by the nonsense at the top of the hub page. The &amp;quot;model wizard&amp;quot; and following pages are quite absurd, and even if they weren't, they don't belong there.  Is anybody opposed to removing this content or at least moving it?&lt;br /&gt;
[[User:HBrydon|HBrydon]] 22:40 23 Feb 2013 (UTC)&lt;br /&gt;
: You have my support, but I suspect &amp;quot;Jeff&amp;quot; will object :-/   I personally think this whole &amp;quot;wiki council&amp;quot; (and it's claim of authority, coupled with lack of action) is absurd too. I added some (personal) comments to [[User_talk:Zootboy]] which in hindsight I should probably have added here. [[User:AndrewS|AndrewS]] ([[User talk:AndrewS|talk]]) 13:00, 24 February 2013 (UTC)&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/RPi_schematic_errata</id>
		<title>RPi schematic errata</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RPi_schematic_errata"/>
				<updated>2013-02-22T05:17:51Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: /* Unverified typos */ updated information re: the components fitted to ModelA boards&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: RaspberryPi]]&lt;br /&gt;
&lt;br /&gt;
Back to [[RPi_Hardware#Components]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Raspberry Pi schematic errata =&lt;br /&gt;
&lt;br /&gt;
The schematic was published here: [http://www.raspberrypi.org/wp-content/uploads/2012/04/Raspberry-Pi-Schematics-R1.0.pdf | at raspberrypi.org] and [http://dmkenr5gtnd8f.cloudfront.net/wp-content/uploads/2012/04/Raspberry-Pi-Schematics-R1.0.pdf | a mirror]&lt;br /&gt;
&lt;br /&gt;
It has a couple of typos. Some more serious than others. &lt;br /&gt;
&lt;br /&gt;
Let's gather those schematic typos and errors here. &lt;br /&gt;
&lt;br /&gt;
The quality of the schematic is high. It looks like it contains the information that designers need. &lt;br /&gt;
&lt;br /&gt;
==Schematic v1.0==&lt;br /&gt;
&lt;br /&gt;
===Unverified typos===&lt;br /&gt;
&lt;br /&gt;
* On sheet 3, area C9, should that not be a (B) instead of (A) under the “IC3?”&lt;br /&gt;
* Also D10 close by&lt;br /&gt;
* R22,23,24,25 &amp;amp; C28 all missing (B) designation&lt;br /&gt;
* Also on sheet 3: R38 (area B8), R28 (area H5), C49 (area A1) and C29 (area A2) also appear to be missing (B) designation&lt;br /&gt;
* [[RPi_Hardware#Components]] says that D5 is yellow, but the schematic says D5 is green. Could somebody who actually has a production board check? -&amp;gt; The OK led is definitively GREEN. -- REW. &lt;br /&gt;
* Sheet 4 D6: DSI0 should be DSI1&lt;br /&gt;
&lt;br /&gt;
* there is an extra line drawn across R22-R25.  ''(I think this might just be a display artefact in some PDF readers)''&lt;br /&gt;
&lt;br /&gt;
===Verified typos===&lt;br /&gt;
&lt;br /&gt;
* Possible silk-screen typo rather than schematic typo: According to both the schematic and the LAN9512 datasheet, D9 (yellow LED) is ON if the link-speed is 100Mbs. But on the silk-screen it's labelled as &amp;quot;10M&amp;quot; rather than &amp;quot;100M&amp;quot; ? -&amp;gt; YES it is marked 10M due to space constraints. 100M wouldn't have fit. -- REW &amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/troubleshooting/ethernet-10m-only&amp;lt;/ref&amp;gt;&lt;br /&gt;
As of revision 2 boards the marking has changed to simply read &amp;quot;100&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Schematic v2.0==&lt;br /&gt;
&lt;br /&gt;
===Unverified typos===&lt;br /&gt;
&lt;br /&gt;
The [http://www.raspberrypi.org/wp-content/uploads/2012/10/Raspberry-Pi-R2.0-Schematics-Issue2.2_027.pdf schematic] for [http://www.raspberrypi.org/archives/2233 revision 2.0] Raspberry Pi boards seems to fix all of the unverified typos listed above, with one exception:&lt;br /&gt;
* C49 (area A1) appears to be missing (B) designation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Update 22nd-Feb-2013:'' I've just checked on a production Revision2.0 Model A board, and the C49 capacitor '''is''' still present, so it looks like there ''isn't'' a mistake in the Rev2.0 schematics after all (unless this mistake got accidentally carried all the way through into production!?)&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/RaspberryPi_Boards</id>
		<title>RaspberryPi Boards</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RaspberryPi_Boards"/>
				<updated>2013-02-22T04:42:42Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: Added my Revision2.0 ModelB board (Made in the UK)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Hardware versions/revisions==&lt;br /&gt;
Several different boards have been found probably from different assembly lines, and the following table tries to help you identify your board for better troubleshooting.&lt;br /&gt;
These differences are being debated on raspberrypi.org on this thread [http://www.raspberrypi.org/phpBB3/viewtopic.php?f=28&amp;amp;t=9524&amp;amp;start=25]&lt;br /&gt;
&lt;br /&gt;
For what we can see for model B boards there are mainly two versions that differ on the type RAM used, Samsung (S) and Hynix (H).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: For '''Board ver.''' we used: &amp;lt;model&amp;gt;&amp;lt;RAM Maker&amp;gt;&amp;lt;production date&amp;gt; (ex.: BS1218 is &amp;quot;Model B, Samsung RAM, 18th week of 2012&amp;quot;)&lt;br /&gt;
      Look for the date of manufacturing printed with the year and week (back side, board edge near LAN connector). In this example year (2012) and week (18th):[[File:Date_of_manufacturing.jpg|200px|thumb|right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Model A:'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Board&lt;br /&gt;
ver.&lt;br /&gt;
! RAM&lt;br /&gt;
Chip &lt;br /&gt;
! USB&lt;br /&gt;
Chip &lt;br /&gt;
! C6&lt;br /&gt;
! F1 / F2&lt;br /&gt;
Ref. &amp;amp; Ohm&lt;br /&gt;
! RG2 &lt;br /&gt;
! Reported issues / Feedback&lt;br /&gt;
! Front&lt;br /&gt;
! Back&lt;br /&gt;
! Distributor&lt;br /&gt;
! Owner&lt;br /&gt;
|-&lt;br /&gt;
| AS1245&lt;br /&gt;
| Samsung &amp;lt;pre&amp;gt;225&lt;br /&gt;
K4P2G324ED-AGC1&lt;br /&gt;
GAC0288J&amp;lt;/pre&amp;gt;&lt;br /&gt;
| N/A&lt;br /&gt;
| &amp;lt;pre&amp;gt;220&lt;br /&gt;
CFP&lt;br /&gt;
20N&amp;lt;/pre&amp;gt;&lt;br /&gt;
| N/A&lt;br /&gt;
| &amp;lt;pre&amp;gt;17-33G&lt;br /&gt;
RQB44&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* None&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| RS&lt;br /&gt;
| [[User:AndrewS|AndrewS]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Model B:'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Board&lt;br /&gt;
ver.&lt;br /&gt;
! RAM&lt;br /&gt;
Chip &lt;br /&gt;
! USB&lt;br /&gt;
Chip &lt;br /&gt;
! C6&lt;br /&gt;
! F1 / F2&lt;br /&gt;
Ref. &amp;amp; Ohm&lt;br /&gt;
! RG2 &lt;br /&gt;
! Reported issues / Feedback&lt;br /&gt;
! Front&lt;br /&gt;
! Back&lt;br /&gt;
! Distributor&lt;br /&gt;
! Owner&lt;br /&gt;
|-&lt;br /&gt;
| BS1215&lt;br /&gt;
| Samsung&lt;br /&gt;
| SMSC&lt;br /&gt;
| &amp;lt;pre&amp;gt;220&lt;br /&gt;
16V&lt;br /&gt;
EEZ&amp;lt;/pre&amp;gt;&lt;br /&gt;
| ?&lt;br /&gt;
? / ?&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
* None&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Farnell&lt;br /&gt;
| SN&lt;br /&gt;
|-&lt;br /&gt;
| BS1215&lt;br /&gt;
| Samsung&lt;br /&gt;
| SMSC&lt;br /&gt;
| &amp;lt;pre&amp;gt;n2&lt;br /&gt;
220&lt;br /&gt;
UD&amp;lt;/pre&amp;gt;&lt;br /&gt;
| ?&lt;br /&gt;
? / ?&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
* None&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Farnell&lt;br /&gt;
| SN&lt;br /&gt;
|-&lt;br /&gt;
| BS1215&lt;br /&gt;
| Samsung &amp;lt;pre&amp;gt;216&lt;br /&gt;
K4P2G324ED-AGC1&lt;br /&gt;
GA30419V&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC &amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1211-A1B17&lt;br /&gt;
BR149884A&lt;br /&gt;
CTI-TW&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;n2&lt;br /&gt;
220C&lt;br /&gt;
UD&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 14&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117733&lt;br /&gt;
943-1F&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
* None&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Farnell&lt;br /&gt;
| [[User:AndrewS|AndrewS]]&lt;br /&gt;
|-&lt;br /&gt;
| BS1301&lt;br /&gt;
| Samsung &amp;lt;pre&amp;gt;301&lt;br /&gt;
K4P4G32F4EB-AGC1&lt;br /&gt;
GKL438GHU&lt;br /&gt;
(512MB version)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC &amp;lt;pre&amp;gt;&lt;br /&gt;
LAN9512-JZX&lt;br /&gt;
81244-A1817&lt;br /&gt;
BR1525858&lt;br /&gt;
CTI-TW&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;220&lt;br /&gt;
CFP&lt;br /&gt;
28D&amp;lt;/pre&amp;gt;&lt;br /&gt;
| N/A&lt;br /&gt;
| &amp;lt;pre&amp;gt;17-33G&lt;br /&gt;
RQB44&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* None&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Farnell&lt;br /&gt;
| [[User:AndrewS|AndrewS]]&lt;br /&gt;
|-&lt;br /&gt;
| BS1218&lt;br /&gt;
| Samsung&amp;lt;pre&amp;gt;216&lt;br /&gt;
K4P2G324ED-AGC1&lt;br /&gt;
GAL0839V&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&amp;lt;pre&amp;gt;&lt;br /&gt;
LAN9512-JZX&lt;br /&gt;
B1212-A1B17&lt;br /&gt;
BR149884S&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;220&lt;br /&gt;
16V&lt;br /&gt;
EE5&amp;lt;/pre&amp;gt;&lt;br /&gt;
| T014&lt;br /&gt;
3.8 / 4.4&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1213-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
* None&lt;br /&gt;
| [[File:RaspberryPi-Board_A-Front.JPG|100px|thumb|center]]&lt;br /&gt;
| [[File:RaspberryPi-Board_A-Back.JPG|100px|thumb|center]]&lt;br /&gt;
| Farnell&lt;br /&gt;
| marcoalexcampos&lt;br /&gt;
|-&lt;br /&gt;
| BS1218&lt;br /&gt;
| Samsung&amp;lt;pre&amp;gt;216&lt;br /&gt;
K4P2G324ED-AGC1&lt;br /&gt;
GAJ0419C&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&amp;lt;pre&amp;gt;&lt;br /&gt;
LAN9512-JZX&lt;br /&gt;
B1212-A1B17&lt;br /&gt;
BR149884S&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;220&lt;br /&gt;
16V&lt;br /&gt;
EE5&amp;lt;/pre&amp;gt;&lt;br /&gt;
| T014&lt;br /&gt;
5.8 / 3.9&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1213-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
* None&lt;br /&gt;
| [[File:Antijn_raspi_farnell_top.jpg|100px|thumb|center]]&lt;br /&gt;
| [[File:Antijn_raspi_farnell_bot.jpg|100px|thumb|center]]&lt;br /&gt;
| Farnell&lt;br /&gt;
| antijn&lt;br /&gt;
|-&lt;br /&gt;
| BS1218&lt;br /&gt;
| Samsung&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
| ?&lt;br /&gt;
? / ?&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
* None&lt;br /&gt;
| [[File:RaspberryPi-BS1218-Front-JakeBlues.jpg|100px|thumb|center]]&lt;br /&gt;
| [[File:RaspberryPi-BS1218-Back-JakeBlues.jpg|100px|thumb|center]]&lt;br /&gt;
| Farnell&lt;br /&gt;
| JakeBlues&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| BH1208&lt;br /&gt;
| Hynix &amp;lt;pre&amp;gt;&lt;br /&gt;
H9TKNNN2GDMP&lt;br /&gt;
LANDM 149A&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&amp;lt;pre&amp;gt;&lt;br /&gt;
LAN9512-JZX&lt;br /&gt;
B1134-A1B17&lt;br /&gt;
8R147769B&lt;br /&gt;
STA-SG&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;220&lt;br /&gt;
16V&lt;br /&gt;
EE2&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 14&lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
SE8117T33&lt;br /&gt;
1001-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
* No issues after getting a good power supply&lt;br /&gt;
* Note the SMSC is 8R149482C which I suspect is the same for the others.&lt;br /&gt;
* Ethernet: LU1S041ALF 1018M&lt;br /&gt;
| [[File:RaspberryPi-BS1208-Front-MarkBeckett.JPG|100px|thumb|center]]&lt;br /&gt;
| [[File:RaspberryPi-BS1208-Back-MarkBeckett.JPG|100px|thumb|center]]&lt;br /&gt;
| Farnell&lt;br /&gt;
| MarkBeckett&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| BH1219&lt;br /&gt;
| Hynix &amp;lt;pre&amp;gt;&lt;br /&gt;
H9TKNNN2GDMP&lt;br /&gt;
LANDM 218A&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&amp;lt;pre&amp;gt;&lt;br /&gt;
LAN9512-JZX&lt;br /&gt;
B1206-A1B17&lt;br /&gt;
8R149471A&lt;br /&gt;
CTI-TW&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;220&lt;br /&gt;
16V&lt;br /&gt;
2E2&amp;lt;/pre&amp;gt;&lt;br /&gt;
| T014&lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
SE8117T33&lt;br /&gt;
1217-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
* No issues&lt;br /&gt;
* Ethernet: HanRun HR901110A 1220&lt;br /&gt;
| [[File:RaspberryPI_1219_RS_Pi_1_MCB1.JPG|100px|thumb|center]]&lt;br /&gt;
| [[File:RaspberryPI_1219_RS_Pi_2_MCB1.JPG|100px|thumb|center]]&lt;br /&gt;
| RS&lt;br /&gt;
| MarkBeckett&lt;br /&gt;
|-&lt;br /&gt;
| BH1218&lt;br /&gt;
| Hynix &amp;lt;pre&amp;gt;H9TKNNN2GDMP&lt;br /&gt;
LRNOM 217A&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&amp;lt;pre&amp;gt;&lt;br /&gt;
LAN9512-JZX&lt;br /&gt;
B1215-A1B17&lt;br /&gt;
BR1501888&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2E&lt;br /&gt;
220&lt;br /&gt;
16H&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 14&lt;br /&gt;
6.4 / 5.0&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1213-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
* USB/Keyboard/LAN issues&lt;br /&gt;
| [[File:Antijn_raspi_RS_top.jpg|100px|thumb|center]]&lt;br /&gt;
| [[File:Antijn_raspi_RS_bot.jpg|100px|thumb|center]]&lt;br /&gt;
| RS&lt;br /&gt;
| antijn&lt;br /&gt;
|-&lt;br /&gt;
| BH1218&lt;br /&gt;
| Hynix &amp;lt;pre&amp;gt;&lt;br /&gt;
H9TKNNN2GDMP&lt;br /&gt;
LRNDM 217A&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&amp;lt;pre&amp;gt;&lt;br /&gt;
LAN9512-JZX&lt;br /&gt;
B1215-A1817&lt;br /&gt;
BR1494828&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2E&lt;br /&gt;
220&lt;br /&gt;
16H&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 14&lt;br /&gt;
6.1 / 5.6&lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
SE8117T33&lt;br /&gt;
1213-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* &amp;quot;I haven't had any issues&amp;quot;[http://www.raspberrypi.org/phpBB3/viewtopic.php?f=28&amp;amp;t=9524&amp;amp;start=50]&lt;br /&gt;
* Ethernet HR901110A 1211&lt;br /&gt;
* E2112RSV1.0B1.1&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| RS&lt;br /&gt;
| dukla2000&lt;br /&gt;
|-&lt;br /&gt;
| BS1219&lt;br /&gt;
| Samsung&lt;br /&gt;
| SMSC&lt;br /&gt;
| &amp;lt;pre&amp;gt;2E&lt;br /&gt;
220&lt;br /&gt;
16H&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
| T014&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1213-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
* None&lt;br /&gt;
| [[File:RaspberryPi-A1219-Front.jpg|100px|thumb|center]]&lt;br /&gt;
| [[File:RaspberryPi-A1219-Back.jpg|100px|thumb|center]]&lt;br /&gt;
| Farnell&lt;br /&gt;
| Troublesome&lt;br /&gt;
|-&lt;br /&gt;
| BH1208&lt;br /&gt;
| Hynix&lt;br /&gt;
| SMSC&lt;br /&gt;
| &amp;lt;pre&amp;gt;220&lt;br /&gt;
16V&lt;br /&gt;
EE2&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 14&lt;br /&gt;
? / ?&lt;br /&gt;
| ?&lt;br /&gt;
| &lt;br /&gt;
* None&lt;br /&gt;
| [[File:Raspberry-pi-top.jpg|100px|thumb|center]]&lt;br /&gt;
| [[File:Raspberry-pi-bottom.jpg|100px|thumb|center]]&lt;br /&gt;
| Farnell&lt;br /&gt;
| selsinork&lt;br /&gt;
|-&lt;br /&gt;
| BH1213&lt;br /&gt;
| Hynix&lt;br /&gt;
| SMSC&lt;br /&gt;
| &amp;lt;pre&amp;gt;n2&lt;br /&gt;
220c&lt;br /&gt;
UD&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 14&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;blank&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
* None&lt;br /&gt;
| [[File:RaspberryPi-Board_C-Front.jpg|100px|thumb|center]]&lt;br /&gt;
| [[File:RaspberryPi-Board_C-Back.jpg|100px|thumb|center]]&lt;br /&gt;
| RS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BH1213&lt;br /&gt;
| Hynix&lt;br /&gt;
&amp;lt;pre&amp;gt;h9tknnn2c0mp&lt;br /&gt;
landm 1494&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;lan9512-jzx&lt;br /&gt;
b1134 a1b17 8r14&lt;br /&gt;
77698&lt;br /&gt;
sta-sg&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;n2&lt;br /&gt;
220c&lt;br /&gt;
UD&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 14&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;blank&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* &amp;quot;pretty stable&amp;quot;&lt;br /&gt;
| [[File:RaspberryPi-B1213-Front-RaTTuS.jpg|100px|thumb|center]]&lt;br /&gt;
| [[File:RaspberryPi-B1213-Back-RaTTuS.jpg|100px|thumb|center]]&lt;br /&gt;
| Farnell&lt;br /&gt;
| RaTTuS&lt;br /&gt;
|-&lt;br /&gt;
| BS12xx&lt;br /&gt;
| Samsung&lt;br /&gt;
&amp;lt;pre&amp;gt;216 k4p&lt;br /&gt;
26324ED&lt;br /&gt;
agc1&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;lan9512-jzx &lt;br /&gt;
b1212 a1b17 &lt;br /&gt;
br149884b &lt;br /&gt;
cti-tw&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;220&lt;br /&gt;
16V&lt;br /&gt;
EE5&amp;lt;/pre&amp;gt;&lt;br /&gt;
| ?&lt;br /&gt;
? / ?&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
* OK &amp;quot;has not been stress tested yet&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Farnell&lt;br /&gt;
| RaTTuS&lt;br /&gt;
|-&lt;br /&gt;
| BH1218&lt;br /&gt;
| Hynix&lt;br /&gt;
&amp;lt;pre&amp;gt;h9trnnn2g0mp&lt;br /&gt;
lrndm 217a&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;lan9512-jzy&lt;br /&gt;
b1215-a1b17&lt;br /&gt;
ase-tw&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2e&lt;br /&gt;
220&lt;br /&gt;
16h&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 14&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;Se8117t33&lt;br /&gt;
12-13 cf&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* &amp;quot;stable good runner overclocked to 900mhz&amp;quot;&lt;br /&gt;
| [[File:RaspberryPi-B1218-Front-RaTTuS.jpg|100px|thumb|center]]&lt;br /&gt;
| [[File:RaspberryPi-B1218-Back-RaTTuS.jpg|100px|thumb|center]]&lt;br /&gt;
| RS&lt;br /&gt;
| RaTTuS&lt;br /&gt;
|-&lt;br /&gt;
| BH1218&lt;br /&gt;
| Hynix&lt;br /&gt;
| SMSC&amp;lt;pre&amp;gt;&lt;br /&gt;
LAN9512-JZX&lt;br /&gt;
B1215-A1B17&lt;br /&gt;
BR150188A&lt;br /&gt;
ASE-TW (e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2E&lt;br /&gt;
220&lt;br /&gt;
16H&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 14&lt;br /&gt;
8.2 / 5.9&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1213-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
* USB/Keyboard/LAN power down[http://www.raspberrypi.org/phpBB3/viewtopic.php?p=109984#p109984]&lt;br /&gt;
*&lt;br /&gt;
| [[File:RaspberryPi-Board_B-Front.JPG|100px|thumb|center]]&lt;br /&gt;
| [[File:RaspberryPi-Board_B-Back.JPG|100px|thumb|center]]&lt;br /&gt;
| RS&lt;br /&gt;
| marcoalexcampos&lt;br /&gt;
|-&lt;br /&gt;
| BH1218&lt;br /&gt;
| Hynix&lt;br /&gt;
| SMSC&lt;br /&gt;
| &amp;lt;pre&amp;gt;2B&lt;br /&gt;
220&lt;br /&gt;
16H&amp;lt;/pre&amp;gt;&lt;br /&gt;
| ?&lt;br /&gt;
6-7 / 6-7&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
* None&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| RS&lt;br /&gt;
| SN&lt;br /&gt;
|-&lt;br /&gt;
| BH1218&lt;br /&gt;
| Hynix&lt;br /&gt;
| SMSC&lt;br /&gt;
| &amp;lt;pre&amp;gt;2B&lt;br /&gt;
220&lt;br /&gt;
16H&amp;lt;/pre&amp;gt;&lt;br /&gt;
| ?&lt;br /&gt;
? / ?&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
* None&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| RS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BH1218&lt;br /&gt;
| Hynix&lt;br /&gt;
| SMSC&lt;br /&gt;
| &amp;lt;pre&amp;gt;2E&lt;br /&gt;
220&lt;br /&gt;
16H&amp;lt;/pre&amp;gt;&lt;br /&gt;
| F014&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1213-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
* None&lt;br /&gt;
| [[File:RaspberryPi-B1218-Front.jpg|100px|thumb|center]]&lt;br /&gt;
| [[File:RaspberryPi-B1218-Back.jpg|100px|thumb|center]]&lt;br /&gt;
| RS&lt;br /&gt;
| Troublesome&lt;br /&gt;
|-&lt;br /&gt;
| BH1218&lt;br /&gt;
| Hynix &amp;lt;pre&amp;gt;H9TKNNN2GDMP&lt;br /&gt;
LANDM 217A&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1215-A1B17&lt;br /&gt;
BR150188B&lt;br /&gt;
ASE-TW (e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2E&lt;br /&gt;
220&lt;br /&gt;
16H&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 14&lt;br /&gt;
6.9 / 5.9&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1213-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* None&lt;br /&gt;
|[[File:RPi1T.jpg|100px|thumb|center]]&lt;br /&gt;
|[[File:RPi1B.jpg|100px|thumb|center]]&lt;br /&gt;
| RS&lt;br /&gt;
| Mortimer&lt;br /&gt;
|-&lt;br /&gt;
| BH1218&lt;br /&gt;
| Hynix &amp;lt;pre&amp;gt;H9TKNNN2GDMP&lt;br /&gt;
LANDM 218A&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1215-A1B17&lt;br /&gt;
BR150188A&lt;br /&gt;
ASE-TW (e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2E&lt;br /&gt;
220&lt;br /&gt;
16H&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 14&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1213-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* None&lt;br /&gt;
|[[File:RPi2T.jpg|100px|thumb|center]]&lt;br /&gt;
|[[File:RPi2B.jpg|100px|thumb|center]]&lt;br /&gt;
| RS&lt;br /&gt;
| Mortimer&lt;br /&gt;
|-&lt;br /&gt;
| BH1218&lt;br /&gt;
| Hynix&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
H9TKNNN2GDMP&lt;br /&gt;
LRNOM 217A&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LAN9512-JZX&lt;br /&gt;
B1215-A1B17&lt;br /&gt;
8R150188B&lt;br /&gt;
ASE-TW (e3)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2E&lt;br /&gt;
22-&lt;br /&gt;
16H&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 14&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1213-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* D1 shorted when attaching a Neewer HDMI to VGA adapter. The adapter has had no other tests and the raspberry pi's HDMI output has not been connected to any other devices before or since.&lt;br /&gt;
| [[File:RaspberryPi-BH1218-Front-Tom1989.jpg|100px|thumb|center]]&lt;br /&gt;
| [[File:RaspberryPi-BH1218-Back-Tom1989.jpg|100px|thumb|center]]&lt;br /&gt;
| RS&lt;br /&gt;
| Tom1989&lt;br /&gt;
|-&lt;br /&gt;
| BH1208&lt;br /&gt;
| Hynix &amp;lt;pre&amp;gt;H9TKNNN2GDMP&lt;br /&gt;
LANDM 149A&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1134-A1B17&lt;br /&gt;
BR147769B&lt;br /&gt;
STA-SG&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;220&lt;br /&gt;
16V&lt;br /&gt;
EE2&amp;lt;/pre&amp;gt;&lt;br /&gt;
| ?&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1001-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Stable, powers up off any charger.  Powers off laptop USB without any issues&lt;br /&gt;
* Ethernet: LU1S041ALF 1018M&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Farnell&lt;br /&gt;
| Tass&lt;br /&gt;
|-&lt;br /&gt;
| BH1213&lt;br /&gt;
| Hynix &amp;lt;pre&amp;gt;H9TKNNN2GDMP&lt;br /&gt;
LANDM 149A&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1134-A1B17&lt;br /&gt;
BR147769B&lt;br /&gt;
STA-SG&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;n2&lt;br /&gt;
220C&lt;br /&gt;
UD&amp;lt;/pre&amp;gt;&lt;br /&gt;
| ?&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
943-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Stable, no power issues (not thouroughly tested)&lt;br /&gt;
* Ethernet: HR901110A 1211|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| RS&lt;br /&gt;
| Tass&lt;br /&gt;
|-&lt;br /&gt;
| BH1218&lt;br /&gt;
| Hynix &amp;lt;pre&amp;gt;H9TKNNN2GDMP&lt;br /&gt;
LANDM 217A&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1216-A1B17&lt;br /&gt;
8R149482C&lt;br /&gt;
ASE-TW (e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2E&lt;br /&gt;
220&lt;br /&gt;
16H&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 14&lt;br /&gt;
14 / 5.1&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1213-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Up headless with Squeeze and Wheezy for ~six weeks, light duty, no problems&lt;br /&gt;
* Ethernet: HR901110A 1211&lt;br /&gt;
|[[File:Rpi001F.jpg|100px|thumb|center]]&lt;br /&gt;
|[[File:Rpi001R.jpg|100px|thumb|center]]&lt;br /&gt;
| RS&lt;br /&gt;
| Davidm870&lt;br /&gt;
|-&lt;br /&gt;
| BS1218&lt;br /&gt;
| Samsung &amp;lt;pre&amp;gt;216&lt;br /&gt;
K42P2G324ED-AGG1&lt;br /&gt;
GAL0839T&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1212-A1B17&lt;br /&gt;
8R149885A&lt;br /&gt;
ASE-TW (e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;220&lt;br /&gt;
16V&lt;br /&gt;
EE5&amp;lt;/pre&amp;gt;&lt;br /&gt;
| T014&lt;br /&gt;
T014 / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1213-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Comes upp headless with  Wheezy, not tested extensively&lt;br /&gt;
* Ethernet: HR901110A 1218&lt;br /&gt;
|[[File:Rpi002F.jpg|100px|thumb|center]]&lt;br /&gt;
|[[File:Rpi002R.jpg|100px|thumb|center]]&lt;br /&gt;
| Farnell&lt;br /&gt;
| Davidm870&lt;br /&gt;
|-&lt;br /&gt;
| BS1219&lt;br /&gt;
| Samsung &amp;lt;pre&amp;gt;216&lt;br /&gt;
K4P2G324ED-AGC1&lt;br /&gt;
GAL0859V&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1216-A1B17&lt;br /&gt;
8R149482C&lt;br /&gt;
ASE-TW (e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2E&lt;br /&gt;
220&lt;br /&gt;
16H&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
| T014&lt;br /&gt;
2.9ohm / 3.0ohm&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
0941-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* First had problems (freezing, no LAN, etc.) due to low quality power supply - cheap ebay adaptor. Solved with own [[RPi_5V_PSU_construction| PSU construction]] with 7805 stabiliser adjusted to 5.25V. Now works OK with Raspbian “wheezy”, but not yet tested extensively.&lt;br /&gt;
* Ethernet: HR901110A 1220&lt;br /&gt;
* F3 0.3ohm&lt;br /&gt;
| [[File:RPi-BS1219-Front_Pinoccio.jpg|100px|thumb|center]]&lt;br /&gt;
| [[File:RPi-BS1219-Back_Pinoccio.jpg|100px|thumb|center]]&lt;br /&gt;
| Farnell&lt;br /&gt;
| [[User:Pinoccio|Pinoccio]]&lt;br /&gt;
|-&lt;br /&gt;
| BS1219&lt;br /&gt;
| Samsung &amp;lt;pre&amp;gt;216&lt;br /&gt;
K4P2G324ED-AGC1&lt;br /&gt;
GAL0859D&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1216-A1B17&lt;br /&gt;
8R149482C&lt;br /&gt;
ASE-TW (e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2E&lt;br /&gt;
220&lt;br /&gt;
16H&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
| T014 / T014&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
0941-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* No issues&lt;br /&gt;
* Ethernet: HanRun HR901110A 1220&lt;br /&gt;
* FN120659744&lt;br /&gt;
| [[File:RPi-BS1219-Front_slabua.jpg|100px|thumb|center]]&lt;br /&gt;
| [[File:RPi-BS1219-Back_slabua.jpg|100px|thumb|center]]&lt;br /&gt;
| Farnell&lt;br /&gt;
| [SLB] [http://twitter.com/slabua @slabua]&lt;br /&gt;
|-&lt;br /&gt;
| BH1222&lt;br /&gt;
| Hynix &amp;lt;pre&amp;gt;H9TKNNN2GDMP&lt;br /&gt;
LANDM 214A&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1215-A1B17&lt;br /&gt;
8R148168E&lt;br /&gt;
ASE-TW (e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2E&lt;br /&gt;
220&lt;br /&gt;
16H&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
| T014 / T014&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1217-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* No issues&lt;br /&gt;
* Ethernet: HanRun HR901110A 1225&lt;br /&gt;
* E2712RSV1.0B1.1&lt;br /&gt;
| [[File:RPi-BH1222-Front_slabua.jpg|100px|thumb|center]]&lt;br /&gt;
| [[File:RPi-BH1222-Back_slabua.jpg|100px|thumb|center]]&lt;br /&gt;
| RS&lt;br /&gt;
| [SLB] [http://twitter.com/slabua @slabua]&lt;br /&gt;
|-&lt;br /&gt;
| BS1224&lt;br /&gt;
| Samsung &amp;lt;pre&amp;gt;222&lt;br /&gt;
K4P2G324ED-AGC1&lt;br /&gt;
GAA0419T&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1222-A1B17&lt;br /&gt;
8R150543C&lt;br /&gt;
CTI-TW (e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2F&lt;br /&gt;
220&lt;br /&gt;
16H&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
| T014 / T014&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1217-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Ethernet: HanRun HR901110A 1225&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Farnell&lt;br /&gt;
| accumulator&lt;br /&gt;
|-&lt;br /&gt;
| BS1224&lt;br /&gt;
| Samsung &amp;lt;pre&amp;gt;222&lt;br /&gt;
K4P2G324ED-AGC1&lt;br /&gt;
GAA0519H&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1223-A1B17&lt;br /&gt;
8R15D81DA&lt;br /&gt;
CTI-TW (e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2F&lt;br /&gt;
220&lt;br /&gt;
16H&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 0000 / 0000&lt;br /&gt;
0 / 0&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1220-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Ethernet: HanRun HR901110A 1225&lt;br /&gt;
* No Issues&lt;br /&gt;
* Note: F1 and F2 are black 0 ohm resistors instead of green polyfuses&lt;br /&gt;
| [[File:RPi-BS1224-Front_Shuckle.jpg|100px|thumb|center]]&lt;br /&gt;
|&lt;br /&gt;
| Farnell&lt;br /&gt;
| shuckle&lt;br /&gt;
|-&lt;br /&gt;
| BS1218&lt;br /&gt;
| Samsung&amp;lt;pre&amp;gt;216&lt;br /&gt;
K4P2G324ED-AGC1&lt;br /&gt;
GAL0839R&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&amp;lt;pre&amp;gt;&lt;br /&gt;
LAN9512-JZX&lt;br /&gt;
B1215-A1B17&lt;br /&gt;
8R150188B&lt;br /&gt;
ASE-TW&lt;br /&gt;
(e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2E&lt;br /&gt;
220&lt;br /&gt;
16H&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
| F014&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1213-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
* None&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Farnell&lt;br /&gt;
| d4lamar&lt;br /&gt;
|-&lt;br /&gt;
| BS1222&lt;br /&gt;
| Samsung &amp;lt;pre&amp;gt;225&lt;br /&gt;
K4P2G324ED-AGC1&lt;br /&gt;
GAC0289E&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1227-A1B17&lt;br /&gt;
8R1511968&lt;br /&gt;
CTI-TW (e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2F&lt;br /&gt;
220&lt;br /&gt;
16H&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 0000 / 0000&lt;br /&gt;
0 / 0&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1217-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Ethernet: HanRun HR901110A 1228&lt;br /&gt;
* Both boards by wcfields ordered at the same time/date.&lt;br /&gt;
* Note: F1 and F2 are black 0 ohm resistors instead of green polyfuses&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| MCM&lt;br /&gt;
| wcfields&lt;br /&gt;
|-&lt;br /&gt;
| BS1232&lt;br /&gt;
| Samsung &amp;lt;pre&amp;gt;225&lt;br /&gt;
K4P2G324ED-AGC1&lt;br /&gt;
GAC0289H&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1227-A1B17&lt;br /&gt;
8R151261A&lt;br /&gt;
CTI-TW (e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2F&lt;br /&gt;
220&lt;br /&gt;
16H&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 0000 / 0000&lt;br /&gt;
0 / 0&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1225-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Ethernet: HanRun HR901110A 1228&lt;br /&gt;
* Both boards by wcfields ordered at the same time/date.&lt;br /&gt;
* Note: F1 and F2 are black 0 ohm resistors instead of green polyfuses&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| MCM&lt;br /&gt;
| wcfields&lt;br /&gt;
|-&lt;br /&gt;
| BS1228&lt;br /&gt;
| Samsung &amp;lt;pre&amp;gt;234&lt;br /&gt;
K4P2G324ED-AGC1&lt;br /&gt;
GAK1229X&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1228-A1B17&lt;br /&gt;
8R151303B&lt;br /&gt;
CTI-TW (e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2E&lt;br /&gt;
220&lt;br /&gt;
16H&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 0000 / 0000&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1220-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
  * Serious problems with the 4GB SDHC-Card ordered with the board on initial testing with Gentoo (corrupted FS)&lt;br /&gt;
  * Same issues using rasbian and two different supported SD cards&lt;br /&gt;
  * Using RS original power adapter&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| RC&lt;br /&gt;
| FKlama&lt;br /&gt;
|-&lt;br /&gt;
| BS1233&lt;br /&gt;
| Samsung &amp;lt;pre&amp;gt;231&lt;br /&gt;
K4P4G324EB-AGC1&lt;br /&gt;
GKG0609V&lt;br /&gt;
(512MB version)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1227-A1B17&lt;br /&gt;
8R151261A&lt;br /&gt;
CTI-TW (e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2E&lt;br /&gt;
220&lt;br /&gt;
CFP&lt;br /&gt;
2G6&amp;lt;/pre&amp;gt;&lt;br /&gt;
| None / None&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;17-33G&lt;br /&gt;
RRB32 (ON)&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
 -Ethernet Jack: No visible branding&lt;br /&gt;
 -PS: 500mA Mobile phone charger &amp;amp; USB Port on Laptop and Desktop (These are all I had). Works with blackberry 8520 550mA charger.&lt;br /&gt;
 -Fuse(s): ONLY seems to have green polyswitch (F3) on bottom side of board F1 and F2 don't exist&lt;br /&gt;
 -In the position of the (other fuses) there is a mounting hole, likewise there is also a mounting hole under the Raspberry Pi Logo.&lt;br /&gt;
&lt;br /&gt;
 -There is also an extra header (P5) defined on the bottom side of the PCB near P1 (which is on the top side)&lt;br /&gt;
 -Won't boot with a known working (This same card will boot on BS1215 ) Kingston 4GB Class 4 SD Card, Raspbian &amp;quot;wheezy&amp;quot; 2012-09-18.&lt;br /&gt;
 -When using raspbmc powered with 550ma blackberry 8520 charger, keyboard and mouse disconnects frequently also external hard drive unmounts frequently.&lt;br /&gt;
 -When using torrents and connected with usb wireless adapter (tested with Netgear WNA1000M), when torrent picks up speed, raspbian becomes unstable. Same works well over Ethernet.&lt;br /&gt;
 -The unit WILL boot from the SD card bought from Element 14.&lt;br /&gt;
 -Will add more when I know more.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Farnell/Element14 (AU)&lt;br /&gt;
| TheSteveB&lt;br /&gt;
|-&lt;br /&gt;
| BS1236&lt;br /&gt;
| Samsung &amp;lt;pre&amp;gt;225&lt;br /&gt;
K4P46324EB-AGC1&lt;br /&gt;
GKEM509X&lt;br /&gt;
(512MB version)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1232-A1B17&lt;br /&gt;
8R151680A&lt;br /&gt;
CTI-TW (e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2F&lt;br /&gt;
220&lt;br /&gt;
16H&amp;lt;/pre&amp;gt;&lt;br /&gt;
| None / None&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1225-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
*Ethernet Jack: HanRun HT901110A 1228&lt;br /&gt;
*Seems to randomly power off on 3 different PS's (650mA, 900mA and 1A) (http://www.raspberrypi.org/phpBB3/viewtopic.php?f=28&amp;amp;t=22353)&lt;br /&gt;
*Extra header, F1, F2 and F3 and mounting holes just like BS1233&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|RS&lt;br /&gt;
|Yaron&lt;br /&gt;
|-&lt;br /&gt;
| BS1238&lt;br /&gt;
| Samsung &amp;lt;pre&amp;gt;225&lt;br /&gt;
K4P4G324EB-AGC1&lt;br /&gt;
GKFX1390&lt;br /&gt;
(512MB version)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1232-A1B17&lt;br /&gt;
8R151549A&lt;br /&gt;
CTI-TW (e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2H&lt;br /&gt;
220&lt;br /&gt;
16H&amp;lt;/pre&amp;gt;&lt;br /&gt;
| None / None&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1225-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
*Ethernet Jack: HanRun HR901110A 1230&lt;br /&gt;
*With extra header P5, missing fuses F1 and F2, and with mounting holes just like BS1233&lt;br /&gt;
*Weird stability problems. Can build Quake3, and can play it for a little while, but eventually locks up (black screen, loses ethernet link). Putting it in the Adafruit case seems to exacerbate the problem.&lt;br /&gt;
*Highest temp measured by &amp;lt;code&amp;gt;vcgencmd measure_temp&amp;lt;/code&amp;gt; is 53.5C. Last measured temp before lockup was 53.0C&lt;br /&gt;
*Problem occurs with both the Adafruit power supply as well as my Nexus 7 2A supply.&lt;br /&gt;
*Tested with at least 3 different Micro-USB cables.&lt;br /&gt;
*Tested with the 4GB Dane-Elec Class 4 MicroSD card from Adafruit, as well as an 8GB Class 10 SanDisk full-size SD card.&lt;br /&gt;
*Voltages:&lt;br /&gt;
**Idle, with HDMI only&lt;br /&gt;
***5.06V (polyfuse in)&lt;br /&gt;
***4.82V (polyfuse out)&lt;br /&gt;
**Idle, with HDMI, keyboard and mouse&lt;br /&gt;
***5.04V (polyfuse in)&lt;br /&gt;
***4.77V (polyfuse out)&lt;br /&gt;
**Running Quake (with HDMI, keyboard, mouse, and network)&lt;br /&gt;
***4.98V (polyfuse in)&lt;br /&gt;
***4.55V (polyfuse out)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Adafruit (US)&lt;br /&gt;
|Balefrost&lt;br /&gt;
|-}&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/RaspberryPi_Boards</id>
		<title>RaspberryPi Boards</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RaspberryPi_Boards"/>
				<updated>2013-02-22T04:24:48Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: /* Hardware versions/revisions */ Added details of my ModelA board (the first on the page!)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Hardware versions/revisions==&lt;br /&gt;
Several different boards have been found probably from different assembly lines, and the following table tries to help you identify your board for better troubleshooting.&lt;br /&gt;
These differences are being debated on raspberrypi.org on this thread [http://www.raspberrypi.org/phpBB3/viewtopic.php?f=28&amp;amp;t=9524&amp;amp;start=25]&lt;br /&gt;
&lt;br /&gt;
For what we can see for model B boards there are mainly two versions that differ on the type RAM used, Samsung (S) and Hynix (H).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: For '''Board ver.''' we used: &amp;lt;model&amp;gt;&amp;lt;RAM Maker&amp;gt;&amp;lt;production date&amp;gt; (ex.: BS1218 is &amp;quot;Model B, Samsung RAM, 18th week of 2012&amp;quot;)&lt;br /&gt;
      Look for the date of manufacturing printed with the year and week (back side, board edge near LAN connector). In this example year (2012) and week (18th):[[File:Date_of_manufacturing.jpg|200px|thumb|right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Model A:'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Board&lt;br /&gt;
ver.&lt;br /&gt;
! RAM&lt;br /&gt;
Chip &lt;br /&gt;
! USB&lt;br /&gt;
Chip &lt;br /&gt;
! C6&lt;br /&gt;
! F1 / F2&lt;br /&gt;
Ref. &amp;amp; Ohm&lt;br /&gt;
! RG2 &lt;br /&gt;
! Reported issues / Feedback&lt;br /&gt;
! Front&lt;br /&gt;
! Back&lt;br /&gt;
! Distributor&lt;br /&gt;
! Owner&lt;br /&gt;
|-&lt;br /&gt;
| AS1245&lt;br /&gt;
| Samsung &amp;lt;pre&amp;gt;225&lt;br /&gt;
K4P2G324ED-AGC1&lt;br /&gt;
GAC0288J&amp;lt;/pre&amp;gt;&lt;br /&gt;
| N/A&lt;br /&gt;
| &amp;lt;pre&amp;gt;220&lt;br /&gt;
CFP&lt;br /&gt;
20N&amp;lt;/pre&amp;gt;&lt;br /&gt;
| N/A&lt;br /&gt;
| &amp;lt;pre&amp;gt;17-33G&lt;br /&gt;
RQB44&amp;lt;/pre&amp;gt;&lt;br /&gt;
| * None&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| RS&lt;br /&gt;
| [[User:AndrewS|AndrewS]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Model B:'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Board&lt;br /&gt;
ver.&lt;br /&gt;
! RAM&lt;br /&gt;
Chip &lt;br /&gt;
! USB&lt;br /&gt;
Chip &lt;br /&gt;
! C6&lt;br /&gt;
! F1 / F2&lt;br /&gt;
Ref. &amp;amp; Ohm&lt;br /&gt;
! RG2 &lt;br /&gt;
! Reported issues / Feedback&lt;br /&gt;
! Front&lt;br /&gt;
! Back&lt;br /&gt;
! Distributor&lt;br /&gt;
! Owner&lt;br /&gt;
|-&lt;br /&gt;
| BS1215&lt;br /&gt;
| Samsung&lt;br /&gt;
| SMSC&lt;br /&gt;
| &amp;lt;pre&amp;gt;220&lt;br /&gt;
16V&lt;br /&gt;
EEZ&amp;lt;/pre&amp;gt;&lt;br /&gt;
| ?&lt;br /&gt;
? / ?&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
* None&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Farnell&lt;br /&gt;
| SN&lt;br /&gt;
|-&lt;br /&gt;
| BS1215&lt;br /&gt;
| Samsung&lt;br /&gt;
| SMSC&lt;br /&gt;
| &amp;lt;pre&amp;gt;n2&lt;br /&gt;
220&lt;br /&gt;
UD&amp;lt;/pre&amp;gt;&lt;br /&gt;
| ?&lt;br /&gt;
? / ?&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
* None&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Farnell&lt;br /&gt;
| SN&lt;br /&gt;
|-&lt;br /&gt;
| BS1215&lt;br /&gt;
| Samsung &amp;lt;pre&amp;gt;216&lt;br /&gt;
K4P2G324ED-AGC1&lt;br /&gt;
GA30419V&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC &amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1211-A1B17&lt;br /&gt;
BR149884A&lt;br /&gt;
CTI-TW&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;n2&lt;br /&gt;
220C&lt;br /&gt;
UD&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 14&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117733&lt;br /&gt;
943-1F&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
* None&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Farnell&lt;br /&gt;
| AndrewS&lt;br /&gt;
|-&lt;br /&gt;
| BS1218&lt;br /&gt;
| Samsung&amp;lt;pre&amp;gt;216&lt;br /&gt;
K4P2G324ED-AGC1&lt;br /&gt;
GAL0839V&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&amp;lt;pre&amp;gt;&lt;br /&gt;
LAN9512-JZX&lt;br /&gt;
B1212-A1B17&lt;br /&gt;
BR149884S&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;220&lt;br /&gt;
16V&lt;br /&gt;
EE5&amp;lt;/pre&amp;gt;&lt;br /&gt;
| T014&lt;br /&gt;
3.8 / 4.4&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1213-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
* None&lt;br /&gt;
| [[File:RaspberryPi-Board_A-Front.JPG|100px|thumb|center]]&lt;br /&gt;
| [[File:RaspberryPi-Board_A-Back.JPG|100px|thumb|center]]&lt;br /&gt;
| Farnell&lt;br /&gt;
| marcoalexcampos&lt;br /&gt;
|-&lt;br /&gt;
| BS1218&lt;br /&gt;
| Samsung&amp;lt;pre&amp;gt;216&lt;br /&gt;
K4P2G324ED-AGC1&lt;br /&gt;
GAJ0419C&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&amp;lt;pre&amp;gt;&lt;br /&gt;
LAN9512-JZX&lt;br /&gt;
B1212-A1B17&lt;br /&gt;
BR149884S&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;220&lt;br /&gt;
16V&lt;br /&gt;
EE5&amp;lt;/pre&amp;gt;&lt;br /&gt;
| T014&lt;br /&gt;
5.8 / 3.9&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1213-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
* None&lt;br /&gt;
| [[File:Antijn_raspi_farnell_top.jpg|100px|thumb|center]]&lt;br /&gt;
| [[File:Antijn_raspi_farnell_bot.jpg|100px|thumb|center]]&lt;br /&gt;
| Farnell&lt;br /&gt;
| antijn&lt;br /&gt;
|-&lt;br /&gt;
| BS1218&lt;br /&gt;
| Samsung&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
| ?&lt;br /&gt;
? / ?&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
* None&lt;br /&gt;
| [[File:RaspberryPi-BS1218-Front-JakeBlues.jpg|100px|thumb|center]]&lt;br /&gt;
| [[File:RaspberryPi-BS1218-Back-JakeBlues.jpg|100px|thumb|center]]&lt;br /&gt;
| Farnell&lt;br /&gt;
| JakeBlues&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| BH1208&lt;br /&gt;
| Hynix &amp;lt;pre&amp;gt;&lt;br /&gt;
H9TKNNN2GDMP&lt;br /&gt;
LANDM 149A&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&amp;lt;pre&amp;gt;&lt;br /&gt;
LAN9512-JZX&lt;br /&gt;
B1134-A1B17&lt;br /&gt;
8R147769B&lt;br /&gt;
STA-SG&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;220&lt;br /&gt;
16V&lt;br /&gt;
EE2&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 14&lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
SE8117T33&lt;br /&gt;
1001-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
* No issues after getting a good power supply&lt;br /&gt;
* Note the SMSC is 8R149482C which I suspect is the same for the others.&lt;br /&gt;
* Ethernet: LU1S041ALF 1018M&lt;br /&gt;
| [[File:RaspberryPi-BS1208-Front-MarkBeckett.JPG|100px|thumb|center]]&lt;br /&gt;
| [[File:RaspberryPi-BS1208-Back-MarkBeckett.JPG|100px|thumb|center]]&lt;br /&gt;
| Farnell&lt;br /&gt;
| MarkBeckett&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| BH1219&lt;br /&gt;
| Hynix &amp;lt;pre&amp;gt;&lt;br /&gt;
H9TKNNN2GDMP&lt;br /&gt;
LANDM 218A&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&amp;lt;pre&amp;gt;&lt;br /&gt;
LAN9512-JZX&lt;br /&gt;
B1206-A1B17&lt;br /&gt;
8R149471A&lt;br /&gt;
CTI-TW&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;220&lt;br /&gt;
16V&lt;br /&gt;
2E2&amp;lt;/pre&amp;gt;&lt;br /&gt;
| T014&lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
SE8117T33&lt;br /&gt;
1217-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
* No issues&lt;br /&gt;
* Ethernet: HanRun HR901110A 1220&lt;br /&gt;
| [[File:RaspberryPI_1219_RS_Pi_1_MCB1.JPG|100px|thumb|center]]&lt;br /&gt;
| [[File:RaspberryPI_1219_RS_Pi_2_MCB1.JPG|100px|thumb|center]]&lt;br /&gt;
| RS&lt;br /&gt;
| MarkBeckett&lt;br /&gt;
|-&lt;br /&gt;
| BH1218&lt;br /&gt;
| Hynix &amp;lt;pre&amp;gt;H9TKNNN2GDMP&lt;br /&gt;
LRNOM 217A&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&amp;lt;pre&amp;gt;&lt;br /&gt;
LAN9512-JZX&lt;br /&gt;
B1215-A1B17&lt;br /&gt;
BR1501888&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2E&lt;br /&gt;
220&lt;br /&gt;
16H&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 14&lt;br /&gt;
6.4 / 5.0&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1213-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
* USB/Keyboard/LAN issues&lt;br /&gt;
| [[File:Antijn_raspi_RS_top.jpg|100px|thumb|center]]&lt;br /&gt;
| [[File:Antijn_raspi_RS_bot.jpg|100px|thumb|center]]&lt;br /&gt;
| RS&lt;br /&gt;
| antijn&lt;br /&gt;
|-&lt;br /&gt;
| BH1218&lt;br /&gt;
| Hynix &amp;lt;pre&amp;gt;&lt;br /&gt;
H9TKNNN2GDMP&lt;br /&gt;
LRNDM 217A&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&amp;lt;pre&amp;gt;&lt;br /&gt;
LAN9512-JZX&lt;br /&gt;
B1215-A1817&lt;br /&gt;
BR1494828&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2E&lt;br /&gt;
220&lt;br /&gt;
16H&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 14&lt;br /&gt;
6.1 / 5.6&lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
SE8117T33&lt;br /&gt;
1213-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* &amp;quot;I haven't had any issues&amp;quot;[http://www.raspberrypi.org/phpBB3/viewtopic.php?f=28&amp;amp;t=9524&amp;amp;start=50]&lt;br /&gt;
* Ethernet HR901110A 1211&lt;br /&gt;
* E2112RSV1.0B1.1&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| RS&lt;br /&gt;
| dukla2000&lt;br /&gt;
|-&lt;br /&gt;
| BS1219&lt;br /&gt;
| Samsung&lt;br /&gt;
| SMSC&lt;br /&gt;
| &amp;lt;pre&amp;gt;2E&lt;br /&gt;
220&lt;br /&gt;
16H&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
| T014&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1213-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
* None&lt;br /&gt;
| [[File:RaspberryPi-A1219-Front.jpg|100px|thumb|center]]&lt;br /&gt;
| [[File:RaspberryPi-A1219-Back.jpg|100px|thumb|center]]&lt;br /&gt;
| Farnell&lt;br /&gt;
| Troublesome&lt;br /&gt;
|-&lt;br /&gt;
| BH1208&lt;br /&gt;
| Hynix&lt;br /&gt;
| SMSC&lt;br /&gt;
| &amp;lt;pre&amp;gt;220&lt;br /&gt;
16V&lt;br /&gt;
EE2&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 14&lt;br /&gt;
? / ?&lt;br /&gt;
| ?&lt;br /&gt;
| &lt;br /&gt;
* None&lt;br /&gt;
| [[File:Raspberry-pi-top.jpg|100px|thumb|center]]&lt;br /&gt;
| [[File:Raspberry-pi-bottom.jpg|100px|thumb|center]]&lt;br /&gt;
| Farnell&lt;br /&gt;
| selsinork&lt;br /&gt;
|-&lt;br /&gt;
| BH1213&lt;br /&gt;
| Hynix&lt;br /&gt;
| SMSC&lt;br /&gt;
| &amp;lt;pre&amp;gt;n2&lt;br /&gt;
220c&lt;br /&gt;
UD&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 14&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;blank&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
* None&lt;br /&gt;
| [[File:RaspberryPi-Board_C-Front.jpg|100px|thumb|center]]&lt;br /&gt;
| [[File:RaspberryPi-Board_C-Back.jpg|100px|thumb|center]]&lt;br /&gt;
| RS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BH1213&lt;br /&gt;
| Hynix&lt;br /&gt;
&amp;lt;pre&amp;gt;h9tknnn2c0mp&lt;br /&gt;
landm 1494&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;lan9512-jzx&lt;br /&gt;
b1134 a1b17 8r14&lt;br /&gt;
77698&lt;br /&gt;
sta-sg&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;n2&lt;br /&gt;
220c&lt;br /&gt;
UD&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 14&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;blank&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* &amp;quot;pretty stable&amp;quot;&lt;br /&gt;
| [[File:RaspberryPi-B1213-Front-RaTTuS.jpg|100px|thumb|center]]&lt;br /&gt;
| [[File:RaspberryPi-B1213-Back-RaTTuS.jpg|100px|thumb|center]]&lt;br /&gt;
| Farnell&lt;br /&gt;
| RaTTuS&lt;br /&gt;
|-&lt;br /&gt;
| BS12xx&lt;br /&gt;
| Samsung&lt;br /&gt;
&amp;lt;pre&amp;gt;216 k4p&lt;br /&gt;
26324ED&lt;br /&gt;
agc1&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;lan9512-jzx &lt;br /&gt;
b1212 a1b17 &lt;br /&gt;
br149884b &lt;br /&gt;
cti-tw&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;220&lt;br /&gt;
16V&lt;br /&gt;
EE5&amp;lt;/pre&amp;gt;&lt;br /&gt;
| ?&lt;br /&gt;
? / ?&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
* OK &amp;quot;has not been stress tested yet&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Farnell&lt;br /&gt;
| RaTTuS&lt;br /&gt;
|-&lt;br /&gt;
| BH1218&lt;br /&gt;
| Hynix&lt;br /&gt;
&amp;lt;pre&amp;gt;h9trnnn2g0mp&lt;br /&gt;
lrndm 217a&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;lan9512-jzy&lt;br /&gt;
b1215-a1b17&lt;br /&gt;
ase-tw&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2e&lt;br /&gt;
220&lt;br /&gt;
16h&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 14&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;Se8117t33&lt;br /&gt;
12-13 cf&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* &amp;quot;stable good runner overclocked to 900mhz&amp;quot;&lt;br /&gt;
| [[File:RaspberryPi-B1218-Front-RaTTuS.jpg|100px|thumb|center]]&lt;br /&gt;
| [[File:RaspberryPi-B1218-Back-RaTTuS.jpg|100px|thumb|center]]&lt;br /&gt;
| RS&lt;br /&gt;
| RaTTuS&lt;br /&gt;
|-&lt;br /&gt;
| BH1218&lt;br /&gt;
| Hynix&lt;br /&gt;
| SMSC&amp;lt;pre&amp;gt;&lt;br /&gt;
LAN9512-JZX&lt;br /&gt;
B1215-A1B17&lt;br /&gt;
BR150188A&lt;br /&gt;
ASE-TW (e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2E&lt;br /&gt;
220&lt;br /&gt;
16H&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 14&lt;br /&gt;
8.2 / 5.9&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1213-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
* USB/Keyboard/LAN power down[http://www.raspberrypi.org/phpBB3/viewtopic.php?p=109984#p109984]&lt;br /&gt;
*&lt;br /&gt;
| [[File:RaspberryPi-Board_B-Front.JPG|100px|thumb|center]]&lt;br /&gt;
| [[File:RaspberryPi-Board_B-Back.JPG|100px|thumb|center]]&lt;br /&gt;
| RS&lt;br /&gt;
| marcoalexcampos&lt;br /&gt;
|-&lt;br /&gt;
| BH1218&lt;br /&gt;
| Hynix&lt;br /&gt;
| SMSC&lt;br /&gt;
| &amp;lt;pre&amp;gt;2B&lt;br /&gt;
220&lt;br /&gt;
16H&amp;lt;/pre&amp;gt;&lt;br /&gt;
| ?&lt;br /&gt;
6-7 / 6-7&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
* None&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| RS&lt;br /&gt;
| SN&lt;br /&gt;
|-&lt;br /&gt;
| BH1218&lt;br /&gt;
| Hynix&lt;br /&gt;
| SMSC&lt;br /&gt;
| &amp;lt;pre&amp;gt;2B&lt;br /&gt;
220&lt;br /&gt;
16H&amp;lt;/pre&amp;gt;&lt;br /&gt;
| ?&lt;br /&gt;
? / ?&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
* None&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| RS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BH1218&lt;br /&gt;
| Hynix&lt;br /&gt;
| SMSC&lt;br /&gt;
| &amp;lt;pre&amp;gt;2E&lt;br /&gt;
220&lt;br /&gt;
16H&amp;lt;/pre&amp;gt;&lt;br /&gt;
| F014&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1213-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
* None&lt;br /&gt;
| [[File:RaspberryPi-B1218-Front.jpg|100px|thumb|center]]&lt;br /&gt;
| [[File:RaspberryPi-B1218-Back.jpg|100px|thumb|center]]&lt;br /&gt;
| RS&lt;br /&gt;
| Troublesome&lt;br /&gt;
|-&lt;br /&gt;
| BH1218&lt;br /&gt;
| Hynix &amp;lt;pre&amp;gt;H9TKNNN2GDMP&lt;br /&gt;
LANDM 217A&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1215-A1B17&lt;br /&gt;
BR150188B&lt;br /&gt;
ASE-TW (e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2E&lt;br /&gt;
220&lt;br /&gt;
16H&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 14&lt;br /&gt;
6.9 / 5.9&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1213-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* None&lt;br /&gt;
|[[File:RPi1T.jpg|100px|thumb|center]]&lt;br /&gt;
|[[File:RPi1B.jpg|100px|thumb|center]]&lt;br /&gt;
| RS&lt;br /&gt;
| Mortimer&lt;br /&gt;
|-&lt;br /&gt;
| BH1218&lt;br /&gt;
| Hynix &amp;lt;pre&amp;gt;H9TKNNN2GDMP&lt;br /&gt;
LANDM 218A&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1215-A1B17&lt;br /&gt;
BR150188A&lt;br /&gt;
ASE-TW (e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2E&lt;br /&gt;
220&lt;br /&gt;
16H&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 14&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1213-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* None&lt;br /&gt;
|[[File:RPi2T.jpg|100px|thumb|center]]&lt;br /&gt;
|[[File:RPi2B.jpg|100px|thumb|center]]&lt;br /&gt;
| RS&lt;br /&gt;
| Mortimer&lt;br /&gt;
|-&lt;br /&gt;
| BH1218&lt;br /&gt;
| Hynix&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
H9TKNNN2GDMP&lt;br /&gt;
LRNOM 217A&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LAN9512-JZX&lt;br /&gt;
B1215-A1B17&lt;br /&gt;
8R150188B&lt;br /&gt;
ASE-TW (e3)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2E&lt;br /&gt;
22-&lt;br /&gt;
16H&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 14&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1213-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* D1 shorted when attaching a Neewer HDMI to VGA adapter. The adapter has had no other tests and the raspberry pi's HDMI output has not been connected to any other devices before or since.&lt;br /&gt;
| [[File:RaspberryPi-BH1218-Front-Tom1989.jpg|100px|thumb|center]]&lt;br /&gt;
| [[File:RaspberryPi-BH1218-Back-Tom1989.jpg|100px|thumb|center]]&lt;br /&gt;
| RS&lt;br /&gt;
| Tom1989&lt;br /&gt;
|-&lt;br /&gt;
| BH1208&lt;br /&gt;
| Hynix &amp;lt;pre&amp;gt;H9TKNNN2GDMP&lt;br /&gt;
LANDM 149A&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1134-A1B17&lt;br /&gt;
BR147769B&lt;br /&gt;
STA-SG&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;220&lt;br /&gt;
16V&lt;br /&gt;
EE2&amp;lt;/pre&amp;gt;&lt;br /&gt;
| ?&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1001-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Stable, powers up off any charger.  Powers off laptop USB without any issues&lt;br /&gt;
* Ethernet: LU1S041ALF 1018M&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Farnell&lt;br /&gt;
| Tass&lt;br /&gt;
|-&lt;br /&gt;
| BH1213&lt;br /&gt;
| Hynix &amp;lt;pre&amp;gt;H9TKNNN2GDMP&lt;br /&gt;
LANDM 149A&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1134-A1B17&lt;br /&gt;
BR147769B&lt;br /&gt;
STA-SG&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;n2&lt;br /&gt;
220C&lt;br /&gt;
UD&amp;lt;/pre&amp;gt;&lt;br /&gt;
| ?&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
943-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Stable, no power issues (not thouroughly tested)&lt;br /&gt;
* Ethernet: HR901110A 1211|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| RS&lt;br /&gt;
| Tass&lt;br /&gt;
|-&lt;br /&gt;
| BH1218&lt;br /&gt;
| Hynix &amp;lt;pre&amp;gt;H9TKNNN2GDMP&lt;br /&gt;
LANDM 217A&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1216-A1B17&lt;br /&gt;
8R149482C&lt;br /&gt;
ASE-TW (e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2E&lt;br /&gt;
220&lt;br /&gt;
16H&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 14&lt;br /&gt;
14 / 5.1&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1213-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Up headless with Squeeze and Wheezy for ~six weeks, light duty, no problems&lt;br /&gt;
* Ethernet: HR901110A 1211&lt;br /&gt;
|[[File:Rpi001F.jpg|100px|thumb|center]]&lt;br /&gt;
|[[File:Rpi001R.jpg|100px|thumb|center]]&lt;br /&gt;
| RS&lt;br /&gt;
| Davidm870&lt;br /&gt;
|-&lt;br /&gt;
| BS1218&lt;br /&gt;
| Samsung &amp;lt;pre&amp;gt;216&lt;br /&gt;
K42P2G324ED-AGG1&lt;br /&gt;
GAL0839T&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1212-A1B17&lt;br /&gt;
8R149885A&lt;br /&gt;
ASE-TW (e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;220&lt;br /&gt;
16V&lt;br /&gt;
EE5&amp;lt;/pre&amp;gt;&lt;br /&gt;
| T014&lt;br /&gt;
T014 / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1213-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Comes upp headless with  Wheezy, not tested extensively&lt;br /&gt;
* Ethernet: HR901110A 1218&lt;br /&gt;
|[[File:Rpi002F.jpg|100px|thumb|center]]&lt;br /&gt;
|[[File:Rpi002R.jpg|100px|thumb|center]]&lt;br /&gt;
| Farnell&lt;br /&gt;
| Davidm870&lt;br /&gt;
|-&lt;br /&gt;
| BS1219&lt;br /&gt;
| Samsung &amp;lt;pre&amp;gt;216&lt;br /&gt;
K4P2G324ED-AGC1&lt;br /&gt;
GAL0859V&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1216-A1B17&lt;br /&gt;
8R149482C&lt;br /&gt;
ASE-TW (e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2E&lt;br /&gt;
220&lt;br /&gt;
16H&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
| T014&lt;br /&gt;
2.9ohm / 3.0ohm&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
0941-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* First had problems (freezing, no LAN, etc.) due to low quality power supply - cheap ebay adaptor. Solved with own [[RPi_5V_PSU_construction| PSU construction]] with 7805 stabiliser adjusted to 5.25V. Now works OK with Raspbian “wheezy”, but not yet tested extensively.&lt;br /&gt;
* Ethernet: HR901110A 1220&lt;br /&gt;
* F3 0.3ohm&lt;br /&gt;
| [[File:RPi-BS1219-Front_Pinoccio.jpg|100px|thumb|center]]&lt;br /&gt;
| [[File:RPi-BS1219-Back_Pinoccio.jpg|100px|thumb|center]]&lt;br /&gt;
| Farnell&lt;br /&gt;
| [[User:Pinoccio|Pinoccio]]&lt;br /&gt;
|-&lt;br /&gt;
| BS1219&lt;br /&gt;
| Samsung &amp;lt;pre&amp;gt;216&lt;br /&gt;
K4P2G324ED-AGC1&lt;br /&gt;
GAL0859D&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1216-A1B17&lt;br /&gt;
8R149482C&lt;br /&gt;
ASE-TW (e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2E&lt;br /&gt;
220&lt;br /&gt;
16H&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
| T014 / T014&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
0941-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* No issues&lt;br /&gt;
* Ethernet: HanRun HR901110A 1220&lt;br /&gt;
* FN120659744&lt;br /&gt;
| [[File:RPi-BS1219-Front_slabua.jpg|100px|thumb|center]]&lt;br /&gt;
| [[File:RPi-BS1219-Back_slabua.jpg|100px|thumb|center]]&lt;br /&gt;
| Farnell&lt;br /&gt;
| [SLB] [http://twitter.com/slabua @slabua]&lt;br /&gt;
|-&lt;br /&gt;
| BH1222&lt;br /&gt;
| Hynix &amp;lt;pre&amp;gt;H9TKNNN2GDMP&lt;br /&gt;
LANDM 214A&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1215-A1B17&lt;br /&gt;
8R148168E&lt;br /&gt;
ASE-TW (e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2E&lt;br /&gt;
220&lt;br /&gt;
16H&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
| T014 / T014&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1217-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* No issues&lt;br /&gt;
* Ethernet: HanRun HR901110A 1225&lt;br /&gt;
* E2712RSV1.0B1.1&lt;br /&gt;
| [[File:RPi-BH1222-Front_slabua.jpg|100px|thumb|center]]&lt;br /&gt;
| [[File:RPi-BH1222-Back_slabua.jpg|100px|thumb|center]]&lt;br /&gt;
| RS&lt;br /&gt;
| [SLB] [http://twitter.com/slabua @slabua]&lt;br /&gt;
|-&lt;br /&gt;
| BS1224&lt;br /&gt;
| Samsung &amp;lt;pre&amp;gt;222&lt;br /&gt;
K4P2G324ED-AGC1&lt;br /&gt;
GAA0419T&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1222-A1B17&lt;br /&gt;
8R150543C&lt;br /&gt;
CTI-TW (e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2F&lt;br /&gt;
220&lt;br /&gt;
16H&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
| T014 / T014&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1217-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Ethernet: HanRun HR901110A 1225&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Farnell&lt;br /&gt;
| accumulator&lt;br /&gt;
|-&lt;br /&gt;
| BS1224&lt;br /&gt;
| Samsung &amp;lt;pre&amp;gt;222&lt;br /&gt;
K4P2G324ED-AGC1&lt;br /&gt;
GAA0519H&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1223-A1B17&lt;br /&gt;
8R15D81DA&lt;br /&gt;
CTI-TW (e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2F&lt;br /&gt;
220&lt;br /&gt;
16H&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 0000 / 0000&lt;br /&gt;
0 / 0&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1220-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Ethernet: HanRun HR901110A 1225&lt;br /&gt;
* No Issues&lt;br /&gt;
* Note: F1 and F2 are black 0 ohm resistors instead of green polyfuses&lt;br /&gt;
| [[File:RPi-BS1224-Front_Shuckle.jpg|100px|thumb|center]]&lt;br /&gt;
|&lt;br /&gt;
| Farnell&lt;br /&gt;
| shuckle&lt;br /&gt;
|-&lt;br /&gt;
| BS1218&lt;br /&gt;
| Samsung&amp;lt;pre&amp;gt;216&lt;br /&gt;
K4P2G324ED-AGC1&lt;br /&gt;
GAL0839R&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&amp;lt;pre&amp;gt;&lt;br /&gt;
LAN9512-JZX&lt;br /&gt;
B1215-A1B17&lt;br /&gt;
8R150188B&lt;br /&gt;
ASE-TW&lt;br /&gt;
(e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2E&lt;br /&gt;
220&lt;br /&gt;
16H&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
| F014&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1213-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
* None&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Farnell&lt;br /&gt;
| d4lamar&lt;br /&gt;
|-&lt;br /&gt;
| BS1222&lt;br /&gt;
| Samsung &amp;lt;pre&amp;gt;225&lt;br /&gt;
K4P2G324ED-AGC1&lt;br /&gt;
GAC0289E&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1227-A1B17&lt;br /&gt;
8R1511968&lt;br /&gt;
CTI-TW (e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2F&lt;br /&gt;
220&lt;br /&gt;
16H&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 0000 / 0000&lt;br /&gt;
0 / 0&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1217-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Ethernet: HanRun HR901110A 1228&lt;br /&gt;
* Both boards by wcfields ordered at the same time/date.&lt;br /&gt;
* Note: F1 and F2 are black 0 ohm resistors instead of green polyfuses&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| MCM&lt;br /&gt;
| wcfields&lt;br /&gt;
|-&lt;br /&gt;
| BS1232&lt;br /&gt;
| Samsung &amp;lt;pre&amp;gt;225&lt;br /&gt;
K4P2G324ED-AGC1&lt;br /&gt;
GAC0289H&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1227-A1B17&lt;br /&gt;
8R151261A&lt;br /&gt;
CTI-TW (e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2F&lt;br /&gt;
220&lt;br /&gt;
16H&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 0000 / 0000&lt;br /&gt;
0 / 0&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1225-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Ethernet: HanRun HR901110A 1228&lt;br /&gt;
* Both boards by wcfields ordered at the same time/date.&lt;br /&gt;
* Note: F1 and F2 are black 0 ohm resistors instead of green polyfuses&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| MCM&lt;br /&gt;
| wcfields&lt;br /&gt;
|-&lt;br /&gt;
| BS1228&lt;br /&gt;
| Samsung &amp;lt;pre&amp;gt;234&lt;br /&gt;
K4P2G324ED-AGC1&lt;br /&gt;
GAK1229X&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1228-A1B17&lt;br /&gt;
8R151303B&lt;br /&gt;
CTI-TW (e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2E&lt;br /&gt;
220&lt;br /&gt;
16H&amp;lt;/pre&amp;gt;&lt;br /&gt;
| 0000 / 0000&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1220-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
  * Serious problems with the 4GB SDHC-Card ordered with the board on initial testing with Gentoo (corrupted FS)&lt;br /&gt;
  * Same issues using rasbian and two different supported SD cards&lt;br /&gt;
  * Using RS original power adapter&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| RC&lt;br /&gt;
| FKlama&lt;br /&gt;
|-&lt;br /&gt;
| BS1233&lt;br /&gt;
| Samsung &amp;lt;pre&amp;gt;231&lt;br /&gt;
K4P4G324EB-AGC1&lt;br /&gt;
GKG0609V&lt;br /&gt;
(512MB version)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1227-A1B17&lt;br /&gt;
8R151261A&lt;br /&gt;
CTI-TW (e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2E&lt;br /&gt;
220&lt;br /&gt;
CFP&lt;br /&gt;
2G6&amp;lt;/pre&amp;gt;&lt;br /&gt;
| None / None&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;17-33G&lt;br /&gt;
RRB32 (ON)&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
 -Ethernet Jack: No visible branding&lt;br /&gt;
 -PS: 500mA Mobile phone charger &amp;amp; USB Port on Laptop and Desktop (These are all I had). Works with blackberry 8520 550mA charger.&lt;br /&gt;
 -Fuse(s): ONLY seems to have green polyswitch (F3) on bottom side of board F1 and F2 don't exist&lt;br /&gt;
 -In the position of the (other fuses) there is a mounting hole, likewise there is also a mounting hole under the Raspberry Pi Logo.&lt;br /&gt;
&lt;br /&gt;
 -There is also an extra header (P5) defined on the bottom side of the PCB near P1 (which is on the top side)&lt;br /&gt;
 -Won't boot with a known working (This same card will boot on BS1215 ) Kingston 4GB Class 4 SD Card, Raspbian &amp;quot;wheezy&amp;quot; 2012-09-18.&lt;br /&gt;
 -When using raspbmc powered with 550ma blackberry 8520 charger, keyboard and mouse disconnects frequently also external hard drive unmounts frequently.&lt;br /&gt;
 -When using torrents and connected with usb wireless adapter (tested with Netgear WNA1000M), when torrent picks up speed, raspbian becomes unstable. Same works well over Ethernet.&lt;br /&gt;
 -The unit WILL boot from the SD card bought from Element 14.&lt;br /&gt;
 -Will add more when I know more.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Farnell/Element14 (AU)&lt;br /&gt;
| TheSteveB&lt;br /&gt;
|-&lt;br /&gt;
| BS1236&lt;br /&gt;
| Samsung &amp;lt;pre&amp;gt;225&lt;br /&gt;
K4P46324EB-AGC1&lt;br /&gt;
GKEM509X&lt;br /&gt;
(512MB version)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1232-A1B17&lt;br /&gt;
8R151680A&lt;br /&gt;
CTI-TW (e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2F&lt;br /&gt;
220&lt;br /&gt;
16H&amp;lt;/pre&amp;gt;&lt;br /&gt;
| None / None&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1225-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
*Ethernet Jack: HanRun HT901110A 1228&lt;br /&gt;
*Seems to randomly power off on 3 different PS's (650mA, 900mA and 1A) (http://www.raspberrypi.org/phpBB3/viewtopic.php?f=28&amp;amp;t=22353)&lt;br /&gt;
*Extra header, F1, F2 and F3 and mounting holes just like BS1233&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|RS&lt;br /&gt;
|Yaron&lt;br /&gt;
|-&lt;br /&gt;
| BS1238&lt;br /&gt;
| Samsung &amp;lt;pre&amp;gt;225&lt;br /&gt;
K4P4G324EB-AGC1&lt;br /&gt;
GKFX1390&lt;br /&gt;
(512MB version)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| SMSC&lt;br /&gt;
&amp;lt;pre&amp;gt;LAN9512-JZX&lt;br /&gt;
B1232-A1B17&lt;br /&gt;
8R151549A&lt;br /&gt;
CTI-TW (e3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &amp;lt;pre&amp;gt;2H&lt;br /&gt;
220&lt;br /&gt;
16H&amp;lt;/pre&amp;gt;&lt;br /&gt;
| None / None&lt;br /&gt;
? / ?&lt;br /&gt;
| &amp;lt;pre&amp;gt;SE8117T33&lt;br /&gt;
1225-LF&amp;lt;/pre&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
*Ethernet Jack: HanRun HR901110A 1230&lt;br /&gt;
*With extra header P5, missing fuses F1 and F2, and with mounting holes just like BS1233&lt;br /&gt;
*Weird stability problems. Can build Quake3, and can play it for a little while, but eventually locks up (black screen, loses ethernet link). Putting it in the Adafruit case seems to exacerbate the problem.&lt;br /&gt;
*Highest temp measured by &amp;lt;code&amp;gt;vcgencmd measure_temp&amp;lt;/code&amp;gt; is 53.5C. Last measured temp before lockup was 53.0C&lt;br /&gt;
*Problem occurs with both the Adafruit power supply as well as my Nexus 7 2A supply.&lt;br /&gt;
*Tested with at least 3 different Micro-USB cables.&lt;br /&gt;
*Tested with the 4GB Dane-Elec Class 4 MicroSD card from Adafruit, as well as an 8GB Class 10 SanDisk full-size SD card.&lt;br /&gt;
*Voltages:&lt;br /&gt;
**Idle, with HDMI only&lt;br /&gt;
***5.06V (polyfuse in)&lt;br /&gt;
***4.82V (polyfuse out)&lt;br /&gt;
**Idle, with HDMI, keyboard and mouse&lt;br /&gt;
***5.04V (polyfuse in)&lt;br /&gt;
***4.77V (polyfuse out)&lt;br /&gt;
**Running Quake (with HDMI, keyboard, mouse, and network)&lt;br /&gt;
***4.98V (polyfuse in)&lt;br /&gt;
***4.55V (polyfuse out)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Adafruit (US)&lt;br /&gt;
|Balefrost&lt;br /&gt;
|-}&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/User:AndrewS</id>
		<title>User:AndrewS</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/User:AndrewS"/>
				<updated>2013-02-22T04:06:37Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Freelance Software Developer'''&lt;br /&gt;
&lt;br /&gt;
Visit my website to get in touch with me:&amp;lt;BR&amp;gt;&lt;br /&gt;
http://www.andrewscheller.co.uk&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/User_talk:Zootboy</id>
		<title>User talk:Zootboy</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/User_talk:Zootboy"/>
				<updated>2013-02-22T03:54:29Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Your error ==&lt;br /&gt;
Do not EVER make a correction of the model wizard on the actual WIZARD, there's a talk page for that. You are wrong (even though it may seem like common sense), so do not ever edit the model.&lt;br /&gt;
&lt;br /&gt;
:Hello, Jeff. Thank you for alerting me to my supposed error, I appreciate the chance to defend myself. I'm a bit surprised by your tone, however. You seem to be very controlling, almost possessive over the model wizard. It seems strange to me, considering that this is an open wiki that is supposed to be contributed to by everybody.&lt;br /&gt;
&lt;br /&gt;
:I will quote your message here: &amp;quot;Do not EVER make a correction of the model wizard on the actual WIZARD, there's a talk page for that. You are wrong (even though it may seem like common sense), so do not ever edit the model.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
:As I understand it, the talk page is meant to discuss changes or revisions that may be under question. My edit, however, did not fall under that category, and I can back my edit up with facts. To refresh our memories, the line under question is this: &amp;quot; It is impossible to connect to the internet, even with a wireless adapter.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
:This line is factually incorrect, so I edited the page to correct this. The Model A and Model B have these differences: one verses two USB ports, 256MB verses 256/512MB, no built-in ethernet verses on-board ethernet adapter. On a deeper level, the Model A connects the single USB port directly to the chipset, while the Model B has a USB hub within the ethernet chipset to supply the two ports.&lt;br /&gt;
&lt;br /&gt;
:So, from this, we know that both models of RPi have fully functioning USB ports. Since they also share the same EXACT Broadcom chipset and run the same EXACT Linux images, there is no reason from a hardware or software standpoint that one can network while the other one can't. (The power issue for running a USB WiFi chipset is present on both models, and must be mitigated in both by using a powered USB hub.)&lt;br /&gt;
&lt;br /&gt;
:I would also point out that the ethernet chipset is not required to run a USB wireless chipset. The two operate totally independently, with different kernel modules and everything.&lt;br /&gt;
&lt;br /&gt;
:I see from your userpage that you are the President of the RPWC. I take that to mean that you are heavily involved in the RPi wiki project. Please understand that I mean no disrespect when I assert my claims, but I find it uncharacteristic of a heavy wiki user to revert a perfectly reasonable assertion without any sort of explanation and going on to leave a heavy-handed and somewhat belittling message on their talk page. I hope this is uncharacteristic of you, Jeff.&lt;br /&gt;
&lt;br /&gt;
:: FWIW, [[User:Jeff]] does not represent the elinux.org wiki or any content found therein.  I'm still unsure what the RPWC is, or how it thinks it has any bearing on any content on elinux.org, be it RPi content or not, but I assure you that elinux.org will remain as open as possible!  Edit what you want, review counter edits, etc. etc. Please contact [[User:wmat]] if you have any questions regarding this.  --[[User:Wmat|Wmat]] ([[User talk:Wmat|talk]]) 02:45, 29 November 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
::: Thanks for the info. I wasn't sure exactly how this wiki operated, so I was treading carefully. Glad to know the wiki supports open wiki principles! --[[User:Zootboy|Zootboy]] ([[User talk:Zootboy|talk]]) 02:57, 29 November 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::: I also agree that &amp;quot;Jeff&amp;quot; and &amp;quot;RPWC&amp;quot; seem to be very heavy-handed and over the top. AFAICT Jeff (view his [[Special:Contributions/Jeff|edits]]) took it upon himself to create the &amp;quot;Wiki Council&amp;quot; and elect himself &amp;quot;President&amp;quot; :-/ &amp;lt;BR&amp;gt; [[R-Pi_Hub]] says &amp;quot;As the RPi wiki is currently a wreck, the council's current goal is to clean up the RPi Wiki&amp;quot; so I made some suggestions at the bottom of [[eLinux.org:RPi_Council]] but that page hasn't even been touched since October last year, which IMHO speaks volumes... I personally think it's doing more harm than good, especially with the &amp;quot;Note: This is official and is ok with the administration of eLinux.&amp;quot; line at the top. [[User:AndrewS|AndrewS]] ([[User talk:AndrewS|talk]]) 03:54, 22 February 2013 (UTC)&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Talk:RPi_ADC_I2C_Python</id>
		<title>Talk:RPi ADC I2C Python</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Talk:RPi_ADC_I2C_Python"/>
				<updated>2013-02-22T03:22:01Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: /* Updated PYTHONPATH step */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Updated PYTHONPATH step==&lt;br /&gt;
It seems the quick2wire people reorganized the quick2wire-python-api so there is no longer a src directory. The README says to add the path to the root directory of the package to the PYTHONPATH variable. I found in my own use that was required as well. There is no longer a src/ directory and the test script fails saying it can not find the module. Putting in the root directory path for the package fixed the problem, so I updated these directions to reflect the current correct installation procedure. --[[User:Bgirardot|Bgirardot]] ([[User talk:Bgirardot|talk]]) 00:49, 15 January 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
Thanks! :)  [[User:AndrewS|AndrewS]] ([[User talk:AndrewS|talk]]) 03:22, 22 February 2013 (UTC)&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/RPi_Hardware</id>
		<title>RPi Hardware</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RPi_Hardware"/>
				<updated>2013-02-22T03:14:06Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: /* Schematic / Layout */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: RaspberryPi]]&lt;br /&gt;
{{Template:RPi_Hardware}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
[[File:Rpi unpopulated pcb.jpg|thumb|right|The unpopulated Rpi bèta board]]&lt;br /&gt;
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 [[Rpi Low-level peripherals| GPIO pins]] on each board allow the use of optional [[Rpi expansion boards|expansion boards]].&lt;br /&gt;
&lt;br /&gt;
Those who are looking to set up a Raspberry Pi for the first time, see [[RPi Hardware Basic Setup]].&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! Model A&lt;br /&gt;
! Model B&lt;br /&gt;
|-&lt;br /&gt;
| Target price:&amp;lt;ref name=&amp;quot;faq&amp;quot; &amp;gt;http://www.raspberrypi.org/faqs&amp;lt;/ref&amp;gt;&lt;br /&gt;
| US$25 Ext tax (GBP £16 Exc VAT)&lt;br /&gt;
| US$35 Ext tax (GBP £22 Exc VAT)&lt;br /&gt;
|-&lt;br /&gt;
| System-on-a-chip (SoC):&amp;lt;ref name=&amp;quot;faq&amp;quot; /&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Broadcom BCM2835 (CPU + GPU. SDRAM is a separate chip stacked on top)&lt;br /&gt;
|-&lt;br /&gt;
| CPU:&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 700&amp;amp;nbsp;MHz ARM11 ARM1176JZF-S core&lt;br /&gt;
|-&lt;br /&gt;
| GPU:&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Broadcom VideoCore IV,OpenGL ES 2.0,OpenVG 1080p30 H.264 high-profile encode/decode &lt;br /&gt;
|-&lt;br /&gt;
| Memory (SDRAM)iB&lt;br /&gt;
| 256&amp;amp;nbsp;MiB (planned with 128&amp;amp;nbsp;MiB, upgraded to 256&amp;amp;nbsp;MiB on 29 Feb 2012)&lt;br /&gt;
| 256&amp;amp;nbsp;MiB (until 15 Oct 2012); 512&amp;amp;nbsp;MiB (since 15 Oct 2012)&lt;br /&gt;
|-&lt;br /&gt;
| USB 2.0 ports:&lt;br /&gt;
| 1 (provided by the BCM2835)&lt;br /&gt;
| 2 (via integrated USB hub)&lt;br /&gt;
|-&lt;br /&gt;
| Video outputs:&amp;lt;ref name=&amp;quot;faq&amp;quot; /&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Composite video | Composite RCA, HDMI (not at the same time)&lt;br /&gt;
|-&lt;br /&gt;
| Audio outputs:&amp;lt;ref name=&amp;quot;faq&amp;quot; /&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | TRS connector | 3.5 mm jack, HDMI&lt;br /&gt;
|-&lt;br /&gt;
| Audio inputs:&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | none, but a USB mic or sound-card could be added&lt;br /&gt;
|-&lt;br /&gt;
| Onboard Storage:&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Secure Digital|SD / MMC / SDIO card slot&lt;br /&gt;
|-&lt;br /&gt;
| Onboard Network:&amp;lt;ref name=&amp;quot;faq&amp;quot; /&amp;gt;&lt;br /&gt;
| None&lt;br /&gt;
| 10/100 wired Ethernet RJ45&lt;br /&gt;
|-&lt;br /&gt;
| Low-level peripherals:&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | General Purpose Input/Output (GPIO) pins, Serial Peripheral Interface Bus (SPI), I²C, I²S&amp;lt;ref name=&amp;quot;i2s&amp;quot;&amp;gt;[http://www.raspberrypi.org/forum/features-and-requests/sad-about-removal-of-i2s-why-was-this-change-made Forum:Sad about removal of I2S. Why was this change made?]&amp;lt;/ref&amp;gt;, Universal asynchronous receiver/transmitter (UART)&lt;br /&gt;
|-&lt;br /&gt;
| Real-time clock:&amp;lt;ref name=&amp;quot;faq&amp;quot; /&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | None&lt;br /&gt;
|-&lt;br /&gt;
| Power ratings (provisional, from alpha board):&lt;br /&gt;
| 500&amp;amp;nbsp;mA, (2.5&amp;amp;nbsp;W) &amp;lt;ref name=&amp;quot;faq&amp;quot; /&amp;gt;&lt;br /&gt;
| 700&amp;amp;nbsp;mA, (3.5&amp;amp;nbsp;W)&lt;br /&gt;
|-&lt;br /&gt;
| Power source:&amp;lt;ref name=&amp;quot;faq&amp;quot; /&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 5&amp;amp;nbsp;V (DC) via Micro USB type B or GPIO header&lt;br /&gt;
|-&lt;br /&gt;
| Size:&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 85.0 x 56.0 mm (two different boards, measured with callipers)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Components==&lt;br /&gt;
[[File:Raspi-Model-AB-Mono-2-699x1024.png|400px|thumb|right|A diagram denoting the places of the different components on the Rpi, made by Paul&lt;br /&gt;
Beech, edited to show 256MB ram for both boards]]&lt;br /&gt;
(Provisional - some of the expansion interfaces won't be available on production boards)&lt;br /&gt;
(PCB IDs are those of the Model B Beta board) &lt;br /&gt;
&lt;br /&gt;
* SoC: [http://www.broadcom.com/products/BCM2835 Broadcom BCM2835 media processor] ([http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf datasheet], [[BCM2835 datasheet errata]], [[RPi_BCM2835_Pinout|unofficial pinout]]) system-on-chip featuring:&lt;br /&gt;
** CPU core: [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0301h/DDI0301H_arm1176jzfs_r0p7_trm.pdf 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 [http://en.wikipedia.org/wiki/ARM_architecture ARM architecture] and [http://en.wikipedia.org/wiki/List_of_ARM_microprocessor_cores List of ARM microprocessor cores].&lt;br /&gt;
** 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&lt;br /&gt;
** 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)&lt;br /&gt;
** 256MiB of ([http://www.hynix.com/products/mobile/view.jsp?info.ramKind=28&amp;amp;info.serialNo=H9TKNNN2GDMPLR&amp;amp;posMap=MobileDDR2 Hynix MobileDDR2] or [http://www.samsung.com/global/business/semiconductor/product/mobile-dram/detail?productId=7611&amp;amp;iaId=747 Samsung Mobile DRAM]) SDRAM (or 512MB [http://www.samsung.com/global/business/semiconductor/product/mobile-dram/detail?iaId=747&amp;amp;productId=7609 Mobile DRAM] on later boards).  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.  Here is a highly magnified side view of the SDRAM stacked on top of the BCM2835 stacked on top of the PCB [http://www.raspberrypi.org/wp-content/uploads/2012/09/2012-09-21-10.58.22.jpg PoP stack] (you can see why it's job that can only be done by robots!).&lt;br /&gt;
* 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:&lt;br /&gt;
** 10/100Mb Ethernet (Auto-MDIX)&amp;lt;ref name=autoMDIX&amp;gt;[http://en.wikipedia.org/wiki/Medium_dependent_interface#Auto-MDIX Wikipedia:Auto-MDIX]&amp;lt;/ref&amp;gt;&lt;br /&gt;
** 2x USB 2.0 &lt;br /&gt;
* S1: Micro USB power jack (5v - Power Only)&lt;br /&gt;
* S2: [http://www.mipi.org/specifications/display-interface DSI] interface.  15-pin surface mounted flat flex connector, providing two data lanes, one clock lane, 3.3V and GND.&lt;br /&gt;
* S3: HDMI connector providing type A HDMI 1.3a out&lt;br /&gt;
* S4: Composite Video connector: RCA&lt;br /&gt;
* S5: MIPI [http://www.mipi.org/specifications/camera-interface CSI-2] interface.  15-pin surface mounted flat flex connector.&lt;br /&gt;
* S6: Audio connector: 3.5mm stereo jack (output only)&lt;br /&gt;
* S8: SD/MMC/SDIO memory card slot (underside)&lt;br /&gt;
* S7: Either 1x USB 2.0 '''(Model A)''' 2x USB 2.0 '''(Model B)'''&lt;br /&gt;
* P1: 26-pin 2.54 mm header expansion, providing: see [[Rpi_Low-level_peripherals | Low-level peripherals]]&lt;br /&gt;
** 8 [[Rpi_Low-level_peripherals#General_Purpose_Input.2FOutput_.28GPIO.29|GPIO]]s at 3v3&lt;br /&gt;
** 2-pin UART serial console, 3v3 TTL (debug); or 2 GPIOs at 3v3&lt;br /&gt;
** I&amp;amp;sup2;C interface (3v3); or 2 GPIOs at 3v3&lt;br /&gt;
** SPI interface (3v3); or 5 GPIOs at 3v3&lt;br /&gt;
** 3v3, 5v and GND supply pins&lt;br /&gt;
** ARM JTAG (if pins are reconfigured in software and one signal is taken from S5)&lt;br /&gt;
** Second I&amp;amp;sup2;C interface (3v3) (if pins are reconfigured in software)&lt;br /&gt;
** I&amp;amp;sup2;S interface (if pins are reconfigured in software, hardware hack may be required&amp;lt;ref name=&amp;quot;i2s&amp;quot;/&amp;gt;)&lt;br /&gt;
** 6 pins reserved for future use&lt;br /&gt;
* P2: 8-pin 2.54 mm header expansion providing GPU JTAG (ARM11 pinout, pin 7 is nofit for locating)&lt;br /&gt;
* P3: 7-pin 2.54 mm header expansion (header not fitted), providing LAN9512 JTAG (pin 6 is nofit for locating)&lt;br /&gt;
* P4: 10/100Mb RJ45 Ethernet jack '''(Model B)'''&lt;br /&gt;
* TP1 and TP2: Test Points giving access to +5V and GND respectively&lt;br /&gt;
* 5 Status LEDs&amp;lt;ref name=&amp;quot;PCBs&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/402 RPiBlog Post: High-res pics of the PCBs]&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;LEDs&amp;quot;&amp;gt;[http://twitpic.com/8edlsf TwitPic:Photo of Board Powered]&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;LEDsGPIO&amp;quot;&amp;gt;[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?]&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;OKGreen&amp;quot;&amp;gt;[[RPi_schematic_errata]]&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Revision2.0&amp;quot;&amp;gt;[http://www.raspberrypi.org/archives/1959 RPiBlog Post: A nice shiny photo of the rev2 board – and User Guide news]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
** D5(Green) - SDCard Access (via GPIO16) - labelled as &amp;quot;OK&amp;quot; on Rev1.0 boards and &amp;quot;ACT&amp;quot; on Rev2.0 boards&lt;br /&gt;
** D6(Red) - 3.3 V Power - labelled as &amp;quot;PWR&amp;quot; on both Rev1.0 and Rev2.0 boards&lt;br /&gt;
** D7(Green) - Full Duplex (LAN) '''(Model B)''' - labelled as &amp;quot;FDX&amp;quot; on both Rev1.0 and Rev2.0 boards&lt;br /&gt;
** D8(Green)  - Link/Activity (LAN) '''(Model B)''' - labelled as &amp;quot;LNK&amp;quot; on both Rev1.0 and Rev2.0 boards&lt;br /&gt;
** D9(Yellow) - 10/100Mbit (LAN) '''(Model B)''' - labelled (incorrectly) as &amp;quot;10M&amp;quot; on Rev1.0 boards and &amp;quot;100&amp;quot; on Rev2.0 boards&lt;br /&gt;
&lt;br /&gt;
* Board size: 85.60 mm x 53.98 mm.  Overall height expected to be less than 25 mm. &amp;lt;ref name=&amp;quot;artwork&amp;quot;&amp;gt;http://www.raspberrypi.org/archives/344&amp;lt;/ref&amp;gt;&lt;br /&gt;
** A model B between highest points (USB connector to card slot) measured 21 mm.&lt;br /&gt;
* Weight: under 40 g?&lt;br /&gt;
** Alpha board weighs approx. 55 g.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/?page_id=43&amp;amp;mingleforumaction=viewtopic&amp;amp;t=285.0&amp;lt;/ref&amp;gt;&lt;br /&gt;
** A sample model B weighed 39.45 g.&lt;br /&gt;
* 6 layer PCB &amp;lt;ref name=&amp;quot;artwork&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Schematic / Layout==&lt;br /&gt;
&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2011/07/raspberry1.png PCB screenshot, Alpha board]&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2011/11/gerbers2.png PCB screenshot rev 1.0]&lt;br /&gt;
* [http://lh3.googleusercontent.com/-uO4l8pwSLvU/TsQGbth6x6I/AAAAAAAAAkk/5zQMH3uKPiE/s829/Boardlayout.png PCB screenshot rev 1.0, labelled version]&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2011/12/psu.png Preliminary power supply schematic, Beta board]&lt;br /&gt;
* [http://elinux.org/File:RPi-Front-JPB.jpg High-resolution Model B PCB front photo, production board rev 1.0]&lt;br /&gt;
* [http://elinux.org/File:RPi-back-JPB.jpg High-resolution Model B PCB back photo, production board rev 1.0]&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2012/09/sony-rasp-pi.jpg High-resolution Model B PCB front photo, production board rev 2.0]&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2012/11/2012-11-29-14.48.47-HDR.jpg High-resolution Model A PCB front photo, production board rev 2.0]&lt;br /&gt;
* [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)]&lt;br /&gt;
* [[Media:RPi beta xray.jpg|&amp;quot;Xray style&amp;quot; image of the beta board, created from the above GIMP project]] | [[RPi_xray_wallpapers|desktop wallpapers]]&lt;br /&gt;
* [http://www.raspberrypi.org/wp-content/uploads/2012/04/Raspberry-Pi-Schematics-R1.0.pdf Official Rev 1.0 schematics PDF] | [http://www.raspberrypi.org/wp-content/uploads/2012/10/Raspberry-Pi-R2.0-Schematics-Issue2.2_027.pdf Official Rev 2.0 schematics PDF] | [[RPi_schematic_differences|differences]] | [[RPi_schematic_errata|errata]] | [[RPi_schematics_breakdown|breakdown]] | [[RPi_Partial_BOM_Rev2.0_ModelB|partial BOM]]&lt;br /&gt;
* [http://www.andrewscheller.co.uk/rpi_pcb_modules.html 'Module groups' of the PCB photos]&lt;br /&gt;
&lt;br /&gt;
==Power==&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Premier Farnell recommend the following power supplies:&lt;br /&gt;
* Model A: 5V dc, 500-700mA&lt;br /&gt;
* Model B: 5V dc, 700-1200mA&lt;br /&gt;
&lt;br /&gt;
Power consumption of the Raspberry Pi device is&lt;br /&gt;
&lt;br /&gt;
* Board A: 5V, 500 mA (2.5W) '''without any devices connected''' (e.g. USB, Ethernet, HDMI)&lt;br /&gt;
* Board B: 5V, 700 mA (3.5W) '''without any devices connected''' (e.g. USB, Ethernet, HDMI) (Is this correct? These [http://www.raspberrypi.org/forum/troubleshooting/usb-hub-sending-power-to-raspberry-pi-through-usb-port/#p68382] links [http://www.raspberrypi.org/forum/general-discussion/raspberry-pi-power-requirements/page-2/#p68224] suggest that the 700mA is only required if &amp;quot;using networking and high-current USB peripherals&amp;quot; [http://www.raspberrypi.org/archives/260].)&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
*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.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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).&lt;br /&gt;
* 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 &amp;quot;polyfuses&amp;quot; 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&amp;quot; (.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).&lt;br /&gt;
&lt;br /&gt;
===Power Supply Problems===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The power required by the Pi will vary depending on how busy it is and what peripherals are connected.&lt;br /&gt;
* Running a GUI will take more power.&lt;br /&gt;
* The USB devices and Ethernet connection will take power.&lt;br /&gt;
* Running the GPU will take extra power.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;low power&amp;quot; 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 &amp;amp; F2 removed (replaced with shorts).&lt;br /&gt;
&lt;br /&gt;
The microUSB input port also has a 1.1 A polyfuse (700mA &amp;quot;hold current&amp;quot;) 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.&lt;br /&gt;
&lt;br /&gt;
A extended explanation of the consequences of the use of these polyfuses can be found here [[Polyfuses explained]]&lt;br /&gt;
&lt;br /&gt;
There are several reasons why the power to the board may be inadequate:&lt;br /&gt;
* 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.&lt;br /&gt;
* The PSU is not regulated.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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 &amp;quot;blow&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
====How Can I tell if the power supply is inadequate?====&lt;br /&gt;
&lt;br /&gt;
Common symptoms of an inadequate power supply are&lt;br /&gt;
* Unreliable Ethernet or keyboard operation, especially if it's OK at first but not when the GUI is started.&lt;br /&gt;
* SD card errors at start up seems to be another symptom of poor power.&lt;br /&gt;
&lt;br /&gt;
If you think you have a problem with your power supply, it is a good idea to check the actual voltage&lt;br /&gt;
on the Raspberry Pi circuit board. Two test points labelled TP1 and TP2 are provided on the circuit board&lt;br /&gt;
to facilitate voltage measurements.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[File:RPI_Test_Points.JPG|400px]] [[File:Voltmeter.JPG|250px]]&lt;br /&gt;
&lt;br /&gt;
====Things that can cause problems====&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* A power supply that is rated for less than 700mA may work some of the time.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
====Summary====&lt;br /&gt;
&lt;br /&gt;
* If you are having unreliable operation the first thing to do is check your power supply.&lt;br /&gt;
* Start with a good quality regulated power supply that is rated to provide 5V and at least 1A (1000mA).&lt;br /&gt;
* Use a good quality micro USB cable. Cables are notorious for giving trouble so be prepared to swap for another one.&lt;br /&gt;
* Not all power supplies will deliver what they claim.&lt;br /&gt;
&lt;br /&gt;
===Capacitor C6===&lt;br /&gt;
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.&lt;br /&gt;
[[File:Rpic6.jpg|300px|thumb|center|Capacitor C6 (ringed)]]&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
[http://uk.farnell.com/jsp/search/browse.jsp?N=202457+110114112+110119850+110141127+110200576&amp;amp;No=0&amp;amp;getResults=true&amp;amp;appliedparametrics=true&amp;amp;locale=en_UK&amp;amp;divisionLocale=en_UK&amp;amp;catalogId=&amp;amp;skipManufacturer=false&amp;amp;skipParametricAttributeId=&amp;amp;prevNValues=202457+110114112+110119850+110141127&amp;amp;mm=1000002|110114112|110114112,1001880|110119850|110119850,1002520||,1002063||,1002999||,&amp;amp;filtersHidden=false&amp;amp;appliedHidden=false&amp;amp;autoApply=true&amp;amp;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]&lt;br /&gt;
&lt;br /&gt;
[http://www.rapidonline.com/Electronic-Components/220uf-16v-85deg-Smd-Electro-Capacitor-11-2264 Rapid Electronics]&lt;br /&gt;
&lt;br /&gt;
[http://uk.rs-online.com/web/c/passives/capacitors/aluminium/?sort-by=default&amp;amp;sort-order=default&amp;amp;applied-dimensions=4294884868,%204294884170,%204294672278,4294885140&amp;amp;lastAttributeSelectedBlock=4294955811 RS Components]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you prefer to make your own PSU - see: [[RPi_5V_PSU_construction| Power Supply construction - HowTo]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Template:Raspberry Pi}}&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Talk:RPi_ADC_I2C_Python</id>
		<title>Talk:RPi ADC I2C Python</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Talk:RPi_ADC_I2C_Python"/>
				<updated>2013-02-22T03:07:55Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: /* Updated PYTHONPATH step */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Updated PYTHONPATH step==&lt;br /&gt;
It seems the quick2wire people reorganized the quick2wire-python-api so there is no longer a src directory. The README says to add the path to the root directory of the package to the PYTHONPATH variable. I found in my own use that was required as well. There is no longer a src/ directory and the test script fails saying it can not find the module. Putting in the root directory path for the package fixed the problem, so I updated these directions to reflect the current correct installation procedure. --[[User:Bgirardot|Bgirardot]] ([[User talk:Bgirardot|talk]]) 00:49, 15 January 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
Thanks! :)  [[User:AndrewS|AndrewS]] ([[User talk:AndrewS|talk]])&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/RPi_BCM2835_GPIOs</id>
		<title>RPi BCM2835 GPIOs</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RPi_BCM2835_GPIOs"/>
				<updated>2013-02-22T03:00:59Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: /* BCM2835 GPIO functions */ Crossed out outdated info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: RaspberryPi]]&lt;br /&gt;
[[Category: BCM2835]]&lt;br /&gt;
&lt;br /&gt;
Back to [[RPi_Low-level_peripherals]]&lt;br /&gt;
&lt;br /&gt;
= BCM2835 GPIO functions =&lt;br /&gt;
&lt;br /&gt;
This is a wiki-fied copy of Table 6-31 from the BCM2835 [http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf datasheet] including any relevant [[BCM2835_datasheet_errata|errata]], with a couple of extra columns, all nicely hyperlinked together and cross-referenced so that clicking on a function name will automatically take you to the description of that function.&lt;br /&gt;
Any GPIOs that aren't [[RPi_BCM2835_Pinout|connected]] on the RaspberryPi Model B revision 1.0 circuit board are &amp;lt;del&amp;gt;crossed out&amp;lt;/del&amp;gt;, and the GPIOs available on the [[Rpi_Low-level_peripherals|GPIO Connector (P1)]] are in '''bold''', with their default function (according to the [http://www.raspberrypi.org/wp-content/uploads/2012/04/Raspberry-Pi-Schematics-R1.0.pdf schematics]) in '''''bold italics'''''.&amp;lt;br&amp;gt;&lt;br /&gt;
(If you want to see how GPIO-pins map back to ''actual'' pins, see [[RPi_BCM2835_Pinout|this page]])&lt;br /&gt;
&lt;br /&gt;
GPIO Pins Alternative Function Assignment&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color:yellow;&amp;quot; | !! style=&amp;quot;background-color:yellow;&amp;quot; | Pull !! style=&amp;quot;background-color:yellow;&amp;quot; | ALT0 !! style=&amp;quot;background-color:yellow;&amp;quot; | ALT1 !! style=&amp;quot;background-color:yellow;&amp;quot; | ALT2 !! style=&amp;quot;background-color:yellow;&amp;quot; | ALT3 !! style=&amp;quot;background-color:yellow;&amp;quot; | ALT4 !! style=&amp;quot;background-color:yellow;&amp;quot; | ALT5 !! style=&amp;quot;background-color:yellow;&amp;quot; | RPi [[RPi_BCM2835_Signals_Rev1.0|Rev1.0 signal name]] !! style=&amp;quot;background-color:yellow;&amp;quot; | RPi [[RPi_BCM2835_Signals_Rev2.0|Rev2.0 signal name]] !! style=&amp;quot;background-color:yellow;&amp;quot; | RPi Rev1.0 [[Rpi_Low-level_peripherals|connection]] !! style=&amp;quot;background-color:yellow;&amp;quot; | RPi Rev2.0 [[Rpi_Low-level_peripherals|connection]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO0&amp;quot;&amp;gt;'''GPIO0'''&amp;lt;/div&amp;gt; || High || style=&amp;quot;background-color:orange;&amp;quot; | '''''[[#SDA0|SDA0]]''''' || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SAx|SA5]] || style=&amp;quot;background-color:darkolivegreen&amp;quot; | &amp;lt;reserved&amp;gt; || || || || SDA0 || SDA0 || style=&amp;quot;background-color:cyan;&amp;quot; | P1-03 || S5-14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO1&amp;quot;&amp;gt;'''GPIO1'''&amp;lt;/div&amp;gt; || High || style=&amp;quot;background-color:orange;&amp;quot; | '''''[[#SCL0|SCL0]]''''' || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SAx|SA4]] || style=&amp;quot;background-color:darkolivegreen&amp;quot; | &amp;lt;reserved&amp;gt; || || || || SCL0 || SCL0 || style=&amp;quot;background-color:cyan;&amp;quot; | P1-05 || S5-13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO2&amp;quot;&amp;gt;GPIO2&amp;lt;/div&amp;gt; || High || style=&amp;quot;background-color:magenta;&amp;quot; | [[#SDA1|SDA1]] || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SAx|SA3]] || style=&amp;quot;background-color:darkolivegreen&amp;quot; | &amp;lt;reserved&amp;gt; || || || || SDA1 || SDA1 || S5-14 || style=&amp;quot;background-color:cyan;&amp;quot; | P1-03&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO3&amp;quot;&amp;gt;GPIO3&amp;lt;/div&amp;gt; || High || style=&amp;quot;background-color:magenta;&amp;quot; | [[#SCL1|SCL1]] || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SAx|SA2]] || style=&amp;quot;background-color:darkolivegreen&amp;quot; | &amp;lt;reserved&amp;gt; || || || || SCL1 || SCL1 || S5-13 || style=&amp;quot;background-color:cyan;&amp;quot; | P1-05&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO4&amp;quot;&amp;gt;'''GPIO4'''&amp;lt;/div&amp;gt; || High || style=&amp;quot;background-color:turquoise;&amp;quot; | '''''[[#GPCLK0|GPCLK0]]''''' || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SAx|SA1]] || style=&amp;quot;background-color:darkolivegreen&amp;quot; | &amp;lt;reserved&amp;gt; || || || style=&amp;quot;background-color:silver&amp;quot; | [[#ARM_TDI|ARM_TDI]] || GPIO_GCLK || GPIO_GCLK || style=&amp;quot;background-color:lime;&amp;quot; | P1-07 || style=&amp;quot;background-color:lime;&amp;quot; | P1-07&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO5&amp;quot;&amp;gt;GPIO5&amp;lt;/div&amp;gt; || High || style=&amp;quot;background-color:turquoise;&amp;quot; | [[#GPCLK1|GPCLK1]] || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SAx|SA0]] || style=&amp;quot;background-color:darkolivegreen&amp;quot; | &amp;lt;reserved&amp;gt; || || || style=&amp;quot;background-color:silver&amp;quot; | [[#ARM_TDO|ARM_TDO]] || CAM_CLK || CAM_CLK || S5-12 || S5-12&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO6&amp;quot;&amp;gt;GPIO6&amp;lt;/div&amp;gt; || High || style=&amp;quot;background-color:turquoise;&amp;quot; | [[#GPCLK2|GPCLK2]] || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SOE_N|SOE_N / SE]] || style=&amp;quot;background-color:darkolivegreen&amp;quot; | &amp;lt;reserved&amp;gt; || || || style=&amp;quot;background-color:silver&amp;quot; | [[#ARM_RTCK|ARM_RTCK]] || LAN_RUN || LAN_RUN || IC3-12 || IC3-12&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO7&amp;quot;&amp;gt;'''GPIO7'''&amp;lt;/div&amp;gt; || High || style=&amp;quot;background-color:plum;&amp;quot; | '''''[[#SPI0_CE1_N|SPI0_CE1_N]]''''' || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SWE_N|SWE_N / SRW_N]] || style=&amp;quot;background-color:darkolivegreen&amp;quot; | &amp;lt;reserved&amp;gt; || || || || SPI_CE1_N  || SPI_CE1_N || style=&amp;quot;background-color:purple;color:white;&amp;quot; | P1-26 || style=&amp;quot;background-color:purple;color:white;&amp;quot; | P1-26&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO8&amp;quot;&amp;gt;'''GPIO8'''&amp;lt;/div&amp;gt; || High || style=&amp;quot;background-color:plum;&amp;quot; | '''''[[#SPI0_CE0_N|SPI0_CE0_N]]''''' || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SDx|SD0]] || style=&amp;quot;background-color:darkolivegreen&amp;quot; | &amp;lt;reserved&amp;gt; || || || || SPI_CE0_N || SPI_CE0_N || style=&amp;quot;background-color:purple;color:white;&amp;quot; | P1-24 || style=&amp;quot;background-color:purple;color:white;&amp;quot; | P1-24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO9&amp;quot;&amp;gt;'''GPIO9'''&amp;lt;/div&amp;gt; || Low || style=&amp;quot;background-color:plum;&amp;quot; | '''''[[#SPI0_MISO|SPI0_MISO]]''''' || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SDx|SD1]] || style=&amp;quot;background-color:darkolivegreen&amp;quot; | &amp;lt;reserved&amp;gt; || || || || SPI_MISO || SPI_MISO || style=&amp;quot;background-color:purple;color:white;&amp;quot; | P1-21 || style=&amp;quot;background-color:purple;color:white;&amp;quot; | P1-21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO10&amp;quot;&amp;gt;'''GPIO10'''&amp;lt;/div&amp;gt; || Low || style=&amp;quot;background-color:plum;&amp;quot; | '''''[[#SPI0_MOSI|SPI0_MOSI]]''''' || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SDx|SD2]] || style=&amp;quot;background-color:darkolivegreen&amp;quot; | &amp;lt;reserved&amp;gt; || || || || SPI_MOSI || SPI_MOSI || style=&amp;quot;background-color:purple;color:white;&amp;quot; | P1-19 || style=&amp;quot;background-color:purple;color:white;&amp;quot; | P1-19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO11&amp;quot;&amp;gt;'''GPIO11'''&amp;lt;/div&amp;gt; || Low || style=&amp;quot;background-color:plum;&amp;quot; | '''''[[#SPI0_SCLK|SPI0_SCLK]]''''' || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SDx|SD3]] || style=&amp;quot;background-color:darkolivegreen&amp;quot; | &amp;lt;reserved&amp;gt; || || || || SPI_SCLK || SPI_SCLK || style=&amp;quot;background-color:purple;color:white;&amp;quot; | P1-23 || style=&amp;quot;background-color:purple;color:white;&amp;quot; | P1-23&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO12&amp;quot;&amp;gt;&amp;lt;del&amp;gt;GPIO12&amp;lt;/del&amp;gt;&amp;lt;/div&amp;gt; || Low || style=&amp;quot;background-color:lightblue;&amp;quot; | [[#PWMx|PWM0]] || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SDx|SD4]] || style=&amp;quot;background-color:darkolivegreen&amp;quot; | &amp;lt;reserved&amp;gt; || || || style=&amp;quot;background-color:silver&amp;quot; | [[#ARM_TMS|ARM_TMS]] || nc || nc || ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO13&amp;quot;&amp;gt;&amp;lt;del&amp;gt;GPIO13&amp;lt;/del&amp;gt;&amp;lt;/div&amp;gt; || Low || style=&amp;quot;background-color:lightblue;&amp;quot; | [[#PWMx|PWM1]] || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SDx|SD5]] || style=&amp;quot;background-color:darkolivegreen&amp;quot; | &amp;lt;reserved&amp;gt; || || || style=&amp;quot;background-color:silver&amp;quot; | [[#ARM_TCK|ARM_TCK]] || nc || nc || ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO14&amp;quot;&amp;gt;'''GPIO14'''&amp;lt;/div&amp;gt; || Low || style=&amp;quot;background-color:red;&amp;quot; | '''''[[#TXD0|TXD0]]''''' || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SDx|SD6]] || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || || || style=&amp;quot;background-color:red;&amp;quot; | [[#TXD1|TXD1]] || TXD0 || TXD0 || style=&amp;quot;background-color:yellow;&amp;quot; | P1-08 || style=&amp;quot;background-color:yellow;&amp;quot; | P1-08&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO15&amp;quot;&amp;gt;'''GPIO15'''&amp;lt;/div&amp;gt; || Low || style=&amp;quot;background-color:red;&amp;quot; | '''''[[#RXD0|RXD0]]''''' || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SDx|SD7]] || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || || || style=&amp;quot;background-color:red;&amp;quot; | [[#RXD1|RXD1]] || RXD0 || RXD0 || style=&amp;quot;background-color:yellow;&amp;quot; | P1-10 || style=&amp;quot;background-color:yellow;&amp;quot; | P1-10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO16&amp;quot;&amp;gt;GPIO16&amp;lt;/div&amp;gt; || Low || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SDx|SD8]] || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:red;&amp;quot; | [[#CTS0|CTS0]] || style=&amp;quot;background-color:plum;&amp;quot; | [[#SPI1_CEx_N|SPI1_CE2_N]] || style=&amp;quot;background-color:red;&amp;quot; | [[#CTS1|CTS1]] || STATUS_LED_N || STATUS_LED_N || D5 (OK LED) || D5 (ACT LED)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO17&amp;quot;&amp;gt;'''''GPIO17'''''&amp;lt;/div&amp;gt; || Low || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SDx|SD9]] || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:red;&amp;quot; | [[#RTS0|RTS0]] || style=&amp;quot;background-color:plum;&amp;quot; | [[#SPI1_CEx_N|SPI1_CE1_N]] || style=&amp;quot;background-color:red;&amp;quot; | [[#RTS1|RTS1]] || GPIO_GEN0 || GPIO_GEN0 || style=&amp;quot;background-color:lime;&amp;quot; | P1-11 || style=&amp;quot;background-color:lime;&amp;quot; | P1-11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO18&amp;quot;&amp;gt;'''''GPIO18'''''&amp;lt;/div&amp;gt; || Low || style=&amp;quot;background-color:lawngreen;&amp;quot; | [[#PCM_CLK|PCM_CLK]] || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SDx|SD10]] || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:maroon;color:white;&amp;quot; | [[#MOSI|BSCSL SDA / MOSI]] || style=&amp;quot;background-color:plum;&amp;quot; | [[#SPI1_CEx_N|SPI1_CE0_N]] || style=&amp;quot;background-color:lightblue;&amp;quot; | [[#PWMx|PWM0]] || GPIO_GEN1 || GPIO_GEN1 || style=&amp;quot;background-color:lime;&amp;quot; | P1-12 || style=&amp;quot;background-color:lime;&amp;quot; | P1-12&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO19&amp;quot;&amp;gt;&amp;lt;del&amp;gt;GPIO19&amp;lt;/del&amp;gt;&amp;lt;/div&amp;gt; || Low || style=&amp;quot;background-color:lawngreen;&amp;quot; | [[#PCM_FS|PCM_FS]] || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SDx|SD11]] || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:maroon;color:white;&amp;quot; | [[#SCLK|BSCSL SCL / SCLK]] || style=&amp;quot;background-color:plum;&amp;quot; | [[#SPI1_MISO|SPI1_MISO]] || style=&amp;quot;background-color:lightblue;&amp;quot; | [[#PWMx|PWM1]] || nc || nc || ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO20&amp;quot;&amp;gt;&amp;lt;del&amp;gt;GPIO20&amp;lt;/del&amp;gt;&amp;lt;/div&amp;gt; || Low || style=&amp;quot;background-color:lawngreen;&amp;quot; | [[#PCM_DIN|PCM_DIN]] || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SDx|SD12]] || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:maroon;color:white;&amp;quot; | [[#MISO|BSCSL / MISO]] || style=&amp;quot;background-color:plum;&amp;quot; | [[#SPI1_MOSI|SPI1_MOSI]] || style=&amp;quot;background-color:turquoise;&amp;quot; | [[#GPCLK0|GPCLK0]] || nc || nc || ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO21&amp;quot;&amp;gt;'''''GPIO21'''''&amp;lt;/div&amp;gt; || Low || style=&amp;quot;background-color:lawngreen;&amp;quot; | [[#PCM_DOUT|PCM_DOUT]] || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SDx|SD13]] || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:maroon;color:white;&amp;quot; | [[#CE_N|BSCSL / CE_N]] || style=&amp;quot;background-color:plum;&amp;quot; | [[#SPI1_SCLK|SPI1_SCLK]] || style=&amp;quot;background-color:turquoise;&amp;quot; | [[#GPCLK1|GPCLK1]] || GPIO_GEN2 || CAM_GPIO || style=&amp;quot;background-color:lime;&amp;quot; | P1-13 || S5-11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO22&amp;quot;&amp;gt;'''''GPIO22'''''&amp;lt;/div&amp;gt; || Low || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SDx|SD14]] || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:turquoise;&amp;quot; | SD1_CLK || style=&amp;quot;background-color:silver;&amp;quot; | [[#ARM_TRST|ARM_TRST]] || || GPIO_GEN3 || GPIO_GEN3 || style=&amp;quot;background-color:lime;&amp;quot; | P1-15 || style=&amp;quot;background-color:lime;&amp;quot; | P1-15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO23&amp;quot;&amp;gt;'''''GPIO23'''''&amp;lt;/div&amp;gt; || Low || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SDx|SD15]] || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:turquoise;&amp;quot; | SD1_CMD || style=&amp;quot;background-color:silver;&amp;quot; | [[#ARM_RTCK|ARM_RTCK]] || || GPIO_GEN4 || GPIO_GEN4 || style=&amp;quot;background-color:lime;&amp;quot; | P1-16 || style=&amp;quot;background-color:lime;&amp;quot; | P1-16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO24&amp;quot;&amp;gt;'''''GPIO24'''''&amp;lt;/div&amp;gt; || Low || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SDx|SD16]] || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:turquoise;&amp;quot; | SD1_DAT0 || style=&amp;quot;background-color:silver;&amp;quot; | [[#ARM_TDO|ARM_TDO]] || || GPIO_GEN5 || GPIO_GEN5 || style=&amp;quot;background-color:lime;&amp;quot; | P1-18 || style=&amp;quot;background-color:lime;&amp;quot; | P1-18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO25&amp;quot;&amp;gt;'''''GPIO25'''''&amp;lt;/div&amp;gt; || Low || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SDx|SD17]] || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:turquoise;&amp;quot; | SD1_DAT1 || style=&amp;quot;background-color:silver;&amp;quot; | [[#ARM_TCK|ARM_TCK]] || || GPIO_GEN6 || GPIO_GEN6 || style=&amp;quot;background-color:lime;&amp;quot; | P1-22 || style=&amp;quot;background-color:lime;&amp;quot; | P1-22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO26&amp;quot;&amp;gt;&amp;lt;del&amp;gt;GPIO26&amp;lt;/del&amp;gt;&amp;lt;/div&amp;gt; || Low || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:turquoise;&amp;quot; | SD1_DAT2 || style=&amp;quot;background-color:silver;&amp;quot; | [[#ARM_TDI|ARM_TDI]] || || nc || nc || ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO27&amp;quot;&amp;gt;GPIO27&amp;lt;/div&amp;gt; || Low || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:turquoise;&amp;quot; | SD1_DAT3 || style=&amp;quot;background-color:silver;&amp;quot; | [[#ARM_TMS|ARM_TMS]] || || CAM_GPIO || GPIO_GEN2 || S5-11 || style=&amp;quot;background-color:lime;&amp;quot; | P1-13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO28&amp;quot;&amp;gt;GPIO28&amp;lt;/div&amp;gt; || - || style=&amp;quot;background-color:orange;&amp;quot; | [[#SDA0|SDA0]] || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SAx|SA5]] || style=&amp;quot;background-color:lawngreen;&amp;quot; | [[#PCM_CLK|PCM_CLK]] || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || || || CONFIG0 || GPIO_GEN7 || R10 / R8 || P5-3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO29&amp;quot;&amp;gt;GPIO29&amp;lt;/div&amp;gt; || - || style=&amp;quot;background-color:orange;&amp;quot; | [[#SCL0|SCL0]] || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SAx|SA4]] || style=&amp;quot;background-color:lawngreen;&amp;quot; | [[#PCM_FS|PCM_FS]] || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || || || CONFIG1 || GPIO_GEN8 || R9 / R7 || P5-4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO30&amp;quot;&amp;gt;GPIO30&amp;lt;/div&amp;gt; || Low || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SAx|SA3]] || style=&amp;quot;background-color:lawngreen;&amp;quot; | [[#PCM_DIN|PCM_DIN]] || style=&amp;quot;background-color:red;&amp;quot; | [[#CTS0|CTS0]] || || style=&amp;quot;background-color:red;&amp;quot; | [[#CTS1|CTS1]] || CONFIG2 || GPIO_GEN9 || R6 / R4 || P5-5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO31&amp;quot;&amp;gt;GPIO31&amp;lt;/div&amp;gt; || Low || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SAx|SA2]] || style=&amp;quot;background-color:lawngreen;&amp;quot; | [[#PCM_DOUT|PCM_DOUT]] || style=&amp;quot;background-color:red;&amp;quot; | [[#RTS0|RTS0]] || || style=&amp;quot;background-color:red;&amp;quot; | [[#RTS1|RTS1]] || CONFIG3 || GPIO_GEN10 || R5 / R3 || P5-6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO32&amp;quot;&amp;gt;&amp;lt;del&amp;gt;GPIO32&amp;lt;/del&amp;gt;&amp;lt;/div&amp;gt; || Low || style=&amp;quot;background-color:turquoise;&amp;quot; | [[#GPCLK0|GPCLK0]] || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SAx|SA1]] || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:red;&amp;quot; | [[#TXD0|TXD0]] || || style=&amp;quot;background-color:red;&amp;quot; | [[#TXD1|TXD1]] || nc || nc || ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO33&amp;quot;&amp;gt;&amp;lt;del&amp;gt;GPIO33&amp;lt;/del&amp;gt;&amp;lt;/div&amp;gt; || Low || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SAx|SA0]] || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:red;&amp;quot; | [[#RXD0|RXD0]] || || style=&amp;quot;background-color:red;&amp;quot; | [[#RXD1|RXD1]] || nc || nc || ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO34&amp;quot;&amp;gt;&amp;lt;del&amp;gt;GPIO34&amp;lt;/del&amp;gt;&amp;lt;/div&amp;gt; || High || style=&amp;quot;background-color:turquoise;&amp;quot; | [[#GPCLK0|GPCLK0]] || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SOE_N|SOE_N / SE]] || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || || || nc || nc || ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO35&amp;quot;&amp;gt;&amp;lt;del&amp;gt;GPIO35&amp;lt;/del&amp;gt;&amp;lt;/div&amp;gt; || High || style=&amp;quot;background-color:plum;&amp;quot; | [[#SPI0_CE1_N|SPI0_CE1_N]] || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SWE_N|SWE_N / SRW_N]] || || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || || || nc || nc || ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO36&amp;quot;&amp;gt;&amp;lt;del&amp;gt;GPIO36&amp;lt;/del&amp;gt;&amp;lt;/div&amp;gt; || High || style=&amp;quot;background-color:plum;&amp;quot; | [[#SPI0_CE0_N|SPI0_CE0_N]] || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SDx|SD0]] || style=&amp;quot;background-color:red;&amp;quot; | [[#TXD0|TXD0]] || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || || || nc || nc || ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO37&amp;quot;&amp;gt;&amp;lt;del&amp;gt;GPIO37&amp;lt;/del&amp;gt;&amp;lt;/div&amp;gt; || Low || style=&amp;quot;background-color:plum;&amp;quot; | [[#SPI0_MISO|SPI0_MISO]] || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SDx|SD1]] || style=&amp;quot;background-color:red;&amp;quot; | [[#RXD0|RXD0]] || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || || || nc || nc || ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO38&amp;quot;&amp;gt;&amp;lt;del&amp;gt;GPIO38&amp;lt;/del&amp;gt;&amp;lt;/div&amp;gt; || Low || style=&amp;quot;background-color:plum;&amp;quot; | [[#SPI0_MOSI|SPI0_MOSI]] || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SDx|SD2]] || style=&amp;quot;background-color:red;&amp;quot; | [[#RTS0|RTS0]] || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || || || nc || nc || ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO39&amp;quot;&amp;gt;&amp;lt;del&amp;gt;GPIO39&amp;lt;/del&amp;gt;&amp;lt;/div&amp;gt; || Low || style=&amp;quot;background-color:plum;&amp;quot; | [[#SPI0_SCLK|SPI0_SCLK]] || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SDx|SD3]] || style=&amp;quot;background-color:red;&amp;quot; | [[#CTS0|CTS0]] || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || || || nc || nc || ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO40&amp;quot;&amp;gt;GPIO40&amp;lt;/div&amp;gt; || Low || style=&amp;quot;background-color:lightblue;&amp;quot; | [[#PWMx|PWM0]] || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SDx|SD4]] || || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:plum;&amp;quot; | [[#SPI2_MISO|SPI2_MISO]] || style=&amp;quot;background-color:red;&amp;quot; | [[#TXD1|TXD1]] || PWM0_OUT || PWM0_OUT || R21 || R21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO41&amp;quot;&amp;gt;&amp;lt;del&amp;gt;GPIO41&amp;lt;/del&amp;gt;&amp;lt;/div&amp;gt; || Low || style=&amp;quot;background-color:lightblue;&amp;quot; | [[#PWMx|PWM1]] || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SDx|SD5]] || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:plum;&amp;quot; | [[#SPI2_MOSI|SPI2_MOSI]] || style=&amp;quot;background-color:red;&amp;quot; | [[#RXD1|RXD1]] || nc || nc || ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO42&amp;quot;&amp;gt;&amp;lt;del&amp;gt;GPIO42&amp;lt;/del&amp;gt;&amp;lt;/div&amp;gt; || Low || style=&amp;quot;background-color:turquoise;&amp;quot; | [[#GPCLK1|GPCLK1]] || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SDx|SD6]] || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:plum;&amp;quot; | [[#SPI2_SCLK|SPI2_SCLK]] || style=&amp;quot;background-color:red;&amp;quot; | [[#RTS1|RTS1]] || nc || nc || ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO43&amp;quot;&amp;gt;&amp;lt;del&amp;gt;GPIO43&amp;lt;/del&amp;gt;&amp;lt;/div&amp;gt; || Low || style=&amp;quot;background-color:turquoise;&amp;quot; | [[#GPCLK2|GPCLK2]] || style=&amp;quot;background-color:royalblue;&amp;quot; | [[#SDx|SD7]] || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:plum;&amp;quot; | [[#SPI2_CEx_N|SPI2_CE0_N]] || style=&amp;quot;background-color:red;&amp;quot; | [[#CTS1|CTS1]] || nc || nc || ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO44&amp;quot;&amp;gt;&amp;lt;del&amp;gt;GPIO44&amp;lt;/del&amp;gt;&amp;lt;/div&amp;gt; || - || style=&amp;quot;background-color:turquoise;&amp;quot; | [[#GPCLK1|GPCLK1]] || style=&amp;quot;background-color:orange;&amp;quot; | [[#SDA0|SDA0]] || style=&amp;quot;background-color:magenta;&amp;quot; | [[#SDA1|SDA1]] || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:plum;&amp;quot; | [[#SPI2_CEx_N|SPI2_CE1_N]] || || nc || nc || ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO45&amp;quot;&amp;gt;GPIO45&amp;lt;/div&amp;gt; || - || style=&amp;quot;background-color:lightblue;&amp;quot; | [[#PWMx|PWM1]] || style=&amp;quot;background-color:orange;&amp;quot; | [[#SCL0|SCL0]] || style=&amp;quot;background-color:magenta;&amp;quot; | [[#SCL1|SCL1]] || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;reserved&amp;gt; || style=&amp;quot;background-color:plum;&amp;quot; | [[#SPI2_CEx_N|SPI2_CE2_N]] || || PWM1_OUT || PWM1_OUT || R27 || R27&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO46&amp;quot;&amp;gt;GPIO46&amp;lt;/div&amp;gt; || High || || || || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;internal&amp;gt; || || || HDMI_HPD_P || HDMI_HPD_P || IC1-6 || IC1-6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO47&amp;quot;&amp;gt;GPIO47&amp;lt;/div&amp;gt; || High || || || || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;internal&amp;gt; || || || SD_CARD_DET || SD_CARD_DET || S8-10 || S8-10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO48&amp;quot;&amp;gt;GPIO48&amp;lt;/div&amp;gt; || High || || || || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;internal&amp;gt; || || || SD_CLK_R || SD_CLK_R || R48 || R48&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO49&amp;quot;&amp;gt;GPIO49&amp;lt;/div&amp;gt; || High || || || || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;internal&amp;gt; || || || SD_CMD_R || SD_CMD_R || R47 || R47&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO50&amp;quot;&amp;gt;GPIO50&amp;lt;/div&amp;gt; || High || || || || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;internal&amp;gt; || || || SD_DATA0_R || SD_DATA0_R || R49 || R49&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO51&amp;quot;&amp;gt;GPIO51&amp;lt;/div&amp;gt; || High || || || || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;internal&amp;gt; || || || SD_DATA1_R || SD_DATA1_R || R50 || R50&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO52&amp;quot;&amp;gt;GPIO52&amp;lt;/div&amp;gt; || High || || || || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;internal&amp;gt; || || || SD_DATA2_R || SD_DATA2_R || R45 || R45&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;GPIO53&amp;quot;&amp;gt;GPIO53&amp;lt;/div&amp;gt; || High || || || || style=&amp;quot;background-color:darkolivegreen;&amp;quot; | &amp;lt;internal&amp;gt; || || || SD_DATA3_R || SD_DATA3_R || R46 || R46&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background-color:yellow;&amp;quot; | !! style=&amp;quot;background-color:yellow;&amp;quot; | Pull !! style=&amp;quot;background-color:yellow;&amp;quot; | ALT0 !! style=&amp;quot;background-color:yellow;&amp;quot; | ALT1 !! style=&amp;quot;background-color:yellow;&amp;quot; | ALT2 !! style=&amp;quot;background-color:yellow;&amp;quot; | ALT3 !! style=&amp;quot;background-color:yellow;&amp;quot; | ALT4 !! style=&amp;quot;background-color:yellow;&amp;quot; | ALT5 !! style=&amp;quot;background-color:yellow;&amp;quot; | RPi [[RPi_BCM2835_Signals_Rev1.0|Rev1.0 signal name]] !! style=&amp;quot;background-color:yellow;&amp;quot; | RPi [[RPi_BCM2835_Signals_Rev2.0|Rev2.0 signal name]] !! style=&amp;quot;background-color:yellow;&amp;quot; | RPi Rev1.0 [[Rpi_Low-level_peripherals|connection]] !! style=&amp;quot;background-color:yellow;&amp;quot; | RPi Rev2.0 [[Rpi_Low-level_peripherals|connection]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This next paragraph (which I've crossed out) only applies to Rev.1 boards, and even then these GPIOs were apparently never ''actually'' used for board identification!&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;del&amp;gt;'''Board revision coding'''&amp;lt;BR&amp;gt;&lt;br /&gt;
GPIO 28-31 are brought out, with each pin attached to a voltage divider. These four GPIO's are used to auto detect the revision version, as is indicated in the schematic (sheet to, location 7D). With 10K resistors either mounted or unmounted the pins are either pulled low or high, giving a four bit condition that can be read, with currently only two of the sixteen possible combinations used, one (code '0') for the model A and the other (code '1') for the model B, with codes '2' to 'F' reserved for future use.&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As in the table above, the GPIOs available on the [[Rpi_Low-level_peripherals|GPIO Connector (P1)]] are in '''bold''', with their default function (according to the [http://www.raspberrypi.org/wp-content/uploads/2012/04/Raspberry-Pi-Schematics-R1.0.pdf schematics]) in '''''bold italics'''''.&lt;br /&gt;
&lt;br /&gt;
Special function legend:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color:powderblue;&amp;quot; | Name !! style=&amp;quot;background-color:powderblue;&amp;quot; | Function !! style=&amp;quot;background-color:powderblue;&amp;quot; | Datasheet section !! style=&amp;quot;background-color:powderblue;&amp;quot; | GPIOs&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:orange;&amp;quot; | &amp;lt;div id=&amp;quot;SDA0&amp;quot;&amp;gt;SDA0&amp;lt;/div&amp;gt; || BSC master 0 data line || BSC || '''''[[#GPIO0|GPIO0]]''''' [[#GPIO28|GPIO28]] &amp;lt;del&amp;gt;[[#GPIO44|GPIO44]]&amp;lt;/del&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:orange;&amp;quot; | &amp;lt;div id=&amp;quot;SCL0&amp;quot;&amp;gt;SCL0&amp;lt;/div&amp;gt; || BSC master 0 clock line || BSC || '''''[[#GPIO1|GPIO1]]''''' [[#GPIO29|GPIO29]] [[#GPIO45|GPIO45]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:magenta;&amp;quot; | &amp;lt;div id=&amp;quot;SDA1&amp;quot;&amp;gt;SDA1&amp;lt;/div&amp;gt; || BSC master 1 data line || BSC || [[#GPIO2|GPIO2]] &amp;lt;del&amp;gt;[[#GPIO44|GPIO44]]&amp;lt;/del&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:magenta;&amp;quot; | &amp;lt;div id=&amp;quot;SCL1&amp;quot;&amp;gt;SCL1&amp;lt;/div&amp;gt; || BSC master 1 clock line || BSC || [[#GPIO3|GPIO3]] [[#GPIO45|GPIO45]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:turquoise;&amp;quot; | &amp;lt;div id=&amp;quot;GPCLK0&amp;quot;&amp;gt;GPCLK0&amp;lt;/div&amp;gt; || General purpose Clock 0 || '''&amp;lt;TBD&amp;gt;''' || '''''[[#GPIO4|GPIO4]]''''' &amp;lt;del&amp;gt;[[#GPIO20|GPIO20]]&amp;lt;/del&amp;gt; &amp;lt;del&amp;gt;[[#GPIO32|GPIO32]]&amp;lt;/del&amp;gt; &amp;lt;del&amp;gt;[[#GPIO34|GPIO34]]&amp;lt;/del&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:turquoise;&amp;quot; | &amp;lt;div id=&amp;quot;GPCLK1&amp;quot;&amp;gt;GPCLK1&amp;lt;/div&amp;gt; || General purpose Clock 1 || '''&amp;lt;TBD&amp;gt;''' || [[#GPIO5|GPIO5]] '''[[#GPIO21|GPIO21]]''' &amp;lt;del&amp;gt;[[#GPIO42|GPIO42]]&amp;lt;/del&amp;gt; &amp;lt;del&amp;gt;[[#GPIO44|GPIO44]]&amp;lt;/del&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:turquoise;&amp;quot; | &amp;lt;div id=&amp;quot;GPCLK2&amp;quot;&amp;gt;GPCLK2&amp;lt;/div&amp;gt; || General purpose Clock 2 || '''&amp;lt;TBD&amp;gt;''' || [[#GPIO6|GPIO6]] &amp;lt;del&amp;gt;[[#GPIO43|GPIO43]]&amp;lt;/del&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:plum;&amp;quot; | &amp;lt;div id=&amp;quot;SPI0_CE1_N&amp;quot;&amp;gt;SPI0_CE1_N&amp;lt;/div&amp;gt; || SPI0 Chip select 1 || SPI || '''''[[#GPIO7|GPIO7]]''''' &amp;lt;del&amp;gt;[[#GPIO35|GPIO35]]&amp;lt;/del&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:plum;&amp;quot; | &amp;lt;div id=&amp;quot;SPI0_CE0_N&amp;quot;&amp;gt;SPI0_CE0_N&amp;lt;/div&amp;gt; || SPI0 Chip select 0 || SPI || '''''[[#GPIO8|GPIO8]]''''' &amp;lt;del&amp;gt;[[#GPIO36|GPIO36]]&amp;lt;/del&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:plum;&amp;quot; | &amp;lt;div id=&amp;quot;SPI0_MISO&amp;quot;&amp;gt;SPI0_MISO&amp;lt;/div&amp;gt; || SPI0 MISO || SPI || '''''[[#GPIO9|GPIO9]]''''' &amp;lt;del&amp;gt;[[#GPIO37|GPIO37]]&amp;lt;/del&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:plum;&amp;quot; | &amp;lt;div id=&amp;quot;SPI0_MOSI&amp;quot;&amp;gt;SPI0_MOSI&amp;lt;/div&amp;gt; || SPI0 MOSI || SPI || '''''[[#GPIO10|GPIO10]]''''' &amp;lt;del&amp;gt;[[#GPIO38|GPIO38]]&amp;lt;/del&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:plum;&amp;quot; | &amp;lt;div id=&amp;quot;SPI0_SCLK&amp;quot;&amp;gt;SPI0_SCLK&amp;lt;/div&amp;gt; || SPI0 Serial clock || SPI || '''''[[#GPIO11|GPIO11]]''''' &amp;lt;del&amp;gt;[[#GPIO39|GPIO39]]&amp;lt;/del&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:lightblue;&amp;quot; | &amp;lt;div id=&amp;quot;PWMx&amp;quot;&amp;gt;PWMx&amp;lt;/div&amp;gt; || Pulse Width Modulator 0..1 || Pulse Width Modulator || PWM0: &amp;lt;del&amp;gt;[[#GPIO12|GPIO12]]&amp;lt;/del&amp;gt; '''[[#GPIO18|GPIO18]]''' [[#GPIO40|GPIO40]]&amp;lt;br&amp;gt; PWM1: &amp;lt;del&amp;gt;[[#GPIO13|GPIO13]]&amp;lt;/del&amp;gt; &amp;lt;del&amp;gt;[[#GPIO19|GPIO19]]&amp;lt;/del&amp;gt; &amp;lt;del&amp;gt;[[#GPIO41|GPIO41]]&amp;lt;/del&amp;gt; [[#GPIO45|GPIO45]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:red;&amp;quot; | &amp;lt;div id=&amp;quot;TXD0&amp;quot;&amp;gt;TXD0&amp;lt;/div&amp;gt; || UART 0 Transmit Data || UART || '''''[[#GPIO14|GPIO14]]''''' &amp;lt;del&amp;gt;[[#GPIO32|GPIO32]]&amp;lt;/del&amp;gt; &amp;lt;del&amp;gt;[[#GPIO36|GPIO36]]&amp;lt;/del&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:red;&amp;quot; | &amp;lt;div id=&amp;quot;RXD0&amp;quot;&amp;gt;RXD0&amp;lt;/div&amp;gt; || UART 0 Receive Data || UART || '''''[[#GPIO15|GPIO15]]''''' &amp;lt;del&amp;gt;[[#GPIO33|GPIO33]]&amp;lt;/del&amp;gt; &amp;lt;del&amp;gt;[[#GPIO37|GPIO37]]&amp;lt;/del&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:red;&amp;quot; | &amp;lt;div id=&amp;quot;CTS0&amp;quot;&amp;gt;CTS0&amp;lt;/div&amp;gt; || UART 0 Clear To Send || UART || [[#GPIO16|GPIO16]] [[#GPIO30|GPIO30]] &amp;lt;del&amp;gt;[[#GPIO39|GPIO39]]&amp;lt;/del&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:red;&amp;quot; | &amp;lt;div id=&amp;quot;RTS0&amp;quot;&amp;gt;RTS0&amp;lt;/div&amp;gt; || UART 0 Request To Send || UART || '''[[#GPIO17|GPIO17]]''' [[#GPIO31|GPIO31]] &amp;lt;del&amp;gt;[[#GPIO38|GPIO38]]&amp;lt;/del&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:lawngreen;&amp;quot; | &amp;lt;div id=&amp;quot;PCM_CLK&amp;quot;&amp;gt;PCM_CLK&amp;lt;/div&amp;gt; || PCM clock || PCM Audio || '''[[#GPIO18|GPIO18]]''' [[#GPIO28|GPIO28]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:lawngreen;&amp;quot; | &amp;lt;div id=&amp;quot;PCM_FS&amp;quot;&amp;gt;PCM_FS&amp;lt;/div&amp;gt; || PCM Frame Sync || PCM Audio || &amp;lt;del&amp;gt;[[#GPIO19|GPIO19]]&amp;lt;/del&amp;gt; [[#GPIO29|GPIO29]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:lawngreen;&amp;quot; | &amp;lt;div id=&amp;quot;PCM_DIN&amp;quot;&amp;gt;PCM_DIN&amp;lt;/div&amp;gt; || PCM Data in || PCM Audio || &amp;lt;del&amp;gt;[[#GPIO20|GPIO20]]&amp;lt;/del&amp;gt; [[#GPIO30|GPIO30]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:lawngreen;&amp;quot; | &amp;lt;div id=&amp;quot;PCM_DOUT&amp;quot;&amp;gt;PCM_DOUT&amp;lt;/div&amp;gt; || PCM data out || PCM Audio || '''[[#GPIO21|GPIO21]]''' [[#GPIO31|GPIO31]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:royalblue;color:white;&amp;quot; | &amp;lt;div id=&amp;quot;SAx&amp;quot;&amp;gt;SAx&amp;lt;/div&amp;gt; || Secondary mem Address bus || Secondary Memory Interface || many&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:royalblue;color:white;&amp;quot; | &amp;lt;div id=&amp;quot;SOE_N&amp;quot;&amp;gt;SOE_N / SE&amp;lt;/div&amp;gt; || Secondary mem. Controls || Secondary Memory Interface || [[#GPIO6|GPIO6]] &amp;lt;del&amp;gt;[[#GPIO34|GPIO34]]&amp;lt;/del&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:royalblue;color:white;&amp;quot; | &amp;lt;div id=&amp;quot;SWE_N&amp;quot;&amp;gt;SWE_N / SRW_N&amp;lt;/div&amp;gt; || Secondary mem. Controls || Secondary Memory Interface || '''[[#GPIO7|GPIO7]]''' &amp;lt;del&amp;gt;[[#GPIO35|GPIO35]]&amp;lt;/del&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:royalblue;color:white;&amp;quot; | &amp;lt;div id=&amp;quot;SDx&amp;quot;&amp;gt;SDx&amp;lt;/div&amp;gt; || Secondary mem. data bus || Secondary Memory Interface || many&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:maroon;color:white;&amp;quot; | &amp;lt;div id=&amp;quot;MOSI&amp;quot;&amp;gt;BSCSL SDA / MOSI&amp;lt;/div&amp;gt; || BSC slave Data, SPI slave MOSI || BSC/SPI slave || '''[[#GPIO18|GPIO18]]'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:maroon;color:white;&amp;quot; | &amp;lt;div id=&amp;quot;SCLK&amp;quot;&amp;gt;BSCSL SCL / SCLK&amp;lt;/div&amp;gt; || BSC slave Clock, SPI slave clock || BSC/SPI slave || &amp;lt;del&amp;gt;[[#GPIO19|GPIO19]]&amp;lt;/del&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:maroon;color:white;&amp;quot; | &amp;lt;div id=&amp;quot;MISO&amp;quot;&amp;gt;BSCSL - / MISO&amp;lt;/div&amp;gt; || BSC &amp;lt;not used&amp;gt;, SPI MISO || BSC/SPI slave || &amp;lt;del&amp;gt;[[#GPIO20|GPIO20]]&amp;lt;/del&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:maroon;color:white;&amp;quot; | &amp;lt;div id=&amp;quot;CE_N&amp;quot;&amp;gt;BSCSL - / CE_N&amp;lt;/div&amp;gt; || BSC &amp;lt;not used&amp;gt;, SPI CSn || BSC/SPI slave || '''[[#GPIO21|GPIO21]]'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:plum;&amp;quot; | &amp;lt;div id=&amp;quot;SPI1_CEx_N&amp;quot;&amp;gt;SPI1_CEx_N&amp;lt;/div&amp;gt; || SPI1 Chip select 0-2 || Auxiliary I/O || SPI1_CE0_N: '''[[#GPIO18|GPIO18]]'''&amp;lt;br&amp;gt; SPI1_CE1_N: '''[[#GPIO17|GPIO17]]'''&amp;lt;br&amp;gt; SPI1_CE2_N: [[#GPIO16|GPIO16]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:plum;&amp;quot; | &amp;lt;div id=&amp;quot;SPI1_MISO&amp;quot;&amp;gt;SPI1_MISO&amp;lt;/div&amp;gt; || SPI1 MISO || Auxiliary I/O || &amp;lt;del&amp;gt;[[#GPIO19|GPIO19]]&amp;lt;/del&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:plum;&amp;quot; | &amp;lt;div id=&amp;quot;SPI1_MOSI&amp;quot;&amp;gt;SPI1_MOSI&amp;lt;/div&amp;gt; || SPI1 MOSI || Auxiliary I/O || &amp;lt;del&amp;gt;[[#GPIO20|GPIO20]]&amp;lt;/del&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:plum;&amp;quot; | &amp;lt;div id=&amp;quot;SPI1_SCLK&amp;quot;&amp;gt;SPI1_SCLK&amp;lt;/div&amp;gt; || SPI1 Serial clock || Auxiliary I/O || '''[[#GPIO21|GPIO21]]'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:red;&amp;quot; | &amp;lt;div id=&amp;quot;TXD1&amp;quot;&amp;gt;TXD1&amp;lt;/div&amp;gt; || UART 1 Transmit Data || Auxiliary I/O || '''[[#GPIO14|GPIO14]]''' &amp;lt;del&amp;gt;[[#GPIO32|GPIO32]]&amp;lt;/del&amp;gt; [[#GPIO40|GPIO40]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:red;&amp;quot; | &amp;lt;div id=&amp;quot;RXD1&amp;quot;&amp;gt;RXD1&amp;lt;/div&amp;gt; || UART 1 Receive Data || Auxiliary I/O || '''[[#GPIO15|GPIO15]]''' &amp;lt;del&amp;gt;[[#GPIO33|GPIO33]]&amp;lt;/del&amp;gt; &amp;lt;del&amp;gt;[[#GPIO41|GPIO41]]&amp;lt;/del&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:red;&amp;quot; | &amp;lt;div id=&amp;quot;CTS1&amp;quot;&amp;gt;CTS1&amp;lt;/div&amp;gt; || UART 1 Clear To Send || Auxiliary I/O || [[#GPIO16|GPIO16]] [[#GPIO30|GPIO30]] &amp;lt;del&amp;gt;[[#GPIO43|GPIO43]]&amp;lt;/del&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:red;&amp;quot; | &amp;lt;div id=&amp;quot;RTS1&amp;quot;&amp;gt;RTS1&amp;lt;/div&amp;gt; || UART 1 Request To Send || Auxiliary I/O || '''[[#GPIO17|GPIO17]]''' [[#GPIO31|GPIO31]] &amp;lt;del&amp;gt;[[#GPIO42|GPIO42]]&amp;lt;/del&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:plum;&amp;quot; | &amp;lt;div id=&amp;quot;SPI2_CEx_N&amp;quot;&amp;gt;SPI2_CEx_N&amp;lt;/div&amp;gt; || SPI2 Chip select 0-2 || Auxiliary I/O || SPI2_CE0_N: &amp;lt;del&amp;gt;[[#GPIO43|GPIO43]]&amp;lt;/del&amp;gt;&amp;lt;br&amp;gt; SPI2_CE1_N: &amp;lt;del&amp;gt;[[#GPIO44|GPIO44]]&amp;lt;/del&amp;gt;&amp;lt;br&amp;gt; SPI2_CE2_N: [[#GPIO45|GPIO45]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:plum;&amp;quot; | &amp;lt;div id=&amp;quot;SPI2_MISO&amp;quot;&amp;gt;SPI2_MISO&amp;lt;/div&amp;gt; || SPI2 MISO || Auxiliary I/O || [[#GPIO40|GPIO40]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:plum;&amp;quot; | &amp;lt;div id=&amp;quot;SPI2_MOSI&amp;quot;&amp;gt;SPI2_MOSI&amp;lt;/div&amp;gt; || SPI2 MOSI || Auxiliary I/O || &amp;lt;del&amp;gt;[[#GPIO41|GPIO41]]&amp;lt;/del&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:plum;&amp;quot; | &amp;lt;div id=&amp;quot;SPI2_SCLK&amp;quot;&amp;gt;SPI2_SCLK&amp;lt;/div&amp;gt; || SPI2 Serial clock || Auxiliary I/O || &amp;lt;del&amp;gt;[[#GPIO42|GPIO42]]&amp;lt;/del&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:silver;&amp;quot; | &amp;lt;div id=&amp;quot;ARM_TRST&amp;quot;&amp;gt;ARM_TRST&amp;lt;/div&amp;gt; || ARM JTAG reset || '''&amp;lt;TBD&amp;gt;''' || '''[[#GPIO22|GPIO22]]'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:silver;&amp;quot; | &amp;lt;div id=&amp;quot;ARM_RTCK&amp;quot;&amp;gt;ARM_RTCK&amp;lt;/div&amp;gt; || ARM JTAG return clock || '''&amp;lt;TBD&amp;gt;''' || [[#GPIO6|GPIO6]] '''[[#GPIO23|GPIO23]]'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:silver;&amp;quot; | &amp;lt;div id=&amp;quot;ARM_TDO&amp;quot;&amp;gt;ARM_TDO&amp;lt;/div&amp;gt; || ARM JTAG Data out || '''&amp;lt;TBD&amp;gt;''' || '''[[#GPIO4|GPIO4]]''' '''[[#GPIO24|GPIO24]]'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:silver;&amp;quot; | &amp;lt;div id=&amp;quot;ARM_TCK&amp;quot;&amp;gt;ARM_TCK&amp;lt;/div&amp;gt; || ARM JTAG Clock || '''&amp;lt;TBD&amp;gt;''' || &amp;lt;del&amp;gt;[[#GPIO13|GPIO13]]&amp;lt;/del&amp;gt; '''[[#GPIO25|GPIO25]]'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:silver;&amp;quot; | &amp;lt;div id=&amp;quot;ARM_TDI&amp;quot;&amp;gt;ARM_TDI&amp;lt;/div&amp;gt; || ARM JTAG Data in || '''&amp;lt;TBD&amp;gt;''' || '''[[#GPIO4|GPIO4]]''' &amp;lt;del&amp;gt;[[#GPIO26|GPIO26]]&amp;lt;/del&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:silver;&amp;quot; | &amp;lt;div id=&amp;quot;ARM_TMS&amp;quot;&amp;gt;ARM_TMS&amp;lt;/div&amp;gt; || ARM JTAG Mode select || '''&amp;lt;TBD&amp;gt;''' || &amp;lt;del&amp;gt;[[#GPIO12|GPIO12]]&amp;lt;/del&amp;gt; [[#GPIO27|GPIO27]]&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background-color:powderblue;&amp;quot; | Name !! style=&amp;quot;background-color:powderblue;&amp;quot; | Function !! style=&amp;quot;background-color:powderblue;&amp;quot; | Datasheet section !! style=&amp;quot;background-color:powderblue;&amp;quot; | GPIOs&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/RPi_Low-level_peripherals</id>
		<title>RPi Low-level peripherals</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RPi_Low-level_peripherals"/>
				<updated>2013-02-22T02:12:47Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: /* GPIO hardware hacking */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: RaspberryPi]]&lt;br /&gt;
{{Template:RPi_Hardware}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
In addition to the familiar USB, Ethernet and HDMI ports, the R-Pi offers lower-level interfaces intended to connect more directly with chips and subsystem modules. These GPIO (general purpose I/O) signals on the 2x13 header pins include SPI, I2C, serial UART, 3V3 and 5V power. These interfaces are not &amp;quot;plug and play&amp;quot; and require care to avoid miswiring. The pins use a 3V3 logic level and are not tolerant of 5V levels, such as you might find on a 5V powered Arduino.  Not yet software-enabled are the flex cable connectors with CSI (camera serial interface) and DSI (display serial interface), and a serial link inside the HDMI connector called CEC. (consumer electronics control)&lt;br /&gt;
&lt;br /&gt;
==General Purpose Input/Output (GPIO)==&lt;br /&gt;
[[File:GPIOs.png|thumb|254px|right|The layout of the Raspberry Pi Revision 1 P1 pin-header seen from the top, containing pins useable for general purpose I/O. Colour coded to the table. [https://sites.google.com/site/burngatehouse/home/drawings/GPIOs2.gif Source] ]]&lt;br /&gt;
&lt;br /&gt;
General Purpose Input/Output (a.k.a. GPIO) is a generic pin on a chip whose behavior (including whether it is an input or output pin) can be controlled (programmed) through software.&lt;br /&gt;
&lt;br /&gt;
The Raspberry Pi allows peripherals and expansion boards (such as the [[Rpi Gertboard]]) to access the CPU by exposing the inputs and outputs.&lt;br /&gt;
&lt;br /&gt;
For further general information about GPIOs, see: [http://en.wikipedia.org/wiki/GPIO the wikipedia article].&amp;lt;BR&amp;gt;&lt;br /&gt;
For further specific information about the Raspberry Pi's BCM2835 GPIOs, see: [[RPi_BCM2835_GPIOs|this wiki article]].&lt;br /&gt;
&lt;br /&gt;
The production Raspberry Pi board has a 26-pin 2.54&amp;amp;nbsp;mm (100&amp;amp;nbsp;mil)&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/features-and-requests/easy-gpio-hardware-software/page-3/#p31907&amp;lt;/ref&amp;gt; expansion header, marked as P1, arranged in a 2x13 strip. They provide 8 GPIO pins plus access to I²C, SPI, UART), as well as +3.3&amp;amp;nbsp;V, +5&amp;amp;nbsp;V and GND supply lines. Pin one is the pin in the first column and on the bottom row. &amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/384&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''GPIO voltage levels are 3.3&amp;amp;nbsp;V and are not 5&amp;amp;nbsp;V tolerant. There is no over-voltage protection on the board''' - the intention is that people interested in serious interfacing will use an external board with buffers, level conversion and analog I/O rather than soldering directly onto the main board.&lt;br /&gt;
&lt;br /&gt;
All the GPIO pins can be reconfigured to provide alternate functions, SPI, [http://en.wikipedia.org/wiki/Pulse-width_modulation PWM], I²C and so. At reset only pins GPIO 14 &amp;amp; 15 are assigned to the alternate function UART, these two can be switched back to GPIO to provide a total of 17 GPIO pins&amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/384&amp;lt;/ref&amp;gt;. Each of their functions and full details of how to access are detailed in the chipset datasheet &amp;lt;ref&amp;gt;http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Each GPIO can interrupt, high/low/rise/fall/change.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/384#comment-5217&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf&amp;lt;/ref&amp;gt; There is currently no support for GPIO interrupts in the official kernel, howewer a patch exists, requiring compilation of modified source tree.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?f=44&amp;amp;t=7509&amp;lt;/ref&amp;gt; The 'Raspbian &amp;quot;wheezy&amp;quot;' &amp;lt;ref&amp;gt;http://www.raspberrypi.org/downloads&amp;lt;/ref&amp;gt; version that is currently recommended for starters already includes GPIO interrupts.&lt;br /&gt;
&lt;br /&gt;
GPIO input hysteresis (Schmitt trigger) can be on or off, output slew rate can be fast or limited, and source and sink current is configurable from 2&amp;amp;nbsp;mA up to 16&amp;amp;nbsp;mA. Note that chipset GPIO pins 0-27 are in the same block and these properties are set per block, not per pin. See [http://www.scribd.com/doc/101830961/GPIO-Pads-Control2 GPIO Datasheet Addendum - GPIO Pads Control]. Particular attention should be applied to the note regarding SSO (Simultaneous Switching Outputs): to avoid interference, driving currents should be kept as low as possible.&lt;br /&gt;
&lt;br /&gt;
The available [[RPi_BCM2835_GPIOs|alternative functions]] and their corresponding pins are detailed below. These numbers are in reference to the chipset documentation and may not match the numbers exposed in Linux. Only fully usable functions are detailed, for some alternative functions not all the necessary pins are available for the funtionality to be actually used.&lt;br /&gt;
&lt;br /&gt;
There is also some information on the [[RPi Tutorial Easy GPIO Hardware &amp;amp; Software|Tutorial on Easy GPIO Hardware &amp;amp; Software]].&lt;br /&gt;
&lt;br /&gt;
Kernel boot messages go to the [[RPi_Serial_Connection|UART]] at 115200&amp;amp;nbsp;bit/s.&lt;br /&gt;
&lt;br /&gt;
'''R-Pi PCB Revision 2 UPDATE:''' According to Eben at [http://www.raspberrypi.org/archives/1929#comment-31646] the R-Pi Rev.2 board being rolled out starting in September 2012 adds 4 more GPIO on a new connector called P5, and changes some of the existing P1 GPIO pinouts. On Rev2, GPIO_GEN2 [BCM2835/GPIO27] is routed to P1 pin 13, and changes what was SCL0/SDA0 to SCL1/SDA1: SCL1 [BCM2835/GPIO3] is routed to P1 pin 5, SDA1 [BCM2835/GPIO2] is routed to P1 pin 3. Also the power and ground connections previously marked &amp;quot;Do Not Connect&amp;quot; on P1 will remain as connected, specifically: P1-04:+5V0, P1-09:GND, P1-14:GND, P1-17:+3V3, P1-20:GND, P1-25:GND. According to this comment [http://www.raspberrypi.org/archives/2081#comment-33577] (and confirmed in this post [http://www.raspberrypi.org/archives/2233]) the P1 pinout is not expected to change in future beyond the current Rev.2 layout. &lt;br /&gt;
&lt;br /&gt;
'''Header Pinout, top row:'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
| '''Pin Number''' || '''Pin Name Rev1''' || '''Pin Name Rev2''' || '''Hardware Notes''' || '''Alt 0 Function''' || '''Other Alternative Functions'''&lt;br /&gt;
|-&lt;br /&gt;
| P1-02 || bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; || Supply through input poly fuse&lt;br /&gt;
|-&lt;br /&gt;
| P1-04 || bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; || Supply through input poly fuse&lt;br /&gt;
|-&lt;br /&gt;
| P1-06 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| P1-08 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 14 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 14 || Boot to Alt 0 -&amp;gt; || bgcolor=&amp;quot;yellow&amp;quot; | UART0_TXD || ALT5 = UART1_TXD&lt;br /&gt;
|-&lt;br /&gt;
| P1-10 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 15 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 15 || Boot to Alt 0 -&amp;gt; || bgcolor=&amp;quot;yellow&amp;quot; | UART0_RXD || ALT5 = UART1_RXD&lt;br /&gt;
|-&lt;br /&gt;
| P1-12 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 18 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 18 || || PCM_CLK || ALT4 = SPI1_CE0_N ALT5 = PWM0&lt;br /&gt;
|-&lt;br /&gt;
| P1-14 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| P1-16 || bgcolor=&amp;quot;lime&amp;quot; | GPIO23 || bgcolor=&amp;quot;lime&amp;quot; | GPIO23 || || || ALT3 = SD1_CMD ALT4 = ARM_RTCK&lt;br /&gt;
|-&lt;br /&gt;
| P1-18 || bgcolor=&amp;quot;lime&amp;quot; | GPIO24 || bgcolor=&amp;quot;lime&amp;quot; | GPIO24 || || || ALT3 = SD1_DAT0 ALT4 = ARM_TDO&lt;br /&gt;
|-&lt;br /&gt;
| P1-20 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| P1-22 || bgcolor=&amp;quot;lime&amp;quot; | GPIO25 || bgcolor=&amp;quot;lime&amp;quot; | GPIO25 || || || ALT3 = SD1_DAT1 ALT4 = ARM_TCK&lt;br /&gt;
|-&lt;br /&gt;
| P1-24 || bgcolor=&amp;quot;lime&amp;quot; | GPIO08 || bgcolor=&amp;quot;lime&amp;quot; | GPIO08 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_CE0_N&amp;lt;/span&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| P1-26 || bgcolor=&amp;quot;lime&amp;quot; | GPIO07 || bgcolor=&amp;quot;lime&amp;quot; | GPIO07 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_CE1_N&amp;lt;/span&amp;gt; || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Header Pinout, bottom row:'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
| '''Pin Number''' || '''Pin Name Rev1''' || '''Pin Name Rev2''' || '''Hardware Notes''' || '''Alt 0 Function''' || '''Other Alternative Functions'''&lt;br /&gt;
|-&lt;br /&gt;
| P1-01 || bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V ||bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V || 50&amp;amp;nbsp;mA max (01 &amp;amp; 17)&lt;br /&gt;
|-&lt;br /&gt;
| P1-03 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 0 || bgcolor=&amp;quot;lime&amp;quot; | '''GPIO 2'''|| 1K8 pull up resistor || bgcolor=&amp;quot;cyan&amp;quot; | I2C0_SDA / '''I2C1_SDA''' ||&lt;br /&gt;
|-&lt;br /&gt;
| P1-05 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 1 || bgcolor=&amp;quot;lime&amp;quot; | '''GPIO 3'''|| 1K8 pull up resistor || bgcolor=&amp;quot;cyan&amp;quot; | I2C0_SCL / '''I2C1_SCL''' ||&lt;br /&gt;
|-&lt;br /&gt;
| P1-07 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 4 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 4 || || GPCLK0 || ALT5 = ARM_TDI&lt;br /&gt;
|-&lt;br /&gt;
| P1-09 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| P1-11 || bgcolor=&amp;quot;lime&amp;quot; | GPIO17 || bgcolor=&amp;quot;lime&amp;quot; | GPIO17 || || ||| ALT3 = UART0_RTS ALT4 = SPI1_CE1_N ALT5 = UART1_RTS&lt;br /&gt;
|-&lt;br /&gt;
| P1-13 || bgcolor=&amp;quot;lime&amp;quot; | GPIO21 || bgcolor=&amp;quot;lime&amp;quot; | '''GPIO27''' || || PCM_DOUT / '''reserved''' || ALT4 = SPI1_SCLK ALT5 = GPCLK1 / '''ALT3 = SD1_DAT3 ALT4 = ARM_TMS'''&lt;br /&gt;
|-&lt;br /&gt;
| P1-15 || bgcolor=&amp;quot;lime&amp;quot; | GPIO22 || bgcolor=&amp;quot;lime&amp;quot; | GPIO22 || || || ALT3 = SD1_CLK ALT4 = ARM_TRST&lt;br /&gt;
|-&lt;br /&gt;
| P1-17 || bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V || bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V || 50&amp;amp;nbsp;mA max (01 &amp;amp; 17)&lt;br /&gt;
|-&lt;br /&gt;
| P1-19 || bgcolor=&amp;quot;lime&amp;quot; | GPIO10 || bgcolor=&amp;quot;lime&amp;quot; | GPIO10 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_MOSI&amp;lt;/span&amp;gt; || &lt;br /&gt;
|-&lt;br /&gt;
| P1-21 || bgcolor=&amp;quot;lime&amp;quot; | GPIO9 || bgcolor=&amp;quot;lime&amp;quot; | GPIO9 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_MISO&amp;lt;/span&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| P1-23 || bgcolor=&amp;quot;lime&amp;quot; | GPIO11 || bgcolor=&amp;quot;lime&amp;quot; | GPIO11 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_SCLK&amp;lt;/span&amp;gt; || &lt;br /&gt;
|-&lt;br /&gt;
| P1-25 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Colour legend&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;+5&amp;amp;nbsp;V&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | +3.3&amp;amp;nbsp;V&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;Ground, 0V&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;yellow&amp;quot; | UART&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | GPIO&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;cyan&amp;quot; | I²C&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
KiCad symbol: [[File:Conn-raspberry.lib]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/projects-and-collaboration-general/gpio-header-pinout-clarification/page-2&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pin 3 (SDA0) and Pin 5 (SCL0) are preset to be used as an I²C interface. So there are 1.8&amp;amp;nbsp;kilohm pulls up resistors on the board for these pins.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/features-and-requests/easy-gpio-hardware-software/page-6/#p56480&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pin 12 supports [http://en.wikipedia.org/wiki/Pulse-width_modulation PWM] .&lt;br /&gt;
&lt;br /&gt;
It is also possible to reconfigure GPIO connector pins P1-7, 15, 16, 18, 22 (chipset GPIOs 4 and 22 to 25) to provide an ARM JTAG interface.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&amp;amp;t=1288.1&amp;lt;/ref&amp;gt; However ARM_TMS isn't available on the GPIO connector (chipset pin 12 or 27 is needed).  Chipset pin 27 is available on S5, the CSI camera interface however.&lt;br /&gt;
&lt;br /&gt;
It is also possible to reconfigure GPIO connector pins P1-12 and 13 (chipset GPIO 18 and 21) to provide an I2S (a hardware modification may be required&amp;lt;ref name=&amp;quot;I2S&amp;quot;&amp;gt;[http://www.raspberrypi.org/forum/features-and-requests/sad-about-removal-of-i2s-why-was-this-change-made Forum:Sad about removal of I2S. Why was this change made?]&amp;lt;/ref&amp;gt;) or PCM interface.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&amp;amp;t=1288.2&amp;lt;/ref&amp;gt; However, PCM_FS and PCM_DIN (chipset pins 19 and 20) are needed for I2S or PCM.&lt;br /&gt;
&lt;br /&gt;
A second I²C interface (GPIO02_ALT0 is SDA1 and GPIO03_ALT0 is SCL1) and two further GPIOs (GPIO05_ALT0 is GPCLK1, and GPIO27) are available on S5, the CSI camera interface.&lt;br /&gt;
&lt;br /&gt;
===Referring to pins on the Expansion header===&lt;br /&gt;
&lt;br /&gt;
The header is referred to as &amp;quot;The GPIO Connector (P1)&amp;quot;.  To avoid nomenclature confusion between Broadcom signal names on the SoC and pin names on the expansion header, the following naming is highly recommended.&lt;br /&gt;
&lt;br /&gt;
* The expansion header is referred to as &amp;quot;Expansion Header&amp;quot; or &amp;quot;GPIO Connector (P1)&amp;quot;&lt;br /&gt;
* Pins on the GPIO connector (P1) are referred to as P1-01, etc.&lt;br /&gt;
* Names GPIO0, GPIO1, GPIOx-ALTy, etc. refer to the signal names on the SoC as enumerated in the Broadcom datasheet, where &amp;quot;x&amp;quot; matches BCM2835 number (without leading zero) and &amp;quot;y&amp;quot; is the alternate number column 0 to 5 on page 102-103 of the Broadcom document. For example, depending on what you are describing, use either &amp;quot;GPIO7&amp;quot; to refer to a row of the table, and &amp;quot;GPIO7-ALT0&amp;quot; would refer to a specific cell of the table.&lt;br /&gt;
* When refering to signal names, you should modify the Broadcom name slightly to minimize confusion. The Broadcom SPI bus pin names are fine, such as &amp;quot;SPI0_*&amp;quot; and &amp;quot;SPI1_*&amp;quot;, but they didn't do the same on the I²C and UART pins.  Instead of using &amp;quot;SDA0&amp;quot; and &amp;quot;SCL0&amp;quot;, you should use &amp;quot;I2C0_SDA&amp;quot; and &amp;quot;I2C0_SCL&amp;quot;; and instead of &amp;quot;TX&amp;quot; or &amp;quot;TXD&amp;quot; and &amp;quot;RX&amp;quot; or &amp;quot;RXD&amp;quot;, you should use &amp;quot;UART0_TXD&amp;quot; and &amp;quot;UART0_RXD&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Power pins===&lt;br /&gt;
The maximum permitted current draw from the 3.3&amp;amp;nbsp;V pins is 50&amp;amp;nbsp;mA.&lt;br /&gt;
&lt;br /&gt;
Maximum permitted current draw from the 5&amp;amp;nbsp;V pin is the USB input current (usually 1&amp;amp;nbsp;A) minus any current draw from the rest of the board.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&amp;amp;t=1536#postid-21841&amp;lt;/ref&amp;gt;&lt;br /&gt;
*Model A: 1000&amp;amp;nbsp;mA - 500&amp;amp;nbsp;mA -&amp;gt; max current draw: 500&amp;amp;nbsp;mA&lt;br /&gt;
*Model B: 1000&amp;amp;nbsp;mA - 700&amp;amp;nbsp;mA -&amp;gt; max current draw: 300&amp;amp;nbsp;mA&lt;br /&gt;
Be very careful with the 5&amp;amp;nbsp;V pins P1-02 and P1-04, because if you short 5&amp;amp;nbsp;V to any other P1 pin you may permanently damage your RasPi.  Before probing P1, it's a good idea to strip short pieces of insulation off a wire and push them over the 5&amp;amp;nbsp;V pins so you don't accidentally short them with a probe.&lt;br /&gt;
&lt;br /&gt;
=== GPIO hardware hacking ===&lt;br /&gt;
&lt;br /&gt;
The complete list of [[RPi_BCM2835_GPIOs|chipset GPIO pins]] which are available on the GPIO connector is: &amp;lt;blockquote&amp;gt;[[RPi_BCM2835_GPIOs#GPIO0|0]], [[RPi_BCM2835_GPIOs#GPIO1|1]], [[RPi_BCM2835_GPIOs#GPIO4|4]], [[RPi_BCM2835_GPIOs#GPIO7|7]], [[RPi_BCM2835_GPIOs#GPIO8|8]], [[RPi_BCM2835_GPIOs#GPIO9|9]], [[RPi_BCM2835_GPIOs#GPIO10|10]], [[RPi_BCM2835_GPIOs#GPIO11|11]], [[RPi_BCM2835_GPIOs#GPIO14|14]], [[RPi_BCM2835_GPIOs#GPIO15|15]], [[RPi_BCM2835_GPIOs#GPIO17|17]], [[RPi_BCM2835_GPIOs#GPIO18|18]], [[RPi_BCM2835_GPIOs#GPIO21|21]], [[RPi_BCM2835_GPIOs#GPIO22|22]], [[RPi_BCM2835_GPIOs#GPIO23|23]], [[RPi_BCM2835_GPIOs#GPIO24|24]], [[RPi_BCM2835_GPIOs#GPIO25|25]]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(on the Revision2.0 RaspberryPis, this list changes to: [[RPi_BCM2835_GPIOs#GPIO2|2]], [[RPi_BCM2835_GPIOs#GPIO3|3]], [[RPi_BCM2835_GPIOs#GPIO4|4]], [[RPi_BCM2835_GPIOs#GPIO7|7]], [[RPi_BCM2835_GPIOs#GPIO8|8]], [[RPi_BCM2835_GPIOs#GPIO9|9]], [[RPi_BCM2835_GPIOs#GPIO10|10]], [[RPi_BCM2835_GPIOs#GPIO11|11]], [[RPi_BCM2835_GPIOs#GPIO14|14]], [[RPi_BCM2835_GPIOs#GPIO15|15]], [[RPi_BCM2835_GPIOs#GPIO17|17]], [[RPi_BCM2835_GPIOs#GPIO18|18]], [[RPi_BCM2835_GPIOs#GPIO22|22]], [[RPi_BCM2835_GPIOs#GPIO23|23]], [[RPi_BCM2835_GPIOs#GPIO24|24]], [[RPi_BCM2835_GPIOs#GPIO25|25]], [[RPi_BCM2835_GPIOs#GPIO27|27]], with [[RPi_BCM2835_GPIOs#GPIO28|28]], [[RPi_BCM2835_GPIOs#GPIO29|29]], [[RPi_BCM2835_GPIOs#GPIO30|30]], [[RPi_BCM2835_GPIOs#GPIO31|31]] additionally available on the [[#P5_header|P5 header]])&lt;br /&gt;
&lt;br /&gt;
As noted above, P1-03 and P1-05 (SDA0 and SCL0 / SDA1 and SCL1) have 1.8&amp;amp;nbsp;kilohm pull-up resistors to 3.3&amp;amp;nbsp;V.&lt;br /&gt;
&lt;br /&gt;
If 17 GPIOs aren't sufficient for your project, there are a few other signals potentially available, with varying levels of software and hardware (soldering iron) hackery skills:&lt;br /&gt;
&lt;br /&gt;
GPIO02, 03, 05 and 27 are available on S5 (the CSI interface) when a camera peripheral is not connected to that socket, and are configured by default to provide the functions SDA1, SCL1, CAM_CLK and CAM_GPIO respectively.  SDA1 and SCL1 have 1K6 pull-up resistors to 3.3&amp;amp;nbsp;V.&lt;br /&gt;
&lt;br /&gt;
GPIO06 is LAN_RUN and is available on pad 12 of the footprint for IC3 on the Model A. On Model B, it is in use for the Ethernet function.&lt;br /&gt;
&lt;br /&gt;
There are a few other chipset GPIO pins accessible on the PCB but are in use:&lt;br /&gt;
&lt;br /&gt;
* GPIO16 drives status LED D5 (usually SD card access indicator)&lt;br /&gt;
* GPIO28-31 are used by the board ID and are connected to resistors R3 to R10 (only on Rev1.0 boards).&lt;br /&gt;
* GPIO40 and 45 are used by analogue audio and support [http://en.wikipedia.org/wiki/Pulse-width_modulation PWM]. They connect to the analogue audio circuitry via R21 and R27 respectively.&lt;br /&gt;
* GPIO46 is HDMI hotplug detect (goes to pin 6 of IC1).&lt;br /&gt;
* GPIO47 to 53 are used by the SD card interface.  In particular, GPIO47 is SD card detect (this would seem to be a good candidate for re-use).  GPIO47 is connected to the SD card interface card detect switch; GPIO48 to 53 are connected to the SD card interface via resistors R45 to R50.&lt;br /&gt;
&lt;br /&gt;
=== P2 header ===&lt;br /&gt;
&lt;br /&gt;
The P2 header is the VideoCore JTAG and used only during the production of the board. It cannot be used as the ARM JTAG &amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?f=24&amp;amp;t=5894&amp;lt;/ref&amp;gt;. This connector is unpopulated in Rev 2.0 boards. &lt;br /&gt;
&lt;br /&gt;
Useful P2 pins:&lt;br /&gt;
&lt;br /&gt;
* Pin 1 - 3.3V (same as P1-01, 50 mA max current draw across both of them)&lt;br /&gt;
* Pin 7 - GND&lt;br /&gt;
* Pin 8 - GND&lt;br /&gt;
&lt;br /&gt;
=== P3 header ===&lt;br /&gt;
&lt;br /&gt;
The P3 header, unpopulated, is the LAN9512 JTAG &amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?f=24&amp;amp;t=5894&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== P5 header ===&lt;br /&gt;
&lt;br /&gt;
The P5 header was added with the release of the Revision 2.0 PCB design.&lt;br /&gt;
&lt;br /&gt;
'''P5 Pinout, seen from the bottom of the board:'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
| '''Pin Number''' || '''Pin Name Rev2''' || '''Hardware Notes''' || '''Alt 0 Function''' || '''Other Alternative Functions'''&lt;br /&gt;
|-&lt;br /&gt;
| P5-01 || bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; || Supply through input poly fuse&lt;br /&gt;
|-&lt;br /&gt;
| P5-02 || bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V || 50&amp;amp;nbsp;mA max (combined with P1)&lt;br /&gt;
|-&lt;br /&gt;
| P5-03 || bgcolor=&amp;quot;lime&amp;quot; | GPIO28 || || bgcolor=&amp;quot;cyan&amp;quot; | I2C0_SDA || ALT2 = PCM_CLK&lt;br /&gt;
|-&lt;br /&gt;
| P5-04 || bgcolor=&amp;quot;lime&amp;quot; | GPIO29 || || bgcolor=&amp;quot;cyan&amp;quot; | I2C0_SCL || ALT2 = PCM_FS&lt;br /&gt;
|-&lt;br /&gt;
| P5-05 || bgcolor=&amp;quot;lime&amp;quot; | GPIO30 || || || ALT2 = PCM_DIN ALT3 = UART0_CTS ALT5 = UART1_CTS&lt;br /&gt;
|-&lt;br /&gt;
| P5-06 || bgcolor=&amp;quot;lime&amp;quot; | GPIO31 || || || ALT2 = PCM_DOUT ALT3 = UART0_RTS ALT5 = UART1_RTS&lt;br /&gt;
|-&lt;br /&gt;
| P5-07 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P5-08 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that the connector is intended to be mounted on the '''bottom''' of the PCB, so that for those who put the connector on the top side, the pin numbers are swapped. Pin 1 and pin 2 are swapped, pin 3 and 4, etc. &lt;br /&gt;
&lt;br /&gt;
The new header can provide a second I2C channel (SDA + SCL) and handshake lines for the existing UART (TxD and RxD), or it can be used for an I2S (audio codec chip) interface using the PCM signals CLK, FS (Frame Sync), Din and Dout.&lt;br /&gt;
&lt;br /&gt;
Note that the connector is placed JUST off-grid with respect to the P1 connector.&lt;br /&gt;
&lt;br /&gt;
=== P6 header ===&lt;br /&gt;
&lt;br /&gt;
The P6 header was added with the release of the Revision 2.0 PCB design.&lt;br /&gt;
&lt;br /&gt;
[http://raspi.tv/2012/making-a-reset-switch-for-your-rev-2-raspberry-pi A reset button can be attached to the P6 header], with which the Pi can be reset.&lt;br /&gt;
Momentarily shorting the two pins of P6 together will cause a soft reset of the CPU.&lt;br /&gt;
&lt;br /&gt;
===Driver support===&lt;br /&gt;
&lt;br /&gt;
The Foundation will not include a GPIO driver in the initial release, standard Linux GPIO drivers should work with minimal modification.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&amp;amp;t=1278.0&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The community implemented SPI and I²C drivers &amp;lt;ref&amp;gt;http://www.bootc.net/projects/raspberry-pi-kernel/&amp;lt;/ref&amp;gt;, which will be integrated with the new Linux pinctrl concept in a later version of the kernel. (On Oct. 14 2012, it was already included in the latest raspbian image.) A first compiled version as Linux modules is available to install on the 19/04/2012 Debian image, including 1-wire support&amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?p=86172#p86172&amp;lt;/ref&amp;gt;. The I²C and SPI driver uses the hardware modules of the microcontroller and interrupts for low CPU usage, the 1-wire support uses bitbanging on the GPIO ports, which results in higher CPU usage.&lt;br /&gt;
&lt;br /&gt;
GordonH&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/general-discussion/wiring-for-the-raspberry-pis-gpio&amp;lt;/ref&amp;gt; wrote a (mostly) Arduino compatible/style [https://projects.drogon.net/raspberry-pi/wiringpi/ WiringPi library] in C for controlling the GPIO pins.&lt;br /&gt;
&lt;br /&gt;
A useful tutorial on setting up I²C driver support can be found at [http://www.robot-electronics.co.uk/htm/raspberry_pi_examples.htm Robot Electronics] - look for the downloadable document rpi_i2c_setup.doc&lt;br /&gt;
&lt;br /&gt;
===Graphical User Interfaces===&lt;br /&gt;
====WebIOPi====&lt;br /&gt;
[http://code.google.com/p/webiopi/ WebIOPi] allows you to control each GPIO with a simple web interface that you can use with any browser. Available in PHP and Python, they both require root access, but Python version serves HTTP itself. You can setup each GPIO as input or output and change their states (LOW/HIGH). WebIOPi is fully customizable, so you can use it for home remote control. It also work over Internet. UART/SPI/I2C support will be added later. If you need some computing for your GPIO go to code examples below.&lt;br /&gt;
&lt;br /&gt;
==GPIO Code examples==&lt;br /&gt;
====GPIO Driving Example (C)====&lt;br /&gt;
[http://www.raspberrypi.org/forum/educational-applications/gertboard/page-4/#p31555 Gert van Loo &amp;amp; Dom, has provided] some tested code which accesses the GPIO pins through direct GPIO register manipulation in C-code.&lt;br /&gt;
(Thanks to Dom for doing the difficult work of finding and testing the mapping.)&lt;br /&gt;
Example GPIO code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
//  How to access GPIO registers from C-code on the Raspberry-Pi&lt;br /&gt;
//  Example program&lt;br /&gt;
//  15-January-2012&lt;br /&gt;
//  Dom and Gert&lt;br /&gt;
//  Revised: 15-Feb-2013&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Access from ARM Running Linux&lt;br /&gt;
&lt;br /&gt;
#define BCM2708_PERI_BASE        0x20000000&lt;br /&gt;
#define GPIO_BASE                (BCM2708_PERI_BASE + 0x200000) /* GPIO controller */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;sys/mman.h&amp;gt;&lt;br /&gt;
#include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define PAGE_SIZE (4*1024)&lt;br /&gt;
#define BLOCK_SIZE (4*1024)&lt;br /&gt;
&lt;br /&gt;
int  mem_fd;&lt;br /&gt;
void *gpio_map;&lt;br /&gt;
&lt;br /&gt;
// I/O access&lt;br /&gt;
volatile unsigned *gpio;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// GPIO setup macros. Always use INP_GPIO(x) before using OUT_GPIO(x) or SET_GPIO_ALT(x,y)&lt;br /&gt;
#define INP_GPIO(g) *(gpio+((g)/10)) &amp;amp;= ~(7&amp;lt;&amp;lt;(((g)%10)*3))&lt;br /&gt;
#define OUT_GPIO(g) *(gpio+((g)/10)) |=  (1&amp;lt;&amp;lt;(((g)%10)*3))&lt;br /&gt;
#define SET_GPIO_ALT(g,a) *(gpio+(((g)/10))) |= (((a)&amp;lt;=3?(a)+4:(a)==4?3:2)&amp;lt;&amp;lt;(((g)%10)*3))&lt;br /&gt;
&lt;br /&gt;
#define GPIO_SET *(gpio+7)  // sets   bits which are 1 ignores bits which are 0&lt;br /&gt;
#define GPIO_CLR *(gpio+10) // clears bits which are 1 ignores bits which are 0&lt;br /&gt;
&lt;br /&gt;
void setup_io();&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char **argv)&lt;br /&gt;
{&lt;br /&gt;
  int g,rep;&lt;br /&gt;
&lt;br /&gt;
  // Set up gpi pointer for direct register access&lt;br /&gt;
  setup_io();&lt;br /&gt;
&lt;br /&gt;
  // Switch GPIO 7..11 to output mode&lt;br /&gt;
&lt;br /&gt;
 /************************************************************************\&lt;br /&gt;
  * You are about to change the GPIO settings of your computer.          *&lt;br /&gt;
  * Mess this up and it will stop working!                               *&lt;br /&gt;
  * It might be a good idea to 'sync' before running this program        *&lt;br /&gt;
  * so at least you still have your code changes written to the SD-card! *&lt;br /&gt;
 \************************************************************************/&lt;br /&gt;
&lt;br /&gt;
  // Set GPIO pins 7-11 to output&lt;br /&gt;
  for (g=7; g&amp;lt;=11; g++)&lt;br /&gt;
  {&lt;br /&gt;
    INP_GPIO(g); // must use INP_GPIO before we can use OUT_GPIO&lt;br /&gt;
    OUT_GPIO(g);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (rep=0; rep&amp;lt;10; rep++)&lt;br /&gt;
  {&lt;br /&gt;
     for (g=7; g&amp;lt;=11; g++)&lt;br /&gt;
     {&lt;br /&gt;
       GPIO_SET = 1&amp;lt;&amp;lt;g;&lt;br /&gt;
       sleep(1);&lt;br /&gt;
     }&lt;br /&gt;
     for (g=7; g&amp;lt;=11; g++)&lt;br /&gt;
     {&lt;br /&gt;
       GPIO_CLR = 1&amp;lt;&amp;lt;g;&lt;br /&gt;
       sleep(1);&lt;br /&gt;
     }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  return 0;&lt;br /&gt;
&lt;br /&gt;
} // main&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
// Set up a memory regions to access GPIO&lt;br /&gt;
//&lt;br /&gt;
void setup_io()&lt;br /&gt;
{&lt;br /&gt;
   /* open /dev/mem */&lt;br /&gt;
   if ((mem_fd = open(&amp;quot;/dev/mem&amp;quot;, O_RDWR|O_SYNC) ) &amp;lt; 0) {&lt;br /&gt;
      printf(&amp;quot;can't open /dev/mem \n&amp;quot;);&lt;br /&gt;
      exit(-1);&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   /* mmap GPIO */&lt;br /&gt;
   gpio_map = mmap(&lt;br /&gt;
      NULL,             //Any adddress in our space will do&lt;br /&gt;
      BLOCK_SIZE,       //Map length&lt;br /&gt;
      PROT_READ|PROT_WRITE,// Enable reading &amp;amp; writting to mapped memory&lt;br /&gt;
      MAP_SHARED,       //Shared with other processes&lt;br /&gt;
      mem_fd,           //File to map&lt;br /&gt;
      GPIO_BASE         //Offset to GPIO peripheral&lt;br /&gt;
   );&lt;br /&gt;
&lt;br /&gt;
   close(mem_fd); //No need to keep mem_fd open after mmap&lt;br /&gt;
&lt;br /&gt;
   if (gpio_map == MAP_FAILED) {&lt;br /&gt;
      printf(&amp;quot;mmap error %d\n&amp;quot;, (int)gpio_map);//errno also set!&lt;br /&gt;
      exit(-1);&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   // Always use volatile pointer!&lt;br /&gt;
   gpio = (volatile unsigned *)gpio_map;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
} // setup_io&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Pull Up/Pull Down Register Example====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   // enable pull-up on GPIO24&amp;amp;25&lt;br /&gt;
   GPIO_PULL = 2;&lt;br /&gt;
   short_wait();&lt;br /&gt;
   // clock on GPIO 24 &amp;amp; 25 (bit 24 &amp;amp; 25 set)&lt;br /&gt;
   GPIO_PULLCLK0 = 0x03000000;&lt;br /&gt;
   short_wait();&lt;br /&gt;
   GPIO_PULL = 0;&lt;br /&gt;
   GPIO_PULLCLK0 = 0;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Python)====&lt;br /&gt;
This uses the Python module available at http://pypi.python.org/pypi/RPi.GPIO&lt;br /&gt;
Any Python script that controls GPIO must be run as root.&lt;br /&gt;
&amp;lt;pre&amp;gt;import RPi.GPIO as GPIO&lt;br /&gt;
&lt;br /&gt;
# Set up the GPIO channels - one input and one output&lt;br /&gt;
GPIO.setup(11, GPIO.IN)&lt;br /&gt;
GPIO.setup(12, GPIO.OUT)&lt;br /&gt;
&lt;br /&gt;
# Input from pin 11&lt;br /&gt;
input_value = GPIO.input(11)&lt;br /&gt;
&lt;br /&gt;
# Output to pin 12&lt;br /&gt;
GPIO.output(12, True)&lt;br /&gt;
&lt;br /&gt;
# The same script as above but using BCM GPIO 00..nn numbers&lt;br /&gt;
GPIO.setmode(GPIO.BCM)&lt;br /&gt;
GPIO.setup(17, GPIO.IN)&lt;br /&gt;
GPIO.setup(18, GPIO.OUT)&lt;br /&gt;
input_value = GPIO.input(17)&lt;br /&gt;
GPIO.output(18, True)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Java using the Pi4J Library)====&lt;br /&gt;
This uses the Java library available at http://www.pi4j.com/. &lt;br /&gt;
(Any Java application that controls GPIO must be run as root.)&lt;br /&gt;
&lt;br /&gt;
Please note that the Pi4J library uses the WiringPi GPIO pin numbering scheme &amp;lt;ref&amp;gt;http://pi4j.com/usage.html#Pin_Numbering&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://projects.drogon.net/raspberry-pi/wiringpi/pins/&amp;lt;/ref&amp;gt;.  Please see the usage documentation for more details: http://pi4j.com/usage.html  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
public static void main(String[] args) {&lt;br /&gt;
&lt;br /&gt;
    // create gpio controller&lt;br /&gt;
    GpioController gpio = GpioFactory.getInstance();&lt;br /&gt;
        &lt;br /&gt;
    // provision gpio pin #01 as an output pin and turn off&lt;br /&gt;
    GpioPinDigitalOutput outputPin = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_01, &amp;quot;MyLED&amp;quot;, PinState.LOW);&lt;br /&gt;
    &lt;br /&gt;
    // turn output to LOW/OFF state&lt;br /&gt;
    outputPin.low();&lt;br /&gt;
&lt;br /&gt;
    // turn output to HIGH/ON state&lt;br /&gt;
    outputPin.high();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    // provision gpio pin #02 as an input pin with its internal pull down resistor enabled&lt;br /&gt;
    GpioPinDigitalInput inputPin = gpio.provisionDigitalInputPin(RaspiPin.GPIO_02, &amp;quot;MyButton&amp;quot;, PinPullResistance.PULL_DOWN);&lt;br /&gt;
&lt;br /&gt;
    // get input state from pin 2&lt;br /&gt;
    boolean input_value = inputPin.isHigh();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More complete and detailed examples are included on the Pi4J website at http://www.pi4j.com/. &lt;br /&gt;
&lt;br /&gt;
The Pi4J library includes support for:&lt;br /&gt;
* GPIO Control&lt;br /&gt;
* GPIO Listeners&lt;br /&gt;
* Serial Communication&lt;br /&gt;
* I2C Communication&lt;br /&gt;
* SPI Communication&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Java)====&lt;br /&gt;
This uses the Java library available at https://github.com/jkransen/framboos. It does not depend on (or use) the wiringPi driver, but uses the same numbering scheme. Instead it uses the default driver under /sys/class/gpio that ships with the distro, so it works out of the box. Any Java application that controls GPIO must be run as root.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
public static void main(String[] args) {&lt;br /&gt;
  // reading from an in pin&lt;br /&gt;
  InPin button = new InPin(8);&lt;br /&gt;
  boolean isButtonPressed = button.getValue();&lt;br /&gt;
  button.close();&lt;br /&gt;
&lt;br /&gt;
  // writing to an out pin&lt;br /&gt;
  OutPin led = new Outpin(0);&lt;br /&gt;
  led.setValue(true);&lt;br /&gt;
  led.setValue(false);&lt;br /&gt;
  led.close();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Java Webapp GPIO web control via http)====&lt;br /&gt;
This uses the Java Webapp available at https://bitbucket.org/sbub/raspberry-pi-gpio-web-control/overview. You can control your GPIO over the internet. Any Java application that controls GPIO must be run as root.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
host:~ sb$ curl 'http://raspberrypi:8080/handle?g0=1&amp;amp;g1=0'&lt;br /&gt;
{&amp;quot;g1&amp;quot;:0,&amp;quot;g0&amp;quot;:1}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Bash shell script, using sysfs, part of the raspbian operating system)====&lt;br /&gt;
The export and unexport of pins must be done as root. &lt;br /&gt;
To change to the root user see below:  To change back, the word exit must be entered.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
Export creates a new folder for the exported pin, and creates files for each of its control functions (i.e. active_low, direction, edge, power, subsystem, uevent, and value). Upon creation, the control files can be read by all users (not just root), but can only be written to by user root, the file's owner. Nevertheless, once created, it is possible to allow users other than root, to also write inputs to the control files, by changing the ownership or permissions of these files. Changes to the file's ownership or permissions must initially be done as root, as their owner and group is set to root upon creation. Typically you might change the owner to be the (non root) user controlling the GPIO, or you might add write permission, and change the group ownership to one of which the user controlling the GPIO is a member. By such means, using only packages provided in the recommended rasbian distribution, it is possible for Python CGI scripts, which are typically run as user nobody, to be used for control of the GPIO over the internet from a browser at a remote location.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
# GPIO numbers should be from this list&lt;br /&gt;
# 0, 1, 4, 7, 8, 9, 10, 11, 14, 15, 17, 18, 21, 22, 23, 24, 25&lt;br /&gt;
&lt;br /&gt;
# Note that the GPIO numbers that you program here refer to the pins&lt;br /&gt;
# of the BCM2835 and *not* the numbers on the pin header. &lt;br /&gt;
# So, if you want to activate GPIO7 on the header you should be &lt;br /&gt;
# using GPIO4 in this script. Likewise if you want to activate GPIO0&lt;br /&gt;
# on the header you should be using GPIO17 here.&lt;br /&gt;
&lt;br /&gt;
# Set up GPIO 4 and set to output&lt;br /&gt;
echo &amp;quot;4&amp;quot; &amp;gt; /sys/class/gpio/export&lt;br /&gt;
echo &amp;quot;out&amp;quot; &amp;gt; /sys/class/gpio/gpio4/direction&lt;br /&gt;
&lt;br /&gt;
# Set up GPIO 7 and set to input&lt;br /&gt;
echo &amp;quot;7&amp;quot; &amp;gt; /sys/class/gpio/export&lt;br /&gt;
echo &amp;quot;in&amp;quot; &amp;gt; /sys/class/gpio/gpio7/direction&lt;br /&gt;
&lt;br /&gt;
# Write output&lt;br /&gt;
echo &amp;quot;1&amp;quot; &amp;gt; /sys/class/gpio/gpio4/value&lt;br /&gt;
&lt;br /&gt;
# Read from input&lt;br /&gt;
cat /sys/class/gpio/gpio7/value &lt;br /&gt;
&lt;br /&gt;
# Clean up&lt;br /&gt;
echo &amp;quot;4&amp;quot; &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
echo &amp;quot;7&amp;quot; &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Shell script - take 2)====&lt;br /&gt;
You need the wiringPi library from&lt;br /&gt;
https://projects.drogon.net/raspberry-pi/wiringpi/download-and-install/. Once installed, there is a new command '''gpio''' which can be used&lt;br /&gt;
as a '''non-root''' user to control the GPIO pins.&lt;br /&gt;
&lt;br /&gt;
The man page &amp;lt;pre&amp;gt;man gpio&amp;lt;/pre&amp;gt; has full details, but briefly:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gpio -g mode 17 out&lt;br /&gt;
  gpio -g mode 18 pwm&lt;br /&gt;
&lt;br /&gt;
  gpio -g write 17 1&lt;br /&gt;
  gpio -g pwm 18 512&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The '''-g''' flag tells the '''gpio''' program to use the BCM GPIO pin numbering&lt;br /&gt;
scheme (otherwise it will use the wiringPi numbering scheme by default).&lt;br /&gt;
&lt;br /&gt;
The gpio command can also control the internal pull-up and pull-down&lt;br /&gt;
resistors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gpio -g mode 17 up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This sets the pull-up resistor - however any change of mode, even&lt;br /&gt;
setting a pin that's already set as an input to an input will remove&lt;br /&gt;
the pull-up/pull-down resistors, so they may need to be reset.&lt;br /&gt;
&lt;br /&gt;
Additionally, it can export/un-export the GPIO devices for use by&lt;br /&gt;
other non-root programms - e.g. Python scripts. (Although you&lt;br /&gt;
may need to drop the calls to GPIO.Setup() in the Python scripts, and&lt;br /&gt;
do the setup separately in a little shell script, or call the '''gpio''' program&lt;br /&gt;
from inside Python).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gpio export 17 out&lt;br /&gt;
  gpio export 18 in&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
These exports GPIO-17 and sets it to output, and exports GPIO-18&lt;br /&gt;
and sets it to input. &lt;br /&gt;
&lt;br /&gt;
And when done:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gpio unexport 17&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
The export/unexport commands always use the BCM GPIO pin numbers regardless of the&lt;br /&gt;
presence of the '''-g''' flag or not.&lt;br /&gt;
&lt;br /&gt;
If you want to use the internal pull-up/down's with the /sys/class/gpio mechanisms,&lt;br /&gt;
then you can set them after exporting them. So:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gpio -g export 4 in&lt;br /&gt;
  gpio -g mode 4 up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can then use GPIO-4 as an input in your Python, Shell, Java, etc. programs without the use&lt;br /&gt;
of an external resistor to pull the pin high. (If that's what you were after - for example, a simple push&lt;br /&gt;
button switch taking the pin to ground.)&lt;br /&gt;
&lt;br /&gt;
A fully working example of a shell script using the GPIO pins&lt;br /&gt;
can be found at http://project-downloads.drogon.net/files/gpioExamples/tuxx.sh.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Lazarus / Free Pascal)====&lt;br /&gt;
[[File:RPI GPIO testprogram with lazarus.png|thumb|254px|right|A simple app for controlling GPIO pin 17 with Lazarus]]&lt;br /&gt;
&lt;br /&gt;
The GPIO pins are accessible from [[Lazarus on RPi|Lazarus]] without any third-party software. This is performed by means of invoking Unix shell commands with '''fpsystem'''. The following example uses GPIO pin 17 as output port. It is assumed that you created a form with a TToggleBox named GPIO17ToggleBox and for logging purposes a TMemo with name LogMemo (optional). The program has to be executed with root privileges.&lt;br /&gt;
&lt;br /&gt;
''Unit for controlling the GPIO port:''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
unit Unit1;&lt;br /&gt;
&lt;br /&gt;
{Demo application for GPIO on Raspberry Pi}&lt;br /&gt;
{Inspired by the Python input/output demo application by Gareth Halfacree}&lt;br /&gt;
{written for the Raspberry Pi User Guide, ISBN 978-1-118-46446-5}&lt;br /&gt;
&lt;br /&gt;
{$mode objfpc}{$H+}&lt;br /&gt;
&lt;br /&gt;
interface&lt;br /&gt;
&lt;br /&gt;
uses&lt;br /&gt;
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, Unix;&lt;br /&gt;
&lt;br /&gt;
type&lt;br /&gt;
&lt;br /&gt;
  { TForm1 }&lt;br /&gt;
&lt;br /&gt;
  TForm1 = class(TForm)&lt;br /&gt;
    LogMemo: TMemo;&lt;br /&gt;
    GPIO17ToggleBox: TToggleBox;&lt;br /&gt;
    procedure FormActivate(Sender: TObject);&lt;br /&gt;
    procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);&lt;br /&gt;
    procedure GPIO17ToggleBoxChange(Sender: TObject);&lt;br /&gt;
  private&lt;br /&gt;
    { private declarations }&lt;br /&gt;
  public&lt;br /&gt;
    { public declarations }&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
var&lt;br /&gt;
  Form1: TForm1;&lt;br /&gt;
  gReturnCode: longint; {stores the result of the IO operation}&lt;br /&gt;
&lt;br /&gt;
implementation&lt;br /&gt;
&lt;br /&gt;
{$R *.lfm}&lt;br /&gt;
&lt;br /&gt;
{ TForm1 }&lt;br /&gt;
&lt;br /&gt;
procedure TForm1.FormActivate(Sender: TObject);&lt;br /&gt;
begin&lt;br /&gt;
  { Prepare SoC pin 17 (pin 11 on GPIO port) for access: }&lt;br /&gt;
  gReturnCode := fpsystem('echo &amp;quot;17&amp;quot; &amp;gt; /sys/class/gpio/export');&lt;br /&gt;
  LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
  { Set SoC pin 17 as output: }&lt;br /&gt;
  gReturnCode := fpsystem('echo &amp;quot;out&amp;quot; &amp;gt; /sys/class/gpio/gpio17/direction');&lt;br /&gt;
  LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
procedure TForm1.FormClose(Sender: TObject; var CloseAction: TCloseAction);&lt;br /&gt;
begin&lt;br /&gt;
  { Free SoC pin 17: }&lt;br /&gt;
  gReturnCode := fpsystem('echo &amp;quot;17&amp;quot; &amp;gt; /sys/class/gpio/unexport');&lt;br /&gt;
  LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
procedure TForm1.GPIO17ToggleBoxChange(Sender: TObject);&lt;br /&gt;
begin&lt;br /&gt;
  if GPIO17ToggleBox.Checked then&lt;br /&gt;
  begin&lt;br /&gt;
    { Swith SoC pin 17 on: }&lt;br /&gt;
    gReturnCode := fpsystem('echo &amp;quot;1&amp;quot; &amp;gt; /sys/class/gpio/gpio17/value');&lt;br /&gt;
    LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
  end&lt;br /&gt;
  else&lt;br /&gt;
  begin&lt;br /&gt;
    { Switch SoC pin 17 off: }&lt;br /&gt;
    gReturnCode := fpsystem('echo &amp;quot;0&amp;quot; &amp;gt; /sys/class/gpio/gpio17/value');&lt;br /&gt;
    LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
  end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Main program:''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
program io_test;&lt;br /&gt;
&lt;br /&gt;
{$mode objfpc}{$H+}&lt;br /&gt;
&lt;br /&gt;
uses&lt;br /&gt;
  {$IFDEF UNIX}{$IFDEF UseCThreads}&lt;br /&gt;
  cthreads,&lt;br /&gt;
  {$ENDIF}{$ENDIF}&lt;br /&gt;
  Interfaces, // this includes the LCL widgetset&lt;br /&gt;
  Forms, Unit1&lt;br /&gt;
  { you can add units after this };&lt;br /&gt;
&lt;br /&gt;
{$R *.res}&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  Application.Initialize;&lt;br /&gt;
  Application.CreateForm(TForm1, Form1);&lt;br /&gt;
  Application.Run;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An alternative way to access the GPIO port with Lazarus / Free Pascal is by using [http://www.lazarus.freepascal.org/index.php/topic,17404.0.html Lazarus wrapper unit for Gordon Henderson's wiringPi C library].&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (C + wiringPi)====&lt;br /&gt;
Get and install wiringPi: https://projects.drogon.net/raspberry-pi/wiringpi/download-and-install/&lt;br /&gt;
&lt;br /&gt;
Save this, and compile with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gcc -o blink blink.c -lwiringPi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and run with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  sudo ./blink&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 * blink.c:&lt;br /&gt;
 *      blinks the first LED&lt;br /&gt;
 *      Gordon Henderson, projects@drogon.net&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;wiringPi.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main (void)&lt;br /&gt;
{&lt;br /&gt;
  printf (&amp;quot;Raspberry Pi blink\n&amp;quot;) ;&lt;br /&gt;
&lt;br /&gt;
  if (wiringPiSetup () == -1)&lt;br /&gt;
    return 1 ;&lt;br /&gt;
&lt;br /&gt;
  pinMode (0, OUTPUT) ;         // aka BCM_GPIO pin 17&lt;br /&gt;
&lt;br /&gt;
  for (;;)&lt;br /&gt;
  {&lt;br /&gt;
    digitalWrite (0, 1) ;       // On&lt;br /&gt;
    delay (500) ;               // mS&lt;br /&gt;
    digitalWrite (0, 0) ;       // Off&lt;br /&gt;
    delay (500) ;&lt;br /&gt;
  }&lt;br /&gt;
  return 0 ;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (C)====&lt;br /&gt;
This must be done as root. To change to the root user:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
You must also get and install the bcm2835 library, which supports&lt;br /&gt;
GPIO and SPI interfaces. Details and downloads &lt;br /&gt;
from  http://www.open.com.au/mikem/bcm2835&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// blink.c&lt;br /&gt;
//&lt;br /&gt;
// Example program for bcm2835 library&lt;br /&gt;
// Blinks a pin on an off every 0.5 secs&lt;br /&gt;
//&lt;br /&gt;
// After installing bcm2835, you can build this &lt;br /&gt;
// with something like:&lt;br /&gt;
// gcc -o blink -l rt blink.c -l bcm2835&lt;br /&gt;
// sudo ./blink&lt;br /&gt;
//&lt;br /&gt;
// Or you can test it before installing with:&lt;br /&gt;
// gcc -o blink -l rt -I ../../src ../../src/bcm2835.c blink.c&lt;br /&gt;
// sudo ./blink&lt;br /&gt;
//&lt;br /&gt;
// Author: Mike McCauley (mikem@open.com.au)&lt;br /&gt;
// Copyright (C) 2011 Mike McCauley&lt;br /&gt;
// $Id: RF22.h,v 1.21 2012/05/30 01:51:25 mikem Exp $&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;bcm2835.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Blinks on RPi pin GPIO 11&lt;br /&gt;
#define PIN RPI_GPIO_P1_11&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char **argv)&lt;br /&gt;
{&lt;br /&gt;
    // If you call this, it will not actually access the GPIO&lt;br /&gt;
    // Use for testing&lt;br /&gt;
//    bcm2835_set_debug(1);&lt;br /&gt;
&lt;br /&gt;
    if (!bcm2835_init())&lt;br /&gt;
	return 1;&lt;br /&gt;
&lt;br /&gt;
    // Set the pin to be an output&lt;br /&gt;
    bcm2835_gpio_fsel(PIN, BCM2835_GPIO_FSEL_OUTP);&lt;br /&gt;
&lt;br /&gt;
    // Blink&lt;br /&gt;
    while (1)&lt;br /&gt;
    {&lt;br /&gt;
	// Turn it on&lt;br /&gt;
	bcm2835_gpio_write(PIN, HIGH);&lt;br /&gt;
	&lt;br /&gt;
	// wait a bit&lt;br /&gt;
	delay(500);&lt;br /&gt;
	&lt;br /&gt;
	// turn it off&lt;br /&gt;
	bcm2835_gpio_write(PIN, LOW);&lt;br /&gt;
	&lt;br /&gt;
	// wait a bit&lt;br /&gt;
	delay(500);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Perl)====&lt;br /&gt;
This must be done as root. To change to the root user:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo su -&amp;lt;/pre&amp;gt;&lt;br /&gt;
Supports GPIO and SPI interfaces.&lt;br /&gt;
You must also get and install the bcm2835 library. Details and downloads &lt;br /&gt;
from  http://www.open.com.au/mikem/bcm2835&lt;br /&gt;
You must then get and install the Device::BCM2835 perl library from CPAN &lt;br /&gt;
http://search.cpan.org/~mikem/Device-BCM2835-1.0/lib/Device/BCM2835.pm&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
use Device::BCM2835;&lt;br /&gt;
use strict;&lt;br /&gt;
&lt;br /&gt;
# call set_debug(1) to do a non-destructive test on non-RPi hardware&lt;br /&gt;
#Device::BCM2835::set_debug(1);&lt;br /&gt;
Device::BCM2835::init() &lt;br /&gt;
 || die &amp;quot;Could not init library&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
# Blink pin 11:&lt;br /&gt;
# Set RPi pin 11 to be an output&lt;br /&gt;
Device::BCM2835::gpio_fsel(&amp;amp;Device::BCM2835::RPI_GPIO_P1_11, &lt;br /&gt;
                            &amp;amp;Device::BCM2835::BCM2835_GPIO_FSEL_OUTP);&lt;br /&gt;
&lt;br /&gt;
while (1)&lt;br /&gt;
{&lt;br /&gt;
    # Turn it on&lt;br /&gt;
    Device::BCM2835::gpio_write(&amp;amp;Device::BCM2835::RPI_GPIO_P1_11, 1);&lt;br /&gt;
    Device::BCM2835::delay(500); # Milliseconds&lt;br /&gt;
    # Turn it off&lt;br /&gt;
    Device::BCM2835::gpio_write(&amp;amp;Device::BCM2835::RPI_GPIO_P1_11, 0);&lt;br /&gt;
    Device::BCM2835::delay(500); # Milliseconds&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== GPIO Driving Example (C#) ====&lt;br /&gt;
RaspberryPiDotNet library is available at https://github.com/cypherkey/RaspberryPi.Net/.&lt;br /&gt;
The library includes a GPIOFile and GPIOMem class. The GPIOMem requires compiling Mike McCauley's bcm2835 library above in to a shared object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Linq;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using RaspberryPiDotNet;&lt;br /&gt;
using System.Threading;&lt;br /&gt;
&lt;br /&gt;
namespace RaspPi&lt;br /&gt;
{&lt;br /&gt;
    class Program&lt;br /&gt;
    {&lt;br /&gt;
        static void Main(string[] args)&lt;br /&gt;
        {&lt;br /&gt;
            // Access the GPIO pin using a static method&lt;br /&gt;
            GPIOFile.Write(GPIO.GPIOPins.GPIO00, true);&lt;br /&gt;
&lt;br /&gt;
            // Create a new GPIO object&lt;br /&gt;
            GPIOMem gpio = new GPIOMem(GPIO.GPIOPins.GPIO01);&lt;br /&gt;
            gpio.Write(false);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Ruby)====&lt;br /&gt;
&lt;br /&gt;
This example uses the WiringPi Ruby Gem: http://pi.gadgetoid.co.uk/post/015-wiringpi-now-with-serial which you can install on your Pi with &amp;quot;gem install wiringpi&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MY_PIN = 1&lt;br /&gt;
&lt;br /&gt;
require 'wiringpi'&lt;br /&gt;
io = WiringPi::GPIO.new&lt;br /&gt;
io.mode(MY_PIN,OUTPUT)&lt;br /&gt;
io.write(MY_PIN,HIGH)&lt;br /&gt;
io.read(MY_PIN)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternatively the Pi Piper Gem (https://github.com/jwhitehorn/pi_piper) allows for event driven programming:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
require 'pi_piper'&lt;br /&gt;
include PiPiper&lt;br /&gt;
&lt;br /&gt;
watch :pin =&amp;gt; 23 do&lt;br /&gt;
  puts &amp;quot;Pin changed from #{last_value} to #{value}&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
PiPiper.wait&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (BASIC - Return to BASIC)====&lt;br /&gt;
&lt;br /&gt;
'''RTB''' or Return to Basic can be found here: https://projects.drogon.net/return-to-basic/&lt;br /&gt;
&lt;br /&gt;
It's a new BASIC featuring modern looping constructs, switch statements, named procedures and functions as well as graphics (caresian and turtle), file handling and more. It also supports the Pi's on-board GPIO without needing to be run as root. (You don't need any special setup routines either)&lt;br /&gt;
&lt;br /&gt;
Sample blink program:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// blink.rtb:&lt;br /&gt;
//    Blink program in Return to Basic&lt;br /&gt;
//    Gordon Henderson, projects@drogon.net&lt;br /&gt;
//&lt;br /&gt;
PinMode (0, 1) // Output&lt;br /&gt;
CYCLE &lt;br /&gt;
  DigitalWrite (0, 1) // Pin 0 ON&lt;br /&gt;
  WAIT (0.5) // 0.5 seconds&lt;br /&gt;
  DigitalWrite (0, 0)&lt;br /&gt;
  WAIT (0.5)&lt;br /&gt;
REPEAT &lt;br /&gt;
END &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (BASIC)====&lt;br /&gt;
&lt;br /&gt;
'''Bywater BASIC Interpreter'''&lt;br /&gt;
&lt;br /&gt;
The Bywater BASIC Interpreter (bwBASIC) implements a large superset of the ANSI Standard for Minimal BASIC (X3.60-1978) and a significant subset of the ANSI Standard for Full BASIC (X3.113-1987) in C. It also offers shell programming facilities as an extension of BASIC. bwBASIC seeks to be as portable as possible. &lt;br /&gt;
You can download it at.&lt;br /&gt;
http://packages.debian.org/stable/interpreters/bwbasic&lt;br /&gt;
&lt;br /&gt;
'''BASIC programming of the I/O'''&lt;br /&gt;
&lt;br /&gt;
'''Setting up a GPIO pin to be used for inputs or for outputs.'''&lt;br /&gt;
&lt;br /&gt;
We cannot load the control words directly into the  32 bit ARM registers with 32 bit addresses, as bwBASIC has no POKE and PEEK commands and other versions of BASIC (as far as I know) only handle 8 bit registers with 16 bit addresses with these commands. So we need to export the GPIO pins, so that they exist in a file structure which we can access from basic with the OPEN command.(ref 2)&lt;br /&gt;
&lt;br /&gt;
We need to do this in Linux root.&lt;br /&gt;
We need to run BASIC in the root too. First we go to the root, then we load bwbasic into root.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo -1&lt;br /&gt;
sudo bwbasic&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
REM Now to export the no4 GPIO pin for example, using a Shell command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo “4” &amp;gt;  /sys/class/gpio/export&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Whilst bwbasic can accommodate shell commands, and we can store a set of these commands (eg. to export a number of GPIO pins at the outset) as numbered statements in a file that can be loaded with the basic command LOAD “filename” and RUN (ref 2), the shell commands have to run as a separate file, as they cannot be run from within, as part of a basic programme.&lt;br /&gt;
&lt;br /&gt;
'''Now we can access the file containing the pin direction setting from BASIC'''&lt;br /&gt;
&lt;br /&gt;
We can set GPIO pin 4 to input or to output by OPENing its pin direction file for output and writing “in” or “out” with a PRINT# command. (ref 2 )&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic4gl&amp;quot;&amp;gt;&lt;br /&gt;
10 OPEN ”O”,#1, “/sys/devices/virtual/gpio/gpio4/direction”,2&lt;br /&gt;
20 PRINT #1,”out”&lt;br /&gt;
30 CLOSE #1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
REM closes the open direction file, whereupon the system performs the action of setting the direction to “out”. NB the system only carries out the action as the file is closed.(ref 3)&lt;br /&gt;
&lt;br /&gt;
'''We are now able to control the output of the gpio 4 pin from BASIC'''&lt;br /&gt;
&lt;br /&gt;
We can set the GPIO 4 pin to 1 or to 0 by OPENing its pin value file for output and writing “1” or “0” with a PRINT# command.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic4gl&amp;quot;&amp;gt;&lt;br /&gt;
40 OPEN ”O”,#4, “/sys/devices/virtual/gpio/gpio4/value”,1&lt;br /&gt;
50 PRINT #4,”1”&lt;br /&gt;
60 CLOSE #4 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
REM turns on the output of GPIO pin 4.&lt;br /&gt;
&lt;br /&gt;
REM similarly we can turn off the output of GPIO pin 4.&lt;br /&gt;
OPEN ”O”,#4, “/sys/devices/virtual/gpio/gpio4/value”,1&lt;br /&gt;
PRINT #4,”0”&lt;br /&gt;
CLOSE #4.&lt;br /&gt;
&lt;br /&gt;
'''Example of an (unstructured) BASIC programme''' &lt;br /&gt;
&lt;br /&gt;
To read the state of a switch and control the power to two LEDs connected to GPIO pins 8,7 and 4 respectively.&lt;br /&gt;
&lt;br /&gt;
Programme to set 2 pins as outputs and 1 pin as input and to read the input turning on two different combinations of the two outputs (ie output 0,1 or 1,0) depending on the state of the input (1 or 0).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic4gl&amp;quot;&amp;gt;&lt;br /&gt;
sudo –i&lt;br /&gt;
sudo bwbasic&lt;br /&gt;
LOAD “export.bas”&lt;br /&gt;
LIST&lt;br /&gt;
REM a set of Shell statements to export the three GPIO pins.&lt;br /&gt;
10 echo “4” &amp;gt; /sys/class/gpio/export&lt;br /&gt;
20 echo “7” &amp;gt; /sys/class/gpio/export&lt;br /&gt;
30 echo “8” &amp;gt; /sys/class/gpio/export&lt;br /&gt;
RUN&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NEW REM clears the export.bas programme from memory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic4gl&amp;quot;&amp;gt;&lt;br /&gt;
.&lt;br /&gt;
LOAD “demo1.bas”&lt;br /&gt;
LIST&lt;br /&gt;
10 OPEN ”O”,#1, “/sys/devices/virtual/gpio/gpio4/direction”,2 &lt;br /&gt;
20 OPEN ”O”,#2, “/sys/devices/virtual/gpio/gpio7/direction”,2 &lt;br /&gt;
30 OPEN ”O”,#3, “/sys/devices/virtual/gpio/gpio8/direction”,2&lt;br /&gt;
REM opens the three pin direction files&lt;br /&gt;
40 PRINT #1, “out”&lt;br /&gt;
50 PRINT #2, “out”&lt;br /&gt;
60 PRINT #3, “in”&lt;br /&gt;
REM sets GPIO pins 4 and 7 as outputs and GPIO pin 8 as input.&lt;br /&gt;
70 CLOSE #1&lt;br /&gt;
80 CLOSE #2&lt;br /&gt;
90 CLOSE #3&lt;br /&gt;
REM closes all open files, allowing the system to perform the direction settings.&lt;br /&gt;
100 OPEN ”I”,#8, “/sys/devices/virtual/gpio/gpio8/value”,1&lt;br /&gt;
REM opens the GPIO pin 8 value file&lt;br /&gt;
110 INPUT #8,x&lt;br /&gt;
REM reads the value of the input pin and stores the value in numerical variable x&lt;br /&gt;
120 CLOSE #8&lt;br /&gt;
REM closes the open file, allowing the system to read the value of the input pin and store the value in numerical variable x.&lt;br /&gt;
130 OPEN “O”,#1, “/sys/devices/virtual/gpio/gpio4/value”,1&lt;br /&gt;
140 OPEN “O”,#2, “/sys/devices/virtual/gpio/gpio7/value”,1&lt;br /&gt;
REM opens the GPIO pins 4 and value files ready for outputting 1s and 0s.&lt;br /&gt;
150 IF x&amp;lt;1 THEN GOTO 160 ELSE GOTO 190&lt;br /&gt;
REM tests the state of the switch (1 or0) and directs the program to generate the appropriate outputs&lt;br /&gt;
160 PRINT #1,”1”&lt;br /&gt;
170 PRINT #2,”0”&lt;br /&gt;
180 GOTO 210&lt;br /&gt;
190  PRINT#1,&amp;quot;0&amp;quot;&lt;br /&gt;
200 PRINT #2,&amp;quot;1&amp;quot;&lt;br /&gt;
210 CLOSE #1&lt;br /&gt;
220 CLOSE #2&lt;br /&gt;
REM Closes the files and allows the outputs to light the LED&lt;br /&gt;
230 END.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When all is done, we should unexport the GPIO pins, to leave the R-Pi as we found it.(Ref 1.)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic4gl&amp;quot;&amp;gt;&lt;br /&gt;
NEW&lt;br /&gt;
LOAD “unexport.bas”&lt;br /&gt;
LIST&lt;br /&gt;
REM a set of Shell statements to unexport the three GPIO pins.&lt;br /&gt;
10 echo “4” &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
20 echo “7” &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
30 echo “8” &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
RUN&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
A simple circuit to provide the switched input and the two LED outputs.&lt;br /&gt;
&lt;br /&gt;
Ancient Mariner. Dec. 2012&lt;br /&gt;
&lt;br /&gt;
References.&lt;br /&gt;
&lt;br /&gt;
1. This paper RPi Low-level peripherals.&lt;br /&gt;
&lt;br /&gt;
2. Ed Beynon.  [http://www.ybw.com/forums/showthread.php?t=331320&amp;amp;page=5 http://www.ybw.com/forums/showthread.php?t=331320&amp;amp;page=5]&lt;br /&gt;
&lt;br /&gt;
3. Arthur Kaletzky. Private communication. 25/10/2012&lt;br /&gt;
&lt;br /&gt;
4. bwbasic manual.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the two original documents this example has been copied from see:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Media:GPIO_Driving_Example_(BASIC)_.doc | GPIO_Driving_Example_(BASIC)_.doc]]&lt;br /&gt;
&lt;br /&gt;
[[Media:Raspberry_Pi_I-O_viii.doc | Raspberry_Pi_I-O_viii.doc]]&lt;br /&gt;
&lt;br /&gt;
==MIPI CSI-2==&lt;br /&gt;
&lt;br /&gt;
On the production board&amp;lt;ref&amp;gt;http://www.raspberrypi.org/wp-content/uploads/2012/04/Raspberry-Pi-Schematics-R1.0.pdf&amp;lt;/ref&amp;gt;, the Raspberry Pi Foundation design brings out the MIPI CSI-2 (Camera Serial Interface&amp;lt;ref&amp;gt;http://www.mipi.org/specifications/camera-interface&amp;lt;/ref&amp;gt;) to a 15-way flat flex connector S5, between the Ethernet and HDMI connectors. A compatible camera has been discussed as working in tests and is planned for release at a later date.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/projects-and-collaboration-general/complex-camera-peripherials#p72602&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&amp;lt;!-- This is misleading as it implies that cheap cameras from other devices can be used. CSI appears to be a generic interface with secret device-specific requirements so these devices must have drivers to be relevant (and currently only the VideoCore has access to the CSI hardware).&lt;br /&gt;
&lt;br /&gt;
is Sony sub-LVDS same as MIPI CSI-2? Sony IMX020 5Mbip module is available for $5-7 (SE K850i replacement camera).&lt;br /&gt;
&lt;br /&gt;
Looks like Nokia N95 uses CSI-2 5Mpix camera module with autofocus. ~$15 replacement part.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==DSI==&lt;br /&gt;
&lt;br /&gt;
On the production board, the Raspberry Pi Foundation design brings out the DSI (Display Serial Interface&amp;lt;ref&amp;gt;http://www.mipi.org/specifications/display-interface&amp;lt;/ref&amp;gt;) to a 15-way flat flex connector labelled S2, next to Raspberry Pi logo. It has two data lanes and a clock lane, to drive a possible future LCD screen device. Some smart phone screens use DSI&amp;lt;ref&amp;gt;http://en.wikipedia.org/wiki/Display_Serial_Interface&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==CEC==&lt;br /&gt;
&lt;br /&gt;
[[CEC (Consumer Electronics Control) over HDMI|HDMI-CEC (Consumer Electronics Control for HDMI)]] is supported by hardware but some driver work will be needed and currently isn't exposed into Linux userland.&lt;br /&gt;
Eben notes that he has seen CEC demos on the Broadcom SoC they are using. &lt;br /&gt;
&lt;br /&gt;
libCEC with Raspberry Pi support has been included in OpenELEC and will be included in Raspbmc RC4.&amp;lt;ref&amp;gt;http://blog.pulse-eight.com/2012/08/01/libcec-1-8-0-a-firmware-upgrade-and-raspberry-pi-support/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information about HDMI-CEC and what you could do with it on the Raspberry Pi please see the [[CEC (Consumer Electronics Control) over HDMI]] article.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Template:Raspberry Pi}}&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/RPi_Low-level_peripherals</id>
		<title>RPi Low-level peripherals</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RPi_Low-level_peripherals"/>
				<updated>2013-02-22T02:05:35Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: /* General Purpose Input/Output (GPIO) */ Table-ified the P5 header pinout&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: RaspberryPi]]&lt;br /&gt;
{{Template:RPi_Hardware}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
In addition to the familiar USB, Ethernet and HDMI ports, the R-Pi offers lower-level interfaces intended to connect more directly with chips and subsystem modules. These GPIO (general purpose I/O) signals on the 2x13 header pins include SPI, I2C, serial UART, 3V3 and 5V power. These interfaces are not &amp;quot;plug and play&amp;quot; and require care to avoid miswiring. The pins use a 3V3 logic level and are not tolerant of 5V levels, such as you might find on a 5V powered Arduino.  Not yet software-enabled are the flex cable connectors with CSI (camera serial interface) and DSI (display serial interface), and a serial link inside the HDMI connector called CEC. (consumer electronics control)&lt;br /&gt;
&lt;br /&gt;
==General Purpose Input/Output (GPIO)==&lt;br /&gt;
[[File:GPIOs.png|thumb|254px|right|The layout of the Raspberry Pi Revision 1 P1 pin-header seen from the top, containing pins useable for general purpose I/O. Colour coded to the table. [https://sites.google.com/site/burngatehouse/home/drawings/GPIOs2.gif Source] ]]&lt;br /&gt;
&lt;br /&gt;
General Purpose Input/Output (a.k.a. GPIO) is a generic pin on a chip whose behavior (including whether it is an input or output pin) can be controlled (programmed) through software.&lt;br /&gt;
&lt;br /&gt;
The Raspberry Pi allows peripherals and expansion boards (such as the [[Rpi Gertboard]]) to access the CPU by exposing the inputs and outputs.&lt;br /&gt;
&lt;br /&gt;
For further general information about GPIOs, see: [http://en.wikipedia.org/wiki/GPIO the wikipedia article].&amp;lt;BR&amp;gt;&lt;br /&gt;
For further specific information about the Raspberry Pi's BCM2835 GPIOs, see: [[RPi_BCM2835_GPIOs|this wiki article]].&lt;br /&gt;
&lt;br /&gt;
The production Raspberry Pi board has a 26-pin 2.54&amp;amp;nbsp;mm (100&amp;amp;nbsp;mil)&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/features-and-requests/easy-gpio-hardware-software/page-3/#p31907&amp;lt;/ref&amp;gt; expansion header, marked as P1, arranged in a 2x13 strip. They provide 8 GPIO pins plus access to I²C, SPI, UART), as well as +3.3&amp;amp;nbsp;V, +5&amp;amp;nbsp;V and GND supply lines. Pin one is the pin in the first column and on the bottom row. &amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/384&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''GPIO voltage levels are 3.3&amp;amp;nbsp;V and are not 5&amp;amp;nbsp;V tolerant. There is no over-voltage protection on the board''' - the intention is that people interested in serious interfacing will use an external board with buffers, level conversion and analog I/O rather than soldering directly onto the main board.&lt;br /&gt;
&lt;br /&gt;
All the GPIO pins can be reconfigured to provide alternate functions, SPI, [http://en.wikipedia.org/wiki/Pulse-width_modulation PWM], I²C and so. At reset only pins GPIO 14 &amp;amp; 15 are assigned to the alternate function UART, these two can be switched back to GPIO to provide a total of 17 GPIO pins&amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/384&amp;lt;/ref&amp;gt;. Each of their functions and full details of how to access are detailed in the chipset datasheet &amp;lt;ref&amp;gt;http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Each GPIO can interrupt, high/low/rise/fall/change.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/384#comment-5217&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf&amp;lt;/ref&amp;gt; There is currently no support for GPIO interrupts in the official kernel, howewer a patch exists, requiring compilation of modified source tree.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?f=44&amp;amp;t=7509&amp;lt;/ref&amp;gt; The 'Raspbian &amp;quot;wheezy&amp;quot;' &amp;lt;ref&amp;gt;http://www.raspberrypi.org/downloads&amp;lt;/ref&amp;gt; version that is currently recommended for starters already includes GPIO interrupts.&lt;br /&gt;
&lt;br /&gt;
GPIO input hysteresis (Schmitt trigger) can be on or off, output slew rate can be fast or limited, and source and sink current is configurable from 2&amp;amp;nbsp;mA up to 16&amp;amp;nbsp;mA. Note that chipset GPIO pins 0-27 are in the same block and these properties are set per block, not per pin. See [http://www.scribd.com/doc/101830961/GPIO-Pads-Control2 GPIO Datasheet Addendum - GPIO Pads Control]. Particular attention should be applied to the note regarding SSO (Simultaneous Switching Outputs): to avoid interference, driving currents should be kept as low as possible.&lt;br /&gt;
&lt;br /&gt;
The available [[RPi_BCM2835_GPIOs|alternative functions]] and their corresponding pins are detailed below. These numbers are in reference to the chipset documentation and may not match the numbers exposed in Linux. Only fully usable functions are detailed, for some alternative functions not all the necessary pins are available for the funtionality to be actually used.&lt;br /&gt;
&lt;br /&gt;
There is also some information on the [[RPi Tutorial Easy GPIO Hardware &amp;amp; Software|Tutorial on Easy GPIO Hardware &amp;amp; Software]].&lt;br /&gt;
&lt;br /&gt;
Kernel boot messages go to the [[RPi_Serial_Connection|UART]] at 115200&amp;amp;nbsp;bit/s.&lt;br /&gt;
&lt;br /&gt;
'''R-Pi PCB Revision 2 UPDATE:''' According to Eben at [http://www.raspberrypi.org/archives/1929#comment-31646] the R-Pi Rev.2 board being rolled out starting in September 2012 adds 4 more GPIO on a new connector called P5, and changes some of the existing P1 GPIO pinouts. On Rev2, GPIO_GEN2 [BCM2835/GPIO27] is routed to P1 pin 13, and changes what was SCL0/SDA0 to SCL1/SDA1: SCL1 [BCM2835/GPIO3] is routed to P1 pin 5, SDA1 [BCM2835/GPIO2] is routed to P1 pin 3. Also the power and ground connections previously marked &amp;quot;Do Not Connect&amp;quot; on P1 will remain as connected, specifically: P1-04:+5V0, P1-09:GND, P1-14:GND, P1-17:+3V3, P1-20:GND, P1-25:GND. According to this comment [http://www.raspberrypi.org/archives/2081#comment-33577] (and confirmed in this post [http://www.raspberrypi.org/archives/2233]) the P1 pinout is not expected to change in future beyond the current Rev.2 layout. &lt;br /&gt;
&lt;br /&gt;
'''Header Pinout, top row:'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
| '''Pin Number''' || '''Pin Name Rev1''' || '''Pin Name Rev2''' || '''Hardware Notes''' || '''Alt 0 Function''' || '''Other Alternative Functions'''&lt;br /&gt;
|-&lt;br /&gt;
| P1-02 || bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; || Supply through input poly fuse&lt;br /&gt;
|-&lt;br /&gt;
| P1-04 || bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; || Supply through input poly fuse&lt;br /&gt;
|-&lt;br /&gt;
| P1-06 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| P1-08 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 14 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 14 || Boot to Alt 0 -&amp;gt; || bgcolor=&amp;quot;yellow&amp;quot; | UART0_TXD || ALT5 = UART1_TXD&lt;br /&gt;
|-&lt;br /&gt;
| P1-10 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 15 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 15 || Boot to Alt 0 -&amp;gt; || bgcolor=&amp;quot;yellow&amp;quot; | UART0_RXD || ALT5 = UART1_RXD&lt;br /&gt;
|-&lt;br /&gt;
| P1-12 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 18 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 18 || || PCM_CLK || ALT4 = SPI1_CE0_N ALT5 = PWM0&lt;br /&gt;
|-&lt;br /&gt;
| P1-14 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| P1-16 || bgcolor=&amp;quot;lime&amp;quot; | GPIO23 || bgcolor=&amp;quot;lime&amp;quot; | GPIO23 || || || ALT3 = SD1_CMD ALT4 = ARM_RTCK&lt;br /&gt;
|-&lt;br /&gt;
| P1-18 || bgcolor=&amp;quot;lime&amp;quot; | GPIO24 || bgcolor=&amp;quot;lime&amp;quot; | GPIO24 || || || ALT3 = SD1_DAT0 ALT4 = ARM_TDO&lt;br /&gt;
|-&lt;br /&gt;
| P1-20 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| P1-22 || bgcolor=&amp;quot;lime&amp;quot; | GPIO25 || bgcolor=&amp;quot;lime&amp;quot; | GPIO25 || || || ALT3 = SD1_DAT1 ALT4 = ARM_TCK&lt;br /&gt;
|-&lt;br /&gt;
| P1-24 || bgcolor=&amp;quot;lime&amp;quot; | GPIO08 || bgcolor=&amp;quot;lime&amp;quot; | GPIO08 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_CE0_N&amp;lt;/span&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| P1-26 || bgcolor=&amp;quot;lime&amp;quot; | GPIO07 || bgcolor=&amp;quot;lime&amp;quot; | GPIO07 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_CE1_N&amp;lt;/span&amp;gt; || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Header Pinout, bottom row:'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
| '''Pin Number''' || '''Pin Name Rev1''' || '''Pin Name Rev2''' || '''Hardware Notes''' || '''Alt 0 Function''' || '''Other Alternative Functions'''&lt;br /&gt;
|-&lt;br /&gt;
| P1-01 || bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V ||bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V || 50&amp;amp;nbsp;mA max (01 &amp;amp; 17)&lt;br /&gt;
|-&lt;br /&gt;
| P1-03 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 0 || bgcolor=&amp;quot;lime&amp;quot; | '''GPIO 2'''|| 1K8 pull up resistor || bgcolor=&amp;quot;cyan&amp;quot; | I2C0_SDA / '''I2C1_SDA''' ||&lt;br /&gt;
|-&lt;br /&gt;
| P1-05 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 1 || bgcolor=&amp;quot;lime&amp;quot; | '''GPIO 3'''|| 1K8 pull up resistor || bgcolor=&amp;quot;cyan&amp;quot; | I2C0_SCL / '''I2C1_SCL''' ||&lt;br /&gt;
|-&lt;br /&gt;
| P1-07 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 4 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 4 || || GPCLK0 || ALT5 = ARM_TDI&lt;br /&gt;
|-&lt;br /&gt;
| P1-09 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| P1-11 || bgcolor=&amp;quot;lime&amp;quot; | GPIO17 || bgcolor=&amp;quot;lime&amp;quot; | GPIO17 || || ||| ALT3 = UART0_RTS ALT4 = SPI1_CE1_N ALT5 = UART1_RTS&lt;br /&gt;
|-&lt;br /&gt;
| P1-13 || bgcolor=&amp;quot;lime&amp;quot; | GPIO21 || bgcolor=&amp;quot;lime&amp;quot; | '''GPIO27''' || || PCM_DOUT / '''reserved''' || ALT4 = SPI1_SCLK ALT5 = GPCLK1 / '''ALT3 = SD1_DAT3 ALT4 = ARM_TMS'''&lt;br /&gt;
|-&lt;br /&gt;
| P1-15 || bgcolor=&amp;quot;lime&amp;quot; | GPIO22 || bgcolor=&amp;quot;lime&amp;quot; | GPIO22 || || || ALT3 = SD1_CLK ALT4 = ARM_TRST&lt;br /&gt;
|-&lt;br /&gt;
| P1-17 || bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V || bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V || 50&amp;amp;nbsp;mA max (01 &amp;amp; 17)&lt;br /&gt;
|-&lt;br /&gt;
| P1-19 || bgcolor=&amp;quot;lime&amp;quot; | GPIO10 || bgcolor=&amp;quot;lime&amp;quot; | GPIO10 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_MOSI&amp;lt;/span&amp;gt; || &lt;br /&gt;
|-&lt;br /&gt;
| P1-21 || bgcolor=&amp;quot;lime&amp;quot; | GPIO9 || bgcolor=&amp;quot;lime&amp;quot; | GPIO9 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_MISO&amp;lt;/span&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| P1-23 || bgcolor=&amp;quot;lime&amp;quot; | GPIO11 || bgcolor=&amp;quot;lime&amp;quot; | GPIO11 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_SCLK&amp;lt;/span&amp;gt; || &lt;br /&gt;
|-&lt;br /&gt;
| P1-25 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Colour legend&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;+5&amp;amp;nbsp;V&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | +3.3&amp;amp;nbsp;V&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;Ground, 0V&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;yellow&amp;quot; | UART&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | GPIO&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;cyan&amp;quot; | I²C&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
KiCad symbol: [[File:Conn-raspberry.lib]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/projects-and-collaboration-general/gpio-header-pinout-clarification/page-2&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pin 3 (SDA0) and Pin 5 (SCL0) are preset to be used as an I²C interface. So there are 1.8&amp;amp;nbsp;kilohm pulls up resistors on the board for these pins.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/features-and-requests/easy-gpio-hardware-software/page-6/#p56480&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pin 12 supports [http://en.wikipedia.org/wiki/Pulse-width_modulation PWM] .&lt;br /&gt;
&lt;br /&gt;
It is also possible to reconfigure GPIO connector pins P1-7, 15, 16, 18, 22 (chipset GPIOs 4 and 22 to 25) to provide an ARM JTAG interface.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&amp;amp;t=1288.1&amp;lt;/ref&amp;gt; However ARM_TMS isn't available on the GPIO connector (chipset pin 12 or 27 is needed).  Chipset pin 27 is available on S5, the CSI camera interface however.&lt;br /&gt;
&lt;br /&gt;
It is also possible to reconfigure GPIO connector pins P1-12 and 13 (chipset GPIO 18 and 21) to provide an I2S (a hardware modification may be required&amp;lt;ref name=&amp;quot;I2S&amp;quot;&amp;gt;[http://www.raspberrypi.org/forum/features-and-requests/sad-about-removal-of-i2s-why-was-this-change-made Forum:Sad about removal of I2S. Why was this change made?]&amp;lt;/ref&amp;gt;) or PCM interface.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&amp;amp;t=1288.2&amp;lt;/ref&amp;gt; However, PCM_FS and PCM_DIN (chipset pins 19 and 20) are needed for I2S or PCM.&lt;br /&gt;
&lt;br /&gt;
A second I²C interface (GPIO02_ALT0 is SDA1 and GPIO03_ALT0 is SCL1) and two further GPIOs (GPIO05_ALT0 is GPCLK1, and GPIO27) are available on S5, the CSI camera interface.&lt;br /&gt;
&lt;br /&gt;
===Referring to pins on the Expansion header===&lt;br /&gt;
&lt;br /&gt;
The header is referred to as &amp;quot;The GPIO Connector (P1)&amp;quot;.  To avoid nomenclature confusion between Broadcom signal names on the SoC and pin names on the expansion header, the following naming is highly recommended.&lt;br /&gt;
&lt;br /&gt;
* The expansion header is referred to as &amp;quot;Expansion Header&amp;quot; or &amp;quot;GPIO Connector (P1)&amp;quot;&lt;br /&gt;
* Pins on the GPIO connector (P1) are referred to as P1-01, etc.&lt;br /&gt;
* Names GPIO0, GPIO1, GPIOx-ALTy, etc. refer to the signal names on the SoC as enumerated in the Broadcom datasheet, where &amp;quot;x&amp;quot; matches BCM2835 number (without leading zero) and &amp;quot;y&amp;quot; is the alternate number column 0 to 5 on page 102-103 of the Broadcom document. For example, depending on what you are describing, use either &amp;quot;GPIO7&amp;quot; to refer to a row of the table, and &amp;quot;GPIO7-ALT0&amp;quot; would refer to a specific cell of the table.&lt;br /&gt;
* When refering to signal names, you should modify the Broadcom name slightly to minimize confusion. The Broadcom SPI bus pin names are fine, such as &amp;quot;SPI0_*&amp;quot; and &amp;quot;SPI1_*&amp;quot;, but they didn't do the same on the I²C and UART pins.  Instead of using &amp;quot;SDA0&amp;quot; and &amp;quot;SCL0&amp;quot;, you should use &amp;quot;I2C0_SDA&amp;quot; and &amp;quot;I2C0_SCL&amp;quot;; and instead of &amp;quot;TX&amp;quot; or &amp;quot;TXD&amp;quot; and &amp;quot;RX&amp;quot; or &amp;quot;RXD&amp;quot;, you should use &amp;quot;UART0_TXD&amp;quot; and &amp;quot;UART0_RXD&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Power pins===&lt;br /&gt;
The maximum permitted current draw from the 3.3&amp;amp;nbsp;V pins is 50&amp;amp;nbsp;mA.&lt;br /&gt;
&lt;br /&gt;
Maximum permitted current draw from the 5&amp;amp;nbsp;V pin is the USB input current (usually 1&amp;amp;nbsp;A) minus any current draw from the rest of the board.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&amp;amp;t=1536#postid-21841&amp;lt;/ref&amp;gt;&lt;br /&gt;
*Model A: 1000&amp;amp;nbsp;mA - 500&amp;amp;nbsp;mA -&amp;gt; max current draw: 500&amp;amp;nbsp;mA&lt;br /&gt;
*Model B: 1000&amp;amp;nbsp;mA - 700&amp;amp;nbsp;mA -&amp;gt; max current draw: 300&amp;amp;nbsp;mA&lt;br /&gt;
Be very careful with the 5&amp;amp;nbsp;V pins P1-02 and P1-04, because if you short 5&amp;amp;nbsp;V to any other P1 pin you may permanently damage your RasPi.  Before probing P1, it's a good idea to strip short pieces of insulation off a wire and push them over the 5&amp;amp;nbsp;V pins so you don't accidentally short them with a probe.&lt;br /&gt;
&lt;br /&gt;
=== GPIO hardware hacking ===&lt;br /&gt;
&lt;br /&gt;
The complete list of [[RPi_BCM2835_GPIOs|chipset GPIO pins]] which are available on the GPIO connector is: &amp;lt;blockquote&amp;gt;[[RPi_BCM2835_GPIOs#GPIO0|0]], [[RPi_BCM2835_GPIOs#GPIO1|1]], [[RPi_BCM2835_GPIOs#GPIO4|4]], [[RPi_BCM2835_GPIOs#GPIO7|7]], [[RPi_BCM2835_GPIOs#GPIO8|8]], [[RPi_BCM2835_GPIOs#GPIO9|9]], [[RPi_BCM2835_GPIOs#GPIO10|10]], [[RPi_BCM2835_GPIOs#GPIO11|11]], [[RPi_BCM2835_GPIOs#GPIO14|14]], [[RPi_BCM2835_GPIOs#GPIO15|15]], [[RPi_BCM2835_GPIOs#GPIO17|17]], [[RPi_BCM2835_GPIOs#GPIO18|18]], [[RPi_BCM2835_GPIOs#GPIO21|21]], [[RPi_BCM2835_GPIOs#GPIO22|22]], [[RPi_BCM2835_GPIOs#GPIO23|23]], [[RPi_BCM2835_GPIOs#GPIO24|24]], [[RPi_BCM2835_GPIOs#GPIO25|25]]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(on the Revision2.0 RaspberryPis, this list changes to: [[RPi_BCM2835_GPIOs#GPIO2|2]], [[RPi_BCM2835_GPIOs#GPIO3|3]], [[RPi_BCM2835_GPIOs#GPIO4|4]], [[RPi_BCM2835_GPIOs#GPIO7|7]], [[RPi_BCM2835_GPIOs#GPIO8|8]], [[RPi_BCM2835_GPIOs#GPIO9|9]], [[RPi_BCM2835_GPIOs#GPIO10|10]], [[RPi_BCM2835_GPIOs#GPIO11|11]], [[RPi_BCM2835_GPIOs#GPIO14|14]], [[RPi_BCM2835_GPIOs#GPIO15|15]], [[RPi_BCM2835_GPIOs#GPIO17|17]], [[RPi_BCM2835_GPIOs#GPIO18|18]], [[RPi_BCM2835_GPIOs#GPIO22|22]], [[RPi_BCM2835_GPIOs#GPIO23|23]], [[RPi_BCM2835_GPIOs#GPIO24|24]], [[RPi_BCM2835_GPIOs#GPIO25|25]], [[RPi_BCM2835_GPIOs#GPIO27|27]], with [[RPi_BCM2835_GPIOs#GPIO28|28]], [[RPi_BCM2835_GPIOs#GPIO29|29]], [[RPi_BCM2835_GPIOs#GPIO30|30]], [[RPi_BCM2835_GPIOs#GPIO31|31]] additionally available on the [[#P5_header|P5 header]])&lt;br /&gt;
&lt;br /&gt;
As noted above, GPIO00 and 01 (SDA0 and SCL0) have 1.8&amp;amp;nbsp;kilohm pull-up resistors to 3.3&amp;amp;nbsp;V.&lt;br /&gt;
&lt;br /&gt;
If 17 GPIOs aren't sufficient for your project, there are a few other signals potentially available, with varying levels of software and hardware (soldering iron) hackery skills:&lt;br /&gt;
&lt;br /&gt;
GPIO02, 03, 05 and 27 are available on S5 (the CSI interface) when a camera peripheral is not connected to that socket, and are configured by default to provide the functions SDA1, SCL1, CAM_CLK and CAM_GPIO respectively.  SDA1 and SCL1 have 1K6 pull-up resistors to 3.3&amp;amp;nbsp;V.&lt;br /&gt;
&lt;br /&gt;
GPIO06 is LAN_RUN and is available on pad 12 of the footprint for IC3 on the Model A. On Model B, it is in use for the Ethernet function.&lt;br /&gt;
&lt;br /&gt;
There are a few other chipset GPIO pins accessible on the PCB but are in use:&lt;br /&gt;
&lt;br /&gt;
* GPIO16 drives status LED D5 (usually SD card access indicator)&lt;br /&gt;
* GPIO28-31 are used by the board ID and are connected to resistors R3 to R10 (only on Rev1.0 boards).&lt;br /&gt;
* GPIO40 and 45 are used by analogue audio and support [http://en.wikipedia.org/wiki/Pulse-width_modulation PWM]. They connect to the analogue audio circuitry via R21 and R27 respectively.&lt;br /&gt;
* GPIO46 is HDMI hotplug detect (goes to pin 6 of IC1).&lt;br /&gt;
* GPIO47 to 53 are used by the SD card interface.  In particular, GPIO47 is SD card detect (this would seem to be a good candidate for re-use).  GPIO47 is connected to the SD card interface card detect switch; GPIO48 to 53 are connected to the SD card interface via resistors R45 to R50.&lt;br /&gt;
&lt;br /&gt;
=== P2 header ===&lt;br /&gt;
&lt;br /&gt;
The P2 header is the VideoCore JTAG and used only during the production of the board. It cannot be used as the ARM JTAG &amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?f=24&amp;amp;t=5894&amp;lt;/ref&amp;gt;. This connector is unpopulated in Rev 2.0 boards. &lt;br /&gt;
&lt;br /&gt;
Useful P2 pins:&lt;br /&gt;
&lt;br /&gt;
* Pin 1 - 3.3V (same as P1-01, 50 mA max current draw across both of them)&lt;br /&gt;
* Pin 7 - GND&lt;br /&gt;
* Pin 8 - GND&lt;br /&gt;
&lt;br /&gt;
=== P3 header ===&lt;br /&gt;
&lt;br /&gt;
The P3 header, unpopulated, is the LAN9512 JTAG &amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?f=24&amp;amp;t=5894&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== P5 header ===&lt;br /&gt;
&lt;br /&gt;
The P5 header was added with the release of the Revision 2.0 PCB design.&lt;br /&gt;
&lt;br /&gt;
'''P5 Pinout, seen from the bottom of the board:'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
| '''Pin Number''' || '''Pin Name Rev2''' || '''Hardware Notes''' || '''Alt 0 Function''' || '''Other Alternative Functions'''&lt;br /&gt;
|-&lt;br /&gt;
| P5-01 || bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; || Supply through input poly fuse&lt;br /&gt;
|-&lt;br /&gt;
| P5-02 || bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V || 50&amp;amp;nbsp;mA max (combined with P1)&lt;br /&gt;
|-&lt;br /&gt;
| P5-03 || bgcolor=&amp;quot;lime&amp;quot; | GPIO28 || || bgcolor=&amp;quot;cyan&amp;quot; | I2C0_SDA || ALT2 = PCM_CLK&lt;br /&gt;
|-&lt;br /&gt;
| P5-04 || bgcolor=&amp;quot;lime&amp;quot; | GPIO29 || || bgcolor=&amp;quot;cyan&amp;quot; | I2C0_SCL || ALT2 = PCM_FS&lt;br /&gt;
|-&lt;br /&gt;
| P5-05 || bgcolor=&amp;quot;lime&amp;quot; | GPIO30 || || || ALT2 = PCM_DIN ALT3 = UART0_CTS ALT5 = UART1_CTS&lt;br /&gt;
|-&lt;br /&gt;
| P5-06 || bgcolor=&amp;quot;lime&amp;quot; | GPIO31 || || || ALT2 = PCM_DOUT ALT3 = UART0_RTS ALT5 = UART1_RTS&lt;br /&gt;
|-&lt;br /&gt;
| P5-07 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P5-08 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that the connector is intended to be mounted on the '''bottom''' of the PCB, so that for those who put the connector on the top side, the pin numbers are swapped. Pin 1 and pin 2 are swapped, pin 3 and 4, etc. &lt;br /&gt;
&lt;br /&gt;
The new header can provide a second I2C channel (SDA + SCL) and handshake lines for the existing UART (TxD and RxD), or it can be used for an I2S (audio codec chip) interface using the PCM signals CLK, FS (Frame Sync), Din and Dout.&lt;br /&gt;
&lt;br /&gt;
Note that the connector is placed JUST off-grid with respect to the P1 connector.&lt;br /&gt;
&lt;br /&gt;
=== P6 header ===&lt;br /&gt;
&lt;br /&gt;
The P6 header was added with the release of the Revision 2.0 PCB design.&lt;br /&gt;
&lt;br /&gt;
[http://raspi.tv/2012/making-a-reset-switch-for-your-rev-2-raspberry-pi A reset button can be attached to the P6 header], with which the Pi can be reset.&lt;br /&gt;
Momentarily shorting the two pins of P6 together will cause a soft reset of the CPU.&lt;br /&gt;
&lt;br /&gt;
===Driver support===&lt;br /&gt;
&lt;br /&gt;
The Foundation will not include a GPIO driver in the initial release, standard Linux GPIO drivers should work with minimal modification.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&amp;amp;t=1278.0&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The community implemented SPI and I²C drivers &amp;lt;ref&amp;gt;http://www.bootc.net/projects/raspberry-pi-kernel/&amp;lt;/ref&amp;gt;, which will be integrated with the new Linux pinctrl concept in a later version of the kernel. (On Oct. 14 2012, it was already included in the latest raspbian image.) A first compiled version as Linux modules is available to install on the 19/04/2012 Debian image, including 1-wire support&amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?p=86172#p86172&amp;lt;/ref&amp;gt;. The I²C and SPI driver uses the hardware modules of the microcontroller and interrupts for low CPU usage, the 1-wire support uses bitbanging on the GPIO ports, which results in higher CPU usage.&lt;br /&gt;
&lt;br /&gt;
GordonH&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/general-discussion/wiring-for-the-raspberry-pis-gpio&amp;lt;/ref&amp;gt; wrote a (mostly) Arduino compatible/style [https://projects.drogon.net/raspberry-pi/wiringpi/ WiringPi library] in C for controlling the GPIO pins.&lt;br /&gt;
&lt;br /&gt;
A useful tutorial on setting up I²C driver support can be found at [http://www.robot-electronics.co.uk/htm/raspberry_pi_examples.htm Robot Electronics] - look for the downloadable document rpi_i2c_setup.doc&lt;br /&gt;
&lt;br /&gt;
===Graphical User Interfaces===&lt;br /&gt;
====WebIOPi====&lt;br /&gt;
[http://code.google.com/p/webiopi/ WebIOPi] allows you to control each GPIO with a simple web interface that you can use with any browser. Available in PHP and Python, they both require root access, but Python version serves HTTP itself. You can setup each GPIO as input or output and change their states (LOW/HIGH). WebIOPi is fully customizable, so you can use it for home remote control. It also work over Internet. UART/SPI/I2C support will be added later. If you need some computing for your GPIO go to code examples below.&lt;br /&gt;
&lt;br /&gt;
==GPIO Code examples==&lt;br /&gt;
====GPIO Driving Example (C)====&lt;br /&gt;
[http://www.raspberrypi.org/forum/educational-applications/gertboard/page-4/#p31555 Gert van Loo &amp;amp; Dom, has provided] some tested code which accesses the GPIO pins through direct GPIO register manipulation in C-code.&lt;br /&gt;
(Thanks to Dom for doing the difficult work of finding and testing the mapping.)&lt;br /&gt;
Example GPIO code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
//  How to access GPIO registers from C-code on the Raspberry-Pi&lt;br /&gt;
//  Example program&lt;br /&gt;
//  15-January-2012&lt;br /&gt;
//  Dom and Gert&lt;br /&gt;
//  Revised: 15-Feb-2013&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Access from ARM Running Linux&lt;br /&gt;
&lt;br /&gt;
#define BCM2708_PERI_BASE        0x20000000&lt;br /&gt;
#define GPIO_BASE                (BCM2708_PERI_BASE + 0x200000) /* GPIO controller */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;sys/mman.h&amp;gt;&lt;br /&gt;
#include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define PAGE_SIZE (4*1024)&lt;br /&gt;
#define BLOCK_SIZE (4*1024)&lt;br /&gt;
&lt;br /&gt;
int  mem_fd;&lt;br /&gt;
void *gpio_map;&lt;br /&gt;
&lt;br /&gt;
// I/O access&lt;br /&gt;
volatile unsigned *gpio;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// GPIO setup macros. Always use INP_GPIO(x) before using OUT_GPIO(x) or SET_GPIO_ALT(x,y)&lt;br /&gt;
#define INP_GPIO(g) *(gpio+((g)/10)) &amp;amp;= ~(7&amp;lt;&amp;lt;(((g)%10)*3))&lt;br /&gt;
#define OUT_GPIO(g) *(gpio+((g)/10)) |=  (1&amp;lt;&amp;lt;(((g)%10)*3))&lt;br /&gt;
#define SET_GPIO_ALT(g,a) *(gpio+(((g)/10))) |= (((a)&amp;lt;=3?(a)+4:(a)==4?3:2)&amp;lt;&amp;lt;(((g)%10)*3))&lt;br /&gt;
&lt;br /&gt;
#define GPIO_SET *(gpio+7)  // sets   bits which are 1 ignores bits which are 0&lt;br /&gt;
#define GPIO_CLR *(gpio+10) // clears bits which are 1 ignores bits which are 0&lt;br /&gt;
&lt;br /&gt;
void setup_io();&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char **argv)&lt;br /&gt;
{&lt;br /&gt;
  int g,rep;&lt;br /&gt;
&lt;br /&gt;
  // Set up gpi pointer for direct register access&lt;br /&gt;
  setup_io();&lt;br /&gt;
&lt;br /&gt;
  // Switch GPIO 7..11 to output mode&lt;br /&gt;
&lt;br /&gt;
 /************************************************************************\&lt;br /&gt;
  * You are about to change the GPIO settings of your computer.          *&lt;br /&gt;
  * Mess this up and it will stop working!                               *&lt;br /&gt;
  * It might be a good idea to 'sync' before running this program        *&lt;br /&gt;
  * so at least you still have your code changes written to the SD-card! *&lt;br /&gt;
 \************************************************************************/&lt;br /&gt;
&lt;br /&gt;
  // Set GPIO pins 7-11 to output&lt;br /&gt;
  for (g=7; g&amp;lt;=11; g++)&lt;br /&gt;
  {&lt;br /&gt;
    INP_GPIO(g); // must use INP_GPIO before we can use OUT_GPIO&lt;br /&gt;
    OUT_GPIO(g);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (rep=0; rep&amp;lt;10; rep++)&lt;br /&gt;
  {&lt;br /&gt;
     for (g=7; g&amp;lt;=11; g++)&lt;br /&gt;
     {&lt;br /&gt;
       GPIO_SET = 1&amp;lt;&amp;lt;g;&lt;br /&gt;
       sleep(1);&lt;br /&gt;
     }&lt;br /&gt;
     for (g=7; g&amp;lt;=11; g++)&lt;br /&gt;
     {&lt;br /&gt;
       GPIO_CLR = 1&amp;lt;&amp;lt;g;&lt;br /&gt;
       sleep(1);&lt;br /&gt;
     }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  return 0;&lt;br /&gt;
&lt;br /&gt;
} // main&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
// Set up a memory regions to access GPIO&lt;br /&gt;
//&lt;br /&gt;
void setup_io()&lt;br /&gt;
{&lt;br /&gt;
   /* open /dev/mem */&lt;br /&gt;
   if ((mem_fd = open(&amp;quot;/dev/mem&amp;quot;, O_RDWR|O_SYNC) ) &amp;lt; 0) {&lt;br /&gt;
      printf(&amp;quot;can't open /dev/mem \n&amp;quot;);&lt;br /&gt;
      exit(-1);&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   /* mmap GPIO */&lt;br /&gt;
   gpio_map = mmap(&lt;br /&gt;
      NULL,             //Any adddress in our space will do&lt;br /&gt;
      BLOCK_SIZE,       //Map length&lt;br /&gt;
      PROT_READ|PROT_WRITE,// Enable reading &amp;amp; writting to mapped memory&lt;br /&gt;
      MAP_SHARED,       //Shared with other processes&lt;br /&gt;
      mem_fd,           //File to map&lt;br /&gt;
      GPIO_BASE         //Offset to GPIO peripheral&lt;br /&gt;
   );&lt;br /&gt;
&lt;br /&gt;
   close(mem_fd); //No need to keep mem_fd open after mmap&lt;br /&gt;
&lt;br /&gt;
   if (gpio_map == MAP_FAILED) {&lt;br /&gt;
      printf(&amp;quot;mmap error %d\n&amp;quot;, (int)gpio_map);//errno also set!&lt;br /&gt;
      exit(-1);&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   // Always use volatile pointer!&lt;br /&gt;
   gpio = (volatile unsigned *)gpio_map;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
} // setup_io&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Pull Up/Pull Down Register Example====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   // enable pull-up on GPIO24&amp;amp;25&lt;br /&gt;
   GPIO_PULL = 2;&lt;br /&gt;
   short_wait();&lt;br /&gt;
   // clock on GPIO 24 &amp;amp; 25 (bit 24 &amp;amp; 25 set)&lt;br /&gt;
   GPIO_PULLCLK0 = 0x03000000;&lt;br /&gt;
   short_wait();&lt;br /&gt;
   GPIO_PULL = 0;&lt;br /&gt;
   GPIO_PULLCLK0 = 0;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Python)====&lt;br /&gt;
This uses the Python module available at http://pypi.python.org/pypi/RPi.GPIO&lt;br /&gt;
Any Python script that controls GPIO must be run as root.&lt;br /&gt;
&amp;lt;pre&amp;gt;import RPi.GPIO as GPIO&lt;br /&gt;
&lt;br /&gt;
# Set up the GPIO channels - one input and one output&lt;br /&gt;
GPIO.setup(11, GPIO.IN)&lt;br /&gt;
GPIO.setup(12, GPIO.OUT)&lt;br /&gt;
&lt;br /&gt;
# Input from pin 11&lt;br /&gt;
input_value = GPIO.input(11)&lt;br /&gt;
&lt;br /&gt;
# Output to pin 12&lt;br /&gt;
GPIO.output(12, True)&lt;br /&gt;
&lt;br /&gt;
# The same script as above but using BCM GPIO 00..nn numbers&lt;br /&gt;
GPIO.setmode(GPIO.BCM)&lt;br /&gt;
GPIO.setup(17, GPIO.IN)&lt;br /&gt;
GPIO.setup(18, GPIO.OUT)&lt;br /&gt;
input_value = GPIO.input(17)&lt;br /&gt;
GPIO.output(18, True)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Java using the Pi4J Library)====&lt;br /&gt;
This uses the Java library available at http://www.pi4j.com/. &lt;br /&gt;
(Any Java application that controls GPIO must be run as root.)&lt;br /&gt;
&lt;br /&gt;
Please note that the Pi4J library uses the WiringPi GPIO pin numbering scheme &amp;lt;ref&amp;gt;http://pi4j.com/usage.html#Pin_Numbering&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://projects.drogon.net/raspberry-pi/wiringpi/pins/&amp;lt;/ref&amp;gt;.  Please see the usage documentation for more details: http://pi4j.com/usage.html  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
public static void main(String[] args) {&lt;br /&gt;
&lt;br /&gt;
    // create gpio controller&lt;br /&gt;
    GpioController gpio = GpioFactory.getInstance();&lt;br /&gt;
        &lt;br /&gt;
    // provision gpio pin #01 as an output pin and turn off&lt;br /&gt;
    GpioPinDigitalOutput outputPin = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_01, &amp;quot;MyLED&amp;quot;, PinState.LOW);&lt;br /&gt;
    &lt;br /&gt;
    // turn output to LOW/OFF state&lt;br /&gt;
    outputPin.low();&lt;br /&gt;
&lt;br /&gt;
    // turn output to HIGH/ON state&lt;br /&gt;
    outputPin.high();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    // provision gpio pin #02 as an input pin with its internal pull down resistor enabled&lt;br /&gt;
    GpioPinDigitalInput inputPin = gpio.provisionDigitalInputPin(RaspiPin.GPIO_02, &amp;quot;MyButton&amp;quot;, PinPullResistance.PULL_DOWN);&lt;br /&gt;
&lt;br /&gt;
    // get input state from pin 2&lt;br /&gt;
    boolean input_value = inputPin.isHigh();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More complete and detailed examples are included on the Pi4J website at http://www.pi4j.com/. &lt;br /&gt;
&lt;br /&gt;
The Pi4J library includes support for:&lt;br /&gt;
* GPIO Control&lt;br /&gt;
* GPIO Listeners&lt;br /&gt;
* Serial Communication&lt;br /&gt;
* I2C Communication&lt;br /&gt;
* SPI Communication&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Java)====&lt;br /&gt;
This uses the Java library available at https://github.com/jkransen/framboos. It does not depend on (or use) the wiringPi driver, but uses the same numbering scheme. Instead it uses the default driver under /sys/class/gpio that ships with the distro, so it works out of the box. Any Java application that controls GPIO must be run as root.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
public static void main(String[] args) {&lt;br /&gt;
  // reading from an in pin&lt;br /&gt;
  InPin button = new InPin(8);&lt;br /&gt;
  boolean isButtonPressed = button.getValue();&lt;br /&gt;
  button.close();&lt;br /&gt;
&lt;br /&gt;
  // writing to an out pin&lt;br /&gt;
  OutPin led = new Outpin(0);&lt;br /&gt;
  led.setValue(true);&lt;br /&gt;
  led.setValue(false);&lt;br /&gt;
  led.close();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Java Webapp GPIO web control via http)====&lt;br /&gt;
This uses the Java Webapp available at https://bitbucket.org/sbub/raspberry-pi-gpio-web-control/overview. You can control your GPIO over the internet. Any Java application that controls GPIO must be run as root.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
host:~ sb$ curl 'http://raspberrypi:8080/handle?g0=1&amp;amp;g1=0'&lt;br /&gt;
{&amp;quot;g1&amp;quot;:0,&amp;quot;g0&amp;quot;:1}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Bash shell script, using sysfs, part of the raspbian operating system)====&lt;br /&gt;
The export and unexport of pins must be done as root. &lt;br /&gt;
To change to the root user see below:  To change back, the word exit must be entered.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
Export creates a new folder for the exported pin, and creates files for each of its control functions (i.e. active_low, direction, edge, power, subsystem, uevent, and value). Upon creation, the control files can be read by all users (not just root), but can only be written to by user root, the file's owner. Nevertheless, once created, it is possible to allow users other than root, to also write inputs to the control files, by changing the ownership or permissions of these files. Changes to the file's ownership or permissions must initially be done as root, as their owner and group is set to root upon creation. Typically you might change the owner to be the (non root) user controlling the GPIO, or you might add write permission, and change the group ownership to one of which the user controlling the GPIO is a member. By such means, using only packages provided in the recommended rasbian distribution, it is possible for Python CGI scripts, which are typically run as user nobody, to be used for control of the GPIO over the internet from a browser at a remote location.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
# GPIO numbers should be from this list&lt;br /&gt;
# 0, 1, 4, 7, 8, 9, 10, 11, 14, 15, 17, 18, 21, 22, 23, 24, 25&lt;br /&gt;
&lt;br /&gt;
# Note that the GPIO numbers that you program here refer to the pins&lt;br /&gt;
# of the BCM2835 and *not* the numbers on the pin header. &lt;br /&gt;
# So, if you want to activate GPIO7 on the header you should be &lt;br /&gt;
# using GPIO4 in this script. Likewise if you want to activate GPIO0&lt;br /&gt;
# on the header you should be using GPIO17 here.&lt;br /&gt;
&lt;br /&gt;
# Set up GPIO 4 and set to output&lt;br /&gt;
echo &amp;quot;4&amp;quot; &amp;gt; /sys/class/gpio/export&lt;br /&gt;
echo &amp;quot;out&amp;quot; &amp;gt; /sys/class/gpio/gpio4/direction&lt;br /&gt;
&lt;br /&gt;
# Set up GPIO 7 and set to input&lt;br /&gt;
echo &amp;quot;7&amp;quot; &amp;gt; /sys/class/gpio/export&lt;br /&gt;
echo &amp;quot;in&amp;quot; &amp;gt; /sys/class/gpio/gpio7/direction&lt;br /&gt;
&lt;br /&gt;
# Write output&lt;br /&gt;
echo &amp;quot;1&amp;quot; &amp;gt; /sys/class/gpio/gpio4/value&lt;br /&gt;
&lt;br /&gt;
# Read from input&lt;br /&gt;
cat /sys/class/gpio/gpio7/value &lt;br /&gt;
&lt;br /&gt;
# Clean up&lt;br /&gt;
echo &amp;quot;4&amp;quot; &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
echo &amp;quot;7&amp;quot; &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Shell script - take 2)====&lt;br /&gt;
You need the wiringPi library from&lt;br /&gt;
https://projects.drogon.net/raspberry-pi/wiringpi/download-and-install/. Once installed, there is a new command '''gpio''' which can be used&lt;br /&gt;
as a '''non-root''' user to control the GPIO pins.&lt;br /&gt;
&lt;br /&gt;
The man page &amp;lt;pre&amp;gt;man gpio&amp;lt;/pre&amp;gt; has full details, but briefly:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gpio -g mode 17 out&lt;br /&gt;
  gpio -g mode 18 pwm&lt;br /&gt;
&lt;br /&gt;
  gpio -g write 17 1&lt;br /&gt;
  gpio -g pwm 18 512&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The '''-g''' flag tells the '''gpio''' program to use the BCM GPIO pin numbering&lt;br /&gt;
scheme (otherwise it will use the wiringPi numbering scheme by default).&lt;br /&gt;
&lt;br /&gt;
The gpio command can also control the internal pull-up and pull-down&lt;br /&gt;
resistors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gpio -g mode 17 up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This sets the pull-up resistor - however any change of mode, even&lt;br /&gt;
setting a pin that's already set as an input to an input will remove&lt;br /&gt;
the pull-up/pull-down resistors, so they may need to be reset.&lt;br /&gt;
&lt;br /&gt;
Additionally, it can export/un-export the GPIO devices for use by&lt;br /&gt;
other non-root programms - e.g. Python scripts. (Although you&lt;br /&gt;
may need to drop the calls to GPIO.Setup() in the Python scripts, and&lt;br /&gt;
do the setup separately in a little shell script, or call the '''gpio''' program&lt;br /&gt;
from inside Python).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gpio export 17 out&lt;br /&gt;
  gpio export 18 in&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
These exports GPIO-17 and sets it to output, and exports GPIO-18&lt;br /&gt;
and sets it to input. &lt;br /&gt;
&lt;br /&gt;
And when done:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gpio unexport 17&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
The export/unexport commands always use the BCM GPIO pin numbers regardless of the&lt;br /&gt;
presence of the '''-g''' flag or not.&lt;br /&gt;
&lt;br /&gt;
If you want to use the internal pull-up/down's with the /sys/class/gpio mechanisms,&lt;br /&gt;
then you can set them after exporting them. So:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gpio -g export 4 in&lt;br /&gt;
  gpio -g mode 4 up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can then use GPIO-4 as an input in your Python, Shell, Java, etc. programs without the use&lt;br /&gt;
of an external resistor to pull the pin high. (If that's what you were after - for example, a simple push&lt;br /&gt;
button switch taking the pin to ground.)&lt;br /&gt;
&lt;br /&gt;
A fully working example of a shell script using the GPIO pins&lt;br /&gt;
can be found at http://project-downloads.drogon.net/files/gpioExamples/tuxx.sh.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Lazarus / Free Pascal)====&lt;br /&gt;
[[File:RPI GPIO testprogram with lazarus.png|thumb|254px|right|A simple app for controlling GPIO pin 17 with Lazarus]]&lt;br /&gt;
&lt;br /&gt;
The GPIO pins are accessible from [[Lazarus on RPi|Lazarus]] without any third-party software. This is performed by means of invoking Unix shell commands with '''fpsystem'''. The following example uses GPIO pin 17 as output port. It is assumed that you created a form with a TToggleBox named GPIO17ToggleBox and for logging purposes a TMemo with name LogMemo (optional). The program has to be executed with root privileges.&lt;br /&gt;
&lt;br /&gt;
''Unit for controlling the GPIO port:''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
unit Unit1;&lt;br /&gt;
&lt;br /&gt;
{Demo application for GPIO on Raspberry Pi}&lt;br /&gt;
{Inspired by the Python input/output demo application by Gareth Halfacree}&lt;br /&gt;
{written for the Raspberry Pi User Guide, ISBN 978-1-118-46446-5}&lt;br /&gt;
&lt;br /&gt;
{$mode objfpc}{$H+}&lt;br /&gt;
&lt;br /&gt;
interface&lt;br /&gt;
&lt;br /&gt;
uses&lt;br /&gt;
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, Unix;&lt;br /&gt;
&lt;br /&gt;
type&lt;br /&gt;
&lt;br /&gt;
  { TForm1 }&lt;br /&gt;
&lt;br /&gt;
  TForm1 = class(TForm)&lt;br /&gt;
    LogMemo: TMemo;&lt;br /&gt;
    GPIO17ToggleBox: TToggleBox;&lt;br /&gt;
    procedure FormActivate(Sender: TObject);&lt;br /&gt;
    procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);&lt;br /&gt;
    procedure GPIO17ToggleBoxChange(Sender: TObject);&lt;br /&gt;
  private&lt;br /&gt;
    { private declarations }&lt;br /&gt;
  public&lt;br /&gt;
    { public declarations }&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
var&lt;br /&gt;
  Form1: TForm1;&lt;br /&gt;
  gReturnCode: longint; {stores the result of the IO operation}&lt;br /&gt;
&lt;br /&gt;
implementation&lt;br /&gt;
&lt;br /&gt;
{$R *.lfm}&lt;br /&gt;
&lt;br /&gt;
{ TForm1 }&lt;br /&gt;
&lt;br /&gt;
procedure TForm1.FormActivate(Sender: TObject);&lt;br /&gt;
begin&lt;br /&gt;
  { Prepare SoC pin 17 (pin 11 on GPIO port) for access: }&lt;br /&gt;
  gReturnCode := fpsystem('echo &amp;quot;17&amp;quot; &amp;gt; /sys/class/gpio/export');&lt;br /&gt;
  LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
  { Set SoC pin 17 as output: }&lt;br /&gt;
  gReturnCode := fpsystem('echo &amp;quot;out&amp;quot; &amp;gt; /sys/class/gpio/gpio17/direction');&lt;br /&gt;
  LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
procedure TForm1.FormClose(Sender: TObject; var CloseAction: TCloseAction);&lt;br /&gt;
begin&lt;br /&gt;
  { Free SoC pin 17: }&lt;br /&gt;
  gReturnCode := fpsystem('echo &amp;quot;17&amp;quot; &amp;gt; /sys/class/gpio/unexport');&lt;br /&gt;
  LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
procedure TForm1.GPIO17ToggleBoxChange(Sender: TObject);&lt;br /&gt;
begin&lt;br /&gt;
  if GPIO17ToggleBox.Checked then&lt;br /&gt;
  begin&lt;br /&gt;
    { Swith SoC pin 17 on: }&lt;br /&gt;
    gReturnCode := fpsystem('echo &amp;quot;1&amp;quot; &amp;gt; /sys/class/gpio/gpio17/value');&lt;br /&gt;
    LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
  end&lt;br /&gt;
  else&lt;br /&gt;
  begin&lt;br /&gt;
    { Switch SoC pin 17 off: }&lt;br /&gt;
    gReturnCode := fpsystem('echo &amp;quot;0&amp;quot; &amp;gt; /sys/class/gpio/gpio17/value');&lt;br /&gt;
    LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
  end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Main program:''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
program io_test;&lt;br /&gt;
&lt;br /&gt;
{$mode objfpc}{$H+}&lt;br /&gt;
&lt;br /&gt;
uses&lt;br /&gt;
  {$IFDEF UNIX}{$IFDEF UseCThreads}&lt;br /&gt;
  cthreads,&lt;br /&gt;
  {$ENDIF}{$ENDIF}&lt;br /&gt;
  Interfaces, // this includes the LCL widgetset&lt;br /&gt;
  Forms, Unit1&lt;br /&gt;
  { you can add units after this };&lt;br /&gt;
&lt;br /&gt;
{$R *.res}&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  Application.Initialize;&lt;br /&gt;
  Application.CreateForm(TForm1, Form1);&lt;br /&gt;
  Application.Run;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An alternative way to access the GPIO port with Lazarus / Free Pascal is by using [http://www.lazarus.freepascal.org/index.php/topic,17404.0.html Lazarus wrapper unit for Gordon Henderson's wiringPi C library].&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (C + wiringPi)====&lt;br /&gt;
Get and install wiringPi: https://projects.drogon.net/raspberry-pi/wiringpi/download-and-install/&lt;br /&gt;
&lt;br /&gt;
Save this, and compile with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gcc -o blink blink.c -lwiringPi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and run with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  sudo ./blink&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 * blink.c:&lt;br /&gt;
 *      blinks the first LED&lt;br /&gt;
 *      Gordon Henderson, projects@drogon.net&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;wiringPi.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main (void)&lt;br /&gt;
{&lt;br /&gt;
  printf (&amp;quot;Raspberry Pi blink\n&amp;quot;) ;&lt;br /&gt;
&lt;br /&gt;
  if (wiringPiSetup () == -1)&lt;br /&gt;
    return 1 ;&lt;br /&gt;
&lt;br /&gt;
  pinMode (0, OUTPUT) ;         // aka BCM_GPIO pin 17&lt;br /&gt;
&lt;br /&gt;
  for (;;)&lt;br /&gt;
  {&lt;br /&gt;
    digitalWrite (0, 1) ;       // On&lt;br /&gt;
    delay (500) ;               // mS&lt;br /&gt;
    digitalWrite (0, 0) ;       // Off&lt;br /&gt;
    delay (500) ;&lt;br /&gt;
  }&lt;br /&gt;
  return 0 ;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (C)====&lt;br /&gt;
This must be done as root. To change to the root user:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
You must also get and install the bcm2835 library, which supports&lt;br /&gt;
GPIO and SPI interfaces. Details and downloads &lt;br /&gt;
from  http://www.open.com.au/mikem/bcm2835&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// blink.c&lt;br /&gt;
//&lt;br /&gt;
// Example program for bcm2835 library&lt;br /&gt;
// Blinks a pin on an off every 0.5 secs&lt;br /&gt;
//&lt;br /&gt;
// After installing bcm2835, you can build this &lt;br /&gt;
// with something like:&lt;br /&gt;
// gcc -o blink -l rt blink.c -l bcm2835&lt;br /&gt;
// sudo ./blink&lt;br /&gt;
//&lt;br /&gt;
// Or you can test it before installing with:&lt;br /&gt;
// gcc -o blink -l rt -I ../../src ../../src/bcm2835.c blink.c&lt;br /&gt;
// sudo ./blink&lt;br /&gt;
//&lt;br /&gt;
// Author: Mike McCauley (mikem@open.com.au)&lt;br /&gt;
// Copyright (C) 2011 Mike McCauley&lt;br /&gt;
// $Id: RF22.h,v 1.21 2012/05/30 01:51:25 mikem Exp $&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;bcm2835.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Blinks on RPi pin GPIO 11&lt;br /&gt;
#define PIN RPI_GPIO_P1_11&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char **argv)&lt;br /&gt;
{&lt;br /&gt;
    // If you call this, it will not actually access the GPIO&lt;br /&gt;
    // Use for testing&lt;br /&gt;
//    bcm2835_set_debug(1);&lt;br /&gt;
&lt;br /&gt;
    if (!bcm2835_init())&lt;br /&gt;
	return 1;&lt;br /&gt;
&lt;br /&gt;
    // Set the pin to be an output&lt;br /&gt;
    bcm2835_gpio_fsel(PIN, BCM2835_GPIO_FSEL_OUTP);&lt;br /&gt;
&lt;br /&gt;
    // Blink&lt;br /&gt;
    while (1)&lt;br /&gt;
    {&lt;br /&gt;
	// Turn it on&lt;br /&gt;
	bcm2835_gpio_write(PIN, HIGH);&lt;br /&gt;
	&lt;br /&gt;
	// wait a bit&lt;br /&gt;
	delay(500);&lt;br /&gt;
	&lt;br /&gt;
	// turn it off&lt;br /&gt;
	bcm2835_gpio_write(PIN, LOW);&lt;br /&gt;
	&lt;br /&gt;
	// wait a bit&lt;br /&gt;
	delay(500);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Perl)====&lt;br /&gt;
This must be done as root. To change to the root user:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo su -&amp;lt;/pre&amp;gt;&lt;br /&gt;
Supports GPIO and SPI interfaces.&lt;br /&gt;
You must also get and install the bcm2835 library. Details and downloads &lt;br /&gt;
from  http://www.open.com.au/mikem/bcm2835&lt;br /&gt;
You must then get and install the Device::BCM2835 perl library from CPAN &lt;br /&gt;
http://search.cpan.org/~mikem/Device-BCM2835-1.0/lib/Device/BCM2835.pm&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
use Device::BCM2835;&lt;br /&gt;
use strict;&lt;br /&gt;
&lt;br /&gt;
# call set_debug(1) to do a non-destructive test on non-RPi hardware&lt;br /&gt;
#Device::BCM2835::set_debug(1);&lt;br /&gt;
Device::BCM2835::init() &lt;br /&gt;
 || die &amp;quot;Could not init library&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
# Blink pin 11:&lt;br /&gt;
# Set RPi pin 11 to be an output&lt;br /&gt;
Device::BCM2835::gpio_fsel(&amp;amp;Device::BCM2835::RPI_GPIO_P1_11, &lt;br /&gt;
                            &amp;amp;Device::BCM2835::BCM2835_GPIO_FSEL_OUTP);&lt;br /&gt;
&lt;br /&gt;
while (1)&lt;br /&gt;
{&lt;br /&gt;
    # Turn it on&lt;br /&gt;
    Device::BCM2835::gpio_write(&amp;amp;Device::BCM2835::RPI_GPIO_P1_11, 1);&lt;br /&gt;
    Device::BCM2835::delay(500); # Milliseconds&lt;br /&gt;
    # Turn it off&lt;br /&gt;
    Device::BCM2835::gpio_write(&amp;amp;Device::BCM2835::RPI_GPIO_P1_11, 0);&lt;br /&gt;
    Device::BCM2835::delay(500); # Milliseconds&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== GPIO Driving Example (C#) ====&lt;br /&gt;
RaspberryPiDotNet library is available at https://github.com/cypherkey/RaspberryPi.Net/.&lt;br /&gt;
The library includes a GPIOFile and GPIOMem class. The GPIOMem requires compiling Mike McCauley's bcm2835 library above in to a shared object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Linq;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using RaspberryPiDotNet;&lt;br /&gt;
using System.Threading;&lt;br /&gt;
&lt;br /&gt;
namespace RaspPi&lt;br /&gt;
{&lt;br /&gt;
    class Program&lt;br /&gt;
    {&lt;br /&gt;
        static void Main(string[] args)&lt;br /&gt;
        {&lt;br /&gt;
            // Access the GPIO pin using a static method&lt;br /&gt;
            GPIOFile.Write(GPIO.GPIOPins.GPIO00, true);&lt;br /&gt;
&lt;br /&gt;
            // Create a new GPIO object&lt;br /&gt;
            GPIOMem gpio = new GPIOMem(GPIO.GPIOPins.GPIO01);&lt;br /&gt;
            gpio.Write(false);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Ruby)====&lt;br /&gt;
&lt;br /&gt;
This example uses the WiringPi Ruby Gem: http://pi.gadgetoid.co.uk/post/015-wiringpi-now-with-serial which you can install on your Pi with &amp;quot;gem install wiringpi&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MY_PIN = 1&lt;br /&gt;
&lt;br /&gt;
require 'wiringpi'&lt;br /&gt;
io = WiringPi::GPIO.new&lt;br /&gt;
io.mode(MY_PIN,OUTPUT)&lt;br /&gt;
io.write(MY_PIN,HIGH)&lt;br /&gt;
io.read(MY_PIN)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternatively the Pi Piper Gem (https://github.com/jwhitehorn/pi_piper) allows for event driven programming:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
require 'pi_piper'&lt;br /&gt;
include PiPiper&lt;br /&gt;
&lt;br /&gt;
watch :pin =&amp;gt; 23 do&lt;br /&gt;
  puts &amp;quot;Pin changed from #{last_value} to #{value}&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
PiPiper.wait&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (BASIC - Return to BASIC)====&lt;br /&gt;
&lt;br /&gt;
'''RTB''' or Return to Basic can be found here: https://projects.drogon.net/return-to-basic/&lt;br /&gt;
&lt;br /&gt;
It's a new BASIC featuring modern looping constructs, switch statements, named procedures and functions as well as graphics (caresian and turtle), file handling and more. It also supports the Pi's on-board GPIO without needing to be run as root. (You don't need any special setup routines either)&lt;br /&gt;
&lt;br /&gt;
Sample blink program:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// blink.rtb:&lt;br /&gt;
//    Blink program in Return to Basic&lt;br /&gt;
//    Gordon Henderson, projects@drogon.net&lt;br /&gt;
//&lt;br /&gt;
PinMode (0, 1) // Output&lt;br /&gt;
CYCLE &lt;br /&gt;
  DigitalWrite (0, 1) // Pin 0 ON&lt;br /&gt;
  WAIT (0.5) // 0.5 seconds&lt;br /&gt;
  DigitalWrite (0, 0)&lt;br /&gt;
  WAIT (0.5)&lt;br /&gt;
REPEAT &lt;br /&gt;
END &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (BASIC)====&lt;br /&gt;
&lt;br /&gt;
'''Bywater BASIC Interpreter'''&lt;br /&gt;
&lt;br /&gt;
The Bywater BASIC Interpreter (bwBASIC) implements a large superset of the ANSI Standard for Minimal BASIC (X3.60-1978) and a significant subset of the ANSI Standard for Full BASIC (X3.113-1987) in C. It also offers shell programming facilities as an extension of BASIC. bwBASIC seeks to be as portable as possible. &lt;br /&gt;
You can download it at.&lt;br /&gt;
http://packages.debian.org/stable/interpreters/bwbasic&lt;br /&gt;
&lt;br /&gt;
'''BASIC programming of the I/O'''&lt;br /&gt;
&lt;br /&gt;
'''Setting up a GPIO pin to be used for inputs or for outputs.'''&lt;br /&gt;
&lt;br /&gt;
We cannot load the control words directly into the  32 bit ARM registers with 32 bit addresses, as bwBASIC has no POKE and PEEK commands and other versions of BASIC (as far as I know) only handle 8 bit registers with 16 bit addresses with these commands. So we need to export the GPIO pins, so that they exist in a file structure which we can access from basic with the OPEN command.(ref 2)&lt;br /&gt;
&lt;br /&gt;
We need to do this in Linux root.&lt;br /&gt;
We need to run BASIC in the root too. First we go to the root, then we load bwbasic into root.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo -1&lt;br /&gt;
sudo bwbasic&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
REM Now to export the no4 GPIO pin for example, using a Shell command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo “4” &amp;gt;  /sys/class/gpio/export&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Whilst bwbasic can accommodate shell commands, and we can store a set of these commands (eg. to export a number of GPIO pins at the outset) as numbered statements in a file that can be loaded with the basic command LOAD “filename” and RUN (ref 2), the shell commands have to run as a separate file, as they cannot be run from within, as part of a basic programme.&lt;br /&gt;
&lt;br /&gt;
'''Now we can access the file containing the pin direction setting from BASIC'''&lt;br /&gt;
&lt;br /&gt;
We can set GPIO pin 4 to input or to output by OPENing its pin direction file for output and writing “in” or “out” with a PRINT# command. (ref 2 )&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic4gl&amp;quot;&amp;gt;&lt;br /&gt;
10 OPEN ”O”,#1, “/sys/devices/virtual/gpio/gpio4/direction”,2&lt;br /&gt;
20 PRINT #1,”out”&lt;br /&gt;
30 CLOSE #1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
REM closes the open direction file, whereupon the system performs the action of setting the direction to “out”. NB the system only carries out the action as the file is closed.(ref 3)&lt;br /&gt;
&lt;br /&gt;
'''We are now able to control the output of the gpio 4 pin from BASIC'''&lt;br /&gt;
&lt;br /&gt;
We can set the GPIO 4 pin to 1 or to 0 by OPENing its pin value file for output and writing “1” or “0” with a PRINT# command.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic4gl&amp;quot;&amp;gt;&lt;br /&gt;
40 OPEN ”O”,#4, “/sys/devices/virtual/gpio/gpio4/value”,1&lt;br /&gt;
50 PRINT #4,”1”&lt;br /&gt;
60 CLOSE #4 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
REM turns on the output of GPIO pin 4.&lt;br /&gt;
&lt;br /&gt;
REM similarly we can turn off the output of GPIO pin 4.&lt;br /&gt;
OPEN ”O”,#4, “/sys/devices/virtual/gpio/gpio4/value”,1&lt;br /&gt;
PRINT #4,”0”&lt;br /&gt;
CLOSE #4.&lt;br /&gt;
&lt;br /&gt;
'''Example of an (unstructured) BASIC programme''' &lt;br /&gt;
&lt;br /&gt;
To read the state of a switch and control the power to two LEDs connected to GPIO pins 8,7 and 4 respectively.&lt;br /&gt;
&lt;br /&gt;
Programme to set 2 pins as outputs and 1 pin as input and to read the input turning on two different combinations of the two outputs (ie output 0,1 or 1,0) depending on the state of the input (1 or 0).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic4gl&amp;quot;&amp;gt;&lt;br /&gt;
sudo –i&lt;br /&gt;
sudo bwbasic&lt;br /&gt;
LOAD “export.bas”&lt;br /&gt;
LIST&lt;br /&gt;
REM a set of Shell statements to export the three GPIO pins.&lt;br /&gt;
10 echo “4” &amp;gt; /sys/class/gpio/export&lt;br /&gt;
20 echo “7” &amp;gt; /sys/class/gpio/export&lt;br /&gt;
30 echo “8” &amp;gt; /sys/class/gpio/export&lt;br /&gt;
RUN&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NEW REM clears the export.bas programme from memory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic4gl&amp;quot;&amp;gt;&lt;br /&gt;
.&lt;br /&gt;
LOAD “demo1.bas”&lt;br /&gt;
LIST&lt;br /&gt;
10 OPEN ”O”,#1, “/sys/devices/virtual/gpio/gpio4/direction”,2 &lt;br /&gt;
20 OPEN ”O”,#2, “/sys/devices/virtual/gpio/gpio7/direction”,2 &lt;br /&gt;
30 OPEN ”O”,#3, “/sys/devices/virtual/gpio/gpio8/direction”,2&lt;br /&gt;
REM opens the three pin direction files&lt;br /&gt;
40 PRINT #1, “out”&lt;br /&gt;
50 PRINT #2, “out”&lt;br /&gt;
60 PRINT #3, “in”&lt;br /&gt;
REM sets GPIO pins 4 and 7 as outputs and GPIO pin 8 as input.&lt;br /&gt;
70 CLOSE #1&lt;br /&gt;
80 CLOSE #2&lt;br /&gt;
90 CLOSE #3&lt;br /&gt;
REM closes all open files, allowing the system to perform the direction settings.&lt;br /&gt;
100 OPEN ”I”,#8, “/sys/devices/virtual/gpio/gpio8/value”,1&lt;br /&gt;
REM opens the GPIO pin 8 value file&lt;br /&gt;
110 INPUT #8,x&lt;br /&gt;
REM reads the value of the input pin and stores the value in numerical variable x&lt;br /&gt;
120 CLOSE #8&lt;br /&gt;
REM closes the open file, allowing the system to read the value of the input pin and store the value in numerical variable x.&lt;br /&gt;
130 OPEN “O”,#1, “/sys/devices/virtual/gpio/gpio4/value”,1&lt;br /&gt;
140 OPEN “O”,#2, “/sys/devices/virtual/gpio/gpio7/value”,1&lt;br /&gt;
REM opens the GPIO pins 4 and value files ready for outputting 1s and 0s.&lt;br /&gt;
150 IF x&amp;lt;1 THEN GOTO 160 ELSE GOTO 190&lt;br /&gt;
REM tests the state of the switch (1 or0) and directs the program to generate the appropriate outputs&lt;br /&gt;
160 PRINT #1,”1”&lt;br /&gt;
170 PRINT #2,”0”&lt;br /&gt;
180 GOTO 210&lt;br /&gt;
190  PRINT#1,&amp;quot;0&amp;quot;&lt;br /&gt;
200 PRINT #2,&amp;quot;1&amp;quot;&lt;br /&gt;
210 CLOSE #1&lt;br /&gt;
220 CLOSE #2&lt;br /&gt;
REM Closes the files and allows the outputs to light the LED&lt;br /&gt;
230 END.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When all is done, we should unexport the GPIO pins, to leave the R-Pi as we found it.(Ref 1.)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic4gl&amp;quot;&amp;gt;&lt;br /&gt;
NEW&lt;br /&gt;
LOAD “unexport.bas”&lt;br /&gt;
LIST&lt;br /&gt;
REM a set of Shell statements to unexport the three GPIO pins.&lt;br /&gt;
10 echo “4” &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
20 echo “7” &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
30 echo “8” &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
RUN&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
A simple circuit to provide the switched input and the two LED outputs.&lt;br /&gt;
&lt;br /&gt;
Ancient Mariner. Dec. 2012&lt;br /&gt;
&lt;br /&gt;
References.&lt;br /&gt;
&lt;br /&gt;
1. This paper RPi Low-level peripherals.&lt;br /&gt;
&lt;br /&gt;
2. Ed Beynon.  [http://www.ybw.com/forums/showthread.php?t=331320&amp;amp;page=5 http://www.ybw.com/forums/showthread.php?t=331320&amp;amp;page=5]&lt;br /&gt;
&lt;br /&gt;
3. Arthur Kaletzky. Private communication. 25/10/2012&lt;br /&gt;
&lt;br /&gt;
4. bwbasic manual.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the two original documents this example has been copied from see:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Media:GPIO_Driving_Example_(BASIC)_.doc | GPIO_Driving_Example_(BASIC)_.doc]]&lt;br /&gt;
&lt;br /&gt;
[[Media:Raspberry_Pi_I-O_viii.doc | Raspberry_Pi_I-O_viii.doc]]&lt;br /&gt;
&lt;br /&gt;
==MIPI CSI-2==&lt;br /&gt;
&lt;br /&gt;
On the production board&amp;lt;ref&amp;gt;http://www.raspberrypi.org/wp-content/uploads/2012/04/Raspberry-Pi-Schematics-R1.0.pdf&amp;lt;/ref&amp;gt;, the Raspberry Pi Foundation design brings out the MIPI CSI-2 (Camera Serial Interface&amp;lt;ref&amp;gt;http://www.mipi.org/specifications/camera-interface&amp;lt;/ref&amp;gt;) to a 15-way flat flex connector S5, between the Ethernet and HDMI connectors. A compatible camera has been discussed as working in tests and is planned for release at a later date.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/projects-and-collaboration-general/complex-camera-peripherials#p72602&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&amp;lt;!-- This is misleading as it implies that cheap cameras from other devices can be used. CSI appears to be a generic interface with secret device-specific requirements so these devices must have drivers to be relevant (and currently only the VideoCore has access to the CSI hardware).&lt;br /&gt;
&lt;br /&gt;
is Sony sub-LVDS same as MIPI CSI-2? Sony IMX020 5Mbip module is available for $5-7 (SE K850i replacement camera).&lt;br /&gt;
&lt;br /&gt;
Looks like Nokia N95 uses CSI-2 5Mpix camera module with autofocus. ~$15 replacement part.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==DSI==&lt;br /&gt;
&lt;br /&gt;
On the production board, the Raspberry Pi Foundation design brings out the DSI (Display Serial Interface&amp;lt;ref&amp;gt;http://www.mipi.org/specifications/display-interface&amp;lt;/ref&amp;gt;) to a 15-way flat flex connector labelled S2, next to Raspberry Pi logo. It has two data lanes and a clock lane, to drive a possible future LCD screen device. Some smart phone screens use DSI&amp;lt;ref&amp;gt;http://en.wikipedia.org/wiki/Display_Serial_Interface&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==CEC==&lt;br /&gt;
&lt;br /&gt;
[[CEC (Consumer Electronics Control) over HDMI|HDMI-CEC (Consumer Electronics Control for HDMI)]] is supported by hardware but some driver work will be needed and currently isn't exposed into Linux userland.&lt;br /&gt;
Eben notes that he has seen CEC demos on the Broadcom SoC they are using. &lt;br /&gt;
&lt;br /&gt;
libCEC with Raspberry Pi support has been included in OpenELEC and will be included in Raspbmc RC4.&amp;lt;ref&amp;gt;http://blog.pulse-eight.com/2012/08/01/libcec-1-8-0-a-firmware-upgrade-and-raspberry-pi-support/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information about HDMI-CEC and what you could do with it on the Raspberry Pi please see the [[CEC (Consumer Electronics Control) over HDMI]] article.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Template:Raspberry Pi}}&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/RPi_Low-level_peripherals</id>
		<title>RPi Low-level peripherals</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RPi_Low-level_peripherals"/>
				<updated>2013-02-22T01:08:46Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: /* General Purpose Input/Output (GPIO) */ Corrections to the P1 GPIO ALT functions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: RaspberryPi]]&lt;br /&gt;
{{Template:RPi_Hardware}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
In addition to the familiar USB, Ethernet and HDMI ports, the R-Pi offers lower-level interfaces intended to connect more directly with chips and subsystem modules. These GPIO (general purpose I/O) signals on the 2x13 header pins include SPI, I2C, serial UART, 3V3 and 5V power. These interfaces are not &amp;quot;plug and play&amp;quot; and require care to avoid miswiring. The pins use a 3V3 logic level and are not tolerant of 5V levels, such as you might find on a 5V powered Arduino.  Not yet software-enabled are the flex cable connectors with CSI (camera serial interface) and DSI (display serial interface), and a serial link inside the HDMI connector called CEC. (consumer electronics control)&lt;br /&gt;
&lt;br /&gt;
==General Purpose Input/Output (GPIO)==&lt;br /&gt;
[[File:GPIOs.png|thumb|254px|right|The layout of the Raspberry Pi Revision 1 P1 pin-header seen from the top, containing pins useable for general purpose I/O. Colour coded to the table. [https://sites.google.com/site/burngatehouse/home/drawings/GPIOs2.gif Source] ]]&lt;br /&gt;
&lt;br /&gt;
General Purpose Input/Output (a.k.a. GPIO) is a generic pin on a chip whose behavior (including whether it is an input or output pin) can be controlled (programmed) through software.&lt;br /&gt;
&lt;br /&gt;
The Raspberry Pi allows peripherals and expansion boards (such as the [[Rpi Gertboard]]) to access the CPU by exposing the inputs and outputs.&lt;br /&gt;
&lt;br /&gt;
For further general information about GPIOs, see: [http://en.wikipedia.org/wiki/GPIO the wikipedia article].&amp;lt;BR&amp;gt;&lt;br /&gt;
For further specific information about the Raspberry Pi's BCM2835 GPIOs, see: [[RPi_BCM2835_GPIOs|this wiki article]].&lt;br /&gt;
&lt;br /&gt;
The production Raspberry Pi board has a 26-pin 2.54&amp;amp;nbsp;mm (100&amp;amp;nbsp;mil)&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/features-and-requests/easy-gpio-hardware-software/page-3/#p31907&amp;lt;/ref&amp;gt; expansion header, marked as P1, arranged in a 2x13 strip. They provide 8 GPIO pins plus access to I²C, SPI, UART), as well as +3.3&amp;amp;nbsp;V, +5&amp;amp;nbsp;V and GND supply lines. Pin one is the pin in the first column and on the bottom row. &amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/384&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''GPIO voltage levels are 3.3&amp;amp;nbsp;V and are not 5&amp;amp;nbsp;V tolerant. There is no over-voltage protection on the board''' - the intention is that people interested in serious interfacing will use an external board with buffers, level conversion and analog I/O rather than soldering directly onto the main board.&lt;br /&gt;
&lt;br /&gt;
All the GPIO pins can be reconfigured to provide alternate functions, SPI, [http://en.wikipedia.org/wiki/Pulse-width_modulation PWM], I²C and so. At reset only pins GPIO 14 &amp;amp; 15 are assigned to the alternate function UART, these two can be switched back to GPIO to provide a total of 17 GPIO pins&amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/384&amp;lt;/ref&amp;gt;. Each of their functions and full details of how to access are detailed in the chipset datasheet &amp;lt;ref&amp;gt;http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Each GPIO can interrupt, high/low/rise/fall/change.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/384#comment-5217&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf&amp;lt;/ref&amp;gt; There is currently no support for GPIO interrupts in the official kernel, howewer a patch exists, requiring compilation of modified source tree.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?f=44&amp;amp;t=7509&amp;lt;/ref&amp;gt; The 'Raspbian &amp;quot;wheezy&amp;quot;' &amp;lt;ref&amp;gt;http://www.raspberrypi.org/downloads&amp;lt;/ref&amp;gt; version that is currently recommended for starters already includes GPIO interrupts.&lt;br /&gt;
&lt;br /&gt;
GPIO input hysteresis (Schmitt trigger) can be on or off, output slew rate can be fast or limited, and source and sink current is configurable from 2&amp;amp;nbsp;mA up to 16&amp;amp;nbsp;mA. Note that chipset GPIO pins 0-27 are in the same block and these properties are set per block, not per pin. See [http://www.scribd.com/doc/101830961/GPIO-Pads-Control2 GPIO Datasheet Addendum - GPIO Pads Control]. Particular attention should be applied to the note regarding SSO (Simultaneous Switching Outputs): to avoid interference, driving currents should be kept as low as possible.&lt;br /&gt;
&lt;br /&gt;
The available [[RPi_BCM2835_GPIOs|alternative functions]] and their corresponding pins are detailed below. These numbers are in reference to the chipset documentation and may not match the numbers exposed in Linux. Only fully usable functions are detailed, for some alternative functions not all the necessary pins are available for the funtionality to be actually used.&lt;br /&gt;
&lt;br /&gt;
There is also some information on the [[RPi Tutorial Easy GPIO Hardware &amp;amp; Software|Tutorial on Easy GPIO Hardware &amp;amp; Software]].&lt;br /&gt;
&lt;br /&gt;
Kernel boot messages go to the [[RPi_Serial_Connection|UART]] at 115200&amp;amp;nbsp;bit/s.&lt;br /&gt;
&lt;br /&gt;
'''R-Pi PCB Revision 2 UPDATE:''' According to Eben at [http://www.raspberrypi.org/archives/1929#comment-31646] the R-Pi Rev.2 board being rolled out starting in September 2012 adds 4 more GPIO on a new connector called P5, and changes some of the existing P1 GPIO pinouts. On Rev2, GPIO_GEN2 [BCM2835/GPIO27] is routed to P1 pin 13, and changes what was SCL0/SDA0 to SCL1/SDA1: SCL1 [BCM2835/GPIO3] is routed to P1 pin 5, SDA1 [BCM2835/GPIO2] is routed to P1 pin 3. Also the power and ground connections previously marked &amp;quot;Do Not Connect&amp;quot; on P1 will remain as connected, specifically: P1-04:+5V0, P1-09:GND, P1-14:GND, P1-17:+3V3, P1-20:GND, P1-25:GND. According to this comment [http://www.raspberrypi.org/archives/2081#comment-33577] (and confirmed in this post [http://www.raspberrypi.org/archives/2233]) the P1 pinout is not expected to change in future beyond the current Rev.2 layout. &lt;br /&gt;
&lt;br /&gt;
'''Header Pinout, top row:'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
| '''Pin Number''' || '''Pin Name Rev1''' || '''Pin Name Rev2''' || '''Hardware Notes''' || '''Alt 0 Function''' || '''Other Alternative Functions'''&lt;br /&gt;
|-&lt;br /&gt;
| P1-02 || bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; || Supply through input poly fuse&lt;br /&gt;
|-&lt;br /&gt;
| P1-04 || bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; || Supply through input poly fuse&lt;br /&gt;
|-&lt;br /&gt;
| P1-06 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| P1-08 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 14 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 14 || Boot to Alt 0 -&amp;gt; || bgcolor=&amp;quot;yellow&amp;quot; | UART0_TXD || ALT5 = UART1_TXD&lt;br /&gt;
|-&lt;br /&gt;
| P1-10 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 15 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 15 || Boot to Alt 0 -&amp;gt; || bgcolor=&amp;quot;yellow&amp;quot; | UART0_RXD || ALT5 = UART1_RXD&lt;br /&gt;
|-&lt;br /&gt;
| P1-12 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 18 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 18 || || PCM_CLK || ALT4 = SPI1_CE0_N ALT5 = PWM0&lt;br /&gt;
|-&lt;br /&gt;
| P1-14 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| P1-16 || bgcolor=&amp;quot;lime&amp;quot; | GPIO23 || bgcolor=&amp;quot;lime&amp;quot; | GPIO23 || || || ALT3 = SD1_CMD ALT4 = ARM_RTCK&lt;br /&gt;
|-&lt;br /&gt;
| P1-18 || bgcolor=&amp;quot;lime&amp;quot; | GPIO24 || bgcolor=&amp;quot;lime&amp;quot; | GPIO24 || || || ALT3 = SD1_DAT0 ALT4 = ARM_TDO&lt;br /&gt;
|-&lt;br /&gt;
| P1-20 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| P1-22 || bgcolor=&amp;quot;lime&amp;quot; | GPIO25 || bgcolor=&amp;quot;lime&amp;quot; | GPIO25 || || || ALT3 = SD1_DAT1 ALT4 = ARM_TCK&lt;br /&gt;
|-&lt;br /&gt;
| P1-24 || bgcolor=&amp;quot;lime&amp;quot; | GPIO08 || bgcolor=&amp;quot;lime&amp;quot; | GPIO08 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_CE0_N&amp;lt;/span&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| P1-26 || bgcolor=&amp;quot;lime&amp;quot; | GPIO07 || bgcolor=&amp;quot;lime&amp;quot; | GPIO07 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_CE1_N&amp;lt;/span&amp;gt; || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Header Pinout, bottom row:'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
| '''Pin Number''' || '''Pin Name Rev1''' || '''Pin Name Rev2''' || '''Hardware Notes''' || '''Alt 0 Function''' || '''Other Alternative Functions'''&lt;br /&gt;
|-&lt;br /&gt;
| P1-01 || bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V ||bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V || 50&amp;amp;nbsp;mA max (01 &amp;amp; 17)&lt;br /&gt;
|-&lt;br /&gt;
| P1-03 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 0 || bgcolor=&amp;quot;lime&amp;quot; | '''GPIO 2'''|| 1K8 pull up resistor || bgcolor=&amp;quot;cyan&amp;quot; | I2C0_SDA / '''I2C1_SDA''' ||&lt;br /&gt;
|-&lt;br /&gt;
| P1-05 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 1 || bgcolor=&amp;quot;lime&amp;quot; | '''GPIO 3'''|| 1K8 pull up resistor || bgcolor=&amp;quot;cyan&amp;quot; | I2C0_SCL / '''I2C1_SCL''' ||&lt;br /&gt;
|-&lt;br /&gt;
| P1-07 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 4 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 4 || || GPCLK0 || ALT5 = ARM_TDI&lt;br /&gt;
|-&lt;br /&gt;
| P1-09 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| P1-11 || bgcolor=&amp;quot;lime&amp;quot; | GPIO17 || bgcolor=&amp;quot;lime&amp;quot; | GPIO17 || || ||| ALT3 = UART0_RTS ALT4 = SPI1_CE1_N ALT5 = UART1_RTS&lt;br /&gt;
|-&lt;br /&gt;
| P1-13 || bgcolor=&amp;quot;lime&amp;quot; | GPIO21 || bgcolor=&amp;quot;lime&amp;quot; | '''GPIO27''' || || PCM_DOUT / '''reserved''' || ALT4 = SPI1_SCLK ALT5 = GPCLK1 / '''ALT3 = SD1_DAT3 ALT4 = ARM_TMS'''&lt;br /&gt;
|-&lt;br /&gt;
| P1-15 || bgcolor=&amp;quot;lime&amp;quot; | GPIO22 || bgcolor=&amp;quot;lime&amp;quot; | GPIO22 || || || ALT3 = SD1_CLK ALT4 = ARM_TRST&lt;br /&gt;
|-&lt;br /&gt;
| P1-17 || bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V || bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V || 50&amp;amp;nbsp;mA max (01 &amp;amp; 17)&lt;br /&gt;
|-&lt;br /&gt;
| P1-19 || bgcolor=&amp;quot;lime&amp;quot; | GPIO10 || bgcolor=&amp;quot;lime&amp;quot; | GPIO10 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_MOSI&amp;lt;/span&amp;gt; || &lt;br /&gt;
|-&lt;br /&gt;
| P1-21 || bgcolor=&amp;quot;lime&amp;quot; | GPIO9 || bgcolor=&amp;quot;lime&amp;quot; | GPIO9 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_MISO&amp;lt;/span&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| P1-23 || bgcolor=&amp;quot;lime&amp;quot; | GPIO11 || bgcolor=&amp;quot;lime&amp;quot; | GPIO11 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_SCLK&amp;lt;/span&amp;gt; || &lt;br /&gt;
|-&lt;br /&gt;
| P1-25 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Colour legend&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;+5&amp;amp;nbsp;V&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | +3.3&amp;amp;nbsp;V&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;Ground, 0V&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;yellow&amp;quot; | UART&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | GPIO&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;cyan&amp;quot; | I²C&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
KiCad symbol: [[File:Conn-raspberry.lib]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/projects-and-collaboration-general/gpio-header-pinout-clarification/page-2&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pin 3 (SDA0) and Pin 5 (SCL0) are preset to be used as an I²C interface. So there are 1.8&amp;amp;nbsp;kilohm pulls up resistors on the board for these pins.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/features-and-requests/easy-gpio-hardware-software/page-6/#p56480&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pin 12 supports [http://en.wikipedia.org/wiki/Pulse-width_modulation PWM] .&lt;br /&gt;
&lt;br /&gt;
It is also possible to reconfigure GPIO connector pins P1-7, 15, 16, 18, 22 (chipset GPIOs 4 and 22 to 25) to provide an ARM JTAG interface.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&amp;amp;t=1288.1&amp;lt;/ref&amp;gt; However ARM_TMS isn't available on the GPIO connector (chipset pin 12 or 27 is needed).  Chipset pin 27 is available on S5, the CSI camera interface however.&lt;br /&gt;
&lt;br /&gt;
It is also possible to reconfigure GPIO connector pins P1-12 and 13 (chipset GPIO 18 and 21) to provide an I2S (a hardware modification may be required&amp;lt;ref name=&amp;quot;I2S&amp;quot;&amp;gt;[http://www.raspberrypi.org/forum/features-and-requests/sad-about-removal-of-i2s-why-was-this-change-made Forum:Sad about removal of I2S. Why was this change made?]&amp;lt;/ref&amp;gt;) or PCM interface.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&amp;amp;t=1288.2&amp;lt;/ref&amp;gt; However, PCM_FS and PCM_DIN (chipset pins 19 and 20) are needed for I2S or PCM.&lt;br /&gt;
&lt;br /&gt;
A second I²C interface (GPIO02_ALT0 is SDA1 and GPIO03_ALT0 is SCL1) and two further GPIOs (GPIO05_ALT0 is GPCLK1, and GPIO27) are available on S5, the CSI camera interface.&lt;br /&gt;
&lt;br /&gt;
===Referring to pins on the Expansion header===&lt;br /&gt;
&lt;br /&gt;
The header is referred to as &amp;quot;The GPIO Connector (P1)&amp;quot;.  To avoid nomenclature confusion between Broadcom signal names on the SoC and pin names on the expansion header, the following naming is highly recommended.&lt;br /&gt;
&lt;br /&gt;
* The expansion header is referred to as &amp;quot;Expansion Header&amp;quot; or &amp;quot;GPIO Connector (P1)&amp;quot;&lt;br /&gt;
* Pins on the GPIO connector (P1) are referred to as P1-01, etc.&lt;br /&gt;
* Names GPIO0, GPIO1, GPIOx-ALTy, etc. refer to the signal names on the SoC as enumerated in the Broadcom datasheet, where &amp;quot;x&amp;quot; matches BCM2835 number (without leading zero) and &amp;quot;y&amp;quot; is the alternate number column 0 to 5 on page 102-103 of the Broadcom document. For example, depending on what you are describing, use either &amp;quot;GPIO7&amp;quot; to refer to a row of the table, and &amp;quot;GPIO7-ALT0&amp;quot; would refer to a specific cell of the table.&lt;br /&gt;
* When refering to signal names, you should modify the Broadcom name slightly to minimize confusion. The Broadcom SPI bus pin names are fine, such as &amp;quot;SPI0_*&amp;quot; and &amp;quot;SPI1_*&amp;quot;, but they didn't do the same on the I²C and UART pins.  Instead of using &amp;quot;SDA0&amp;quot; and &amp;quot;SCL0&amp;quot;, you should use &amp;quot;I2C0_SDA&amp;quot; and &amp;quot;I2C0_SCL&amp;quot;; and instead of &amp;quot;TX&amp;quot; or &amp;quot;TXD&amp;quot; and &amp;quot;RX&amp;quot; or &amp;quot;RXD&amp;quot;, you should use &amp;quot;UART0_TXD&amp;quot; and &amp;quot;UART0_RXD&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Power pins===&lt;br /&gt;
The maximum permitted current draw from the 3.3&amp;amp;nbsp;V pins is 50&amp;amp;nbsp;mA.&lt;br /&gt;
&lt;br /&gt;
Maximum permitted current draw from the 5&amp;amp;nbsp;V pin is the USB input current (usually 1&amp;amp;nbsp;A) minus any current draw from the rest of the board.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&amp;amp;t=1536#postid-21841&amp;lt;/ref&amp;gt;&lt;br /&gt;
*Model A: 1000&amp;amp;nbsp;mA - 500&amp;amp;nbsp;mA -&amp;gt; max current draw: 500&amp;amp;nbsp;mA&lt;br /&gt;
*Model B: 1000&amp;amp;nbsp;mA - 700&amp;amp;nbsp;mA -&amp;gt; max current draw: 300&amp;amp;nbsp;mA&lt;br /&gt;
Be very careful with the 5&amp;amp;nbsp;V pins P1-02 and P1-04, because if you short 5&amp;amp;nbsp;V to any other P1 pin you may permanently damage your RasPi.  Before probing P1, it's a good idea to strip short pieces of insulation off a wire and push them over the 5&amp;amp;nbsp;V pins so you don't accidentally short them with a probe.&lt;br /&gt;
&lt;br /&gt;
=== GPIO hardware hacking ===&lt;br /&gt;
&lt;br /&gt;
The complete list of [[RPi_BCM2835_GPIOs|chipset GPIO pins]] which are available on the GPIO connector is: &amp;lt;blockquote&amp;gt;[[RPi_BCM2835_GPIOs#GPIO0|0]], [[RPi_BCM2835_GPIOs#GPIO1|1]], [[RPi_BCM2835_GPIOs#GPIO4|4]], [[RPi_BCM2835_GPIOs#GPIO7|7]], [[RPi_BCM2835_GPIOs#GPIO8|8]], [[RPi_BCM2835_GPIOs#GPIO9|9]], [[RPi_BCM2835_GPIOs#GPIO10|10]], [[RPi_BCM2835_GPIOs#GPIO11|11]], [[RPi_BCM2835_GPIOs#GPIO14|14]], [[RPi_BCM2835_GPIOs#GPIO15|15]], [[RPi_BCM2835_GPIOs#GPIO17|17]], [[RPi_BCM2835_GPIOs#GPIO18|18]], [[RPi_BCM2835_GPIOs#GPIO21|21]], [[RPi_BCM2835_GPIOs#GPIO22|22]], [[RPi_BCM2835_GPIOs#GPIO23|23]], [[RPi_BCM2835_GPIOs#GPIO24|24]], [[RPi_BCM2835_GPIOs#GPIO25|25]]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(on the Revision2.0 RaspberryPis, this list changes to: [[RPi_BCM2835_GPIOs#GPIO2|2]], [[RPi_BCM2835_GPIOs#GPIO3|3]], [[RPi_BCM2835_GPIOs#GPIO4|4]], [[RPi_BCM2835_GPIOs#GPIO7|7]], [[RPi_BCM2835_GPIOs#GPIO8|8]], [[RPi_BCM2835_GPIOs#GPIO9|9]], [[RPi_BCM2835_GPIOs#GPIO10|10]], [[RPi_BCM2835_GPIOs#GPIO11|11]], [[RPi_BCM2835_GPIOs#GPIO14|14]], [[RPi_BCM2835_GPIOs#GPIO15|15]], [[RPi_BCM2835_GPIOs#GPIO17|17]], [[RPi_BCM2835_GPIOs#GPIO18|18]], [[RPi_BCM2835_GPIOs#GPIO22|22]], [[RPi_BCM2835_GPIOs#GPIO23|23]], [[RPi_BCM2835_GPIOs#GPIO24|24]], [[RPi_BCM2835_GPIOs#GPIO25|25]], [[RPi_BCM2835_GPIOs#GPIO27|27]], with [[RPi_BCM2835_GPIOs#GPIO28|28]], [[RPi_BCM2835_GPIOs#GPIO29|29]], [[RPi_BCM2835_GPIOs#GPIO30|30]], [[RPi_BCM2835_GPIOs#GPIO31|31]] additionally available on the [[#P5_header|P5 header]])&lt;br /&gt;
&lt;br /&gt;
As noted above, GPIO00 and 01 (SDA0 and SCL0) have 1.8&amp;amp;nbsp;kilohm pull-up resistors to 3.3&amp;amp;nbsp;V.&lt;br /&gt;
&lt;br /&gt;
If 17 GPIOs aren't sufficient for your project, there are a few other signals potentially available, with varying levels of software and hardware (soldering iron) hackery skills:&lt;br /&gt;
&lt;br /&gt;
GPIO02, 03, 05 and 27 are available on S5 (the CSI interface) when a camera peripheral is not connected to that socket, and are configured by default to provide the functions SDA1, SCL1, CAM_CLK and CAM_GPIO respectively.  SDA1 and SCL1 have 1K6 pull-up resistors to 3.3&amp;amp;nbsp;V.&lt;br /&gt;
&lt;br /&gt;
GPIO06 is LAN_RUN and is available on pad 12 of the footprint for IC3 on the Model A. On Model B, it is in use for the Ethernet function.&lt;br /&gt;
&lt;br /&gt;
There are a few other chipset GPIO pins accessible on the PCB but are in use:&lt;br /&gt;
&lt;br /&gt;
* GPIO16 drives status LED D5 (usually SD card access indicator)&lt;br /&gt;
* GPIO28-31 are used by the board ID and are connected to resistors R3 to R10 (only on Rev1.0 boards).&lt;br /&gt;
* GPIO40 and 45 are used by analogue audio and support [http://en.wikipedia.org/wiki/Pulse-width_modulation PWM]. They connect to the analogue audio circuitry via R21 and R27 respectively.&lt;br /&gt;
* GPIO46 is HDMI hotplug detect (goes to pin 6 of IC1).&lt;br /&gt;
* GPIO47 to 53 are used by the SD card interface.  In particular, GPIO47 is SD card detect (this would seem to be a good candidate for re-use).  GPIO47 is connected to the SD card interface card detect switch; GPIO48 to 53 are connected to the SD card interface via resistors R45 to R50.&lt;br /&gt;
&lt;br /&gt;
=== P2 header ===&lt;br /&gt;
&lt;br /&gt;
The P2 header is the VideoCore JTAG and used only during the production of the board. It cannot be used as the ARM JTAG &amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?f=24&amp;amp;t=5894&amp;lt;/ref&amp;gt;. This connector is unpopulated in Rev 2.0 boards. &lt;br /&gt;
&lt;br /&gt;
Useful P2 pins:&lt;br /&gt;
&lt;br /&gt;
* Pin 1 - 3.3V (same as P1-01, 50 mA max current draw across both of them)&lt;br /&gt;
* Pin 7 - GND&lt;br /&gt;
* Pin 8 - GND&lt;br /&gt;
&lt;br /&gt;
=== P3 header ===&lt;br /&gt;
&lt;br /&gt;
The P3 header, unpopulated, is the LAN9512 JTAG &amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?f=24&amp;amp;t=5894&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== P5 header ===&lt;br /&gt;
&lt;br /&gt;
The P5 header was added with the release of the Revision 2.0 PCB design.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Pin 1 - 5V&lt;br /&gt;
* Pin 2 - 3V3&lt;br /&gt;
* Pin 3 - GPIO28&amp;amp;#9;ALT0 = SDA0 &amp;amp;#9;ALT2 = PCM_CLK&lt;br /&gt;
* Pin 4 - GPIO29&amp;amp;#9;ALT0 = SCL0 &amp;amp;#9;ALT2 = PCM_FS&lt;br /&gt;
* Pin 5 - GPIO30&amp;amp;#9;ALT2 = CTS0 &amp;amp;#9;ALT2 = PCM_DIN&lt;br /&gt;
* Pin 6 - GPIO31&amp;amp;#9;ALT2 = RTS0 &amp;amp;#9;ALT2 = PCM_DOUT&lt;br /&gt;
* Pin 7 - GND&lt;br /&gt;
* Pin 8 - GND&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that the connector is intended to be mounted on the '''bottom''' of the PCB, so that for those who put the connector on the top side, the pin numbers are swapped. Pin 1 and pin 2 are swapped, pin 3 and 4, etc. &lt;br /&gt;
&lt;br /&gt;
The new header can provide a second I2C channel (SDA + SCL) and handshake lines for the existing UART (TxD and RxD), or it can be used for an I2S (audio codec chip) interface using the PCM signals CLK, FS (Frame Sync), Din and Dout.&lt;br /&gt;
&lt;br /&gt;
Note that the connector is placed JUST off-grid with respect to the P1 connector.&lt;br /&gt;
&lt;br /&gt;
=== P6 header ===&lt;br /&gt;
&lt;br /&gt;
The P6 header was added with the release of the Revision 2.0 PCB design.&lt;br /&gt;
&lt;br /&gt;
[http://raspi.tv/2012/making-a-reset-switch-for-your-rev-2-raspberry-pi A reset button can be attached to the P6 header], with which the Pi can be reset.&lt;br /&gt;
Momentarily shorting the two pins of P6 together will cause a soft reset of the CPU.&lt;br /&gt;
&lt;br /&gt;
===Driver support===&lt;br /&gt;
&lt;br /&gt;
The Foundation will not include a GPIO driver in the initial release, standard Linux GPIO drivers should work with minimal modification.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&amp;amp;t=1278.0&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The community implemented SPI and I²C drivers &amp;lt;ref&amp;gt;http://www.bootc.net/projects/raspberry-pi-kernel/&amp;lt;/ref&amp;gt;, which will be integrated with the new Linux pinctrl concept in a later version of the kernel. (On Oct. 14 2012, it was already included in the latest raspbian image.) A first compiled version as Linux modules is available to install on the 19/04/2012 Debian image, including 1-wire support&amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?p=86172#p86172&amp;lt;/ref&amp;gt;. The I²C and SPI driver uses the hardware modules of the microcontroller and interrupts for low CPU usage, the 1-wire support uses bitbanging on the GPIO ports, which results in higher CPU usage.&lt;br /&gt;
&lt;br /&gt;
GordonH&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/general-discussion/wiring-for-the-raspberry-pis-gpio&amp;lt;/ref&amp;gt; wrote a (mostly) Arduino compatible/style [https://projects.drogon.net/raspberry-pi/wiringpi/ WiringPi library] in C for controlling the GPIO pins.&lt;br /&gt;
&lt;br /&gt;
A useful tutorial on setting up I²C driver support can be found at [http://www.robot-electronics.co.uk/htm/raspberry_pi_examples.htm Robot Electronics] - look for the downloadable document rpi_i2c_setup.doc&lt;br /&gt;
&lt;br /&gt;
===Graphical User Interfaces===&lt;br /&gt;
====WebIOPi====&lt;br /&gt;
[http://code.google.com/p/webiopi/ WebIOPi] allows you to control each GPIO with a simple web interface that you can use with any browser. Available in PHP and Python, they both require root access, but Python version serves HTTP itself. You can setup each GPIO as input or output and change their states (LOW/HIGH). WebIOPi is fully customizable, so you can use it for home remote control. It also work over Internet. UART/SPI/I2C support will be added later. If you need some computing for your GPIO go to code examples below.&lt;br /&gt;
&lt;br /&gt;
==GPIO Code examples==&lt;br /&gt;
====GPIO Driving Example (C)====&lt;br /&gt;
[http://www.raspberrypi.org/forum/educational-applications/gertboard/page-4/#p31555 Gert van Loo &amp;amp; Dom, has provided] some tested code which accesses the GPIO pins through direct GPIO register manipulation in C-code.&lt;br /&gt;
(Thanks to Dom for doing the difficult work of finding and testing the mapping.)&lt;br /&gt;
Example GPIO code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
//  How to access GPIO registers from C-code on the Raspberry-Pi&lt;br /&gt;
//  Example program&lt;br /&gt;
//  15-January-2012&lt;br /&gt;
//  Dom and Gert&lt;br /&gt;
//  Revised: 15-Feb-2013&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Access from ARM Running Linux&lt;br /&gt;
&lt;br /&gt;
#define BCM2708_PERI_BASE        0x20000000&lt;br /&gt;
#define GPIO_BASE                (BCM2708_PERI_BASE + 0x200000) /* GPIO controller */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;sys/mman.h&amp;gt;&lt;br /&gt;
#include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define PAGE_SIZE (4*1024)&lt;br /&gt;
#define BLOCK_SIZE (4*1024)&lt;br /&gt;
&lt;br /&gt;
int  mem_fd;&lt;br /&gt;
void *gpio_map;&lt;br /&gt;
&lt;br /&gt;
// I/O access&lt;br /&gt;
volatile unsigned *gpio;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// GPIO setup macros. Always use INP_GPIO(x) before using OUT_GPIO(x) or SET_GPIO_ALT(x,y)&lt;br /&gt;
#define INP_GPIO(g) *(gpio+((g)/10)) &amp;amp;= ~(7&amp;lt;&amp;lt;(((g)%10)*3))&lt;br /&gt;
#define OUT_GPIO(g) *(gpio+((g)/10)) |=  (1&amp;lt;&amp;lt;(((g)%10)*3))&lt;br /&gt;
#define SET_GPIO_ALT(g,a) *(gpio+(((g)/10))) |= (((a)&amp;lt;=3?(a)+4:(a)==4?3:2)&amp;lt;&amp;lt;(((g)%10)*3))&lt;br /&gt;
&lt;br /&gt;
#define GPIO_SET *(gpio+7)  // sets   bits which are 1 ignores bits which are 0&lt;br /&gt;
#define GPIO_CLR *(gpio+10) // clears bits which are 1 ignores bits which are 0&lt;br /&gt;
&lt;br /&gt;
void setup_io();&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char **argv)&lt;br /&gt;
{&lt;br /&gt;
  int g,rep;&lt;br /&gt;
&lt;br /&gt;
  // Set up gpi pointer for direct register access&lt;br /&gt;
  setup_io();&lt;br /&gt;
&lt;br /&gt;
  // Switch GPIO 7..11 to output mode&lt;br /&gt;
&lt;br /&gt;
 /************************************************************************\&lt;br /&gt;
  * You are about to change the GPIO settings of your computer.          *&lt;br /&gt;
  * Mess this up and it will stop working!                               *&lt;br /&gt;
  * It might be a good idea to 'sync' before running this program        *&lt;br /&gt;
  * so at least you still have your code changes written to the SD-card! *&lt;br /&gt;
 \************************************************************************/&lt;br /&gt;
&lt;br /&gt;
  // Set GPIO pins 7-11 to output&lt;br /&gt;
  for (g=7; g&amp;lt;=11; g++)&lt;br /&gt;
  {&lt;br /&gt;
    INP_GPIO(g); // must use INP_GPIO before we can use OUT_GPIO&lt;br /&gt;
    OUT_GPIO(g);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (rep=0; rep&amp;lt;10; rep++)&lt;br /&gt;
  {&lt;br /&gt;
     for (g=7; g&amp;lt;=11; g++)&lt;br /&gt;
     {&lt;br /&gt;
       GPIO_SET = 1&amp;lt;&amp;lt;g;&lt;br /&gt;
       sleep(1);&lt;br /&gt;
     }&lt;br /&gt;
     for (g=7; g&amp;lt;=11; g++)&lt;br /&gt;
     {&lt;br /&gt;
       GPIO_CLR = 1&amp;lt;&amp;lt;g;&lt;br /&gt;
       sleep(1);&lt;br /&gt;
     }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  return 0;&lt;br /&gt;
&lt;br /&gt;
} // main&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
// Set up a memory regions to access GPIO&lt;br /&gt;
//&lt;br /&gt;
void setup_io()&lt;br /&gt;
{&lt;br /&gt;
   /* open /dev/mem */&lt;br /&gt;
   if ((mem_fd = open(&amp;quot;/dev/mem&amp;quot;, O_RDWR|O_SYNC) ) &amp;lt; 0) {&lt;br /&gt;
      printf(&amp;quot;can't open /dev/mem \n&amp;quot;);&lt;br /&gt;
      exit(-1);&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   /* mmap GPIO */&lt;br /&gt;
   gpio_map = mmap(&lt;br /&gt;
      NULL,             //Any adddress in our space will do&lt;br /&gt;
      BLOCK_SIZE,       //Map length&lt;br /&gt;
      PROT_READ|PROT_WRITE,// Enable reading &amp;amp; writting to mapped memory&lt;br /&gt;
      MAP_SHARED,       //Shared with other processes&lt;br /&gt;
      mem_fd,           //File to map&lt;br /&gt;
      GPIO_BASE         //Offset to GPIO peripheral&lt;br /&gt;
   );&lt;br /&gt;
&lt;br /&gt;
   close(mem_fd); //No need to keep mem_fd open after mmap&lt;br /&gt;
&lt;br /&gt;
   if (gpio_map == MAP_FAILED) {&lt;br /&gt;
      printf(&amp;quot;mmap error %d\n&amp;quot;, (int)gpio_map);//errno also set!&lt;br /&gt;
      exit(-1);&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   // Always use volatile pointer!&lt;br /&gt;
   gpio = (volatile unsigned *)gpio_map;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
} // setup_io&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Pull Up/Pull Down Register Example====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   // enable pull-up on GPIO24&amp;amp;25&lt;br /&gt;
   GPIO_PULL = 2;&lt;br /&gt;
   short_wait();&lt;br /&gt;
   // clock on GPIO 24 &amp;amp; 25 (bit 24 &amp;amp; 25 set)&lt;br /&gt;
   GPIO_PULLCLK0 = 0x03000000;&lt;br /&gt;
   short_wait();&lt;br /&gt;
   GPIO_PULL = 0;&lt;br /&gt;
   GPIO_PULLCLK0 = 0;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Python)====&lt;br /&gt;
This uses the Python module available at http://pypi.python.org/pypi/RPi.GPIO&lt;br /&gt;
Any Python script that controls GPIO must be run as root.&lt;br /&gt;
&amp;lt;pre&amp;gt;import RPi.GPIO as GPIO&lt;br /&gt;
&lt;br /&gt;
# Set up the GPIO channels - one input and one output&lt;br /&gt;
GPIO.setup(11, GPIO.IN)&lt;br /&gt;
GPIO.setup(12, GPIO.OUT)&lt;br /&gt;
&lt;br /&gt;
# Input from pin 11&lt;br /&gt;
input_value = GPIO.input(11)&lt;br /&gt;
&lt;br /&gt;
# Output to pin 12&lt;br /&gt;
GPIO.output(12, True)&lt;br /&gt;
&lt;br /&gt;
# The same script as above but using BCM GPIO 00..nn numbers&lt;br /&gt;
GPIO.setmode(GPIO.BCM)&lt;br /&gt;
GPIO.setup(17, GPIO.IN)&lt;br /&gt;
GPIO.setup(18, GPIO.OUT)&lt;br /&gt;
input_value = GPIO.input(17)&lt;br /&gt;
GPIO.output(18, True)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Java using the Pi4J Library)====&lt;br /&gt;
This uses the Java library available at http://www.pi4j.com/. &lt;br /&gt;
(Any Java application that controls GPIO must be run as root.)&lt;br /&gt;
&lt;br /&gt;
Please note that the Pi4J library uses the WiringPi GPIO pin numbering scheme &amp;lt;ref&amp;gt;http://pi4j.com/usage.html#Pin_Numbering&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://projects.drogon.net/raspberry-pi/wiringpi/pins/&amp;lt;/ref&amp;gt;.  Please see the usage documentation for more details: http://pi4j.com/usage.html  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
public static void main(String[] args) {&lt;br /&gt;
&lt;br /&gt;
    // create gpio controller&lt;br /&gt;
    GpioController gpio = GpioFactory.getInstance();&lt;br /&gt;
        &lt;br /&gt;
    // provision gpio pin #01 as an output pin and turn off&lt;br /&gt;
    GpioPinDigitalOutput outputPin = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_01, &amp;quot;MyLED&amp;quot;, PinState.LOW);&lt;br /&gt;
    &lt;br /&gt;
    // turn output to LOW/OFF state&lt;br /&gt;
    outputPin.low();&lt;br /&gt;
&lt;br /&gt;
    // turn output to HIGH/ON state&lt;br /&gt;
    outputPin.high();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    // provision gpio pin #02 as an input pin with its internal pull down resistor enabled&lt;br /&gt;
    GpioPinDigitalInput inputPin = gpio.provisionDigitalInputPin(RaspiPin.GPIO_02, &amp;quot;MyButton&amp;quot;, PinPullResistance.PULL_DOWN);&lt;br /&gt;
&lt;br /&gt;
    // get input state from pin 2&lt;br /&gt;
    boolean input_value = inputPin.isHigh();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More complete and detailed examples are included on the Pi4J website at http://www.pi4j.com/. &lt;br /&gt;
&lt;br /&gt;
The Pi4J library includes support for:&lt;br /&gt;
* GPIO Control&lt;br /&gt;
* GPIO Listeners&lt;br /&gt;
* Serial Communication&lt;br /&gt;
* I2C Communication&lt;br /&gt;
* SPI Communication&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Java)====&lt;br /&gt;
This uses the Java library available at https://github.com/jkransen/framboos. It does not depend on (or use) the wiringPi driver, but uses the same numbering scheme. Instead it uses the default driver under /sys/class/gpio that ships with the distro, so it works out of the box. Any Java application that controls GPIO must be run as root.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
public static void main(String[] args) {&lt;br /&gt;
  // reading from an in pin&lt;br /&gt;
  InPin button = new InPin(8);&lt;br /&gt;
  boolean isButtonPressed = button.getValue();&lt;br /&gt;
  button.close();&lt;br /&gt;
&lt;br /&gt;
  // writing to an out pin&lt;br /&gt;
  OutPin led = new Outpin(0);&lt;br /&gt;
  led.setValue(true);&lt;br /&gt;
  led.setValue(false);&lt;br /&gt;
  led.close();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Java Webapp GPIO web control via http)====&lt;br /&gt;
This uses the Java Webapp available at https://bitbucket.org/sbub/raspberry-pi-gpio-web-control/overview. You can control your GPIO over the internet. Any Java application that controls GPIO must be run as root.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
host:~ sb$ curl 'http://raspberrypi:8080/handle?g0=1&amp;amp;g1=0'&lt;br /&gt;
{&amp;quot;g1&amp;quot;:0,&amp;quot;g0&amp;quot;:1}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Bash shell script, using sysfs, part of the raspbian operating system)====&lt;br /&gt;
The export and unexport of pins must be done as root. &lt;br /&gt;
To change to the root user see below:  To change back, the word exit must be entered.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
Export creates a new folder for the exported pin, and creates files for each of its control functions (i.e. active_low, direction, edge, power, subsystem, uevent, and value). Upon creation, the control files can be read by all users (not just root), but can only be written to by user root, the file's owner. Nevertheless, once created, it is possible to allow users other than root, to also write inputs to the control files, by changing the ownership or permissions of these files. Changes to the file's ownership or permissions must initially be done as root, as their owner and group is set to root upon creation. Typically you might change the owner to be the (non root) user controlling the GPIO, or you might add write permission, and change the group ownership to one of which the user controlling the GPIO is a member. By such means, using only packages provided in the recommended rasbian distribution, it is possible for Python CGI scripts, which are typically run as user nobody, to be used for control of the GPIO over the internet from a browser at a remote location.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
# GPIO numbers should be from this list&lt;br /&gt;
# 0, 1, 4, 7, 8, 9, 10, 11, 14, 15, 17, 18, 21, 22, 23, 24, 25&lt;br /&gt;
&lt;br /&gt;
# Note that the GPIO numbers that you program here refer to the pins&lt;br /&gt;
# of the BCM2835 and *not* the numbers on the pin header. &lt;br /&gt;
# So, if you want to activate GPIO7 on the header you should be &lt;br /&gt;
# using GPIO4 in this script. Likewise if you want to activate GPIO0&lt;br /&gt;
# on the header you should be using GPIO17 here.&lt;br /&gt;
&lt;br /&gt;
# Set up GPIO 4 and set to output&lt;br /&gt;
echo &amp;quot;4&amp;quot; &amp;gt; /sys/class/gpio/export&lt;br /&gt;
echo &amp;quot;out&amp;quot; &amp;gt; /sys/class/gpio/gpio4/direction&lt;br /&gt;
&lt;br /&gt;
# Set up GPIO 7 and set to input&lt;br /&gt;
echo &amp;quot;7&amp;quot; &amp;gt; /sys/class/gpio/export&lt;br /&gt;
echo &amp;quot;in&amp;quot; &amp;gt; /sys/class/gpio/gpio7/direction&lt;br /&gt;
&lt;br /&gt;
# Write output&lt;br /&gt;
echo &amp;quot;1&amp;quot; &amp;gt; /sys/class/gpio/gpio4/value&lt;br /&gt;
&lt;br /&gt;
# Read from input&lt;br /&gt;
cat /sys/class/gpio/gpio7/value &lt;br /&gt;
&lt;br /&gt;
# Clean up&lt;br /&gt;
echo &amp;quot;4&amp;quot; &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
echo &amp;quot;7&amp;quot; &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Shell script - take 2)====&lt;br /&gt;
You need the wiringPi library from&lt;br /&gt;
https://projects.drogon.net/raspberry-pi/wiringpi/download-and-install/. Once installed, there is a new command '''gpio''' which can be used&lt;br /&gt;
as a '''non-root''' user to control the GPIO pins.&lt;br /&gt;
&lt;br /&gt;
The man page &amp;lt;pre&amp;gt;man gpio&amp;lt;/pre&amp;gt; has full details, but briefly:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gpio -g mode 17 out&lt;br /&gt;
  gpio -g mode 18 pwm&lt;br /&gt;
&lt;br /&gt;
  gpio -g write 17 1&lt;br /&gt;
  gpio -g pwm 18 512&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The '''-g''' flag tells the '''gpio''' program to use the BCM GPIO pin numbering&lt;br /&gt;
scheme (otherwise it will use the wiringPi numbering scheme by default).&lt;br /&gt;
&lt;br /&gt;
The gpio command can also control the internal pull-up and pull-down&lt;br /&gt;
resistors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gpio -g mode 17 up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This sets the pull-up resistor - however any change of mode, even&lt;br /&gt;
setting a pin that's already set as an input to an input will remove&lt;br /&gt;
the pull-up/pull-down resistors, so they may need to be reset.&lt;br /&gt;
&lt;br /&gt;
Additionally, it can export/un-export the GPIO devices for use by&lt;br /&gt;
other non-root programms - e.g. Python scripts. (Although you&lt;br /&gt;
may need to drop the calls to GPIO.Setup() in the Python scripts, and&lt;br /&gt;
do the setup separately in a little shell script, or call the '''gpio''' program&lt;br /&gt;
from inside Python).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gpio export 17 out&lt;br /&gt;
  gpio export 18 in&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
These exports GPIO-17 and sets it to output, and exports GPIO-18&lt;br /&gt;
and sets it to input. &lt;br /&gt;
&lt;br /&gt;
And when done:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gpio unexport 17&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
The export/unexport commands always use the BCM GPIO pin numbers regardless of the&lt;br /&gt;
presence of the '''-g''' flag or not.&lt;br /&gt;
&lt;br /&gt;
If you want to use the internal pull-up/down's with the /sys/class/gpio mechanisms,&lt;br /&gt;
then you can set them after exporting them. So:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gpio -g export 4 in&lt;br /&gt;
  gpio -g mode 4 up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can then use GPIO-4 as an input in your Python, Shell, Java, etc. programs without the use&lt;br /&gt;
of an external resistor to pull the pin high. (If that's what you were after - for example, a simple push&lt;br /&gt;
button switch taking the pin to ground.)&lt;br /&gt;
&lt;br /&gt;
A fully working example of a shell script using the GPIO pins&lt;br /&gt;
can be found at http://project-downloads.drogon.net/files/gpioExamples/tuxx.sh.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Lazarus / Free Pascal)====&lt;br /&gt;
[[File:RPI GPIO testprogram with lazarus.png|thumb|254px|right|A simple app for controlling GPIO pin 17 with Lazarus]]&lt;br /&gt;
&lt;br /&gt;
The GPIO pins are accessible from [[Lazarus on RPi|Lazarus]] without any third-party software. This is performed by means of invoking Unix shell commands with '''fpsystem'''. The following example uses GPIO pin 17 as output port. It is assumed that you created a form with a TToggleBox named GPIO17ToggleBox and for logging purposes a TMemo with name LogMemo (optional). The program has to be executed with root privileges.&lt;br /&gt;
&lt;br /&gt;
''Unit for controlling the GPIO port:''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
unit Unit1;&lt;br /&gt;
&lt;br /&gt;
{Demo application for GPIO on Raspberry Pi}&lt;br /&gt;
{Inspired by the Python input/output demo application by Gareth Halfacree}&lt;br /&gt;
{written for the Raspberry Pi User Guide, ISBN 978-1-118-46446-5}&lt;br /&gt;
&lt;br /&gt;
{$mode objfpc}{$H+}&lt;br /&gt;
&lt;br /&gt;
interface&lt;br /&gt;
&lt;br /&gt;
uses&lt;br /&gt;
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, Unix;&lt;br /&gt;
&lt;br /&gt;
type&lt;br /&gt;
&lt;br /&gt;
  { TForm1 }&lt;br /&gt;
&lt;br /&gt;
  TForm1 = class(TForm)&lt;br /&gt;
    LogMemo: TMemo;&lt;br /&gt;
    GPIO17ToggleBox: TToggleBox;&lt;br /&gt;
    procedure FormActivate(Sender: TObject);&lt;br /&gt;
    procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);&lt;br /&gt;
    procedure GPIO17ToggleBoxChange(Sender: TObject);&lt;br /&gt;
  private&lt;br /&gt;
    { private declarations }&lt;br /&gt;
  public&lt;br /&gt;
    { public declarations }&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
var&lt;br /&gt;
  Form1: TForm1;&lt;br /&gt;
  gReturnCode: longint; {stores the result of the IO operation}&lt;br /&gt;
&lt;br /&gt;
implementation&lt;br /&gt;
&lt;br /&gt;
{$R *.lfm}&lt;br /&gt;
&lt;br /&gt;
{ TForm1 }&lt;br /&gt;
&lt;br /&gt;
procedure TForm1.FormActivate(Sender: TObject);&lt;br /&gt;
begin&lt;br /&gt;
  { Prepare SoC pin 17 (pin 11 on GPIO port) for access: }&lt;br /&gt;
  gReturnCode := fpsystem('echo &amp;quot;17&amp;quot; &amp;gt; /sys/class/gpio/export');&lt;br /&gt;
  LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
  { Set SoC pin 17 as output: }&lt;br /&gt;
  gReturnCode := fpsystem('echo &amp;quot;out&amp;quot; &amp;gt; /sys/class/gpio/gpio17/direction');&lt;br /&gt;
  LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
procedure TForm1.FormClose(Sender: TObject; var CloseAction: TCloseAction);&lt;br /&gt;
begin&lt;br /&gt;
  { Free SoC pin 17: }&lt;br /&gt;
  gReturnCode := fpsystem('echo &amp;quot;17&amp;quot; &amp;gt; /sys/class/gpio/unexport');&lt;br /&gt;
  LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
procedure TForm1.GPIO17ToggleBoxChange(Sender: TObject);&lt;br /&gt;
begin&lt;br /&gt;
  if GPIO17ToggleBox.Checked then&lt;br /&gt;
  begin&lt;br /&gt;
    { Swith SoC pin 17 on: }&lt;br /&gt;
    gReturnCode := fpsystem('echo &amp;quot;1&amp;quot; &amp;gt; /sys/class/gpio/gpio17/value');&lt;br /&gt;
    LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
  end&lt;br /&gt;
  else&lt;br /&gt;
  begin&lt;br /&gt;
    { Switch SoC pin 17 off: }&lt;br /&gt;
    gReturnCode := fpsystem('echo &amp;quot;0&amp;quot; &amp;gt; /sys/class/gpio/gpio17/value');&lt;br /&gt;
    LogMemo.Lines.Add(IntToStr(gReturnCode));&lt;br /&gt;
  end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Main program:''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
program io_test;&lt;br /&gt;
&lt;br /&gt;
{$mode objfpc}{$H+}&lt;br /&gt;
&lt;br /&gt;
uses&lt;br /&gt;
  {$IFDEF UNIX}{$IFDEF UseCThreads}&lt;br /&gt;
  cthreads,&lt;br /&gt;
  {$ENDIF}{$ENDIF}&lt;br /&gt;
  Interfaces, // this includes the LCL widgetset&lt;br /&gt;
  Forms, Unit1&lt;br /&gt;
  { you can add units after this };&lt;br /&gt;
&lt;br /&gt;
{$R *.res}&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  Application.Initialize;&lt;br /&gt;
  Application.CreateForm(TForm1, Form1);&lt;br /&gt;
  Application.Run;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An alternative way to access the GPIO port with Lazarus / Free Pascal is by using [http://www.lazarus.freepascal.org/index.php/topic,17404.0.html Lazarus wrapper unit for Gordon Henderson's wiringPi C library].&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (C + wiringPi)====&lt;br /&gt;
Get and install wiringPi: https://projects.drogon.net/raspberry-pi/wiringpi/download-and-install/&lt;br /&gt;
&lt;br /&gt;
Save this, and compile with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gcc -o blink blink.c -lwiringPi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and run with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  sudo ./blink&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 * blink.c:&lt;br /&gt;
 *      blinks the first LED&lt;br /&gt;
 *      Gordon Henderson, projects@drogon.net&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;wiringPi.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main (void)&lt;br /&gt;
{&lt;br /&gt;
  printf (&amp;quot;Raspberry Pi blink\n&amp;quot;) ;&lt;br /&gt;
&lt;br /&gt;
  if (wiringPiSetup () == -1)&lt;br /&gt;
    return 1 ;&lt;br /&gt;
&lt;br /&gt;
  pinMode (0, OUTPUT) ;         // aka BCM_GPIO pin 17&lt;br /&gt;
&lt;br /&gt;
  for (;;)&lt;br /&gt;
  {&lt;br /&gt;
    digitalWrite (0, 1) ;       // On&lt;br /&gt;
    delay (500) ;               // mS&lt;br /&gt;
    digitalWrite (0, 0) ;       // Off&lt;br /&gt;
    delay (500) ;&lt;br /&gt;
  }&lt;br /&gt;
  return 0 ;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (C)====&lt;br /&gt;
This must be done as root. To change to the root user:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
You must also get and install the bcm2835 library, which supports&lt;br /&gt;
GPIO and SPI interfaces. Details and downloads &lt;br /&gt;
from  http://www.open.com.au/mikem/bcm2835&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// blink.c&lt;br /&gt;
//&lt;br /&gt;
// Example program for bcm2835 library&lt;br /&gt;
// Blinks a pin on an off every 0.5 secs&lt;br /&gt;
//&lt;br /&gt;
// After installing bcm2835, you can build this &lt;br /&gt;
// with something like:&lt;br /&gt;
// gcc -o blink -l rt blink.c -l bcm2835&lt;br /&gt;
// sudo ./blink&lt;br /&gt;
//&lt;br /&gt;
// Or you can test it before installing with:&lt;br /&gt;
// gcc -o blink -l rt -I ../../src ../../src/bcm2835.c blink.c&lt;br /&gt;
// sudo ./blink&lt;br /&gt;
//&lt;br /&gt;
// Author: Mike McCauley (mikem@open.com.au)&lt;br /&gt;
// Copyright (C) 2011 Mike McCauley&lt;br /&gt;
// $Id: RF22.h,v 1.21 2012/05/30 01:51:25 mikem Exp $&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;bcm2835.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Blinks on RPi pin GPIO 11&lt;br /&gt;
#define PIN RPI_GPIO_P1_11&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char **argv)&lt;br /&gt;
{&lt;br /&gt;
    // If you call this, it will not actually access the GPIO&lt;br /&gt;
    // Use for testing&lt;br /&gt;
//    bcm2835_set_debug(1);&lt;br /&gt;
&lt;br /&gt;
    if (!bcm2835_init())&lt;br /&gt;
	return 1;&lt;br /&gt;
&lt;br /&gt;
    // Set the pin to be an output&lt;br /&gt;
    bcm2835_gpio_fsel(PIN, BCM2835_GPIO_FSEL_OUTP);&lt;br /&gt;
&lt;br /&gt;
    // Blink&lt;br /&gt;
    while (1)&lt;br /&gt;
    {&lt;br /&gt;
	// Turn it on&lt;br /&gt;
	bcm2835_gpio_write(PIN, HIGH);&lt;br /&gt;
	&lt;br /&gt;
	// wait a bit&lt;br /&gt;
	delay(500);&lt;br /&gt;
	&lt;br /&gt;
	// turn it off&lt;br /&gt;
	bcm2835_gpio_write(PIN, LOW);&lt;br /&gt;
	&lt;br /&gt;
	// wait a bit&lt;br /&gt;
	delay(500);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Perl)====&lt;br /&gt;
This must be done as root. To change to the root user:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo su -&amp;lt;/pre&amp;gt;&lt;br /&gt;
Supports GPIO and SPI interfaces.&lt;br /&gt;
You must also get and install the bcm2835 library. Details and downloads &lt;br /&gt;
from  http://www.open.com.au/mikem/bcm2835&lt;br /&gt;
You must then get and install the Device::BCM2835 perl library from CPAN &lt;br /&gt;
http://search.cpan.org/~mikem/Device-BCM2835-1.0/lib/Device/BCM2835.pm&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
use Device::BCM2835;&lt;br /&gt;
use strict;&lt;br /&gt;
&lt;br /&gt;
# call set_debug(1) to do a non-destructive test on non-RPi hardware&lt;br /&gt;
#Device::BCM2835::set_debug(1);&lt;br /&gt;
Device::BCM2835::init() &lt;br /&gt;
 || die &amp;quot;Could not init library&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
# Blink pin 11:&lt;br /&gt;
# Set RPi pin 11 to be an output&lt;br /&gt;
Device::BCM2835::gpio_fsel(&amp;amp;Device::BCM2835::RPI_GPIO_P1_11, &lt;br /&gt;
                            &amp;amp;Device::BCM2835::BCM2835_GPIO_FSEL_OUTP);&lt;br /&gt;
&lt;br /&gt;
while (1)&lt;br /&gt;
{&lt;br /&gt;
    # Turn it on&lt;br /&gt;
    Device::BCM2835::gpio_write(&amp;amp;Device::BCM2835::RPI_GPIO_P1_11, 1);&lt;br /&gt;
    Device::BCM2835::delay(500); # Milliseconds&lt;br /&gt;
    # Turn it off&lt;br /&gt;
    Device::BCM2835::gpio_write(&amp;amp;Device::BCM2835::RPI_GPIO_P1_11, 0);&lt;br /&gt;
    Device::BCM2835::delay(500); # Milliseconds&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== GPIO Driving Example (C#) ====&lt;br /&gt;
RaspberryPiDotNet library is available at https://github.com/cypherkey/RaspberryPi.Net/.&lt;br /&gt;
The library includes a GPIOFile and GPIOMem class. The GPIOMem requires compiling Mike McCauley's bcm2835 library above in to a shared object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Linq;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using RaspberryPiDotNet;&lt;br /&gt;
using System.Threading;&lt;br /&gt;
&lt;br /&gt;
namespace RaspPi&lt;br /&gt;
{&lt;br /&gt;
    class Program&lt;br /&gt;
    {&lt;br /&gt;
        static void Main(string[] args)&lt;br /&gt;
        {&lt;br /&gt;
            // Access the GPIO pin using a static method&lt;br /&gt;
            GPIOFile.Write(GPIO.GPIOPins.GPIO00, true);&lt;br /&gt;
&lt;br /&gt;
            // Create a new GPIO object&lt;br /&gt;
            GPIOMem gpio = new GPIOMem(GPIO.GPIOPins.GPIO01);&lt;br /&gt;
            gpio.Write(false);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (Ruby)====&lt;br /&gt;
&lt;br /&gt;
This example uses the WiringPi Ruby Gem: http://pi.gadgetoid.co.uk/post/015-wiringpi-now-with-serial which you can install on your Pi with &amp;quot;gem install wiringpi&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MY_PIN = 1&lt;br /&gt;
&lt;br /&gt;
require 'wiringpi'&lt;br /&gt;
io = WiringPi::GPIO.new&lt;br /&gt;
io.mode(MY_PIN,OUTPUT)&lt;br /&gt;
io.write(MY_PIN,HIGH)&lt;br /&gt;
io.read(MY_PIN)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternatively the Pi Piper Gem (https://github.com/jwhitehorn/pi_piper) allows for event driven programming:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
require 'pi_piper'&lt;br /&gt;
include PiPiper&lt;br /&gt;
&lt;br /&gt;
watch :pin =&amp;gt; 23 do&lt;br /&gt;
  puts &amp;quot;Pin changed from #{last_value} to #{value}&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
PiPiper.wait&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (BASIC - Return to BASIC)====&lt;br /&gt;
&lt;br /&gt;
'''RTB''' or Return to Basic can be found here: https://projects.drogon.net/return-to-basic/&lt;br /&gt;
&lt;br /&gt;
It's a new BASIC featuring modern looping constructs, switch statements, named procedures and functions as well as graphics (caresian and turtle), file handling and more. It also supports the Pi's on-board GPIO without needing to be run as root. (You don't need any special setup routines either)&lt;br /&gt;
&lt;br /&gt;
Sample blink program:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// blink.rtb:&lt;br /&gt;
//    Blink program in Return to Basic&lt;br /&gt;
//    Gordon Henderson, projects@drogon.net&lt;br /&gt;
//&lt;br /&gt;
PinMode (0, 1) // Output&lt;br /&gt;
CYCLE &lt;br /&gt;
  DigitalWrite (0, 1) // Pin 0 ON&lt;br /&gt;
  WAIT (0.5) // 0.5 seconds&lt;br /&gt;
  DigitalWrite (0, 0)&lt;br /&gt;
  WAIT (0.5)&lt;br /&gt;
REPEAT &lt;br /&gt;
END &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPIO Driving Example (BASIC)====&lt;br /&gt;
&lt;br /&gt;
'''Bywater BASIC Interpreter'''&lt;br /&gt;
&lt;br /&gt;
The Bywater BASIC Interpreter (bwBASIC) implements a large superset of the ANSI Standard for Minimal BASIC (X3.60-1978) and a significant subset of the ANSI Standard for Full BASIC (X3.113-1987) in C. It also offers shell programming facilities as an extension of BASIC. bwBASIC seeks to be as portable as possible. &lt;br /&gt;
You can download it at.&lt;br /&gt;
http://packages.debian.org/stable/interpreters/bwbasic&lt;br /&gt;
&lt;br /&gt;
'''BASIC programming of the I/O'''&lt;br /&gt;
&lt;br /&gt;
'''Setting up a GPIO pin to be used for inputs or for outputs.'''&lt;br /&gt;
&lt;br /&gt;
We cannot load the control words directly into the  32 bit ARM registers with 32 bit addresses, as bwBASIC has no POKE and PEEK commands and other versions of BASIC (as far as I know) only handle 8 bit registers with 16 bit addresses with these commands. So we need to export the GPIO pins, so that they exist in a file structure which we can access from basic with the OPEN command.(ref 2)&lt;br /&gt;
&lt;br /&gt;
We need to do this in Linux root.&lt;br /&gt;
We need to run BASIC in the root too. First we go to the root, then we load bwbasic into root.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo -1&lt;br /&gt;
sudo bwbasic&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
REM Now to export the no4 GPIO pin for example, using a Shell command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo “4” &amp;gt;  /sys/class/gpio/export&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Whilst bwbasic can accommodate shell commands, and we can store a set of these commands (eg. to export a number of GPIO pins at the outset) as numbered statements in a file that can be loaded with the basic command LOAD “filename” and RUN (ref 2), the shell commands have to run as a separate file, as they cannot be run from within, as part of a basic programme.&lt;br /&gt;
&lt;br /&gt;
'''Now we can access the file containing the pin direction setting from BASIC'''&lt;br /&gt;
&lt;br /&gt;
We can set GPIO pin 4 to input or to output by OPENing its pin direction file for output and writing “in” or “out” with a PRINT# command. (ref 2 )&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic4gl&amp;quot;&amp;gt;&lt;br /&gt;
10 OPEN ”O”,#1, “/sys/devices/virtual/gpio/gpio4/direction”,2&lt;br /&gt;
20 PRINT #1,”out”&lt;br /&gt;
30 CLOSE #1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
REM closes the open direction file, whereupon the system performs the action of setting the direction to “out”. NB the system only carries out the action as the file is closed.(ref 3)&lt;br /&gt;
&lt;br /&gt;
'''We are now able to control the output of the gpio 4 pin from BASIC'''&lt;br /&gt;
&lt;br /&gt;
We can set the GPIO 4 pin to 1 or to 0 by OPENing its pin value file for output and writing “1” or “0” with a PRINT# command.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic4gl&amp;quot;&amp;gt;&lt;br /&gt;
40 OPEN ”O”,#4, “/sys/devices/virtual/gpio/gpio4/value”,1&lt;br /&gt;
50 PRINT #4,”1”&lt;br /&gt;
60 CLOSE #4 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
REM turns on the output of GPIO pin 4.&lt;br /&gt;
&lt;br /&gt;
REM similarly we can turn off the output of GPIO pin 4.&lt;br /&gt;
OPEN ”O”,#4, “/sys/devices/virtual/gpio/gpio4/value”,1&lt;br /&gt;
PRINT #4,”0”&lt;br /&gt;
CLOSE #4.&lt;br /&gt;
&lt;br /&gt;
'''Example of an (unstructured) BASIC programme''' &lt;br /&gt;
&lt;br /&gt;
To read the state of a switch and control the power to two LEDs connected to GPIO pins 8,7 and 4 respectively.&lt;br /&gt;
&lt;br /&gt;
Programme to set 2 pins as outputs and 1 pin as input and to read the input turning on two different combinations of the two outputs (ie output 0,1 or 1,0) depending on the state of the input (1 or 0).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic4gl&amp;quot;&amp;gt;&lt;br /&gt;
sudo –i&lt;br /&gt;
sudo bwbasic&lt;br /&gt;
LOAD “export.bas”&lt;br /&gt;
LIST&lt;br /&gt;
REM a set of Shell statements to export the three GPIO pins.&lt;br /&gt;
10 echo “4” &amp;gt; /sys/class/gpio/export&lt;br /&gt;
20 echo “7” &amp;gt; /sys/class/gpio/export&lt;br /&gt;
30 echo “8” &amp;gt; /sys/class/gpio/export&lt;br /&gt;
RUN&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NEW REM clears the export.bas programme from memory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic4gl&amp;quot;&amp;gt;&lt;br /&gt;
.&lt;br /&gt;
LOAD “demo1.bas”&lt;br /&gt;
LIST&lt;br /&gt;
10 OPEN ”O”,#1, “/sys/devices/virtual/gpio/gpio4/direction”,2 &lt;br /&gt;
20 OPEN ”O”,#2, “/sys/devices/virtual/gpio/gpio7/direction”,2 &lt;br /&gt;
30 OPEN ”O”,#3, “/sys/devices/virtual/gpio/gpio8/direction”,2&lt;br /&gt;
REM opens the three pin direction files&lt;br /&gt;
40 PRINT #1, “out”&lt;br /&gt;
50 PRINT #2, “out”&lt;br /&gt;
60 PRINT #3, “in”&lt;br /&gt;
REM sets GPIO pins 4 and 7 as outputs and GPIO pin 8 as input.&lt;br /&gt;
70 CLOSE #1&lt;br /&gt;
80 CLOSE #2&lt;br /&gt;
90 CLOSE #3&lt;br /&gt;
REM closes all open files, allowing the system to perform the direction settings.&lt;br /&gt;
100 OPEN ”I”,#8, “/sys/devices/virtual/gpio/gpio8/value”,1&lt;br /&gt;
REM opens the GPIO pin 8 value file&lt;br /&gt;
110 INPUT #8,x&lt;br /&gt;
REM reads the value of the input pin and stores the value in numerical variable x&lt;br /&gt;
120 CLOSE #8&lt;br /&gt;
REM closes the open file, allowing the system to read the value of the input pin and store the value in numerical variable x.&lt;br /&gt;
130 OPEN “O”,#1, “/sys/devices/virtual/gpio/gpio4/value”,1&lt;br /&gt;
140 OPEN “O”,#2, “/sys/devices/virtual/gpio/gpio7/value”,1&lt;br /&gt;
REM opens the GPIO pins 4 and value files ready for outputting 1s and 0s.&lt;br /&gt;
150 IF x&amp;lt;1 THEN GOTO 160 ELSE GOTO 190&lt;br /&gt;
REM tests the state of the switch (1 or0) and directs the program to generate the appropriate outputs&lt;br /&gt;
160 PRINT #1,”1”&lt;br /&gt;
170 PRINT #2,”0”&lt;br /&gt;
180 GOTO 210&lt;br /&gt;
190  PRINT#1,&amp;quot;0&amp;quot;&lt;br /&gt;
200 PRINT #2,&amp;quot;1&amp;quot;&lt;br /&gt;
210 CLOSE #1&lt;br /&gt;
220 CLOSE #2&lt;br /&gt;
REM Closes the files and allows the outputs to light the LED&lt;br /&gt;
230 END.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When all is done, we should unexport the GPIO pins, to leave the R-Pi as we found it.(Ref 1.)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic4gl&amp;quot;&amp;gt;&lt;br /&gt;
NEW&lt;br /&gt;
LOAD “unexport.bas”&lt;br /&gt;
LIST&lt;br /&gt;
REM a set of Shell statements to unexport the three GPIO pins.&lt;br /&gt;
10 echo “4” &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
20 echo “7” &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
30 echo “8” &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
RUN&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
A simple circuit to provide the switched input and the two LED outputs.&lt;br /&gt;
&lt;br /&gt;
Ancient Mariner. Dec. 2012&lt;br /&gt;
&lt;br /&gt;
References.&lt;br /&gt;
&lt;br /&gt;
1. This paper RPi Low-level peripherals.&lt;br /&gt;
&lt;br /&gt;
2. Ed Beynon.  [http://www.ybw.com/forums/showthread.php?t=331320&amp;amp;page=5 http://www.ybw.com/forums/showthread.php?t=331320&amp;amp;page=5]&lt;br /&gt;
&lt;br /&gt;
3. Arthur Kaletzky. Private communication. 25/10/2012&lt;br /&gt;
&lt;br /&gt;
4. bwbasic manual.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the two original documents this example has been copied from see:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Media:GPIO_Driving_Example_(BASIC)_.doc | GPIO_Driving_Example_(BASIC)_.doc]]&lt;br /&gt;
&lt;br /&gt;
[[Media:Raspberry_Pi_I-O_viii.doc | Raspberry_Pi_I-O_viii.doc]]&lt;br /&gt;
&lt;br /&gt;
==MIPI CSI-2==&lt;br /&gt;
&lt;br /&gt;
On the production board&amp;lt;ref&amp;gt;http://www.raspberrypi.org/wp-content/uploads/2012/04/Raspberry-Pi-Schematics-R1.0.pdf&amp;lt;/ref&amp;gt;, the Raspberry Pi Foundation design brings out the MIPI CSI-2 (Camera Serial Interface&amp;lt;ref&amp;gt;http://www.mipi.org/specifications/camera-interface&amp;lt;/ref&amp;gt;) to a 15-way flat flex connector S5, between the Ethernet and HDMI connectors. A compatible camera has been discussed as working in tests and is planned for release at a later date.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/projects-and-collaboration-general/complex-camera-peripherials#p72602&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&amp;lt;!-- This is misleading as it implies that cheap cameras from other devices can be used. CSI appears to be a generic interface with secret device-specific requirements so these devices must have drivers to be relevant (and currently only the VideoCore has access to the CSI hardware).&lt;br /&gt;
&lt;br /&gt;
is Sony sub-LVDS same as MIPI CSI-2? Sony IMX020 5Mbip module is available for $5-7 (SE K850i replacement camera).&lt;br /&gt;
&lt;br /&gt;
Looks like Nokia N95 uses CSI-2 5Mpix camera module with autofocus. ~$15 replacement part.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==DSI==&lt;br /&gt;
&lt;br /&gt;
On the production board, the Raspberry Pi Foundation design brings out the DSI (Display Serial Interface&amp;lt;ref&amp;gt;http://www.mipi.org/specifications/display-interface&amp;lt;/ref&amp;gt;) to a 15-way flat flex connector labelled S2, next to Raspberry Pi logo. It has two data lanes and a clock lane, to drive a possible future LCD screen device. Some smart phone screens use DSI&amp;lt;ref&amp;gt;http://en.wikipedia.org/wiki/Display_Serial_Interface&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==CEC==&lt;br /&gt;
&lt;br /&gt;
[[CEC (Consumer Electronics Control) over HDMI|HDMI-CEC (Consumer Electronics Control for HDMI)]] is supported by hardware but some driver work will be needed and currently isn't exposed into Linux userland.&lt;br /&gt;
Eben notes that he has seen CEC demos on the Broadcom SoC they are using. &lt;br /&gt;
&lt;br /&gt;
libCEC with Raspberry Pi support has been included in OpenELEC and will be included in Raspbmc RC4.&amp;lt;ref&amp;gt;http://blog.pulse-eight.com/2012/08/01/libcec-1-8-0-a-firmware-upgrade-and-raspberry-pi-support/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information about HDMI-CEC and what you could do with it on the Raspberry Pi please see the [[CEC (Consumer Electronics Control) over HDMI]] article.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Template:Raspberry Pi}}&lt;/div&gt;</summary>
		<author><name>AndrewS</name></author>	</entry>

	<entry>
		<id>http://elinux.org/RPi_Low-level_peripherals</id>
		<title>RPi Low-level peripherals</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/RPi_Low-level_peripherals"/>
				<updated>2013-02-22T00:03:39Z</updated>
		
		<summary type="html">&lt;p&gt;AndrewS: /* General Purpose Input/Output (GPIO) */ formatting cleanup&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: RaspberryPi]]&lt;br /&gt;
{{Template:RPi_Hardware}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
In addition to the familiar USB, Ethernet and HDMI ports, the R-Pi offers lower-level interfaces intended to connect more directly with chips and subsystem modules. These GPIO (general purpose I/O) signals on the 2x13 header pins include SPI, I2C, serial UART, 3V3 and 5V power. These interfaces are not &amp;quot;plug and play&amp;quot; and require care to avoid miswiring. The pins use a 3V3 logic level and are not tolerant of 5V levels, such as you might find on a 5V powered Arduino.  Not yet software-enabled are the flex cable connectors with CSI (camera serial interface) and DSI (display serial interface), and a serial link inside the HDMI connector called CEC. (consumer electronics control)&lt;br /&gt;
&lt;br /&gt;
==General Purpose Input/Output (GPIO)==&lt;br /&gt;
[[File:GPIOs.png|thumb|254px|right|The layout of the Raspberry Pi Revision 1 P1 pin-header seen from the top, containing pins useable for general purpose I/O. Colour coded to the table. [https://sites.google.com/site/burngatehouse/home/drawings/GPIOs2.gif Source] ]]&lt;br /&gt;
&lt;br /&gt;
General Purpose Input/Output (a.k.a. GPIO) is a generic pin on a chip whose behavior (including whether it is an input or output pin) can be controlled (programmed) through software.&lt;br /&gt;
&lt;br /&gt;
The Raspberry Pi allows peripherals and expansion boards (such as the [[Rpi Gertboard]]) to access the CPU by exposing the inputs and outputs.&lt;br /&gt;
&lt;br /&gt;
For further general information about GPIOs, see: [http://en.wikipedia.org/wiki/GPIO the wikipedia article].&amp;lt;BR&amp;gt;&lt;br /&gt;
For further specific information about the Raspberry Pi's BCM2835 GPIOs, see: [[RPi_BCM2835_GPIOs|this wiki article]].&lt;br /&gt;
&lt;br /&gt;
The production Raspberry Pi board has a 26-pin 2.54&amp;amp;nbsp;mm (100&amp;amp;nbsp;mil)&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/features-and-requests/easy-gpio-hardware-software/page-3/#p31907&amp;lt;/ref&amp;gt; expansion header, marked as P1, arranged in a 2x13 strip. They provide 8 GPIO pins plus access to I²C, SPI, UART), as well as +3.3&amp;amp;nbsp;V, +5&amp;amp;nbsp;V and GND supply lines. Pin one is the pin in the first column and on the bottom row. &amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/384&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''GPIO voltage levels are 3.3&amp;amp;nbsp;V and are not 5&amp;amp;nbsp;V tolerant. There is no over-voltage protection on the board''' - the intention is that people interested in serious interfacing will use an external board with buffers, level conversion and analog I/O rather than soldering directly onto the main board.&lt;br /&gt;
&lt;br /&gt;
All the GPIO pins can be reconfigured to provide alternate functions, SPI, [http://en.wikipedia.org/wiki/Pulse-width_modulation PWM], I²C and so. At reset only pins GPIO 14 &amp;amp; 15 are assigned to the alternate function UART, these two can be switched back to GPIO to provide a total of 17 GPIO pins&amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/384&amp;lt;/ref&amp;gt;. Each of their functions and full details of how to access are detailed in the chipset datasheet &amp;lt;ref&amp;gt;http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Each GPIO can interrupt, high/low/rise/fall/change.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/archives/384#comment-5217&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf&amp;lt;/ref&amp;gt; There is currently no support for GPIO interrupts in the official kernel, howewer a patch exists, requiring compilation of modified source tree.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?f=44&amp;amp;t=7509&amp;lt;/ref&amp;gt; The 'Raspbian &amp;quot;wheezy&amp;quot;' &amp;lt;ref&amp;gt;http://www.raspberrypi.org/downloads&amp;lt;/ref&amp;gt; version that is currently recommended for starters already includes GPIO interrupts.&lt;br /&gt;
&lt;br /&gt;
GPIO input hysteresis (Schmitt trigger) can be on or off, output slew rate can be fast or limited, and source and sink current is configurable from 2&amp;amp;nbsp;mA up to 16&amp;amp;nbsp;mA. Note that chipset GPIO pins 0-27 are in the same block and these properties are set per block, not per pin. See [http://www.scribd.com/doc/101830961/GPIO-Pads-Control2 GPIO Datasheet Addendum - GPIO Pads Control]. Particular attention should be applied to the note regarding SSO (Simultaneous Switching Outputs): to avoid interference, driving currents should be kept as low as possible.&lt;br /&gt;
&lt;br /&gt;
The available [[RPi_BCM2835_GPIOs|alternative functions]] and their corresponding pins are detailed below. These numbers are in reference to the chipset documentation and may not match the numbers exposed in Linux. Only fully usable functions are detailed, for some alternative functions not all the necessary pins are available for the funtionality to be actually used.&lt;br /&gt;
&lt;br /&gt;
There is also some information on the [[RPi Tutorial Easy GPIO Hardware &amp;amp; Software|Tutorial on Easy GPIO Hardware &amp;amp; Software]].&lt;br /&gt;
&lt;br /&gt;
Kernel boot messages go to the [[RPi_Serial_Connection|UART]] at 115200&amp;amp;nbsp;bit/s.&lt;br /&gt;
&lt;br /&gt;
'''R-Pi PCB Revision 2 UPDATE:''' According to Eben at [http://www.raspberrypi.org/archives/1929#comment-31646] the R-Pi Rev.2 board being rolled out starting in September 2012 adds 4 more GPIO on a new connector called P5, and changes some of the existing P1 GPIO pinouts. On Rev2, GPIO_GEN2 [BCM2835/GPIO27] is routed to P1 pin 13, and changes what was SCL0/SDA0 to SCL1/SDA1: SCL1 [BCM2835/GPIO3] is routed to P1 pin 5, SDA1 [BCM2835/GPIO2] is routed to P1 pin 3. Also the power and ground connections previously marked &amp;quot;Do Not Connect&amp;quot; on P1 will remain as connected, specifically: P1-04:+5V0, P1-09:GND, P1-14:GND, P1-17:+3V3, P1-20:GND, P1-25:GND. According to this comment [http://www.raspberrypi.org/archives/2081#comment-33577] (and confirmed in this post [http://www.raspberrypi.org/archives/2233]) the P1 pinout is not expected to change in future beyond the current Rev.2 layout. &lt;br /&gt;
&lt;br /&gt;
'''Header Pinout, top row:'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
| '''Pin Number''' || '''Pin Name Rev1''' || '''Pin Name Rev2''' || '''Hardware Notes''' || '''Alt 0 Function''' || '''Other Alternative Functions'''&lt;br /&gt;
|-&lt;br /&gt;
| P1-02 || bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; ||  bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; || Supply through input poly fuse&lt;br /&gt;
|-&lt;br /&gt;
| P1-04 || bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; ||  bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;5V0&amp;lt;/span&amp;gt; || Supply through input poly fuse&lt;br /&gt;
|-&lt;br /&gt;
| P1-06 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| P1-08 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 14 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 14 || Boot to Alt 0 -&amp;gt; || bgcolor=&amp;quot;yellow&amp;quot; | UART0_TXD || ALT5 = UART1_TXD&lt;br /&gt;
|-&lt;br /&gt;
| P1-10 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 15 ||bgcolor=&amp;quot;lime&amp;quot; | GPIO 15 || Boot to Alt 0 -&amp;gt; ||bgcolor=&amp;quot;yellow&amp;quot; | UART0_RXD || ALT5 = UART1_RXD&lt;br /&gt;
|-&lt;br /&gt;
| P1-12 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 18 ||bgcolor=&amp;quot;lime&amp;quot; | GPIO 18 || || || ALT4 SPI1_CE0_N ALT5 = PWM0&lt;br /&gt;
|-&lt;br /&gt;
| P1-14 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| P1-16 || bgcolor=&amp;quot;lime&amp;quot; | GPIO23 ||bgcolor=&amp;quot;lime&amp;quot; | GPIO23 || || || ALT3 = SD1_CMD ALT4 = ARM_RTCK&lt;br /&gt;
|-&lt;br /&gt;
| P1-18 || bgcolor=&amp;quot;lime&amp;quot; | GPIO24 ||bgcolor=&amp;quot;lime&amp;quot; | GPIO24 || || || ALT3 = SD1_DATA0 ALT4 = ARM_TDO&lt;br /&gt;
|-&lt;br /&gt;
| P1-20 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| P1-22 || bgcolor=&amp;quot;lime&amp;quot; | GPIO25 ||bgcolor=&amp;quot;lime&amp;quot; | GPIO25 || || || ALT4 = ARM_TCK&lt;br /&gt;
|-&lt;br /&gt;
| P1-24 || bgcolor=&amp;quot;lime&amp;quot; | GPIO08 ||bgcolor=&amp;quot;lime&amp;quot; | GPIO08 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_CE0_N&amp;lt;/span&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| P1-26 || bgcolor=&amp;quot;lime&amp;quot; | GPIO07 ||bgcolor=&amp;quot;lime&amp;quot; | GPIO07 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_CE1_N&amp;lt;/span&amp;gt; || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Header Pinout, bottom row:'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
| '''Pin Number''' || '''Pin Name Rev1''' || '''Pin Name Rev2''' || '''Hardware Notes''' || '''Alt 0 Function''' || '''Other Alternative Functions'''&lt;br /&gt;
|-&lt;br /&gt;
| P1-01 || bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V ||bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V || 50&amp;amp;nbsp;mA max (01 &amp;amp; 17)&lt;br /&gt;
|-&lt;br /&gt;
| P1-03 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 0 ||bgcolor=&amp;quot;lime&amp;quot; | '''GPIO 2'''|| 1K8 pull up resistor || bgcolor=&amp;quot;cyan&amp;quot; | I2C0_SDA ||   I2C0_SDA / I2C1_SDA&lt;br /&gt;
|-&lt;br /&gt;
| P1-05 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 1 ||bgcolor=&amp;quot;lime&amp;quot; | '''GPIO 3'''|| 1K8 pull up resistor || bgcolor=&amp;quot;cyan&amp;quot; | I2C0_SCL ||   I2C0_SCL / I2C1_SCL &lt;br /&gt;
|-&lt;br /&gt;
| P1-07 || bgcolor=&amp;quot;lime&amp;quot; | GPIO 4 ||bgcolor=&amp;quot;lime&amp;quot; | GPIO 4 || ||  || bgcolor=&amp;quot;lime&amp;quot; | GPCLK0&lt;br /&gt;
|-&lt;br /&gt;
| P1-09 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| P1-11 || bgcolor=&amp;quot;lime&amp;quot; | GPIO17 || bgcolor=&amp;quot;lime&amp;quot; | GPIO17 || || ||| ALT3 = UART0_RTS, ALT5 = UART1_RTS&lt;br /&gt;
|-&lt;br /&gt;
| P1-13 || bgcolor=&amp;quot;lime&amp;quot; | GPIO21 || bgcolor=&amp;quot;lime&amp;quot; | '''GPIO27''' || || PCM_DIN || ALT5 = GPCLK1&lt;br /&gt;
|-&lt;br /&gt;
| P1-15 || bgcolor=&amp;quot;lime&amp;quot; | GPIO22 || bgcolor=&amp;quot;lime&amp;quot; | GPIO22 || || || ALT3 = SD1_CLK  ALT4 = ARM_TRST&lt;br /&gt;
|-&lt;br /&gt;
| P1-17 || bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V ||bgcolor=&amp;quot;orange&amp;quot; | 3.3&amp;amp;nbsp;V || 50&amp;amp;nbsp;mA max (01 &amp;amp; 17)&lt;br /&gt;
|-&lt;br /&gt;
| P1-19 || bgcolor=&amp;quot;lime&amp;quot; | GPIO10  || bgcolor=&amp;quot;lime&amp;quot; | GPIO10  ||  || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_MOSI&amp;lt;/span&amp;gt;  || &lt;br /&gt;
|-&lt;br /&gt;
| P1-21 || bgcolor=&amp;quot;lime&amp;quot; | GPIO9 || bgcolor=&amp;quot;lime&amp;quot; | GPIO9 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_MISO&amp;lt;/span&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| P1-23 || bgcolor=&amp;quot;lime&amp;quot; | GPIO11 || bgcolor=&amp;quot;lime&amp;quot; | GPIO11 || || bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI0_SCLK&amp;lt;/span&amp;gt;  || &lt;br /&gt;
|-&lt;br /&gt;
| P1-25 || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; || bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;GND&amp;lt;/span&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Colour legend&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;red&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;+5&amp;amp;nbsp;V&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | +3.3&amp;amp;nbsp;V&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;black&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;Ground, 0V&amp;lt;/span&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;yellow&amp;quot; | UART&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | GPIO&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;purple&amp;quot; | &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPI&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;cyan&amp;quot; | I²C&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
KiCad symbol: [[File:Conn-raspberry.lib]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/projects-and-collaboration-general/gpio-header-pinout-clarification/page-2&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pin 3 (SDA0) and Pin 5 (SCL0) are preset to be used as an I²C interface. So there are 1.8&amp;amp;nbsp;kilohm pulls up resistors on the board for these pins.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/features-and-requests/easy-gpio-hardware-software/page-6/#p56480&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pin 12 supports [http://en.wikipedia.org/wiki/Pulse-width_modulation PWM] .&lt;br /&gt;
&lt;br /&gt;
It is also possible to reconfigure GPIO connector pins P1-7, 15, 16, 18, 22 (chipset GPIOs 4 and 22 to 25) to provide an ARM JTAG interface.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&amp;amp;t=1288.1&amp;lt;/ref&amp;gt; However ARM_TMS isn't available on the GPIO connector (chipset pin 12 or 27 is needed).  Chipset pin 27 is available on S5, the CSI camera interface however.&lt;br /&gt;
&lt;br /&gt;
It is also possible to reconfigure GPIO connector pins P1-12 and 13 (chipset GPIO 18 and 21) to provide an I2S (a hardware modification may be required&amp;lt;ref name=&amp;quot;I2S&amp;quot;&amp;gt;[http://www.raspberrypi.org/forum/features-and-requests/sad-about-removal-of-i2s-why-was-this-change-made Forum:Sad about removal of I2S. Why was this change made?]&amp;lt;/ref&amp;gt;) or PCM interface.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&amp;amp;t=1288.2&amp;lt;/ref&amp;gt; However, PCM_FS and PCM_DIN (chipset pins 19 and 20) are needed for I2S or PCM.&lt;br /&gt;
&lt;br /&gt;
A second I²C interface (GPIO02_ALT0 is SDA1 and GPIO03_ALT0 is SCL1) and two further GPIOs (GPIO05_ALT0 is GPCLK1, and GPIO27) are available on S5, the CSI camera interface.&lt;br /&gt;
&lt;br /&gt;
===Referring to pins on the Expansion header===&lt;br /&gt;
&lt;br /&gt;
The header is referred to as &amp;quot;The GPIO Connector (P1)&amp;quot;.  To avoid nomenclature confusion between Broadcom signal names on the SoC and pin names on the expansion header, the following naming is highly recommended.&lt;br /&gt;
&lt;br /&gt;
* The expansion header is referred to as &amp;quot;Expansion Header&amp;quot; or &amp;quot;GPIO Connector (P1)&amp;quot;&lt;br /&gt;
* Pins on the GPIO connector (P1) are referred to as P1-01, etc.&lt;br /&gt;
* Names GPIO0, GPIO1, GPIOx-ALTy, etc. refer to the signal names on the SoC as enumerated in the Broadcom datasheet, where &amp;quot;x&amp;quot; matches BCM2835 number (without leading zero) and &amp;quot;y&amp;quot; is the alternate number column 0 to 5 on page 102-103 of the Broadcom document. For example, depending on what you are describing, use either &amp;quot;GPIO7&amp;quot; to refer to a row of the table, and &amp;quot;GPIO7-ALT0&amp;quot; would refer to a specific cell of the table.&lt;br /&gt;
* When refering to signal names, you should modify the Broadcom name slightly to minimize confusion. The Broadcom SPI bus pin names are fine, such as &amp;quot;SPI0_*&amp;quot; and &amp;quot;SPI1_*&amp;quot;, but they didn't do the same on the I²C and UART pins.  Instead of using &amp;quot;SDA0&amp;quot; and &amp;quot;SCL0&amp;quot;, you should use &amp;quot;I2C0_SDA&amp;quot; and &amp;quot;I2C0_SCL&amp;quot;; and instead of &amp;quot;TX&amp;quot; or &amp;quot;TXD&amp;quot; and &amp;quot;RX&amp;quot; or &amp;quot;RXD&amp;quot;, you should use &amp;quot;UART0_TXD&amp;quot; and &amp;quot;UART0_RXD&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Power pins===&lt;br /&gt;
The maximum permitted current draw from the 3.3&amp;amp;nbsp;V pins is 50&amp;amp;nbsp;mA.&lt;br /&gt;
&lt;br /&gt;
Maximum permitted current draw from the 5&amp;amp;nbsp;V pin is the USB input current (usually 1&amp;amp;nbsp;A) minus any current draw from the rest of the board.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&amp;amp;t=1536#postid-21841&amp;lt;/ref&amp;gt;&lt;br /&gt;
*Model A: 1000&amp;amp;nbsp;mA - 500&amp;amp;nbsp;mA -&amp;gt; max current draw: 500&amp;amp;nbsp;mA&lt;br /&gt;
*Model B: 1000&amp;amp;nbsp;mA - 700&amp;amp;nbsp;mA -&amp;gt; max current draw: 300&amp;amp;nbsp;mA&lt;br /&gt;
Be very careful with the 5&amp;amp;nbsp;V pins P1-02 and P1-04, because if you short 5&amp;amp;nbsp;V to any other P1 pin you may permanently damage your RasPi.  Before probing P1, it's a good idea to strip short pieces of insulation off a wire and push them over the 5&amp;amp;nbsp;V pins so you don't accidentally short them with a probe.&lt;br /&gt;
&lt;br /&gt;
=== GPIO hardware hacking ===&lt;br /&gt;
&lt;br /&gt;
The complete list of [[RPi_BCM2835_GPIOs|chipset GPIO pins]] which are available on the GPIO connector is: &amp;lt;blockquote&amp;gt;[[RPi_BCM2835_GPIOs#GPIO0|0]], [[RPi_BCM2835_GPIOs#GPIO1|1]], [[RPi_BCM2835_GPIOs#GPIO4|4]], [[RPi_BCM2835_GPIOs#GPIO7|7]], [[RPi_BCM2835_GPIOs#GPIO8|8]], [[RPi_BCM2835_GPIOs#GPIO9|9]], [[RPi_BCM2835_GPIOs#GPIO10|10]], [[RPi_BCM2835_GPIOs#GPIO11|11]], [[RPi_BCM2835_GPIOs#GPIO14|14]], [[RPi_BCM2835_GPIOs#GPIO15|15]], [[RPi_BCM2835_GPIOs#GPIO17|17]], [[RPi_BCM2835_GPIOs#GPIO18|18]], [[RPi_BCM2835_GPIOs#GPIO21|21]], [[RPi_BCM2835_GPIOs#GPIO22|22]], [[RPi_BCM2835_GPIOs#GPIO23|23]], [[RPi_BCM2835_GPIOs#GPIO24|24]], [[RPi_BCM2835_GPIOs#GPIO25|25]]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(on the Revision2.0 RaspberryPis, this list changes to: [[RPi_BCM2835_GPIOs#GPIO2|2]], [[RPi_BCM2835_GPIOs#GPIO3|3]], [[RPi_BCM2835_GPIOs#GPIO4|4]], [[RPi_BCM2835_GPIOs#GPIO7|7]], [[RPi_BCM2835_GPIOs#GPIO8|8]], [[RPi_BCM2835_GPIOs#GPIO9|9]], [[RPi_BCM2835_GPIOs#GPIO10|10]], [[RPi_BCM2835_GPIOs#GPIO11|11]], [[RPi_BCM2835_GPIOs#GPIO14|14]], [[RPi_BCM2835_GPIOs#GPIO15|15]], [[RPi_BCM2835_GPIOs#GPIO17|17]], [[RPi_BCM2835_GPIOs#GPIO18|18]], [[RPi_BCM2835_GPIOs#GPIO22|22]], [[RPi_BCM2835_GPIOs#GPIO23|23]], [[RPi_BCM2835_GPIOs#GPIO24|24]], [[RPi_BCM2835_GPIOs#GPIO25|25]], [[RPi_BCM2835_GPIOs#GPIO27|27]], with [[RPi_BCM2835_GPIOs#GPIO28|28]], [[RPi_BCM2835_GPIOs#GPIO29|29]], [[RPi_BCM2835_GPIOs#GPIO30|30]], [[RPi_BCM2835_GPIOs#GPIO31|31]] additionally available on the [[#P5_header|P5 header]])&lt;br /&gt;
&lt;br /&gt;
As noted above, GPIO00 and 01 (SDA0 and SCL0) have 1.8&amp;amp;nbsp;kilohm pull-up resistors to 3.3&amp;amp;nbsp;V.&lt;br /&gt;
&lt;br /&gt;
If 17 GPIOs aren't sufficient for your project, there are a few other signals potentially available, with varying levels of software and hardware (soldering iron) hackery skills:&lt;br /&gt;
&lt;br /&gt;
GPIO02, 03, 05 and 27 are available on S5 (the CSI interface) when a camera peripheral is not connected to that socket, and are configured by default to provide the functions SDA1, SCL1, CAM_CLK and CAM_GPIO respectively.  SDA1 and SCL1 have 1K6 pull-up resistors to 3.3&amp;amp;nbsp;V.&lt;br /&gt;
&lt;br /&gt;
GPIO06 is LAN_RUN and is available on pad 12 of the footprint for IC3 on the Model A. On Model B, it is in use for the Ethernet function.&lt;br /&gt;
&lt;br /&gt;
There are a few other chipset GPIO pins accessible on the PCB but are in use:&lt;br /&gt;
&lt;br /&gt;
* GPIO16 drives status LED D5 (usually SD card access indicator)&lt;br /&gt;
* GPIO28-31 are used by the board ID and are connected to resistors R3 to R10 (only on Rev1.0 boards).&lt;br /&gt;
* GPIO40 and 45 are used by analogue audio and support [http://en.wikipedia.org/wiki/Pulse-width_modulation PWM]. They connect to the analogue audio circuitry via R21 and R27 respectively.&lt;br /&gt;
* GPIO46 is HDMI hotplug detect (goes to pin 6 of IC1).&lt;br /&gt;
* GPIO47 to 53 are used by the SD card interface.  In particular, GPIO47 is SD card detect (this would seem to be a good candidate for re-use).  GPIO47 is connected to the SD card interface card detect switch; GPIO48 to 53 are connected to the SD card interface via resistors R45 to R50.&lt;br /&gt;
&lt;br /&gt;
=== P2 header ===&lt;br /&gt;
&lt;br /&gt;
The P2 header is the VideoCore JTAG and used only during the production of the board. It cannot be used as the ARM JTAG &amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?f=24&amp;amp;t=5894&amp;lt;/ref&amp;gt;. This connector is unpopulated in Rev 2.0 boards. &lt;br /&gt;
&lt;br /&gt;
Useful P2 pins:&lt;br /&gt;
&lt;br /&gt;
* Pin 1 - 3.3V (same as P1-01, 50 mA max current draw across both of them)&lt;br /&gt;
* Pin 7 - GND&lt;br /&gt;
* Pin 8 - GND&lt;br /&gt;
&lt;br /&gt;
=== P3 header ===&lt;br /&gt;
&lt;br /&gt;
The P3 header, unpopulated, is the LAN9512 JTAG &amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?f=24&amp;amp;t=5894&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== P5 header ===&lt;br /&gt;
&lt;br /&gt;
The P5 header was added with the release of the Revision 2.0 PCB design.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Pin 1 - 5V&lt;br /&gt;
* Pin 2 - 3V3&lt;br /&gt;
* Pin 3 - GPIO28&amp;amp;#9;ALT0 = SDA0 &amp;amp;#9;ALT2 = PCM_CLK&lt;br /&gt;
* Pin 4 - GPIO29&amp;amp;#9;ALT0 = SCL0  &amp;amp;#9;ALT2 = PCM_FS&lt;br /&gt;
* Pin 5 - GPIO30&amp;amp;#9;ALT2 = CTS0 &amp;amp;#9;ALT2 = PCM_DIN&lt;br /&gt;
* Pin 6 - GPIO31&amp;amp;#9;ALT2 = RTS0 &amp;amp;#9;ALT2 = PCM_DOUT&lt;br /&gt;
* Pin 7 - GND&lt;br /&gt;
* Pin 8 - GND&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that the connector is intended to be mounted on the '''bottom''' of the PCB, so that for those who put the connector on the top side, the pin numbers are swapped. Pin 1 and pin 2 are  swapped, pin 3 and 4, etc. &lt;br /&gt;
&lt;br /&gt;
The new header can provide a second I2C channel (SDA + SCL) and handshake lines for the existing UART (TxD and RxD), or it can be used for an I2S (audio codec chip) interface using the PCM signals CLK, FS (Frame Sync), Din and Dout.&lt;br /&gt;
&lt;br /&gt;
Note that the connector is placed JUST off-grid with respect to the P1 connector.&lt;br /&gt;
&lt;br /&gt;
=== P6 header ===&lt;br /&gt;
&lt;br /&gt;
The P6 header was added with the release of the Revision 2.0 PCB design.&lt;br /&gt;
&lt;br /&gt;
[http://raspi.tv/2012/making-a-reset-switch-for-your-rev-2-raspberry-pi A reset button can be attached to the P6 header], with which the Pi can be reset.&lt;br /&gt;
Momentarily shorting the two pins of P6 together will cause a soft reset of the CPU.&lt;br /&gt;
&lt;br /&gt;
===Driver support===&lt;br /&gt;
&lt;br /&gt;
The Foundation will not include a GPIO driver in the initial release, standard Linux GPIO drivers should work with minimal modification.&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&amp;amp;t=1278.0&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The community implemented SPI and I²C drivers &amp;lt;ref&amp;gt;http://www.bootc.net/projects/raspberry-pi-kernel/&amp;lt;/ref&amp;gt;, which will be integrated with the new Linux pinctrl concept in a later version of the kernel. (On Oct. 14 2012, it was already included in the latest raspbian image.) A first compiled version as Linux modules is available to install on the 19/04/2012 Debian image, including 1-wire support&amp;lt;ref&amp;gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?p=86172#p86172&amp;lt;/ref&amp;gt;. The I²C and SPI driver uses the hardware modules of the microcontroller and interrupts for low CPU usage, the 1-wire support uses bitbanging on the GPIO ports, which results in higher CPU usage.&lt;br /&gt;
&lt;br /&gt;
GordonH&amp;lt;ref&amp;gt;http://www.raspberrypi.org/forum/general-discussion/wiring-for-the-raspberry-pis-gpio&amp;lt;/ref&amp;gt; wrote a (mostly) Arduino compatible/style [https://projects.drogon.net/raspberry-pi/wiringpi/ WiringPi library] in C for controlling the GPIO pins.&lt;br /&gt;
&lt;br /&gt;
A useful tutorial on setting up I²C driver support can be found at [http://www.robot-electronics.co.uk/htm/raspberry_pi_examples.htm Robot Electronics] - look for the downloadable document rpi_i2c_setup.doc&lt;br /&gt;
&lt;br /&gt;
===Graphical User Interfaces===&lt;br /&gt;
====WebIOPi====&lt;br /&gt;
[http://code.google.com/p/webiopi/ WebIOPi] allows you to control each GPIO with a simple web interface that you can use with any browser. Available in PHP and Python, they both require root access, but Python version serves HTTP itself. You can setup each GPIO as input or output and change their states (LOW/HIGH). WebIOPi is fully customizable, so you can use it for home remote control. It also work over Internet. UART/SPI/I2C support will be added later. If you need some computing for your GPIO go to code examples below.&lt;br /&gt;
&lt;br /&gt;
==GPIO Code examples==&lt;br /&gt;
====GPIO Driving Example (C)====&lt;br /&gt;
[http://www.raspberrypi.org/forum/educational-applications/gertboard/page-4/#p31555 Gert van Loo &amp;amp; Dom, has provided] some tested code which accesses the GPIO pins through direct GPIO register manipulation in C-code.&lt;br /&gt;
(Thanks to Dom for doing the difficult work of finding and testing the mapping.)&lt;br /&gt;
Example GPIO code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
//  How to access GPIO registers from C-code on the Raspberry-Pi&lt;br /&gt;
//  Example program&lt;br /&gt;
//  15-January-2012&lt;br /&gt;
//  Dom and Gert&lt;br /&gt;
//  Revised: 15-Feb-2013&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Access from ARM Running Linux&lt;br /&gt;
&lt;br /&gt;
#define BCM2708_PERI_BASE        0x20000000&lt;br /&gt;
#define GPIO_BASE                (BCM2708_PERI_BASE + 0x200000) /* GPIO controller */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;sys/mman.h&amp;gt;&lt;br /&gt;
#include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define PAGE_SIZE (4*1024)&lt;br /&gt;
#define BLOCK_SIZE (4*1024)&lt;br /&gt;
&lt