The Raspberry Pi is a small, inexpensive ARM-based PC device. PROGRAMMING QUESTIONS ONLY. Questions about using it should be asked on https://raspberrypi.stackexchange.com/
Raspberry Pi.SE
There is a Stack Exchange site dedicated to the Raspberry Pi. If your question is about using the Raspberry Pi, it should be asked there. However, general programming questions, which you happen to encounter on the Raspberry Pi are appropriate on Stack Overflow.
The Raspberry Pi is a low cost, credit card sized, ARMv6 instruction set based PC device developed by the Raspberry Pi foundation.
The Raspberry Pi currently has twelve models, Model A , Model B , Model A+, Model B+, Model 2 B, Zero, Zero W, Model 3 A+, Model 3 B, Model 3B+ and Model 4B with 1, 2, 4 or 8 GB RAM. Model A was the first model of the Pi to be released (in February 2012), at an average price of $25. Model B was a higher spec variant (first released in June 2012) at an average price of $35. Currently, among the twelve models, Model 4B 8GB has the highest spec (released in June 2019) at an average price of $75.
Only most notable specs listed
Model A consists of:
- ARM11 CPU
- OpenGL ES 2.0 capable GPU
- 256 MB RAM (shared with GPU)
- HDMI and RCA video
- 1x USB 2.0 port
- 3.5 mm audio jack
- SD card slot
Model B consists of:
- ARM11 CPU
- OpenGL ES 2.0 capable GPU
- 512 MB RAM (shared with GPU)
- HDMI and RCA video
- 2x USB 2.0 port
- 3.5 mm audio jack
- Ethernet port
- SD card slot
Model A+ consists of:
- ARM11 CPU
- OpenGL ES 2.0 capable GPU
- 256 MB RAM (shared with GPU)
- HDMI and composite video via 3.5mm TRRS jack (shared with audio)
- 1x USB 2.0 port
- 3.5 mm audio jack
- MicroSD card slot
Model B+ consists of:
- ARM11 CPU
- OpenGL ES 2.0 capable GPU
- 512 MB RAM (shared with GPU)
- HDMI and composite video via 3.5mm TRRS jack (shared with audio)
- 4x USB 2.0 port
- 3.5 mm audio jack
- Ethernet port
- MicroSD card slot
Model 2 B consists of:
- 4 USB ports
- 40 GPIO pins
- Full HDMI port
- Ethernet port
- Combined 3.5mm audio jack and composite video
- Camera interface (CSI)
- Display interface (DSI)
- Micro SD card slot
- VideoCore IV 3D graphics core
- A 900MHz quad-core ARM Cortex-A7 CPU
- 1GB RAM
Model Zero consists of:
- 1GHz single-core CPU
- 512MB RAM
- Mini HDMI and USB
Model Zero W additionally consists of:
- 802.11b/g/n wireless LAN
- Bluetooth 4.1 (BLE)
Model 3 A+ consists of:
- 1.4GHz 64-bit Cortex-A53 (ARMv8) CPU
- 512MB LPDDR2 SDRAM
- 2.4GHz / 5GHz 802.11.b/g/n/ac wireless LAN
- Bluetooth 4.2 (BLE)
- 1x USB 2.0
Model 3 B consists of:
- 1.2GHz 64-bit quad-core (ARMv8) CPU
- 1GB RAM
- 802.11n Wireless LAN
- Bluetooth 4.1 (BLE)
- 4x USB 2.0
Model 3 B+ consists of:
- 1.4GHz 64-bit Cortex-A53 (ARMv8) CPU
- 1GB LPDDR2 SDRAM
- Gigabit Ethernet over USB 2.0 (maximum throughput 300 Mbps)
- 2.4GHz / 5GHz 802.11.b/g/n/ac Wireless LAN
- Bluetooth 4.2 (BLE)
- 4x USB 2.0
Model 4 B consists of:
- 1.5GHz 64-bit quad-core Cortex-A72 ARM v8 CPU
- 1GB, 2GB, 4GB or 8GB LPDDR4-3200 SDRAM (depending on model)
- Gigabit Ethernet
- 2.4 / 5GHz 802.11ac Wireless LAN
- Bluetooth 5.0 BLE
- 2x USB 2.0, 2x USB 3.0
- 2x micro HDMI ports (both support up to 4kp60)
The most recently released and presently leading the features and power columns is the Model 400. This model varies a bit from previous ones in that it comes packed within a keyboard containing the ports, etc. You may check out the official page and find more information.
Model 400
- Broadcom BCM2711 quad-core Cortex-A72 (ARM v8) 64-bit SoC @ 1.8GHz
- 4GB LPDDR4-3200
- Dual-band (2.4GHz and 5.0GHz) IEEE 802.11b/g/n/ac wireless LAN
- Bluetooth 5.0, BLE
- Gigabit Ethernet
- 2 × USB 3.0 and 1 × USB 2.0 ports
- Horizontal 40-pin GPIO header
- 2 × micro HDMI ports (supports up to 4Kp60)
- H.265 (4Kp60 decode); H.264 (1080p60 decode, 1080p30 encode); OpenGL ES 3.0 graphics
- MicroSD card slot for operating system and data storage
- 78- or 79-key compact keyboard (depending on regional variant)
- 5V DC via USB connector
- Operating temperature: 0°C to +50°C ambient
- Maximum dimensions 286 mm × 122 mm × 23 mm
The Raspberry Pi has no on-board operating system and requires an OS to be loaded onto an SD card, which it then boots from.
Common OS images (Official download page)
- NOOBS (New Out Of Box Software - ideal for first time users)
- Raspberry Pi OS, previously called Raspbian (Buster - suitable for beginners)
- Ubuntu (Core or classic)
- Soft-Float Debian
- Pidora
- Kali Linux - IT security and penetration testing
Related tags:
- The arm tag with tag wiki, especially for assembly programming on the Raspberry Pi
- Especially arm64 with tag wiki for programming on 64-bit systems
Further links:
- BCM2835 ARM Peripherals (Used in Model 1) describes all hardware registers except GPU via which peripheral devices such as GPIO or UART can be addressed
- BCM2711 ARM Peripherals (Used in Model 4B)
- Broadcom VideoCore IV Reference Guide
- VideoCore IV Programmers Manual by Herman Hermitage
Further information on the processors and their instruction set can be found in the arm and arm64 tag wikis.