Seminar Topics & Project Ideas On Computer Science Electronics Electrical Mechanical Engineering Civil MBA Medicine Nursing Science Physics Mathematics Chemistry ppt pdf doc presentation downloads and Abstract

Full Version: Raspberry Pi
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
[attachment=70767]



The Raspberry Pi is a series of credit card–sized single-board computers developed in Wales, United Kingdom by the Raspberry Pi Foundation with the intention of promoting the teaching of basic computer science in schools and developing countries.[6][7][8] The original Raspberry Pi and Raspberry Pi 2 are manufactured in several board configurations through licensed manufacturing agreements with Newark element14 (Premier Farnell), RS Components and Egoman.[9] The hardware is the same across all manufacturers


All Raspberry Pis include the same VideoCore IV GPU,[10] and either a single-core ARMv6-compatible CPU or a newer ARMv7-compatible quad-coreone (in Pi 2); and 1 GB of RAM (in Pi 2), 512 MB (in Pi 1 models B and B+),[3][11] or 256 MB (in models A and A+, and in the older model B). They have a Secure Digital (SDHC) slot (models A and B) or a MicroSDHC one (models A+, B+, and Pi 2) for boot media and persistent storage.[12] In 2014, the Raspberry Pi Foundation launched the Compute Module, for use as a part of embedded systems for the same compute power as the original Pi.[13] In early February 2015, the next-generation Raspberry Pi, Raspberry Pi 2, was released.[14] That new computer board is initially available only in one configuration (model B) and has a quad-core ARM Cortex-A7 CPU and 1 GB of RAM with remaining specifications being similar to those of the previous generation model B+. The Raspberry Pi 2 retains the same US$35 price point of the model B,[15] with the US$20 model A+ remaining on sale. In November 2015, the Foundation launched the Raspberry Pi Zero, a smaller product priced at US$5.[16]
The Foundation provides Debian and Arch Linux ARM distributions for download.[17] And promotes Python as the main programming language, with support for BBC BASIC[18] (via the RISC OS image or the Brandy Basic clone for Linux),[19] C,C++, Java,[20] Perl, Ruby,[21] Squeak Smalltalk and more also available.
As of 8 June 2015, about five to six million Raspberry Pis have been sold.[22][23] While already the fastest selling Britishpersonal computer, it has also shipped the second largest number of units behind the Amstrad PCW, the "Personal ComputerWord-processor", which sold eight million.



Hardware[edit]
The Raspberry Pi hardware has evolved through several versions that feature variations in memory capacity, and peripheral device support.

This block diagram depicts models A, B, A+, and B+. Model A and A+ and Zero lack the Ethernet and USB hub components. The Ethernet adapter is connected to an additional USB port. In model A and A+ the USB port is connected directly to the SoC. On model B+ the chip contains a five-point USB hub, of which four ports are available, while model B only provides two. On the model Zero, the USB port is also connected directly to the SoC, but it uses a micro USB (OTG) port.
Processor[edit]
The SoC used in the first generation Raspberry Pi is somewhat equivalent to the chip used in older smartphones (such as iPhone /3G / 3GS). The Raspberry Pi is based on the Broadcom BCM2835 system on a chip (SoC),[2] which includes an 700 MHzARM1176JZF-S processor, VideoCore IV GPU,[10] and RAM. It has a Level 1 cache of 16 KB and a Level 2 cache of 128 KB. The Level 2 cache is used primarily by the GPU. The SoC is stacked underneath the RAM chip, so only its edge is visible.
Performance of first generation models[edit]
While operating at 700 MHz by default, the first generation Raspberry Pi provided a real world performance roughly equivalent to 0.041 GFLOPS.[24][25] On the CPU level the performance is similar to a 300 MHz Pentium II of 1997–99. The GPU provides 1 Gpixel/s or 1.5 Gtexel/s of graphics processing or 24 GFLOPS of general purpose computing performance. The graphics capabilities of the Raspberry Pi are roughly equivalent to the level of performance of the Xbox of 2001.
The LINPACK single node compute benchmark results in a mean single precision performance of 0.065 GFLOPS and a mean double precision performance of 0.041 GFLOPS for one Raspberry Pi Model-B board.[26] A cluster of 64 Raspberry Pi Model-B computers, labeled "Iridis-pi", achieved a LINPACK HPL suite result of 1.14 GFLOPS (n=10240) at 216 watts for c. US$4,000.[26]
Raspberry Pi 2 is based on Broadcom BCM2836 SoC, which includes a quad-core Cortex-A7 CPU running at 900 MHz and 1 GB RAM. It is described as 4–6 times more powerful than its predecessor. The GPU is identical to the original.
Overclocking[edit]
The first generation Raspberry Pi chip operated at 700 MHz by default and did not become hot enough to need a heat sink or special cooling, unless the chip was overclocked. The second generation runs at 900 MHz by default, and also does not become hot enough to need a heatsink or special cooling. Again overclocking may heat up the SoC more than usual.


Most Raspberry Pi chips could be overclocked to 800 MHz and some even higher to 1000 MHz. There are reports the second generation can be similarly overclocked, in extreme cases, even to 1500 MHz (discarding all safety features and over voltage limitations). In the Raspbian Linux distro the overclocking options on boot can be done by a software command running "sudo raspi-config" without voiding the warranty.[27] In those cases the Pi automatically shuts the overclocking down in case the chip reaches 85 °C (185 °F), but it is possible to overrule automatic over voltage and overclocking settings (voiding the warranty). In that case, an appropriately sized heatsink is needed to keep the chip from heating up far above 85 °C.
Newer versions of the firmware contain the option to choose between five overclock ("turbo") presets that when turned on try to get the most performance out of the SoC without impairing the lifetime of the Pi. This is done by monitoring the core temperature of the chip, and the CPU load, and dynamically adjusting clock speeds and the core voltage. When the demand is low on the CPU, or it is running too hot, the performance is throttled, but if the CPU has much to do, and the chip's temperature is acceptable, performance is temporarily increased, with clock speeds of up to 1 GHz, depending on the individual board, and on which of the turbo settings is used. The five settings are:
• none; 700 MHz ARM, 250 MHz core, 400 MHz SDRAM, 0 overvolt,
• modest; 800 MHz ARM, 250 MHz core, 400 MHz SDRAM, 0 overvolt,
• medium; 900 MHz ARM, 250 MHz core, 450 MHz SDRAM, 2 overvolt,
• high; 950 MHz ARM, 250 MHz core, 450 MHz SDRAM, 6 overvolt,
• turbo; 1000 MHz ARM, 500 MHz core, 600 MHz SDRAM, 6 overvolt.[28][29]
In the highest (turbo) preset the SDRAM clock was originally 500 MHz, but this was later changed to 600 MHz because 500 MHz sometimes causes SD card corruption. Simultaneously in high mode the core clock speed was lowered from 450 to 250 MHz, and in medium mode from 333 to 250 MHz.
The Raspberry Pi Zero runs at 1 GHz.
RAM[edit]
On the older beta model B boards, 128 MB was allocated by default to the GPU, leaving 128 MB for the CPU.[30] On the first 256 MB release model B and model A), three different splits were possible. The default split was 192 MB (RAM for CPU), which should be sufficient for standalone 1080p video decoding, or for simple 3D, but probably not for both together. 224 MB was for Linux only, with just a 1080p framebuffer, and was likely to fail for any video or 3D. 128 MB was for heavy 3D, possibly also with video decoding (e.g. XBMC).[31] Comparatively the Nokia 701 uses 128 MB for the Broadcom VideoCore IV.[32] For the new model B with 512 MB RAM initially there were new standard memory split files released( arm256_start.elf, arm384_start.elf, arm496_start.elf) for 256 MB, 384 MB and 496 MB CPU RAM (and 256 MB, 128 MB and 16 MB video RAM). But a week or so later the RPF released a new version of start.elf that could read a new entry in config.txt (gpu_mem=xx) and could dynamically assign an amount of RAM (from 16 to 256 MB in 8 MB steps) to the GPU, so the older method of memory splits became obsolete, and a single start.elf worked the same for 256 and 512 MB Raspberry Pis.[33]
The Raspberry Pi 2 has 1 GB of RAM. The Raspberry PI Zero has 512 MB of RAM.
Networking[edit]
Though the model A and A+ and Zero do not have an 8P8C ("RJ45") Ethernet port, they can be connected to a network using an external user-supplied USB Ethernet or Wi-Fiadapter. On the model B and B+ the Ethernet port is provided by a built-in USB Ethernet adapter.
Peripherals[edit]
The Raspberry Pi may be operated with any generic USB computer keyboard and mouse.[12]
Video[edit]
The video controller is capable of standard modern TV resolutions, such as HD and Full HD, and higher or lower monitor resolutions and older standard CRT TV resolutions. As shipped (i.e. without custom overclocking) it is capable of the following: 640×350 EGA; 640×480 VGA; 800×600 SVGA; 1024×768 XGA; 1280×720 720p HDTV; 1280×768 WXGAvariant; 1280×800 WXGA variant; 1280×1024 SXGA; 1366×768 WXGA variant; 1400×1050 SXGA+; 1600×1200 UXGA; 1680×1050 WXGA+; 1920×1080 1080p HDTV; 1920×1200 WUXGA.[34]
Higher resolutions, such as, up to 2048×1152, may work[35][36] or even 3840×2160 at 15 Hz (too low a framerate for convincing video).[37] Note also that allowing the highest resolutions, does not imply that the GPU can decode video formats at those, in fact, the Pis are known to not work for H.265, commonly used for very high resolutions (most formats, commonly used, up to full HD, do work).
The Pis can also generate 576i and 480i composite video signals, as used on old-style (CRT) TV screens, (through non-standard connectors, different kind depending on models) for PAL-BGHID, PAL-M, PAL-N, NTSC and NTSC-J.[38]
Real-time clock[edit]
The Raspberry Pi does not come with a real-time clock, which means it cannot keep track of the time of day while it is not powered on.
As alternatives, a program running on the Pi can get the time from a network time server or user input at boot time.
A real-time clock (such as the DS1307, which is fully binary coded) with battery backup may be added (often via the I²C interface).



Accessories[edit]
• Camera – On 14 May 2013, the foundation and the distributors RS Components & Premier Farnell/Element 14 launched the Raspberry Pi camera board with a firmware update to accommodate it.[73] The camera board is shipped with a flexible flat cable that plugs into the CSI connector located between the Ethernet and HDMI ports. In Raspbian, one enables the system to use the camera board by the installing or upgrading to the latest version of the operating system (OS) and then running Raspi-config and selecting the camera option. The cost of the camera module is €20 in Europe (9 September 2013).[74] It can produce 1080p, 720p and 640x480p video. The footprint dimensions are 25 mm x 20 mm x 9 mm.[74]
• Gertboard – A Raspberry Pi Foundation sanctioned device, designed for educational purposes, that expands the Raspberry Pi's GPIO pins to allow interface with and control of LEDs, switches, analog signals, sensors and other devices. It also includes an optional Arduino compatible controller to interface with the Pi.[75]
• Infrared Camera – In October 2013, the foundation announced that they would begin producing a camera module without an infrared filter, called the Pi NoIR.[76]
• HAT (Hardware Attached on Top) expansion boards – Together with the model B+, inspired by the Arduino shield boards, the interface for HAT boards was devised by the Raspberry Pi Foundation. Each HAT board carries a small EEPROM (typically a CAT24C32WI-GT3)[77] containing the relevant details of the board,[78] so that the Raspberry Pi's OS is informed of the HAT, and the technical details of it, relevant to the OS using the HAT.[79] Mechanical details of a HAT board, that use the four mounting holes in their rectangular formation.[80][81]
Software[edit]
Operating systems[edit]
The Raspberry Pi primarily uses Linux-kernel-based operating systems.
The ARM11 chip at the heart of the Pi (first generation models) is based on version 6 of the ARM. The current release of Ubuntu supports the Raspberry Pi 2,[82] while Ubuntu, and several popular versions of Linux, do not support the older[83] Raspberry Pi 1 that runs on the ARM11. Raspberry Pi 2 can also run the Windows 10 IoT Core operating system,[84] while no version of the Pi can run traditional Windows.[85] The Raspberry Pi 2 currently also supports Raspbian, OpenELEC and RISC OS.[86]
The install manager for the Raspberry Pi is NOOBS. The operating systems included with NOOBS are:
• Arch Linux ARM
• OpenELEC[87]
• OSMC[88] (formerly Raspbmc[89]) and the Kodi open source digital media center[90]
• Pidora (Fedora Remix)
• Puppy Linux[91]
• RISC OS[92] – is the operating system of the first ARM-based computer.
• Raspbian (recommended for Raspberry Pi 1)[93] – is maintained independently of the Foundation;[94] based on the Debian ARM hard-float (armhf) architecture port originally designed for ARMv7 and later processors (with Jazelle RCT/ThumbEE and VFPv3), compiled for the more limited ARMv6 instruction set of the Raspberry Pi 1. A minimum size of 4 GB SD card is required for the Raspbian images provided by the Raspberry Pi Foundation. There is a Pi Store for exchanging programs.[95][96]
• The Raspbian Server Edition is a stripped version with fewer software packages bundled as compared to the usual desktop computer oriented Raspbian.[97][98]
• The Wayland display server protocol enables efficient use of the GPU for hardware accelerated GUI drawing functions.[99] On 16 April 2014, a GUI shell for Weston calledMaynard was released.
• PiBang Linux – is derived from Raspbian.[100]
• Raspbian for Robots – is a fork of Raspbian for robotics projects with Lego, Grove, and Arduino.[101]
Other operating systems
• Q4os[102]
• Xbian[103] – using the Kodi (formerly XBMC) open source digital media center
• openSUSE[104]
• Raspberry Pi Fedora Remix[105]
• CentOS
• Slackware ARM – version 13.37 and later runs on the Raspberry Pi without modification.[106][107][108][109] The 128–496 MB of available memory on the Raspberry Pi is at least twice the minimum requirement of 64 MB needed to run Slackware Linux on an ARM or i386 system.[110] (Whereas the majority of Linux systems boot into a graphical user interface, Slackware's default user environment is the textual shell / command line interface.[111]) The Fluxbox window manager running under the X Window System requires an additional 48 MB of RAM.[112]
• FreeBSD[113] and NetBSD[114][115] are general operating systems.
• Plan 9 from Bell Labs[116][117] and Inferno[118] (in beta)
• Moebius[119] – is a light ARM HF distribution based on Debian. It uses Raspbian repository, but it fits in a 128 MB SD card.[120] It has just minimal services and its memory usage is optimized to keep a small footprint.
• OpenWrt – is primarily used on embedded devices to route network traffic.
• Kali Linux – is a Debian-derived distro designed for digital forensics and penetration testing.
• Pardus ARM[121] – is a Debian-based operating system which is the light version of the Pardus (operating system).
• Instant WebKiosk – is an operating system for digital signage purposes (web and media views).
• Ark OS – is designed for website and email self-hosting.
• MinePeon – is a dedicated operating system for mining cryptocurrency.
• Kano OS[122]
• Nard SDK[123] – is a is a software development kit (SDK) for industrial embedded systems.
• Sailfish OS with Raspberry Pi 2 (due to use ARM Cortex-A7 CPU; Raspberry Pi 1 uses different ARMv6 architecture and Sailfish requires ARMv7.)[124]
• Tiny Core Linux – a minimal Linux operating system focused on providing a base system using BusyBox and FLTK. Designed to run primarily in RAM.
• "Windows 10 IoT Core" – Microsoft offers a free edition of Windows 10, known as Windows 10 IoT Core, that runs natively on the Raspberry Pi 2.[125]
• WTware for Raspberry Pi 2 [126] – is a free operating system for creating Windows thin client from Pi 2.
• IPFire – is a dedicated firewall/router distribution for the protection of a SOHO LAN; runs only on a Raspberry Pi 1; porting to the Raspberry Pi 2 is not planned for now.[127]
• xv6[128] – is a modern reimplementation of Sixth Edition Unix OS for teaching purposes; it is ported to Raspberry Pi from MIT xv6; this xv6 port can boot from NOOBS.
• Alpine Linux – is a Linux distribution based on musl and BusyBox, primarily designed for "power users who appreciate security, simplicity and resource efficiency".