RaspberryPiBoard

This page collects information about Raspberry Pi Foundation's ultra-low-cost (~15GBP or 25USD) Linux computer for teaching computer programming to children.

The Raspberry Pi Foundation is a UK registered charity (Registration Number 1129409) which exists to promote the study of computer science and related topics, especially at school level, and to put the fun back into learning computing. We expect this computer to have many other applications both in the developed and the developing world.

Please note that the Raspberry Pi isn't released yet - this page is a community work in progress in preparation for the launch

 NEWS: =Upcoming Events=
 * Foundation auctions the first of ten beta boards
 * Pinout for GPIO connectors published
 * Final PCB artwork published
 * Want to stay informed? Announcements mailing list now active - sign up on the home page
 * Alpha boards are now in manufacture

Raspberry Pi Staff will be attending the following events:
 * eTech Ohio conference, Ohio, 14 February 2012

The following are general-interest industry events and are not an indication that Raspberry Pi will be attending, exhibiting or speaking at the event. For Raspberry Pi event and speaker schedule, please contact press@raspberrypi.org.

February 2012

 * FOSDEM, 4-5 February 2012, Brussels, Belgium
 * Hackademy Codecamp, 11 February 2012, Preston, UK
 * eTech Ohio conference, Ohio, 14 February 2012

July 2012

 * O'Reilly Open Source Convention (OSCON) at Portland, Oregon Convention Center July 16-20, 2012.  The Call for Papers is scheduled to be posted in November 2011.

Discuss: http://www.raspberrypi.org/forum/general-discussion/conferences-and-other-public-appearances

=Provisional specification= The first product is about the size of a credit card, and is designed to plug into a TV or be combined with a touch screen for a low cost tablet. The expected price is $25 for a fully-configured system.


 * 700MHz Broadcom BCM2835 media processor featuring an ARM11 ARM1176JZF-S core, Broadcom GPU core, DSP core and support for Package-on-Package (PoP) RAM
 * 128MiB (Model A) or 256MiB of SDRAM (Model B), stacked on top of the CPU as a PoP device
 * OpenGL ES 2.0
 * 1080p30 H.264 high-profile decode
 * Composite and HDMI video output (not at the same time)
 * One USB 2.0 port provided by the BCM2835
 * SD/MMC/SDIO memory card slot
 * General-purpose I/O (About 16 3v3) and various other interfaces, brought out to 1.27mm pin-strip
 * Optional integrated 2-port USB hub and 10/100 Ethernet controller (Model B)
 * Open software (Iceweasel, KOffice, Python)
 * Capability to support various expansion boards

=Availability=

Estimated availability (as of 31st December 2011) is January 2012 for the first batch of 10 000. On 31st December 2011 at 22:00, the Foundation auctioned the first two of ten beta boards on a seven-day auction. The following eight were auctioned on the following days. Initially, there will be shipping from the UK and possibly the US, but will probably expand with local distributors by the second quarter of 2012.

=Beginners guide=

You've just got your new Raspberry Pi device - what now? See beginners guides.

=Accessories & Peripherals= Main article: RaspberryPiBoardVerifiedPeripherals

Case
A protective case is an often-cited required accessory. Cases are likely to be offered both directly from Raspberry Pi and from 3rd party companies such as Special Computing.

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

Expansion boards
It is planned that expansion boards will be offered both by Raspberry Pi Foundation and by 3rd parties during 2012.


 * The first expansion board, nicknamed Gertboard after one of the principal Hardware Engineers for Raspberry Pi, was announced on 17th December 2011:


 * On 2nd January 2012, CJE/4D announced that they have a real-time clock (RTC) expansion board in the works:

HDMI to VGA Adaptor
The Broadcom BCM2835 only provides HDMI output and composite output. DVI-D ports used on many computer monitors can be connected to HDMI using a simple passive adapter. RGB and other signals needed by RGB, S-VIDEO or VGA connectors are however not provided so additional componenty would be needed to generate these signals. Additional componentry would push the price beyond the $25 target and therefore won't happen.

A couple of options for VGA or component RGB outputs, bridging from either HDMI or the MIPI DSI interface:

Firstly, the following *might* work. Beagleboard people have reported various levels of success (mainly "issues"):

http://www.hdfury.com/

Something similar:

http://www.fit-pc.com/web/fit-pc2/accessories/fit-vga/

...it may need to be modified as described here:

http://blog.galemin.com/2011/03/dvi-d-to-vga-converter-for-beagleboard-xm/

Alternatively, it may be possible to design an expansion board that plugs into the LCD headers on the R.Pi. Here is something similar for Beagleboard:

http://boardzoo.com/product_info12.php

=Hardware Details The first product is about the size of a credit card, and is designed to plug into a TV with composite or HDMI input, or into computer monitors using HDMI input (possibly using a DVI-D to HDMI adaptor). The RasPi could also be combined with a touch screen to construct a low cost tablet style computer. The product will be available in two configurations: Model A and Model B. The expected price is $25 for a fully-configured Model-A system and around $35 for a Model B.

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


 * SoC: Broadcom BCM2835 media processor system-on-chip featuring:
 * CPU core: ARM1176JZF-S ARM11 core clocked at 700MHz; ARM VFP.
 * GPU core: a Broadcom VideoCore GPU providing OpenGL ES 1.1, OpenGL ES 2.0, hardware-accelerated OpenVG 1.1, Open EGL, OpenMAX and 1080p30 H.264 high-profile decode. There are 24 GFLOPS of general purpose compute and a bunch of texture filtering and DMA infrastructure.  Eben worked on the architecture team for this and the Raspberry Pi team are looking at how they can make some of the proprietary features available to application programmers
 * DSP core: There is a DSP, but there isn't currently a public API (Liz thinks the BC team are keen to make one available at some point)
 * RAM: 128MiB (Model A) or 256MiB (Model B) of SDRAM. The RAM is physically stacked on top of the Broadcom media processor (package-on-package technology)
 * LAN9512 (Data Brief | Data Sheet) providing 10/100Mb Ethernet and 2x USB 2.0 (Model B)
 * S1: Micro USB power jack (5v)
 * S2: DSI interface. 15-pin surface mounted flat flex connector (possibly no-fit).
 * S3: HDMI connector providing HDMI 1.3a out
 * S4: Composite Video connector: RCA
 * S5: MIPI CSI-2 interface. 15-pin surface mounted flat flex connector (possibly no-fit).
 * S6: Audio connector: 3.5mm stereo jack (output only)
 * S8: SD/MMC/SDIO memory card slot (underside)
 * S7: Either 1x USB 2.0 (Model A) 2x USB 2.0 (Model B)
 * P1: 26-pin 2.54mm header expansion (header not fitted), providing:
 * 8 GPIOs at 3v3
 * 2-pin UART serial console, 3v3 TTL (debug); or 2 GPIOs at 3v3
 * I2C interface (3v3); or 2 GPIOs at 3v3
 * SPI interface (3v3); or 5 GPIOs at 3v3
 * 3v3, 5v and GND supply pins
 * ARM JTAG (if pins are reconfigured in software)
 * Second I2C interface (3v3) (if pins are reconfigured in software)
 * I2S interface (if pins are reconfigured in software)
 * 6 pins reserved for future use
 * P2 and P3: 8-pin and 7-pin 2.54mm header expansion (header not fitted), providing:
 * 6-pin GPU JTAG (ARM11 pinout)
 * P4: 10/100Mb RJ45 Ethernet jack (Model B)


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

Manual
A manual is currently in production by members of the Computing At School working group. This began on the 13 October 2011 and is due to be ready for early March 2012. The manual is aimed at the project's target audience, children, so that they can take their "First steps in Computing Science".

For the first release (~January/February 2012), there will mostly likely be very minimal documentation. A 'schools' release is due in June/July 2012.

Schematic / Layout

 * PCB screenshot
 * PCB screenshot, labelled version
 * PCB screenshot, Alpha board

Clocking

 * Provisional main CPU clock speed is 700MHz
 * No data currently released on the GPU or other component clock speeds

Power management

 * Target power consumption is <1W (This is for the A version, no power consumed from the USB plug.)

Preliminary Alpha board power usage measurements. This is with graphics output on the HDMI port, no power from USB plugs.
 * Input 7.5V, ~180mA Linux running only with prompt.
 * Input 7.5V, ~300mA heavy graphics running on system.

Graphics accelerator
The GPU is a Broadcom VideoCore IV.

Display Output Options
The following display outputs are supported on the board:
 * Composite video (NTSC and PAL) via an RCA plug.
 * HDMI 1.3a standard output.
 * Display Serial Interface (DSI) - via unpopulated 15-way flat flex connector.

These interfaces allow the use of a broad range of displays, including:
 * Televisions (HDMI or composite).
 * Computer monitors (HDMI/DVI-D cable) (VGA monitors would require either a composite or HDMI to VGA scan converter box).
 * DLP/Laser Pico Projectors (HDMI/DVI-D cable).
 * RAW LCD panels (DSI + interfacing hardware)

Notes:
 * The SOC does not support any kind of analog component video, including VGA, since the SOC is designed for mobile phone use where this would not be a requirement.
 * Composite and HDMI outputs can not be used at the same time (one or the other.)

Interfacing to Raw LCD Panels
Nokia N900 has 800x480 DCS LCD (afaik its like DSI, but has build in framebuffer). Replacement screen is about ~$40 (~$50 with 4pin resistive touchscreen).

Nokia N8 has AMOLED 360x640 pixels DSI LCD. Replacement screen is about ~$35, another ~$25 for Multitouch Synaptics T1021A touchscreen (I2C + interrupt IO, no docs/drivers).

Potential LVDS interfacing chips :

TC358764/5 Display Bridge (MIPI® DSI to LVDS)

DVI receiver TFP401A, TFP403, or TFP501 + LVDS transmitter SN75LVDS83B or SN65LVDS93A (Mentioned earlier fit-VGA is build around TFP401A, probably many more "active" DVI2VGA cables are build the same way)

I2C/SPI ADC can be used to interface 4 pin resistive Touch Screens, For example STMPE812A

16x2 LCD Displays
The old-style 2-line, 16-character LCD displays can be commonly controlled over UART, thus providing a cheap way to display values for sensors etc.

Interfacing to Camera Module
is Sony sub-LVDS same as MIPI CSI-2? Sony IMX020 5Mbip module is available for $5-7 (SE K850i replacement camera).

Looks like Nokia N95 uses CSI-2 5Mpix camera module with autofocus. ~$15 replacement part.

Production Board GPIO Header
The production board has a 26-pin 2.54mm (The above text says 1.27mm (50mil) which I think is correct) expansion header, arranged in a 2x13 strip. They provide 8 GPIO pins plus access to I2C, SPI, UART), as well as +3V3, +5V and GND supply lines. Pin one is column 0 on the bottom row.  All the UART, SPI and I2C pins can be reconfigured as GPIO pins, to provide a total of 17 GPIO pins.

Voltage levels are 3v3. 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.

At least some of the GPIO pins support PWM.

Each GPIO can interrupt, high/low/rise/fall/change.

It is also possible to reconfigure some of the pins to provide an ARM JTAG interface.

It is also possible to reconfigure some of the pins to provide an I2S or PCM interface.

It is also possible to reconfigure some of the pins to provide a second I2C interface. [no-ref]

Kernel boot messages go to the UART at 115200bps.

Pinout:

Colour-coded Image: https://sites.google.com/site/burngatehouse/home/drawings/GPIOs.gif

Maximum permitted current draw from the 3v3 pin is 50mA. Maximum permitted current draw from the 5v pin is the USB input current (usually 1A) minus any current draw from the rest of the board, or about 650 mA.

Driver support
The Foundation will not include a GPIO driver in the initial release, standard linux GPIO drivers should work with minimal modification. The Foundation will not include a SPI driver in the initial release, we hope the community might write one. The Foundation will not include an I2C driver in the initial release, we hope the community might provide one, standard linux I2C drivers should work with minimal modification.

MIPI CSI-2
On the production board, we bring out the MIPI CSI-2 interface to pads for an unpopulated 15-way flat flex connector

DSI
On the production board, we bring out the DSI interface to pads for an unpopulated 15-way flat flex connector

CEC
HDMI-CEC is supported by hardware but some driver work will be needed and currently isn't exposed into Linux userland.

Eben notes that he has seen CEC demos on the Broadcom SoC they are using.

=Software Details=

BootRom
The boards do not include NAND or NOR storage - everything is on the SD card, which has a FAT32 partition with GPU firmware and a kernel image, and an EXT2 partition with the rootfs.

We're not currently using a bootloader - we actually boot via the GPU, which contains a proprietary RISC core (wacky architecture ;). The GPU mounts the SD card, loads GPU firmware and brings up display/video/3d, loads a kernel image, resets the SD card host and starts the ARM.

You could replace the kernel image with a bootloader image, and that would work fine.

Distributions
Source code and binaries for Raspberry Pi will be available at various places from launch, including pre-built Linux distributions.

Ubuntu is currently listed as the default distribution on the Raspberry Pi website, but the Ubuntu developers have now stated they will not be supporting the ARMv6 architecture, so Ubuntu is likely to be dropped.

Eben says (regarding default distribution): "Either Ubuntu or Fedora; the main point in Fedora’s favour is their ongoing support for ARMv6 architectures."

Main page: RaspberryPiBoardDistributions

Development environments
Instead of just using compiler + editor, you can use "development tool chains" which integrate compiler, build system, packaging tools etc. in one tool chain.

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

ARM
There is broad compiler support including gcc - please see ARM Compilers

The ARM is capable of around 500 BOGOMIPS, 5400 LINPACK KFLOPS with software floating point and 22000 KFLOPS with softfp hardware floating point.

GPU
The GPU provides APIs for Open GL ES 2.0, hardware-accelerated OpenVG, and 1080p30 H.264 high-profile decode.

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.

The GPU blob is an 18MB as an elf file, plus libraries. It does an awful lot.

DSP
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).

Flash
From Eben: "We'll have to take a look. We support hardware-accelerated OpenVG, and have had Flash Lite running incredibly fast. Personally, I'd like to get the official hardware-accelerated Flash 10 going on there, running against OpenGL ES 2.0, but that's something to think about after the launch."

Software hints
This section collects hints, tips & tricks for various software components.

Performance
Performance Page

=FAQ=


 * For Raspberry Pi frequently asked questions (FAQ) see FAQ.
 * Raspberry Pi Forum FAQ: Forum FAQ

=News articles and blog posts about Raspberry Pi=

Articles

 * http://www.guardian.co.uk/technology/2011/aug/28/ict-changes-needed-national-curriculum?CMP=twt_gu - RaspberryPi background and interview with Eben. (Aug 28 2011)
 * http://journaltec.com/2011/08/04/raspberry-pi-interview-with-eben-upton.html - Email interview with Eben. (Aug 4 2011)
 * http://www.next-gen.biz/features/david-braben-raspberry-pi - David talks pi and computer education in the UK. (Aug 3 2011)
 * http://www.cabume.co.uk/hardware/cambridges-fifteen-quid-computer-set-for-q4-launch.html - Cambridge Business Media is chuffed that, among other things, we're based in Cambridge. (3 Aug 2011)
 * http://amplecan.com/archives/762 - Blog post from TheSynapseUK, who posts on the Raspberry Pi boards. This is particularly good on some of the stumbling blocks we have to overcome in schools beyond the curriculum, like all those ICT teachers who don't have any programming experience. (2 Aug 2011)
 * http://www.exanders.fr/raspberry-pi-lordinateur-a-17-euros-en-bonne-voie-de-concretisation/ - French article on the how far we've come on the project. (1 Aug 2011)
 * http://www.pvsm.ru/article/63919 - Russian article about the Raspi. I am charmed to discover that Google Translate says the English for the Russian version of Braben is Brabo. I think we should adopt Brabo as David's superhero name. (31 July 2011)
 * http://orvtech.com/general/raspberry-pi-servidor-casero-alpha/ - Piece in Spanish about the project and the board going alpha. Note shiny US quarter photoshopped over the official 20p piece photo! (30 July 2011)
 * http://www.greentablet.info/gadget-25-raspberry-minicomputer-now-in-alpha-production-stage.html - Another short news piece about the board going alpha. (30 July 2011)
 * Slashdot: Raspberry Pi $25 PC Goes Into Alpha Production (29 July 2011)
 * Geek.com: Raspberry Pi $25 PC goes into alpha production (28 July 2011)
 * HuffPost UK: Why Doesn't The UK Have Its Own Apple Inc? - article on the state of the UK computer industry, which interviews Eben and includes some uplifting material on Raspi. (28 July 2011)
 * Christian Science Monitor: Raspberry Pi: Rise of the $25 computer - David talks to the Christian Science Monitor about the educational implications of the project. (12 July 2011)
 * http://micromath.wordpress.com/2011/06/04/digital-illiteracy-and-raspberry-pi/ - Mathematics under the Microscope, a great maths teaching blog, on Raspi. There's an interesting follow-up post too - and if you have an interest in education, especially in the sciences, the whole blog is well worth your time. (4 June 2011)
 * http://www.linuxjournal.com/content/raspberry-pi-tiny-computer-runs-linux - Linux Journal is, perhaps not surprisingly, very pleased that the Raspi will be running Linux. (31 May 2011)
 * http://www.electronicsweekly.com/Articles/2011/05/26/51140/in-depth-raspberry-pi-the-computer-on-a-stick.htm - EW interviews Eben. (26 May 2011)
 * Computer World UK: As British as Raspberry Pi? (9 May 2011)
 * http://www.theinquirer.net/inquirer/news/2068735/uk-developer-creates-gbp15-kids - The Inquirer chats to David. (6 May 2011)
 * http://www.techeye.net/hardware/15-usb-pc-creator-david-braben-in-talks-with-government - TechEye talks to David (who talks a bit about his impressions of ICT teaching in the UK as well as about the device). (6 May 2011)
 * ARMDevices.net: $25 ARM Powered Desktop presented by Raspberry Pi Foundation (6 May 2011)

http://www.raspberrypi.org/wp-content/plugins/mingle-forum/feed.php?topic=70

Video

 * BBC iClick's Peter Price asks whether a £15 computer can solve the programming gap (6 minutes, 3 June 2011)
 * Raspberry Pi's David Braben talks to BBC's Rory Cellan-Jones (2:28 minutes, 5 May 2011)
 * Raspberry Pi community tutorials on YouTube

Audio

 * Podcast of a phone interview with Eben about the project and the motivations behind it (15 minutes long.) (3 June 2011) Transcription here.

Photos

 * Pre-production board (beta board) PCB, topside
 * Pre-production board (beta board) PCB, underside
 * Pre-production board vs credit-card
 * Alpha prototype board, topside - Alpha prototypes are about 50% larger than the target credit-card size
 * Alpha prototype board, underside
 * Prototype1 board

See also Schematic / Layout

Raspberry Pi wiki pages
 category = RaspberryPi notcategory = Ru:RaspberryPiBoard 

Subpages


=Links=

Home page
raspberrypi.org (RaspberryPi home)
 * Using Google you can search raspberrypi.org (including Forum) using site:raspberrypi.org . The home page and forum each have their own search facilitiy also.

Manuals and resources

 * First manual to be produced by the Computing At School working group. See Also

Contact and communication

 * Home page and blog
 * FAQ
 * Contact Raspberry Pi Foundation (info and press inquiries)
 * Twitter

Education & Training materials
Main page: RaspberryPiBoard/EducationalLinks


 * Hackety Hack
 * OpenSUSE Linux for Education (LiFE)
 * http://projectguts.org/

Programming
Raspberry Pi plans to support Python and C as primary teaching languages, but expect to have some sort of BASIC on there too. Perhaps even BBC BASIC or SuperBASIC depending on copyright issues.

Languages tested on Alpha board

 * Interp
 * Scala
 * Clojure
 * OCaml
 * gcc
 * g++
 * Python
 * Perl
 * Ruby 1.9.2 (KidsRuby)

Expected to work

 * Java
 * Eclipse
 * Tcl/Tk
 * Lazarus
 * (maybe) BoaConstructor
 * Anjuta for C/C++
 * Dev-C++
 * CodeBlocks
 * Lua
 * BBC BASIC
 * mdfs.net
 * ROOL wiki, forum threads: 1, 2, 3, 4, 5
 * Small Basic
 * Squeak implementation of Smalltalk
 * Processing
 * Other BASIC variants common to Debian/Ubuntu/Fedora etc. are all likely to work fine, including:
 * basic256 - educational BASIC programming environment for children
 * bwbasic - Bywater BASIC Interpreter
 * sdlbasic - BASIC interpreter for game development
 * yabasic - Yet Another BASIC interpreter

"See also: RaspberryPiBoard/EducationalLinks for education-friendly languages."

Graphical Programming

 * Gambas - possibly a good choice; easy like old visual basic
 * Scratch
 * Alice
 * Android App Inventor
 * Kodu
 * Star Logo
 * PrimerLabs CodeHero

Robotics

 * Lego Mindstorms
 * KTurtle and other Logo/turtle graphics (The IO board supports motor drive outputs)

Uncategorised

 * Sugar Learning Platform: An alternative to the Desktop metaphor of the GUI
 * Frink
 * GAViewer
 * GeoGebra
 * codecademy.com

See also Category:Education

Past events

 * Cambridge Hi-Tech Association of Small Enterprises, Cambridge, UK, 5 December 2011
 * [Free Software and Open Source Symposium/LinuxFest 2011, 28 October, in Toronto]
 * [ARM TechCon, 26-27 October]
 * Maker Faire, New York, 17 September
 * Transfer Summit, Oxford - 7-8 September
 * Educating Programmers Summit - 25 August 2011

Compliancy
Products are RoHS and CE compliant. Please contact Raspberry Pi for details regarding WEEE in your country.

Shipping
Raspberry Pi will ship worldwide to the best of their ability (ie subject to UK export and local import laws).

Countries that may block the import due to their local laws include China.

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

Raspberry Pi devices will ship from the UK (and possibly US) and Raspberry Pi will be looking to sign up distribution partners in due course.

To have an idea of shipping cost why don't you look at the Royal Mail website: http://sg.royalmail.com/portal/rm/PriceFinder?catId=23500532&gear=pricingcalc&campaignid=pricefinder_redirect

Look for a package just bigger then 85mm x 55mm x 30mm, weight about 55 grams.

As an example: New Zealand, small package 100grams, air mail 5 days : £2.05

=Thanks=
 * The layout for this page is based on the excellent BeagleBoard page on this site.
 * Some of the text on this page has been adapted from contributions made by the contributors to the BeagleBoard page on this site.