An introduction to Raspberry Pi Chandrashekar Babu http://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. • Sinclair's ZX Spectrum and Commodore's 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 software architecture
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.
Demonstrations
Links and resources • http://www.raspberrypi.org/ • http://elinux.org/RPi_Hub/ • http://www.themagpi.com/ • http://adafruit.com/
Thank you http://www.chandrashekar.info/ http://www.slashprog.com/ chandra@slashprog.com

Introduction to Raspberry PI

  • 1.
    An introduction to RaspberryPi Chandrashekar Babu http://www.chandrashekar.info/
  • 2.
    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.
  • 3.
    What purpose doesit 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).
  • 4.
    How did itall 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.
  • 5.
    Hackers of the'80s • With BBC Micro becoming a big success, other companies began to manufacture and sell affordable home computers. • Sinclair's ZX Spectrum and Commodore's 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.
  • 6.
    1970s 1980s 1990s 2000 era Today Image courtesy: Wikipedia
  • 7.
    Raspberry Pi Layout Source: Raspberry Pi manual
  • 8.
  • 9.
    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.
  • 10.
    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.
  • 11.
    Raspberry Pi requirements •A bootable SD Card with Linux • USB power adapter with support for 700 mA • USB WiFi adapter for wifi networking
  • 12.
    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.
  • 13.
    The GPIO headeron 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.
  • 14.
    Programming the GPIOPins • 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.
  • 15.
  • 16.
    Links and resources •http://www.raspberrypi.org/ • http://elinux.org/RPi_Hub/ • http://www.themagpi.com/ • http://adafruit.com/
  • 17.
    Thank you http://www.chandrashekar.info/ http://www.slashprog.com/ chandra@slashprog.com