RaspberryPiBoard

From eLinux.org
Revision as of 13:32, 10 November 2011 by DarkSTALKER (Talk | contribs)

Jump to: navigation, search
Logo of Raspberry Pi

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

Raspberry Pi Staff will be attending the following events:

  • (none planned)

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.


September 2011

October 2011

November 2011

December 2011

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/?mingleforumaction=viewtopic&t=342

Provisional specification

Raspberry Pi alpha board

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
  • 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 25th October 2011) is December 2011. 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 just got your new Raspberry Pi device, and 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 to adopt the micro USB form factor, which, in turn, grants the user from inadvertently plugging out-of-range power inputs; that would be dangerous, since the 5V 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 likely that expansion boards will be offered both by Raspberry Pi Foundation and by 3rd parties.

HDMI to VGA Adaptor

The Broadcom BCM2835 only provides HDMI output and composite output. It does not provide RGB or the other signals needed to by RGB, S-VIDEO or VGA connectors 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 or be combined with a touch screen accessory for a low cost tablet. 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

(PCB IDs are those of the Model B Alpha 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)
  • J1: DC Jack (6-20v input provisionally)
  • J2: UART serial console (debug)
  • J3: SD/MMC/SDIO memory card slot (underside)
  • J4: HDMI connector providing HDMI 1.3a out
  • J5 or J9: GPU JTAG (ARM11 pinout; no-fit on production boards)
  • J6: Audio connector: 3.5mm stereo jack
  • J7: Composite Video connector: RCA
  • J8: Either 1x USB 2.0 (Model A) or LAN9512 (Data Brief | Data Sheet) providing 10/100Mb Ethernet and 2x USB 2.0 (J10: Model B)
  • J10: 10/100Mb RJ45 Ethernet jack
  • J11, J14: 1.27mm header providing ~16 GPIOs at 3v3, I2C and SPI interfaces and ARM JTAG.
  • J12: 1.27mm header providing DSI interface
  • J13: 1.27mm header providing MIPI CSI-2 interface


  • Board size: Credit-card or smaller.
  • Weight: <40g? (Alpha board weighs ~55g[1])
  • Currently 6 layer PCB; target: 4 layer

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 (~December 2011), there will mostly likely be very minimal documentation.

Schematic / Layout

Errata

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.

Display Output Options

Standard video outputs include:

  • Composite video (NTSC and PAL) via an RCA plug. 3.5mm stereo jack for audio.
  • HDMI 1.3a standard output.

These would allow any kind of TV to be used. Computer monitors using DVI-D would also be supported with a simple HDMI-DVI cable.

VGA monitors would require either a composite or HDMI to VGA scan converter box. 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 requirements.

DLP Pico projector

The boards have both Composite and HDMI outputs so should interface with a range of DLP and laser based Pico projectors on the market.

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

Interfacing to Camera Module

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

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

General Purpose Input/Output (GPIO), I2C, I2S, SPI

There are approximately 16 spare GPIOs, which are brought out to 1.27mm pin-strip. Voltage levels are 3v3. The connector choice is deliberately annoying to connect to directly; there is no over-voltage protection on the board so 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.

We also bring 2x I2C (3v3), I2S and an SPI (3v3) interface out to the same connector. We support one slave interface for I2C and one for SPI.

UART

J2 (on the alpha boards) is a UART:

Pin Function
1 3.3V
2 GND
3 TX
4 RX

Kernel boot messages go to this UART at 115200bps.

MIPI CSI-2 & DSI

We also bring out MIPI CSI-2 & DSI interfaces to a 1.27 mm pinstrip.

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.

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.


Code

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

Binaries

Source

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 [2], 5400 LINPACK KFLOPS with software floating point and 22000 KFLOPS with softfp hardware floating point[3].

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. [4]

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

Development environments

Main page: RaspberryPiBoardDistributions

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

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

Other software

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.

Graphics accelerator

The GPU is a Broadcom VideoCore IV.

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

Extension:RSS -- Error: "http://www.raspberrypi.org/wp-content/plugins/mingle-forum/feed.php?topic=70" is not in the whitelist of allowed feeds. http://linuxgizmos.com/feed is the only allowed feed.

Video

Audio

Photos

Raspberry Pi wiki pages


Subpages

<splist

parent=
showparent=no
sort=desc
sortby=title
liststyle=ordered
showpath=no
kidsonly=no
debug=0

/>

Links

Home page

raspberrypi.org (RaspberryPi home)

  • Using Google you can search raspberrypi.org (including Forum) using site:raspberrypi.org <search term>. The home page and forum each have their own search facilitiy also.

Manuals and resources

Contact and communication

Books

Education & Training materials

Main page: RaspberryPiBoard/EducationalLinks

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.


Programming languages, IDEs, etc

Languages tested on Alpha board

  • Interp
  • Scala
  • Clojure
  • OCaml
  • gcc
  • g++
  • Python [5]
  • Perl
  • Ruby 1.9.2 (KidsRuby)

Expected to work

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

Graphical Programming

Robotics

Uncategorised

See also Category:Education

Past events

Manufacturing

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

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.

References

  1. http://www.raspberrypi.org/?page_id=43&mingleforumaction=viewtopic&t=285.0
  2. http://www.raspberrypi.org/?p=78#more-78
  3. http://www.raspberrypi.org/?page_id=43&mingleforumaction=viewtopic&t=266.0
  4. http://www.raspberrypi.org/?page_id=43&mingleforumaction=viewtopic&t=247
  5. http://ntoll.org/article/baking-with-raspberrypipy

Foreign Language Translations