Convert Figma logo to code with AI

raspberrypi logodocumentation

The official documentation for Raspberry Pi computers and microcontrollers

5,272
2,013
5,272
50

Top Related Projects

11,095

Kernel source tree for Raspberry Pi-provided kernel builds. Issues unrelated to the linux kernel should be posted on the community forum at https://forums.raspberrypi.com/

Programs and scripts to display "inline" in Adafruit Learning System guides

Arduino core for the ESP32

14,200

Arduino IDE 1.x

MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems

72,598

:house_with_garden: Open source home automation that puts local control and privacy first.

Quick Overview

The raspberrypi/documentation repository is the official documentation for Raspberry Pi hardware and software. It provides comprehensive guides, tutorials, and reference materials for users of all levels, from beginners to advanced developers. The repository serves as a central resource for understanding and working with Raspberry Pi devices.

Pros

  • Comprehensive and well-organized documentation covering a wide range of topics
  • Regularly updated to reflect the latest Raspberry Pi hardware and software developments
  • Contributions from both the Raspberry Pi Foundation and the community
  • Available in multiple languages, making it accessible to a global audience

Cons

  • Some sections may be outdated or require updates due to the rapid pace of Raspberry Pi development
  • Navigation can be challenging for newcomers due to the vast amount of information
  • Limited coverage of some advanced topics or niche use cases
  • Occasional inconsistencies in formatting or style across different sections

Getting Started

To access the Raspberry Pi documentation:

  1. Visit the GitHub repository: https://github.com/raspberrypi/documentation
  2. Browse the contents directly on GitHub, or clone the repository to your local machine:
    git clone https://github.com/raspberrypi/documentation.git
    
  3. If you want to contribute or build the documentation locally, follow the instructions in the README.md file.

The documentation is primarily written in Markdown format, making it easy to read and contribute to. You can start exploring the content by navigating through the folders and files in the repository, or by visiting the official Raspberry Pi documentation website at https://www.raspberrypi.com/documentation/.

Competitor Comparisons

11,095

Kernel source tree for Raspberry Pi-provided kernel builds. Issues unrelated to the linux kernel should be posted on the community forum at https://forums.raspberrypi.com/

Pros of linux

  • Contains the actual Linux kernel source code for Raspberry Pi devices
  • Allows for low-level customization and optimization of the operating system
  • Provides direct access to hardware-specific features and drivers

Cons of linux

  • Requires advanced technical knowledge to navigate and contribute effectively
  • Less user-friendly for beginners seeking general Raspberry Pi information
  • Focuses solely on the kernel, lacking broader documentation on Raspberry Pi usage

Code Comparison

documentation:

# Setting up your Raspberry Pi

This section will take you through the process of setting up your Raspberry Pi.

1. Connect your Raspberry Pi to a monitor, keyboard, and mouse.
2. Insert the SD card with Raspberry Pi OS into your Raspberry Pi.
3. Power on your Raspberry Pi.

linux:

static int __init bcm2835_init(void)
{
    int ret;

    ret = platform_device_register(&bcm2835_dev);
    if (ret)
        return ret;

    return platform_driver_register(&bcm2835_driver);
}

The documentation repo provides user-friendly guides, while the linux repo contains kernel source code for advanced users and developers.

Programs and scripts to display "inline" in Adafruit Learning System guides

Pros of Adafruit_Learning_System_Guides

  • More diverse range of projects and tutorials, covering various microcontrollers and electronics
  • Frequent updates with new guides and projects
  • Strong focus on beginner-friendly content and step-by-step instructions

Cons of Adafruit_Learning_System_Guides

  • Less structured organization compared to the Raspberry Pi documentation
  • May not provide as in-depth technical information for advanced users
  • Primarily focused on Adafruit products, which may limit applicability for some users

Code Comparison

Adafruit_Learning_System_Guides:

import board
import neopixel

pixels = neopixel.NeoPixel(board.D6, 30)
pixels.fill((255, 0, 0))

documentation:

from gpiozero import LED
from time import sleep

led = LED(17)
led.on()
sleep(1)
led.off()

The Adafruit example demonstrates NeoPixel LED control, while the Raspberry Pi example shows basic GPIO control. Both repositories provide code snippets to help users get started with their respective hardware platforms.

Arduino core for the ESP32

Pros of arduino-esp32

  • Focuses on Arduino compatibility for ESP32, providing a more specialized development environment
  • More active community with frequent updates and contributions
  • Includes hardware-specific libraries and examples for ESP32 features

Cons of arduino-esp32

  • Limited scope compared to the broader Raspberry Pi documentation
  • May require more technical knowledge to get started
  • Less comprehensive general-purpose computing information

Code Comparison

arduino-esp32:

#include <WiFi.h>

void setup() {
  WiFi.begin("SSID", "PASSWORD");
}

documentation:

import network

wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect("SSID", "PASSWORD")

The arduino-esp32 example uses C++ with Arduino-specific libraries, while the documentation example uses Python, reflecting the different approaches and target audiences of each project.

arduino-esp32 is tailored for ESP32 development with Arduino compatibility, offering a more focused but potentially limited scope. documentation provides a comprehensive resource for Raspberry Pi users, covering a wider range of topics but with less emphasis on specific hardware features.

Both repositories serve their respective communities well, with arduino-esp32 catering to embedded systems developers and documentation addressing a broader audience of Raspberry Pi enthusiasts and learners.

14,200

Arduino IDE 1.x

Pros of Arduino

  • More extensive codebase with a wider range of libraries and examples
  • Longer development history, resulting in a more mature and stable platform
  • Stronger focus on hardware-specific implementations and low-level programming

Cons of Arduino

  • Less comprehensive documentation compared to Raspberry Pi
  • Narrower scope, primarily focused on microcontroller programming
  • Less emphasis on general-purpose computing and operating system features

Code Comparison

Arduino:

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000);
}

Raspberry Pi (Python):

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.OUT)

while True:
    GPIO.output(18, GPIO.HIGH)
    time.sleep(1)
    GPIO.output(18, GPIO.LOW)
    time.sleep(1)

Both examples demonstrate a simple LED blinking program, showcasing the different programming languages and approaches used in Arduino and Raspberry Pi projects. Arduino uses C++ with a specific structure (setup and loop functions), while Raspberry Pi typically uses Python with a more general-purpose programming style.

MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems

Pros of MicroPython

  • Implements Python 3 for microcontrollers, enabling Python programming on embedded systems
  • Supports a wide range of microcontroller boards and architectures
  • Includes a comprehensive standard library optimized for resource-constrained devices

Cons of MicroPython

  • More focused on implementation rather than extensive documentation
  • May require more technical knowledge to get started compared to Raspberry Pi's beginner-friendly approach
  • Limited to Python language, while Raspberry Pi documentation covers multiple programming languages

Code Comparison

MicroPython example:

from machine import Pin
import time

led = Pin(2, Pin.OUT)
while True:
    led.toggle()
    time.sleep(1)

Raspberry Pi documentation example (Python):

from gpiozero import LED
from time import sleep

led = LED(17)
while True:
    led.toggle()
    sleep(1)

Both examples demonstrate LED blinking, but MicroPython uses lower-level machine module, while Raspberry Pi documentation showcases the higher-level gpiozero library for easier GPIO control.

72,598

:house_with_garden: Open source home automation that puts local control and privacy first.

Pros of Home Assistant Core

  • Larger and more active community with frequent updates and contributions
  • Broader scope, covering a wide range of smart home devices and integrations
  • More extensive codebase with advanced features for home automation

Cons of Home Assistant Core

  • Steeper learning curve for beginners due to its complexity
  • Requires more system resources to run compared to lightweight documentation

Code Comparison

Home Assistant Core (Python):

class Light(ToggleEntity):
    @property
    def brightness(self):
        """Return the brightness of this light between 0..255."""
        return self._brightness

    def turn_on(self, **kwargs):
        """Turn the light on."""
        self._state = True
        self._brightness = kwargs.get(ATTR_BRIGHTNESS, 255)

Raspberry Pi Documentation (Markdown):

# Setting up your Raspberry Pi

1. Insert the SD card into the SD card slot on the underside of the Raspberry Pi.
2. Plug the USB keyboard into one of the USB ports on the Raspberry Pi.
3. Plug the USB mouse into one of the USB ports on the Raspberry Pi.
4. Connect the HDMI cable from the monitor or TV to the HDMI port on the Raspberry Pi.
5. Plug in the power supply.

The code comparison shows that Home Assistant Core contains more complex Python code for device control, while Raspberry Pi Documentation primarily consists of instructional markdown content.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

This repository contains the source and tools used to build the Raspberry Pi Documentation.

Licence

The Raspberry Pi documentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA). Documentation tools (everything outside of the documentation/ subdirectory) are licensed under the BSD 3-Clause licence.