User:Devkevin-coder/sandbox


 * 1) Rasberry PI

Raspberry Pi is a series of small single-board computers developed in the United Kingdom by the Raspberry Pi Foundation. Early on, the Raspberry Pi project leaned towards the promotion of teaching basic computer science in schools and in developing countries. Later, the original model became far more popular than anticipated, selling outside its target market for uses such as robotics. It is now widely used in many areas, such as for weather monitoring, because of its low cost and high portability.

After the release of the second board type, the Raspberry Pi Foundation set up a new entity, named Raspberry Pi Trading, and installed Eben Upton as CEO, with the responsibility of developing technology. The Foundation was rededicated as an educational charity for promoting the teaching of basic computer science in schools and developing countries.

The Raspberry Pi is one of the best-selling British computers. As of December 2019, more than thirty million boards have been sold. Most Pis are made in a Sony factory in Pencoed, Wales, while others are made in China and Japan.

Generations
Several generations of Raspberry Pis have been released. All models feature a Broadcom system on a chip (SoC) with an integrated ARM-compatible central processing unit (CPU) and on-chip graphics processing unit (GPU).

The first generation (Raspberry Pi Model B) was released in February 2012, followed by the simpler and cheaper Model A. In 2014, the Foundation released a board with an improved design, Raspberry Pi Model B+. These boards are approximately credit-card sized and represent the standard mainline form-factor. Improved A+ and B+ models were released a year later. A "Compute Module" was released in April 2014 for embedded applications.

The Raspberry Pi 2, which featured a 900 MHz quad-core ARM Cortex-A7 processor and 1 GiB RAM, was released in February 2015.

A Raspberry Pi Zero with smaller size and reduced input/output (I/O) and general-purpose input/output (GPIO) capabilities was released in November 2015 for US$5. On 28 February 2017, the Raspberry Pi Zero W was launched, a version of the Zero with Wi-Fi and Bluetooth capabilities, for US$10. On 12 January 2018, the Raspberry Pi Zero WH was launched, a version of the Zero W with pre-soldered GPIO headers.

Raspberry Pi 3 Model B was released in February 2016 with a 1.2 GHz 64-bit quad core processor, on-board 802.11n Wi-Fi, Bluetooth and USB boot capabilities. On Pi Day 2018, the Raspberry Pi 3 Model B+ was launched with a faster 1.4 GHz processor and a three-times faster gigabit Ethernet (throughput limited to ca. 300 Mbit/s by the internal USB 2.0 connection) or 2.4 / 5 GHz dual-band 802.11ac Wi-Fi (100 Mbit/s). Other features are Power over Ethernet (PoE) (with the add-on PoE HAT), USB boot and network boot (an SD card is no longer required).

Raspberry Pi 4 Model B was released in June 2019 with a 1.5 GHz 64-bit quad core ARM Cortex-A72 processor, on-board 802.11ac Wi-Fi, Bluetooth 5, full gigabit Ethernet (throughput not limited), two USB 2.0 ports, two USB 3.0 ports, and dual-monitor support via a pair of micro HDMI (HDMI Type D) ports for up to 4K resolution. The Pi 4 is also powered via a USB-C port, enabling additional power to be provided to downstream peripherals, when used with an appropriate PSU. The initial Raspberry Pi 4 board has a design flaw where third-party e-marked USB cables, such as those used on Apple MacBooks, incorrectly identify it and refuse to provide power. Tom's Hardware tested 14 different cables and found that 11 of them turned on and powered the Pi without issue. The design flaw was fixed in revision 1.2 of the board, released in late 2019.

In November 2020, The Raspberry Pi Foundation announced the Raspberry Pi 400, derived out of the existing Raspberry Pi 4, remodeled with a keyboard attached. It features a slightly higher clocked 1.8GHz Broadcom BCM2711C0 processor than the Raspberry Pi 4, along with 4 GiB of LPDDR4 RAM.

Hardware
The Raspberry Pi hardware has evolved through several versions that feature variations in the type of the central processing unit, amount of memory capacity, networking support, and peripheral-device support.



This block diagram describes Model B and B+; Model A, A+, and the Pi Zero are similar, but lack the Ethernet and USB hub components. The Ethernet adapter is internally connected to an additional USB port. In Model A, A+, and the Pi Zero, the USB port is connected directly to the system on a chip (SoC). On the Pi 1 Model B+ and later models the USB/Ethernet chip contains a five-port USB hub, of which four ports are available, while the Pi 1 Model B only provides two. On the Pi Zero, the USB port is also connected directly to the SoC, but it uses a micro USB (OTG) port. Unlike all other Pi models, the 40 pin GPIO connector is omitted on the Pi Zero, with solderable through-holes only in the pin locations. The Pi Zero WH remedies this.

Processor speed ranges from 700 MHz to 1.4 GHz for the Pi 3 Model B+ or 1.5 GHz for the Pi 4; on-board memory ranges from 256 MiB to 1 GiB random-access memory (RAM), with up to 8 GiB available on the Pi 4. Secure Digital (SD) cards in MicroSDHC form factor (SDHC on early models) are used to store the operating system and program memory. The boards have one to five USB ports. For video output, HDMI and composite video are supported, with a standard 3.5 mm tip-ring-sleeve jack for audio output. Lower-level output is provided by a number of GPIO pins, which support common protocols like I²C. The B-models have an 8P8C Ethernet port and the Pi 3, Pi 4 and Pi Zero W have on-board Wi-Fi 802.11n and Bluetooth.

Processor
All SoCs used in Raspberry Pis are developed by Broadcom in collaboration with the Raspberry Pi Foundation.

The Broadcom BCM2835 SoC used in the first generation Raspberry Pi includes a 700 MHz ARM1176JZF-S processor, VideoCore IV graphics processing unit (GPU), and RAM. It has a level 1 (L1) cache of 16 KiB and a level 2 (L2) cache of 128 KiB. The level 2 cache is used primarily by the GPU. The SoC is stacked underneath the RAM chip, so only its edge is visible. The ARM1176JZ(F)-S is the same CPU used in the original iPhone, although at a higher clock rate, and mated with a much faster GPU.

The earlier V1.1 model of the Raspberry Pi 2 used a Broadcom BCM2836 SoC with a 900 MHz 32-bit, quad-core ARM Cortex-A7 processor, with 256 KiB shared L2 cache. The Raspberry Pi 2 V1.2 was upgraded to a Broadcom BCM2837 SoC with a 1.2 GHz 64-bit quad-core ARM Cortex-A53 processor, the same SoC which is used on the Raspberry Pi 3, but underclocked (by default) to the same 900 MHz CPU clock speed as the V1.1. The BCM2836 SoC is no longer in production as of late 2016.

The Raspberry Pi 3 Model B uses a Broadcom BCM2837 SoC with a 1.2 GHz 64-bit quad-core ARM Cortex-A53 processor, with 512 KiB shared L2 cache. The Model A+ and B+ are 1.4 GHz

The Raspberry Pi 4 uses a Broadcom BCM2711 SoC with a 1.5 GHz 64-bit quad-core ARM Cortex-A72 processor, with 1 MiB shared L2 cache. Unlike previous models, which all used a custom interrupt controller poorly suited for virtualisation, the interrupt controller on this SoC is compatible with the ARM Generic Interrupt Controller (GIC) architecture 2.0, providing hardware support for interrupt distribution when using ARM virtualisation capabilities.

The Raspberry Pi Zero and Zero W use the same Broadcom BCM2835 SoC as the first generation Raspberry Pi, although now running at 1 GHz CPU clock speed.

Performance
While operating at 700 MHz by default, the first generation Raspberry Pi provided a real-world performance roughly equivalent to 0.041 GFLOPS. 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 graphical capabilities of the Raspberry Pi are roughly equivalent to the performance of the Xbox of 2001.

Raspberry Pi 2 V1.1 included a quad-core Cortex-A7 CPU running at 900 MHz and 1 GiB RAM. It was described as 4–6 times more powerful than its predecessor. The GPU was identical to the original. In parallelised benchmarks, the Raspberry Pi 2 V1.1 could be up to 14 times faster than a Raspberry Pi 1 Model B+.

The Raspberry Pi 3, with a quad-core ARM Cortex-A53 processor, is described as having ten times the performance of a Raspberry Pi 1. Benchmarks showed the Raspberry Pi 3 to be approximately 80% faster than the Raspberry Pi 2 in parallelised tasks.

The Raspberry Pi 4, with a quad-core ARM Cortex-A72 processor, is described as having three times the performance of a Raspberry Pi 3.

Overclocking
Most Raspberry Pi systems-on-chip could be overclocked to 800 MHz, and some to 1000 MHz. There are reports the Raspberry Pi 2 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. In those cases the Pi automatically shuts the overclocking down if the chip temperature reaches 85 C, but it is possible to override automatic over-voltage and overclocking settings (voiding the warranty); an appropriately sized heat sink is needed to protect the chip from serious overheating.

Newer versions of the firmware contain the option to choose between five overclock ("turbo") presets that, when used, attempt to maximise the performance of the SoC without impairing the lifetime of the board. 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 board version and on which of the turbo settings is used.

The overclocking modes are:
 * none; 700 MHz ARM, 250 MHz core, 400 MHz SDRAM, 0 overvolting,
 * modest; 800 MHz ARM, 250 MHz core, 400 MHz SDRAM, 0 overvolting,
 * medium; 900 MHz ARM, 250 MHz core, 450 MHz SDRAM, 2 overvolting,
 * high; 950 MHz ARM, 250 MHz core, 450 MHz SDRAM, 6 overvolting,
 * turbo; 1000 MHz ARM, 500 MHz core, 600 MHz SDRAM, 6 overvolting,
 * Pi 2; 1000 MHz ARM, 500 MHz core, 500 MHz SDRAM, 2 overvolting,
 * Pi 3; 1100 MHz ARM, 550 MHz core, 500 MHz SDRAM, 6 overvolting. In system information the CPU speed appears as 1200 MHz. When idling, speed lowers to 600 MHz.

In the highest (turbo) mode the SDRAM clock speed was originally 500 MHz, but this was later changed to 600 MHz because of occasional 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 CPU of the first and second generation Raspberry Pi board did not require cooling with a heat sink or fan, even when overclocked, but the Raspberry Pi 3 may generate more heat when overclocked.

RAM
The early designs of the Raspberry Pi Model A and B boards included only 256 MiB of random access memory (RAM). Of this, the early beta Model B boards allocated 128 MiB to the GPU by default, leaving only 128 MiB for the CPU. On the early 256 MiB releases of models A and B, three different splits were possible. The default split was 192 MiB for the CPU, which should be sufficient for standalone 1080p video decoding, or for simple 3D processing. 224 MiB was for Linux processing only, with only a 1080p framebuffer, and was likely to fail for any video or 3D. 128 MiB was for heavy 3D processing, possibly also with video decoding. In comparison, the Nokia 701 uses 128 MiB for the Broadcom VideoCore IV.

The later Model B with 512 MiB RAM, was released on 15 October 2012 and was initially released with new standard memory split files (arm256_start.elf, arm384_start.elf, arm496_start.elf) with 256 MiB, 384 MiB, and 496 MiB CPU RAM, and with 256 MiB, 128 MiB, and 16 MiB video RAM, respectively. But about one week later, the foundation 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 MiB in 8 MiB steps) to the GPU, obsoleting the older method of splitting memory, and a single start.elf worked the same for 256 MiB and 512 MiB Raspberry Pis.

The Raspberry Pi 2 has 1 GiB of RAM. The Raspberry Pi 3 has 1 GiB of RAM in the B and B+ models, and 512 MiB of RAM in the A+ model. The Raspberry Pi Zero and Zero W have 512 MiB of RAM.

The Raspberry Pi 4 is available with 2, 4 or 8 GiB of RAM. A 1 GiB model was originally available at launch in June 2019 but was discontinued in March 2020, and the 8 GiB model was introduced in May 2020.

Networking
The Model A, A+ and Pi Zero have no Ethernet circuitry and are commonly connected to a network using an external user-supplied USB Ethernet or Wi-Fi adapter. On the Model B and B+ the Ethernet port is provided by a built-in USB Ethernet adapter using the SMSC LAN9514 chip. The Raspberry Pi 3 and Pi Zero W (wireless) are equipped with 2.4 GHz WiFi 802.11n (150 Mbit/s) and Bluetooth 4.1 (24 Mbit/s) based on the Broadcom BCM43438 FullMAC chip with no official support for monitor mode (though it was implemented through unofficial firmware patching ) and the Pi 3 also has a 10/100 Mbit/s Ethernet port. The Raspberry Pi 3B+ features dual-band IEEE 802.11b/g/n/ac WiFi, Bluetooth 4.2, and Gigabit Ethernet (limited to approximately 300 Mbit/s by the USB 2.0 bus between it and the SoC). The Raspberry Pi 4 has full gigabit Ethernet (throughput is not limited as it is not funnelled via the USB chip.)

Special-purpose features
The RPi Zero, RPi1A and RPi3A+ can be used as a USB device or "USB gadget", plugged into another computer via a USB port on another machine. It can be configured in multiple ways, for example to show up as a serial device or an ethernet device. Although originally requiring software patches, this was added into the mainline Raspbian distribution in May 2016.

The RPi 3 can boot from USB, such as from a flash drive. Because of firmware limitations in other models, the RPi 2B v1.2, 3A+, 3B, and 3B+ are the only boards that can do this.

Peripherals
Although often pre-configured to operate as a headless computer, the Raspberry Pi may also optionally be operated with any generic USB computer keyboard and mouse. It may also be used with USB storage, USB to MIDI converters, and virtually any other device/component with USB capabilities, depending on the installed device drivers in the underlying operating system (many of which are included by default).

Other peripherals can be attached through the various pins and connectors on the surface of the Raspberry Pi.

Video
The video controller can generate standard modern TV resolutions, such as HD and Full HD, and higher or lower monitor resolutions as well as older NTSC or PAL standard CRT TV resolutions. As shipped (i.e., without custom overclocking) it can support the following resolutions: 640×350 EGA; 640×480 VGA; 800×600 SVGA; 1024×768 XGA; 1280×720 720p HDTV; 1280×768 WXGA variant; 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.

Higher resolutions, up to 2048×1152, may work or even 3840×2160 at 15 Hz (too low a frame rate for convincing video). Allowing the highest resolutions does not imply that the GPU can decode video formats at these resolutions; in fact, the Pis are known to not work reliably for H.265 (at those high resolutions), commonly used for very high resolutions (however, most common formats up to Full HD do work).

Although the Raspberry Pi 3 does not have H.265 decoding hardware, the CPU is more powerful than its predecessors, potentially fast enough to allow the decoding of H.265-encoded videos in software. The GPU in the Raspberry Pi 3 runs at higher clock frequencies of 300 MHz or 400 MHz, compared to previous versions which ran at 250 MHz.

The Raspberry Pis can also generate 576i and 480i composite video signals, as used on old-style (CRT) TV screens and less-expensive monitors through standard connectors – either RCA or 3.5 mm phono connector depending on model. The television signal standards supported are PAL-BGHID, PAL-M, PAL-N, NTSC and NTSC-J.

Optional real-time clock
As of the introduction of the Pi 4 B, no Raspberry Pi model has a built-in real-time clock. When booting, the time defaults to being set over the network using the Network Time Protocol. The source of time information can be another computer on the local network that does have a real-time clock, or to a NTP server on the internet which in turn gets time information from an atomic clock at the National Institute of Standards and Technology (NIST). If no network connection is available, the time may be set manually or configured to assume that no time passed during the shutdown. In the latter case, the time is monotonic (files saved later in time always have later timestamps) but may be considerably earlier than the actual time. For systems that require a built-in real-time clock, a number of small, low-cost add-on boards with real-time clocks are available.

General purpose input-output (GPIO) connector
Raspberry Pi 1 Models A+ and B+, Pi 2 Model B, Pi 3 Models A+, B and B+, Pi 4, and Pi Zero, Zero W, and Zero WH GPIO J8 have a 40-pin pinout. Raspberry Pi 1 Models A and B have only the first 26 pins.

In the Pi Zero and Zero W, the 40 GPIO pins are unpopulated, having the through-holes exposed for soldering instead. The Zero WH (Wireless + Header) has the header pins preinstalled.

Model B rev. 2 also has a pad (called P5 on the board and P6 on the schematics) of 8 pins offering access to an additional 4 GPIO connections. These GPIO pins were freed when the four board version identification links present in revision 1.0 were removed.

Models A and B provide GPIO access to the ACT status LED using GPIO 16. Models A+ and B+ provide GPIO access to the ACT status LED using GPIO 47, and the power status LED using GPIO 35.

Operating systems
The Raspberry Pi Foundation provides Raspberry Pi OS (formerly called Raspbian), a Debian-based (32-bit) Linux distribution for download, as well as third-party Ubuntu, Windows 10 IoT Core, RISC OS, and LibreELEC (specialised media centre distribution). It promotes Python and Scratch as the main programming languages, with support for many other languages. The default firmware is closed source, while unofficial open source is available. Many other operating systems can also run on the Raspberry Pi. Third-party operating systems available via the official website include Ubuntu MATE, Windows 10 IoT Core, RISC OS and specialised distributions for the Kodi media centre and classroom management. The formally verified microkernel seL4 is also supported.


 * Other operating systems (not Linux-based)
 * Broadcom VCOS – Proprietary operating system which includes an abstraction layer designed to integrate with existing kernels, such as ThreadX (which is used on the VideoCore4 processor), providing drivers and middleware for application development. In the case of the Raspberry Pi, this includes an application to start the ARM processor(s) and provide the publicly documented API over a mailbox interface, serving as its firmware. An incomplete source of a Linux port of VCOS is available as part of the reference graphics driver published by Broadcom.
 * RISC OS Pi (a special cut down version RISC OS Pico, for 16 MiB cards and larger for all models of Pi 1 & 2, has also been made available.)
 * FreeBSD
 * NetBSD
 * OpenBSD (only on 64-bit platforms, such as Raspberry Pi 3)
 * Plan 9 from Bell Labs and Inferno (in beta)
 * Windows 10 IoT Core – a zero-price edition of Windows 10 offered by Microsoft that runs natively on the Raspberry Pi 2.
 * Haiku – an open source BeOS clone that has been compiled for the Raspberry Pi and several other ARM boards. Work on Pi 1 began in 2011, but only the Pi 2 will be supported.
 * HelenOS – a portable microkernel-based multiserver operating system; has basic Raspberry Pi support since version 0.6.0


 * Other operating systems (Linux-based)
 * Android Things – an embedded version of the Android operating system designed for IoT device development.
 * Arch Linux ARM – a port of Arch Linux for ARM processors.
 * openSUSE
 * SUSE Linux Enterprise Server 12 SP2
 * SUSE Linux Enterprise Server 12 SP3 (Commercial support)
 * Gentoo Linux
 * Lubuntu
 * Xubuntu
 * Devuan
 * CentOS for Raspberry Pi 2 and later
 * RedSleeve (a RHEL port) for Raspberry Pi 1
 * Slackware ARM – version 13.37 and later runs on the Raspberry Pi without modification.   The 128–496 MiB of available memory on the Raspberry Pi is at least twice the minimum requirement of 64 MiB needed to run Slackware Linux on an ARM or i386 system. (Whereas the majority of Linux systems boot into a graphical user interface, Slackware's default user environment is the textual shell / command line interface. ) The Fluxbox window manager running under the X Window System requires an additional 48 MiB of RAM.
 * Kali Linux – a Debian-derived distro designed for digital forensics and penetration testing.
 * SolydXK – a light Debian-derived distro with Xfce.
 * Ark OS – designed for website and email self-hosting.
 * Sailfish OS with Raspberry Pi 2 (due to use ARM Cortex-A7 CPU; Raspberry Pi 1 uses different ARMv6 architecture and Sailfish requires ARMv7.)
 * Tiny Core Linux – a minimal Linux operating system focused on providing a base system using BusyBox and FLTK. Designed to run primarily in RAM.
 * Alpine Linux – a Linux distribution based on musl and BusyBox, primarily designed for "power users who appreciate security, simplicity and resource efficiency".
 * postmarketOS - distribution based on Alpine Linux, primarily developed for smartphones.
 * Void Linux – a rolling release Linux distribution which was designed and implemented from scratch, provides images based on musl or glibc.
 * Fedora – supports Pi 2 and later since Fedora 25 (Pi 1 is supported by some unofficial derivatives).
 * OpenWrt – a highly extensible Linux distribution for embedded devices (typically wireless routers). It supports Pi 1, 2, 3, 4 and Zero W.
 * Manjaro ARM - Port of Manjaro linux to ARM. Supports Raspberry Pi4.
 * RetroPie - an offshoot of Raspbian OS that uses Emulation Station as its frontend for RetroArch and other emulators like Mupen64 for retro gaming.

Driver APIs


Raspberry Pi can use a VideoCore IV GPU via a binary blob, which is loaded into the GPU at boot time from the SD-card, and additional software, that initially was closed source. This part of the driver code was later released. However, much of the actual driver work is done using the closed source GPU code. Application software makes calls to closed source run-time libraries (OpenMax, OpenGL ES or OpenVG), which in turn call an open source driver inside the Linux kernel, which then calls the closed source VideoCore IV GPU driver code. The API of the kernel driver is specific for these closed libraries. Video applications use OpenMAX, 3D applications use OpenGL ES and 2D applications use OpenVG, which both in turn use EGL. OpenMAX and EGL use the open source kernel driver in turn.

Vulkan driver
The Raspberry Pi Foundation first announced it was working on a Vulkan driver in February 2020. A working Vulkan driver running Quake 3 at 100 frames per second on a 3B+ was revealed by a graphics engineer who had been working on it as a hobby project on June 20.

Firmware
The official firmware is a freely redistributable binary blob, that is proprietary software. A minimal proof-of-concept open source firmware is also available, mainly aimed at initialising and starting the ARM cores as well as performing minimal startup that is required on the ARM side. It is also capable of booting a very minimal Linux kernel, with patches to remove the dependency on the mailbox interface being responsive. It is known to work on Raspberry Pi 1, 2 and 3, as well as some variants of Raspberry Pi Zero.

Third-party application software

 * AstroPrint – AstroPrint's wireless 3D printing software can be run on the Pi 2.
 * C/C++ Interpreter Ch – Released 3 January 2017, C/C++ interpreter Ch and Embedded Ch are released free for non-commercial use for Raspberry Pi, ChIDE is also included for the beginners to learn C/C++.
 * Mathematica & the Wolfram Language – These were released free as a standard part of the Raspbian NOOBS image in November 2013. , the version is Mathematica 12.0. Programs can be run either from a command line interface or from a Notebook interface. There are Wolfram Language functions for accessing connected devices. There is also a Wolfram Language desktop development kit allowing development for Raspberry Pi in Mathematica from desktop machines, including features from the loaded Mathematica version such as image processing and machine learning.
 * Minecraft – Released 11 February 2013, a modified version that allows players to directly alter the world with computer code.
 * RealVNC – Since 28 September 2016, Raspbian includes RealVNC's remote access server and viewer software.  This includes a new capture technology which allows directly rendered content (e.g. Minecraft, camera preview and omxplayer) as well as non-X11 applications to be viewed and controlled remotely.
 * UserGate Web Filter – On 20 September 2013, Florida-based security vendor Entensys announced porting UserGate Web Filter to Raspberry Pi platform.
 * Steam Link – On 13 December 2018, Valve released official Steam Link game streaming client for the Raspberry Pi 3 and 3 B+.

Software development tools

 * Arduino IDE – for programming an Arduino.
 * Algoid – for teaching programming to children and beginners.
 * BlueJ – for teaching Java to beginners.
 * Greenfoot – Greenfoot teaches object orientation with Java. Create 'actors' which live in 'worlds' to build games, simulations, and other graphical programs.
 * Julia – an interactive and cross-platform programming language/environment, that runs on the Pi 1 and later. IDEs for Julia, such as Juno, are available. See also Pi-specific Github repository JuliaBerry.
 * Lazarus – a Free Pascal RAD IDE
 * LiveCode – an educational RAD IDE descended from HyperCard using English-like language to write event-handlers for WYSIWYG widgets runnable on desktop, mobile and Raspberry Pi platforms.
 * Ninja-IDE – a cross-platform integrated development environment (IDE) for Python.
 * Processing – an IDE built for the electronic arts, new media art, and visual design communities with the purpose of teaching the fundamentals of computer programming in a visual context.
 * Scratch – a cross-platform teaching IDE using visual blocks that stack like Lego, originally developed by MIT's Life Long Kindergarten group. The Pi version is very heavily optimised for the limited computer resources available and is implemented in the Squeak Smalltalk system. The latest version compatible with The 2 B is 1.6.
 * Squeak Smalltalk – a full-scale open Smalltalk.
 * TensorFlow – an artificial intelligence framework developed by Google. The Raspberry Pi Foundation worked with Google to simplify the installation process through pre-built binaries.
 * Thonny – a Python IDE for beginners.
 * V-Play Game Engine – a cross-platform development framework that supports mobile game and app development with the V-Play Game Engine, V-Play apps, and V-Play plugins.


 * Xojo – a cross-platform RAD tool that can create desktop, web and console apps for Pi 2 and Pi 3.
 * C-STEM Studio – a platform for hands-on integrated learning of computing, science, technology, engineering, and mathematics (C-STEM) with robotics.
 * Erlang - a functional language for building concurrent systems with light-weight processes and message passing.
 * LabVIEW Community Edition - a system-design platform and development environment for a visual programming language from National Instruments.

Accessories

 * 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, analogue signals, sensors and other devices. It also includes an optional Arduino compatible controller to interface with the Pi.
 * Camera – On 14 May 2013, the foundation and the distributors RS Components & Premier Farnell/Element 14 launched the Raspberry Pi camera board alongside a firmware update to accommodate it. The camera board is shipped with a flexible flat cable that plugs into the CSI connector which is located between the Ethernet and HDMI ports. In Raspbian, the user must enable the use of the camera board by running Raspi-config and selecting the camera option. The camera module costs €20 in Europe (9 September 2013). It can produce 1080p, 720p and 640x480p video. The dimensions are 25 mm × 20 mm × 9 mm. In May 2016, v2 of the camera came out, and is an 8 megapixel camera.
 * Infrared Camera – In October 2013, the foundation announced that they would begin producing a camera module without an infrared filter, called the Pi NoIR.
 * Official Display – On 8 September 2015, The foundation and the distributors RS Components & Premier Farnell/Element 14 launched the Raspberry Pi Touch Display
 * 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) containing the relevant details of the board, 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. Mechanical details of a HAT board, which uses the four mounting holes in their rectangular formation, are available online.
 * High Quality Camera - In May 2020, the 12.3 megapixel Sony IMXZ477 sensor camera module was released with support for C- and CS-mount lenses. The unit initially retailed for US$50 with interchangeable lenses starting at US$25.

Vulnerability to flashes of light
In February 2015, a switched-mode power supply chip, designated U16, of the Raspberry Pi 2 Model B version 1.1 (the initially released version) was found to be vulnerable to flashes of light, particularly the light from xenon camera flashes and green and red laser pointers. However, other bright lights, particularly ones that are on continuously, were found to have no effect. The symptom was the Raspberry Pi 2 spontaneously rebooting or turning off when these lights were flashed at the chip. Initially, some users and commenters suspected that the electromagnetic pulse (EMP) from the xenon flash tube was causing the problem by interfering with the computer's digital circuitry, but this was ruled out by tests where the light was either blocked by a card or aimed at the other side of the Raspberry Pi 2, both of which did not cause a problem. The problem was narrowed down to the U16 chip by covering first the system on a chip (main processor) and then U16 with Blu-Tack (an opaque poster mounting compound). Light being the sole culprit, instead of EMP, was further confirmed by the laser pointer tests, where it was also found that less opaque covering was needed to shield against the laser pointers than to shield against the xenon flashes. The U16 chip seems to be bare silicon without a plastic cover (i.e. a chip-scale package or wafer-level package), which would, if present, block the light. Unofficial workarounds include covering U16 with opaque material (such as electrical tape, lacquer, poster mounting compound, or even balled-up bread ), putting the Raspberry Pi 2 in a case, and avoiding taking photos of the top side of the board with a xenon flash. This issue was not discovered before the release of the Raspberry Pi 2 because it is not standard or common practice to test susceptibility to optical interference, while commercial electronic devices are routinely subjected to tests of susceptibility to radio interference.

Reception and use
Technology writer Glyn Moody described the project in May 2011 as a "potential BBC Micro 2.0", not by replacing PC compatible machines but by supplementing them. In March 2012 Stephen Pritchard echoed the BBC Micro successor sentiment in ITPRO. Alex Hope, co-author of the Next Gen report, is hopeful that the computer will engage children with the excitement of programming. Co-author Ian Livingstone suggested that the BBC could be involved in building support for the device, possibly branding it as the BBC Nano. The Centre for Computing History strongly supports the Raspberry Pi project, feeling that it could "usher in a new era". Before release, the board was showcased by ARM's CEO Warren East at an event in Cambridge outlining Google's ideas to improve UK science and technology education.

Harry Fairhead, however, suggests that more emphasis should be put on improving the educational software available on existing hardware, using tools such as Google App Inventor to return programming to schools, rather than adding new hardware choices. Simon Rockman, writing in a ZDNet blog, was of the opinion that teens will have "better things to do", despite what happened in the 1980s.

In October 2012, the Raspberry Pi won T3's Innovation of the Year award, and futurist Mark Pesce cited a (borrowed) Raspberry Pi as the inspiration for his ambient device project MooresCloud. In October 2012, the British Computer Society reacted to the announcement of enhanced specifications by stating, "it's definitely something we'll want to sink our teeth into."

In June 2017, Raspberry Pi won the Royal Academy of Engineering MacRobert Award. The citation for the award to the Raspberry Pi said it was "for its inexpensive credit card-sized microcomputers, which are redefining how people engage with computing, inspiring students to learn coding and computer science and providing innovative control solutions for industry."

Clusters of hundreds of Raspberry Pis have been used for testing programs destined for supercomputers

Community
The Raspberry Pi community was described by Jamie Ayre of FLOSS software company AdaCore as one of the most exciting parts of the project. Community blogger Russell Davis said that the community strength allows the Foundation to concentrate on documentation and teaching. The community developed a fanzine around the platform called The MagPi which in 2015, was handed over to the Raspberry Pi Foundation by its volunteers to be continued in-house. A series of community Raspberry Jam events have been held across the UK and around the world.

Education
, enquiries about the board in the United Kingdom have been received from schools in both the state and private sectors, with around five times as much interest from the latter. It is hoped that businesses will sponsor purchases for less advantaged schools. The CEO of Premier Farnell said that the government of a country in the Middle East has expressed interest in providing a board to every schoolgirl, to enhance her employment prospects.

In 2014, the Raspberry Pi Foundation hired a number of its community members including ex-teachers and software developers to launch a set of free learning resources for its website. The Foundation also started a teacher training course called Picademy with the aim of helping teachers prepare for teaching the new computing curriculum using the Raspberry Pi in the classroom.

In 2018, NASA launched the JPL Open Source Rover Project, which is a scaled down version of Curiosity rover and uses a Raspberry Pi as the control module, to encourage students and hobbyists to get involved in mechanical, software, electronics, and robotics engineering.

Home automation
There are a number of developers and applications that are using the Raspberry Pi for home automation. These programmers are making an effort to modify the Raspberry Pi into a cost-affordable solution in energy monitoring and power consumption. Because of the relatively low cost of the Raspberry Pi, this has become a popular and economical alternative to the more expensive commercial solutions.

Industrial automation
In June 2014, Polish industrial automation manufacturer TECHBASE released ModBerry, an industrial computer based on the Raspberry Pi Compute Module. The device has a number of interfaces, most notably RS-485/232 serial ports, digital and analogue inputs/outputs, CAN and economical 1-Wire buses, all of which are widely used in the automation industry. The design allows the use of the Compute Module in harsh industrial environments, leading to the conclusion that the Raspberry Pi is no longer limited to home and science projects, but can be widely used as an Industrial IoT solution and achieve goals of Industry 4.0.

In March 2018, SUSE announced commercial support for SUSE Linux Enterprise on the Raspberry Pi 3 Model B to support a number of undisclosed customers implementing industrial monitoring with the Raspberry Pi.

COVID-19 pandemic
In Q1 of 2020, during the coronavirus pandemic, Raspberry Pi computers saw a large increase in demand primarily due to the increase in working from home, but also because of the use of many Raspberry Pi Zeros in ventilators for COVID-19 patients in countries such as Colombia, which were used to combat strain on the healthcare system. In March 2020, Raspberry Pi sales reached 640,000 units, the second largest month of sales in the company's history.

Astro Pi and Proxima
A project was launched in December 2014 at an event held by the UK Space Agency. The Astro Pi was an augmented Raspberry Pi that included a sensor hat with a visible light or infrared camera. The Astro Pi competition, called Principia, was officially opened in January and was opened to all primary and secondary school aged children who were residents of the United Kingdom. During his mission, British ESA astronaut Tim Peake deployed the computers on board the International Space Station. He loaded the winning code while in orbit, collected the data generated and then sent this to Earth where it was distributed to the winning teams. Covered themes during the competition included spacecraft sensors, satellite imaging, space measurements, data fusion and space radiation.

The organisations involved in the Astro Pi competition include the UK Space Agency, UKspace, Raspberry Pi, ESERO-UK and ESA.

In 2017, the European Space Agency ran another competition open to all students in the European Union called Proxima. The winning programs were ran on the ISS by Thomas Pesquet, a French astronaut.

History
In 2006, early concepts of the Raspberry Pi were based on the Atmel ATmega644 microcontroller. Its schematics and PCB layout are publicly available. Foundation trustee Eben Upton assembled a group of teachers, academics and computer enthusiasts to devise a computer to inspire children. The computer is inspired by Acorn's BBC Micro of 1981. The Model A, Model B and Model B+ names are references to the original models of the British educational BBC Micro computer, developed by Acorn Computers. The first ARM prototype version of the computer was mounted in a package the same size as a USB memory stick. It had a USB port on one end and an HDMI port on the other.

The Foundation's goal was to offer two versions, priced at US$25 and $35. They started accepting orders for the higher priced Model B on 29 February 2012, the lower cost Model A on 4 February 2013. and the even lower cost (US$20) A+ on 10 November 2014. On 26 November 2015, the cheapest Raspberry Pi yet, the Raspberry Pi Zero, was launched at US$5 or £4. According to Upton, the name "Raspberry Pi" was chosen with "Raspberry" as an ode to a tradition of naming early computer companies after fruit, and "Pi" as a reference to the Python programming language.

Pre-launch

 * August 2011 – 50 alpha boards are manufactured. These boards were functionally identical to the planned Model B, but they were physically larger to accommodate debug headers. Demonstrations of the board showed it running the LXDE desktop on Debian, Quake 3 at 1080p, and Full HD MPEG-4 video over HDMI.
 * October 2011 – A version of was demonstrated in public, and following a year of development the port was released for general consumption in November 2012.
 * December 2011 – Twenty-five Model B Beta boards were assembled and tested from one hundred unpopulated PCBs. The component layout of the Beta boards was the same as on production boards. A single error was discovered in the board design where some pins on the CPU were not held high; it was fixed for the first production run. The Beta boards were demonstrated booting Linux, playing a 1080p movie trailer and the Rightware Samurai OpenGL ES benchmark.
 * Early 2012 – During the first week of the year, the first 10 boards were put up for auction on eBay. One was bought anonymously and donated to the museum at The Centre for Computing History in Cambridge, England. The ten boards (with a total retail price of £220) together raised over £16,000, with the last to be auctioned, serial number No. 01, raising £3,500. In advance of the anticipated launch at the end of February 2012, the Foundation's servers struggled to cope with the load placed by watchers repeatedly refreshing their browsers.
 * Early 2012 – During the first week of the year, the first 10 boards were put up for auction on eBay. One was bought anonymously and donated to the museum at The Centre for Computing History in Cambridge, England. The ten boards (with a total retail price of £220) together raised over £16,000, with the last to be auctioned, serial number No. 01, raising £3,500. In advance of the anticipated launch at the end of February 2012, the Foundation's servers struggled to cope with the load placed by watchers repeatedly refreshing their browsers.

Launch

 * 19 February 2012 – The first proof of concept SD card image that could be loaded onto an SD card to produce a preliminary operating system is released. The image was based on Debian 6.0 (Squeeze), with the LXDE desktop and the Midori browser, plus various programming tools. The image also runs on QEMU allowing the Raspberry Pi to be emulated on various other platforms.
 * 29 February 2012 – Initial sales commence 29 February 2012 at 06:00 UTC;. At the same time, it was announced that the model A, originally to have had 128 MiB of RAM, was to be upgraded to 256 MiB before release. The Foundation's website also announced: "Six years after the project's inception, we're nearly at the end of our first run of development – although it's just the beginning of the Raspberry Pi story." The web-shops of the two licensed manufacturers selling Raspberry Pi's within the United Kingdom, Premier Farnell and RS Components, had their websites stalled by heavy web traffic immediately after the launch (RS Components briefly going down completely). Unconfirmed reports suggested that there were over two million expressions of interest or pre-orders. The official Raspberry Pi Twitter account reported that Premier Farnell sold out within a few minutes of the initial launch, while RS Components took over 100,000 pre orders on day one. Manufacturers were reported in March 2012 to be taking a "healthy number" of pre-orders.
 * March 2012 – Shipping delays for the first batch were announced in March 2012, as the result of installation of an incorrect Ethernet port, but the Foundation expected that manufacturing quantities of future batches could be increased with little difficulty if required. "We have ensured we can get them [the Ethernet connectors with magnetics] in large numbers and Premier Farnell and RS Components [the two distributors] have been fantastic at helping to source components," Upton said. The first batch of 10,000 boards was manufactured in Taiwan and China.
 * 8 March 2012 – Release Raspberry Pi Fedora Remix, the recommended Linux distribution, developed at Seneca College in Canada.
 * March 2012 – The Debian port is initiated by Mike Thompson, former CTO of Atomz. The effort was largely carried out by Thompson and Peter Green, a volunteer Debian developer, with some support from the Foundation, who tested the resulting binaries that the two produced during the early stages (neither Thompson nor Green had physical access to the hardware, as boards were not widely accessible at the time due to demand). While the preliminary proof of concept image distributed by the Foundation before launch was also Debian-based, it differed from Thompson and Green's Raspbian effort in a couple of ways. The POC image was based on then-stable Debian Squeeze, while Raspbian aimed to track then-upcoming Debian Wheezy packages. Aside from the updated packages that would come with the new release, Wheezy was also set to introduce the armhf architecture, which became the raison d'être for the Raspbian effort. The Squeeze-based POC image was limited to the armel architecture, which was, at the time of Squeeze's release, the latest attempt by the Debian project to have Debian run on the newest ARM embedded-application binary interface (EABI). The armhf architecture in Wheezy intended to make Debian run on the ARM VFP hardware floating-point unit, while armel was limited to emulating floating point operations in software. Since the Raspberry Pi included a VFP, being able to make use of the hardware unit would result in performance gains and reduced power use for floating point operations. The armhf effort in mainline Debian, however, was orthogonal to the work surrounding the Pi and only intended to allow Debian to run on ARMv7 at a minimum, which would mean the Pi, an ARMv6 device, would not benefit. As a result, Thompson and Green set out to build the 19,000 Debian packages for the device using a custom build cluster.

Post-launch

 * 16 April 2012 – Reports appear from the first buyers who had received their Raspberry Pi.
 * 20 April 2012 – The schematics for the Model A and Model B are released.
 * 18 May 2012 – The Foundation reported on its blog about a prototype camera module they had tested. The prototype used a 14-megapixel module.
 * 22 May 2012 – Over 20,000 units had been shipped.
 * July 2012 – Release of Raspbian.
 * 16 July 2012 – It was announced that 4,000 units were being manufactured per day, allowing Raspberry Pis to be bought in bulk.
 * 24 August 2012 – Hardware accelerated video (H.264) encoding becomes available after it became known that the existing licence also covered encoding. Formerly it was thought that encoding would be added with the release of the announced camera module. However, no stable software exists for hardware H.264 encoding. At the same time the Foundation released two additional codecs that can be bought separately, MPEG-2 and Microsoft's VC-1. Also it was announced that the Pi will implement CEC, enabling it to be controlled with the television's remote control.
 * 5 September 2012 – The Foundation announced a second revision of the Raspberry Pi Model B. A revision 2.0 board is announced, with a number of minor corrections and improvements.
 * 6 September 2012 – Announcement that in future the bulk of Raspberry Pi units would be manufactured in the UK, at Sony's manufacturing facility in Pencoed, Wales. The Foundation estimated that the plant would produce 30,000 units per month, and would create about 30 new jobs.
 * 15 October 2012 – It is announced that new Raspberry Pi Model Bs are to be fitted with 512 MiB instead of 256 MiB RAM.
 * 24 October 2012 – The Foundation announces that "all of the VideoCore driver code which runs on the ARM" had been released as free software under a BSD-style licence, making it "the first ARM-based multimedia SoC with fully- [sic]functional, vendor-provided (as opposed to partial, reverse engineered) fully open-source drivers", although this claim has not been universally accepted. On 28 February 2014, they also announced the release of full documentation for the VideoCore IV graphics core, and a complete source release of the graphics stack under a 3-clause BSD licence
 * October 2012 – It was reported that some customers of one of the two main distributors had been waiting more than six months for their orders. This was reported to be due to difficulties in sourcing the CPU and conservative sales forecasting by this distributor.
 * 17 December 2012 – The Foundation, in collaboration with IndieCity and Velocix, opens the Pi Store, as a "one-stop shop for all your Raspberry Pi (software) needs". Using an application included in Raspbian, users can browse through several categories and download what they want. Software can also be uploaded for moderation and release.
 * 3 June 2013 – "New Out of Box Software" or NOOBS is introduced. This makes the Raspberry Pi easier to use by simplifying the installation of an operating system. Instead of using specific software to prepare an SD card, a file is unzipped and the contents copied over to a FAT formatted (4 GiB or bigger) SD card. That card can then be booted on the Raspberry Pi and a choice of six operating systems is presented for installation on the card. The system also contains a recovery partition that allows for the quick restoration of the installed OS, tools to modify the config.txt and an online help button and web browser which directs to the Raspberry Pi Forums.
 * October 2013 – The Foundation announces that the one millionth Pi had been manufactured in the United Kingdom.
 * November 2013: they announce that the two millionth Pi shipped between 24 and 31 October.
 * 28 February 2014 – On the day of the second anniversary of the Raspberry Pi, Broadcom, together with the Raspberry Pi foundation, announced the release of full documentation for the VideoCore IV graphics core, and a complete source release of the graphics stack under a 3-clause BSD licence.


 * 7 April 2014 – The official Raspberry Pi blog announced the Raspberry Pi Compute Module, a device in a 200-pin DDR2 SO-DIMM-configured memory module (though not in any way compatible with such RAM), intended for consumer electronics designers to use as the core of their own products.
 * June 2014 – The official Raspberry Pi blog mentioned that the three millionth Pi shipped in early May 2014.
 * 14 July 2014 – The official Raspberry Pi blog announced the Raspberry Pi Model B+, "the final evolution of the original Raspberry Pi. For the same price as the original Raspberry Pi model B, but incorporating numerous small improvements people have been asking for".
 * 10 November 2014 – The official Raspberry Pi blog announced the Raspberry Pi Model A+. It is the smallest and cheapest (US$20) Raspberry Pi so far and has the same processor and RAM as the Model A. Like the A, it has no Ethernet port, and only one USB port, but does have the other innovations of the B+, like lower power, micro-SD-card slot, and 40-pin HAT compatible GPIO.
 * 2 February 2015 – The official Raspberry Pi blog announced the Raspberry Pi 2. Looking like a Model B+, it has a 900 MHz quad-core ARMv7 Cortex-A7 CPU, twice the memory (for a total of 1 GiB) and complete compatibility with the original generation of Raspberry Pis.
 * 14 May 2015 – The price of Model B+ was decreased from US$35 to $25, purportedly as a "side effect of the production optimizations" from the Pi 2 development. Industry observers have sceptically noted, however, that the price drop appeared to be a direct response to the CHIP, a lower-priced competitor discontinued in April 2017.
 * 26 November 2015 – The Raspberry Pi Foundation launched the Raspberry Pi Zero, the smallest and cheapest member of the Raspberry Pi family yet, at 65 mm × 30 mm, and US$5. The Zero is similar to the Model A+ without camera and LCD connectors, while smaller and uses less power. It was given away with the Raspberry Pi magazine Magpi No. 40 that was distributed in the UK and US that day – the MagPi was sold out at almost every retailer internationally due to the freebie.
 * 29 February 2016 – Raspberry Pi 3 with a BCM2837 1.2 GHz 64-bit quad processor based on the ARMv8 Cortex-A53, with built-in Wi-Fi BCM43438 802.11n 2.4 GHz and Bluetooth 4.1 Low Energy (BLE). Starting with a 32-bit Raspbian version, with a 64-bit version later to come if "there is value in moving to 64-bit mode". In the same announcement it was said that a new BCM2837 based Compute Module was expected to be introduced a few months later.
 * February 2016 – The Raspberry Pi Foundation announces that they had sold eight million devices (for all models combined), making it the best-selling UK personal computer, ahead of the Amstrad PCW. Sales reached ten million in September 2016.
 * 25 April 2016 – Raspberry Pi Camera v2.1 announced with 8 Mpixels, in normal and NoIR (can receive IR) versions. The camera uses the Sony IMX219 chip with a resolution of 3280 × 2464. To make use of the new resolution the software has to be updated.
 * 10 October 2016 – NEC Display Solutions announces that select models of commercial displays to be released in early 2017 will incorporate a Raspberry Pi 3 Compute Module.
 * 14 October 2016 – Raspberry Pi Foundation announces their co-operation with NEC Display Solutions. They expect that the Raspberry Pi 3 Compute Module will be available to the general public by the end of 2016.
 * 25 November 2016 – 11 million units sold.
 * 16 January 2017 – Compute Module 3 and Compute Module 3 Lite are launched.
 * 28 February 2017 – Raspberry Pi Zero W with WiFi and Bluetooth via chip scale antennas launched.
 * 14 March 2018 – On Pi Day, Raspberry Pi Foundation introduced Raspberry Pi 3 Model B+ with improvements in the Raspberry PI 3B computers performance, updated version of the Broadcom application processor, better wireless Wi-Fi and Bluetooth performance and addition of the 5 GHz band.
 * 15 November 2018 – Raspberry Pi 3 Model A+ launched.
 * 28 January 2019 – Compute Module 3+ (CM3+/Lite, CM3+/8 GiB, CM3+/16 GiB and CM3+/32 GiB) launched.
 * 24 June 2019 – Raspberry Pi 4 Model B launched.
 * 10 December 2019 – 30 million units sold; sales are about 6 million per year.
 * 28 May 2020 – 8GB Raspberry Pi 4 announced for $75. The operating system is no longer called "Raspbian", but "Raspberry Pi OS", and an official 64-bit version is now available in beta.

Sales
According to the Raspberry Pi Foundation, more than 5 million Raspberry Pis were sold by February 2015, making it the best-selling British computer. By November 2016 they had sold 11 million units, and 12.5 million by March 2017, making it the third best-selling "general purpose computer". In July 2017, sales reached nearly 15 million, climbing to 19 million in March 2018. By December 2019, a total of 30 million devices had been sold.