Seminar Report On Raspberry Pi
Seminar Report On Raspberry Pi
The Raspberry Pi has a Broadcom BCM2835 system on a chip (SoC), which includes an
ARM1176JZF-S 700 MHz processor, VideoCore IV GPU and was originally shipped with 256
megabytes of RAM, later upgraded (Model B & Model B+) to 512 MB. It does not include a
built-in hard disk or solid-state drive, but it uses an SD card for booting and persistent storage,
with the Model B+ using a MicroSD.
The Foundation provides Debian and Arch Linux ARM distributions for download. Tools
are available for Python as the main programming language, with support for BBC BASIC (via
the RISC OS image or the Brandy Basic clone for Linux), C, Java and Perl.
Raspberry Pi is an innovative product. The sheer number of users and fan base support
the fact that the device can see a great future ahead. The device can surely help anyone who
really wants to lean electronics and computers. Increasing the processing power can surely help
the product in the future. The Raspberry Pi is an amazing piece of hardware because of the
combination of the features of a traditional computer and an embedded device.
CONTENTS
1 INTRODUCTION 5
2 INCEPTION OF RASPBERRY PI 6
2.1 THE IDEA TO CREATE RASPBERRY PI 6
2.2 INITIAL DESIGN CONSIDERATIONS 7
3 HARDWARE 9
3.1 HARDWARE LAYOUT 9
3.2 COMPONENTS ON THE PI 10
3.3 SPECIFICATIONS 14
3.4 BRIEF DESCRIPTION ON SYSTEM on CHIP 15
3.5 ACCESSORIES 16
4 SOFTWARE 18
4.1 OPERATING SYSTEM 18
4.2 BOOT PROCESS 18
4.3 NOOBS INSTALLER 20
4.4 RPi COMPATIBLE OPERATING SYSTEM 21
5 APPLICATIONS 22
5.1 EXAMPLES FOR PROJECTS USING RPi 22
6 MERITS AND DEMERITS 24
6.1 ADVANTAGES 24
6.2 DISADVANTAGES 24
7 CONCLUSION 26
8 REFERENCES 27
1. INTRODUCTION
The Raspberry Pi has a Broadcom BCM2835 system on a chip (SoC), which includes an
ARM1176JZF-S 700 MHz processor, VideoCore IV GPU and was originally shipped with 256
megabytes of RAM, later upgraded (Model B & Model B+) to 512 MB. It does not include a
built-in hard disk or solid-state drive, but it uses an SD card for booting and persistent storage,
with the Model B+ using a MicroSD. The Foundation provides Debian and Arch Linux ARM
distributions for download. Tools are available for Python as the main programming language,
with support for BBC BASIC (via the RISC OS image or the Brandy Basic clone for Linux), C,
Java and Perl.
The idea behind a tiny and affordable computer for kids came in 2006, when Eben
Upton, Rob Mullins, Jack Lang and Alan Mycroft, based at the University of Cambridge‘s
Computer Laboratory, became concerned about the year-on-year decline in the numbers and
skills levels of the A Level students applying to read Computer Science. From a situation in
the 1990s where most of the kids applying were coming to interview as experienced hobbyist
programmers, the landscape in the 2000s was very different; a typical applicant might only
have done a little web design.
Something had changed the way kids were interacting with computers. A number of
problems were identified: majority of curriculums with lessons on using Word and Excel, or
writing webpages; the end of the dot-com boom; and the rise of the home PC and games
console to replace the Amigas, BBC Micros, Spectrum ZX and Commodore 64 machines
that people of an earlier generation learned to program on.
The Broadcom SoC used in the Raspberry Pi is equivalent to a chip used in an old
smartphone (Android or iPhone). While operating at 700 MHz by default, the Raspberry
Pi provides a real world performance roughly equivalent to the 0.041 GFLOPS. On the
CPU level the performance is similar to a 300 MHz Pentium II of 1997-1999, but the
GPU, however, provides 1 Gpixel/s, 1.5 Gtexel/s or 24 GFLOPS of general purpose
compute and the graphics capabilities of the Raspberry Pi are roughly equivalent to the
level of performance of the Xbox of 2001. The Raspberry Pi chip operating at 700 MHz
by default, will not become hot enough to need a heatsink or special cooling.
POWER SOURCE
The Pi is a device which consumes 700mA or 3W or power. It is powered by a
MicroUSB charger or the GPIO header. Any good smartphone charger will do the work
of powering the Pi.
SD CARD
The Raspberry Pi does not have any onboard storage available. The operating
system is loaded on a SD card which is inserted on the SD card slot on the Raspberry Pi.
The operating system can be loaded on the card using a card reader on any computer.
GPIO
GPIO- General Purpose Input Output
General-purpose input/output (GPIO) is a generic pin on an integrated circuit
whose behavior, including whether it is an input or output pin, can be controlled by the
user at run time.
GPIO pins have no special purpose defined, and go unused by default. The idea is
that sometimes the system designer building a full system that uses the chip might find it
useful to have a handful of additional digital control lines, and having these available
from the chip can save the hassle of having to arrange additional circuitry to provide
them.
GPIO capabilities may include:
GPIO pins can be configured to be input or output
GPIO pins can be enabled/disabled
Input values are readable (typically high=1, low=0)
Output values are writable/readable
Input values can often be used as IRQs (typically for wakeup events)
The production Raspberry Pi board has a 26-pin 2.54 mm (100 mil) 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 V, +5 V and GND supply lines. Pin one is the pin in the
first column and on the bottom row.
A DSI compatible LCD screen can be connected through the DSI connector,
although it may require additional drivers to drive the display.
RCA VIDEO
RCA Video outputs (PAL and NTSC) are available on all models of Raspberry Pi.
Any television or screen with a RCA jack can be connected with the RPi.
AUDIO JACK
A standard 3.5 mm TRS connector is available on the RPi for stereo audio output.
Any headphone or 3.5mm audio cable can be connected directly. Although this jack
cannot be used for taking audio input, USB mics or USB sound cards can be used.
STATUS LEDs
There are 5 status LEDs on the RPi that show the status of various activities as
follows:
Status LEDs
USB 2.0 PORT
USB 2.0 ports are the means to connect accessories such as mouse or keyboard to
the Raspberry Pi. There is 1 port on Model A, 2 on Model B and 4 on Model B+. The
number of ports can be increased by using an external powered USB hub which is
available as a standard Pi accessory.
ETHERNET
Ethernet port is available on Model B and B+. It can be connected to a network or
internet using a standard LAN cable on the Ethernet port. The Ethernet ports are
controlled by Microchip LAN9512 LAN controller chip.
CSI CONNECTOR
CSI – Camera Serial Interface is a serial interface designed by MIPI (Mobile
Industry Processor Interface) alliance aimed at interfacing digital cameras with a mobile
processor.
The RPi foundation provides a camera specially made for the Pi which can be
connected with the Pi using the CSI connector.
JTAG HEADERS
JTAG is an acronym for ‗Joint Test Action Group', an organization that started
back in the mid 1980's to address test point access issues on PCB with surface mount
devices. The organization devised a method of access to device pins via a serial port that
became known as the TAP (Test Access Port). In 1990 the method became a recognized
international standard (IEEE Std 1149.1). Many thousands of devices now include this
standardized port as a feature to allow test and design engineers to access pins.
HDMI
HDMI – High Definition Multimedia Interface
HDMI 1.3 a type A port is provided on the RPi to connect with HDMI screens.
3.3 SPECIFICATIONS
Soc Broadcom BCM2835 (CPU, GPU, DSP, SDRAM, and single USB
port)
USB 2.0 Ports 1 (direct from 2 (via the on- 4 (via the on-board
BCM2835 chip) board 3- port 5-port
USB hub) USB hub)
Video Input 15-pin MIPIcamera interface (CSI) connector, used with the
Raspberry Pi Camera Addon.
Video Outputs Composite RCA (PAL and NTSC) –in model B+ via 4-pole 3.5
mm jack, HDMI (rev 1.3 & 1.4), raw LCD Panels via DS
Audio Outputs 3.5 mm jack, HDMI, and, as of revision 2 boards, I²S audio (also
potentially for audio input)
Since smartphones and tablets are basically smaller computers, they require pretty
much the same components we see in desktops and laptops in order to offer us all the
amazing things they can do (apps, music and video playing, 3D gaming support, advanced
wireless features, etc).
But smartphones and tablets do not offer the same amount of internal space as
desktops and laptops for the various components needed such as the logic board, the
processor, the RAM, the graphics card, and others. That means these internal parts need to be
as small as possible, so that device manufacturers can use the remaining space to fit the
device with a long-lasting battery life.
A system on a chip or system on chip (SoC or SOC) is an integrated circuit (IC) that
integrates all components of a computer or other electronic system into a single chip. It may
contain digital, analog, mixed-signal, and often radio-frequency functions—all on a single
chip substrate. SoCs are very common in the mobile electronics market because of their low
power consumption. A typical application is in the area of embedded systems. The contrast
with a microcontroller is one of degree. Microcontrollers typically have under 100 kB of
RAM (often just a few kilobytes) and often really are single-chip-systems, whereas the term
SoC is typically used for more powerful processors, capable of running software such as the
desktop versions of Windows and Linux, which need external memory chips (flash, RAM) to
be useful, and which are used with various external peripherals. In short, for larger systems,
the term system on a chip is a hyperbole, indicating technical direction more than reality:
increasing chip integration to reduce manufacturing costs and to enable smaller systems.
Many interesting systems are too complex to fit on just one chip built with a process
optimized for just one of the system's tasks.
A typical SoC consists of:
3.5 ACCESSORIES
Raspberry Pi being a very cheap computer has attracted millions of users around the
world. Thus it has a large user base. Many enthusiasts have created accessories and
peripherals for the Raspberry Pi. This range from USB hubs, motor controllers to
temperature sensors. There are some official accessories for the RPi as follows:
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 support it. The Raspberry Pi camera board contains a 5 MPixel sensor, and connects via a
ribbon cable to the CSI connector on the Raspberry Pi. In Raspbian support can be enabled
by the installing or upgrading to the latest version of the OS and then running Raspi-config
and selecting the camera option. The cost of the camera module is 20 EUR in Europe (9
September 2013). and supports 1080p, 720p, 640x480p video. The footprint dimensions are
25 mm x 20 mm x 9 mm.
Gertboard: A Raspberry Pi Foundation sanctioned device designed for educational
purposes, and 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. The Gertboard can be used to control
motors, switches etc. for robotic projects.
USB Hub: Although not an official accessory, it is a highly recommended accessory for
the Pi. A powered USB Hub with 7 extra ports is available at almost all online stores. It is
compulsory to use a USB Hub to connect external hard disks or other accessories that draw power
from the USB ports, as the Pi cannot give power to them.
4. SOFTWARE
Archlinux ARM
OpenELEC
Pidora (Fedora Remix)
Raspbmc and the XBMC open source digital media center
RISC OS – The operating system of the first ARM-based computer
Raspbian (recommended) – Maintained independently of the Foundation;
based on ARM hard-float (armhf)-Debian 7 'Wheezy' architecture port, that
was designed for a newer ARMv7 processor whose binaries would not work
on the Rapberry Pi, but Raspbian is compiled for the ARMv6 instruction set
of the Raspberry Pi making it work but with slower performance. It provides
some available deb software packages, pre-compiled software bundles. A
minimum size of 2 GB SD card is required, but a 4 GB SD card or above is
recommended. There is a Pi Store for exchanging programs. The 'Raspbian
Server Edition (RSEv2.4)', is a stripped version with other software packages
bundled as compared to the usual desktop computer oriented Raspbian.
When the power is turned on, the first bits of code to run is stored in a ROM
chip in the SoC and is built into the Pi during manufacture. This is the called
the first-stage bootloader.
The SoC is hardwired to run this code on startup on a small RISC Core
(Reduced Instruction Set Computer). It is used to mount the FAT32 boot
partition in theSDCard so that the second-stage bootloader can be accessed.
So what is this ‘second-stage bootloader‘ stored in the SD Card? It‘s
‘bootcode.bin’. This file can be seen while mount process of an operating
system on the SD Card in windows.
Now here‘s something tricky. The first-stage bootloader has not yet initialized
the ARM CPU (meaning CPU is in reset) or the RAM. So, the second-stage
bootloader also has to run on the GPU. The bootloader.bin file is loaded into
the 128K 4 way set associative L2 cache of the GPU and then executed. This
enables the RAM and loads start.elf which is also in the SD Card. This is the
third-stage bootloader and is also the most important. It is the firmware for
the GPU, meaning it contains the settings or in our case, has instructions to
load the settings from config.txt which is also in the SD Card. We can think
of the config.txt as the ‘BIOS settings‘.
The start.elfalso splits the RAM between the GPU and the ARM CPU. The
ARM only has access the to the address space left over by the GPU address
space. For example, if the GPU was allocated addresses from 0x000F000 –
0x0000FFFF, the ARM has access to addresses from 0x00000000 -
0x0000EFFF.
The config.txt is loaded afterthe split is done so the splitting amounts cannot
be specified in the config.txt. However, different .elf files having different
splits exist in the SD Card. So, depending on the requirement, the file can be
renamed to start.elf and boot the Pi. In the Pi, the GPU is King!
Other than loading config.txt and splitting RAM, the start.elfalso loads
cmdline.txt if it exists. It contains the command line parameters for whatever
kernel that is to be loaded. This brings us to the final stage of the boot process.
The start.elf finally loads kernel.img which is the binary file containing the
OS kernel and releases the reset on the CPU. The ARM CPU then executes
whatever instructions in the kernel.img thereby loading the operating system.
After starting the operating system, the GPU code is not unloaded. In fact,
start.elf is not just firmware for the GPU, It is a proprietary operating system
called VideoCore OS (VCOS). When the normal OS (Linux) requires an
element not directly accessible to it, Linux communicates with VCOS using
the mailbox messaging system.
Boot Process of Raspberry Pi
The major aim behind the Raspberry Pi was to educate people, especially children and
teenagers, towards programming and basic hardware interfacing. The open body structure of the
Raspberry Pi makes it a machine on which one can learn computer concepts.
It can be used for designing prototypes of DIY projects and certain embedded
smart TV with internet capabilities with the Pi.
It can be used for making digital photo frames, tablets etc at home
With a Raspberry Pi, switches, web server, enthusiasts have created home
automation systems that can control fans and lights of a home from the Pi or even a
smartphone.
Simple robots can be developed using Raspberry Pi boards and various other
components that can be connected to it.
This microcomputer is useful for small or home based businesses that run on a
smaller budget than bigger companies for you are not required to purchase any
special licenses from the Raspberry Pi Foundation to use their product or if you
invent new technology that embeds the product. Small business owners can use it
to automate any small task, such as using the Pi to run a website ( as long as it
does not have a lot of traffic), or use it as a small database and media server
The product does not require the user to have extensive programming experience
since it is aimed for the younger generation to learn about programming. Python,
the programming language that the Pi uses, is less complex than other languages
available.
The product also gives you a lot of room to experiment and turn it into something
else that is entirely different. The SD cards on the board can be easily switched,
which allows you to change the functions of the device without spending a lot of
time reinstalling the software.
The product is energy efficient and provides a greener ethical alternative to small
businesses. This small credit card sized product makes it easy to recycle and does
not release as much carbon dioxide emissions into the environment, unlike big
servers that require lots of energy and extensive cooling systems.
6.2 DISADVANTAGES
It does not replace your computer, since the Ethernet is only a 10/100 and the
processor is not as fast, it is time consuming to download and install software and
is unable to do any complex multitasking.
Not compatible with other operating systems such as Windows (There are
currently 1.3 billion Windows users around the world.)
To use the Raspberry Pi,it will take more than just 35 dollars to get it to do what
you need through buying extra accessories such as the SD card, USB power
supply, keyboard..etc and if you take into account the acquisition cost of the
product.
This product will not be useful for bigger businesses that already have big servers,
which would already do everything that the Raspberry Pi does, so it would not be
worth it to take the time to get someone to put it together.
7. CONCLUSION
Raspberry Pi is an innovative product. The sheer number of users and fan base support
the fact that the device can see a great future ahead. The device can surely help anyone who
really wants to lean electronics and computers.
Increasing the processing power can surely help the product in the future. Also supplying
a case and a proper instruction manual will improve the product. Also currently Windows
operating systems are not compatible because of the ARM processor. If the processor is
improved or any workaround is found to run Windows directly on the Raspberry Pi, then it can
be a great step for the Pi.
Finally it can be said that Raspberry Pi can be effectively used if its processing power is
kept in mind. It can work as a personal computer but cannot replace it.
8. REFERENCES
4. RPi Hub
elinux.org/RPi_Hub