An introduction toRaspberry PiChandrashekar Babuhttp://www.chandrashekar.info/
What is it ?• A ₹3500 (or lesser priced) miniature computer board.• A feature complete Linux capable platform.• Can fit in a soap box.• Supports GPIO, I2C, SPI and serial I/O buses suitable for connecting to various electronic gadgets and devices.• Supports USB, HDMI, Ethernet connectivity on board.
What purpose does it serve ?• Bringing computers back to electronics enthusiasts.• Allow people to prototype and build hardware applications (or rather appliances/gadgets) that can be programmed and controlled using Linux or similar environments.• Software is getting saturated, redundant, complicated and largely boring. There are interesting things you can do with hardware if you love electronics.• Encourage young people to learn computers they were supposed to be learned (like in the late 70s and early 80s).
How did it all start ?• In 1981, BBC sponsored Acorn computers to build affordable home computers that can be connected to television as a part of their computer literacy project targeting young children.• This computer was familiarly known as the BBC Micro.• The project was a grand success in the UK and large part of Europe and US where more than 80% of schools acquired these home computers for educating children.
Hackers of the 80s• With BBC Micro becoming a big success, other companies began to manufacture and sell affordable home computers.• Sinclairs ZX Spectrum and Commodores Commodore64 followed up in 1982.• Linus Torvalds himself claimed to have programmed on ZX Spectrum at a younger age.• Some of the brilliant innovators of today have been electronics hobbyists and have learned programming on home computer consoles.
1970s 1980s 1990s 2000 era Today Image courtesy: Wikipedia
Raspberry Pi Layout Source: Raspberry Pi manual
Raspberry Pi features• Powered by Broadcom BCM2835 SoC that features the following: • ARM1176JFS CPU (based on ARMv6 core). • Core frequency set to 700 MHz (can be overclocked upto 1 GHz). • VideoCore IV GPU (integrated into BCM2835 SoC) with HDMI and composite output. • USB 2.0 Host controller.• Ability to boot from a SD Card.• GPU is capable of playing high definition video with support for OpenGL ES 2.0 for graphics.• Built in Ethernet port and support for wifi using compatible USB wifi adaptor• Model A comes with 256 MB RAM, Model B comes with 512 MB RAM• Provides 17 pin GPIO interface for connecting to various electronics gadgets and appliances. Some pins can be configured to work on SPI mode, I2C bus mode, serial I/O (Tx/Rx) communication mode.
Using Raspberry Pi• Create custom multimedia appliance (HTPC) to convert conventional Television to a Smart TV.• Home automation and control of electrical and electronic gadgets/appliances by interfacing relay modules using GPIO interface.• Custom data acquisition gadgets.• Smart Internet controlled device management modules.• Thin client appliances.• Compute cluster nodes.
Raspberry Pi requirements• A bootable SD Card with Linux• USB power adapter with support for 700 mA• USB WiFi adapter for wifi networking
Software stack on Raspberry Pi• Linux distributions customized for Raspberry Pi: • Raspbian (Debian GNU/Linux for Raspberry Pi). • Raspbmc (XBMC for Raspberry Pi). • Arch Linux ARM. • Many more distributions in development.• Python, Ruby, C, Bash Shell available by default.• Most software from Debian ecosystem is available for download and installation on Raspbian.
The GPIO header on Raspberry Pi• 17 GPIO pins are available on the main header (some pins are reserved).• There are also additional display headers and JTAG headers which is normally left unused.
Programming the GPIO Pins• The GPIO pins can be set to HIGH or LOW by using simple programming instructions using almost any programming language on Linux (including the shell).• These pins could be connected to simple LED drivers, relay modules through driver transistors, or even stepper motor or servo motor drivers.• The following practical session will demonstrate some the GPIO capabilities.