• Stars
    star
    5,178
  • Rank 7,911 (Top 0.2 %)
  • Language
    Python
  • License
    Creative Commons ...
  • Created over 10 years ago
  • Updated 23 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The official documentation for Raspberry Pi computers and microcontrollers

Welcome to the Raspberry Pi Documentation

This repository contains the Asciidoc source and the toolchain to build the Raspberry Pi Documentation. For details of how to contribute to the documentation see the CONTRIBUTING.md file.

NOTE: This repository has undergone some recent changes. See our blog post for more details.

Building the Documentation

Instructions on how to checkout the documentation repo, and then install the toolchain needed to convert from Asciidoc to HTML and build the documentation site.

Checking out the Repository

Install git if you don't already have it, and check out the documentation repo as follows,

$ git clone https://github.com/raspberrypi/documentation.git
$ cd documentation

Installing the Toolchain

On Linux

This works on both regular Debian or Ubuntu Linux โ€” and has been tested in a minimal Docker container โ€” and also under Raspberry Pi OS if you are working from a Raspberry Pi.

You can install the necessary dependencies on Linux as follows,

$ sudo apt install -y ruby ruby-dev python3 python3-pip make ninja-build

then add these lines to the bottom of your $HOME/.bashrc,

export GEM_HOME="$(ruby -e 'puts Gem.user_dir')"
export PATH="$PATH:$GEM_HOME/bin"

and close and relaunch your Terminal window to have these new variables activated. Finally, run

$ gem install bundler -v 2.2.15

to install the latest version of the Ruby bundle command.

On macOS

If you don't already have it installed you should go ahead and install HomeBrew,

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

Then you need to install Ruby,

$ brew install [email protected]
$ gem install bundler -v 2.2.15

NOTE: Homebrew defaults to Ruby 3.0 which is incompatible with Asciidoctor.

IMPORTANT: Homebrew has problems using /bin/zsh, you may have to change your default shell to /bin/bash.

Set up Homebrew Version of Ruby

If you're using csh or tcsh add the following lines to your .cshrc or .tcshrc,

setenv PATH /usr/local/bin:/usr/local/sbin:$PATH

setenv PATH /usr/local/opt/ruby/bin:${PATH}
setenv PATH ${PATH}:/usr/local/lib/ruby/gems/2.7.0/bin
setenv LDFLAGS -L/usr/local/opt/[email protected]/lib
setenv CPPFLAGS -I/usr/local/opt/[email protected]/include
setenv PKG_CONFIG_PATH /usr/local/opt/[email protected]/lib/pkgconfig

or if you're using bash add the following lines to your .bash_profile,

export PATH="/usr/local/bin:/usr/local/sbin:$PATH"

export PATH="/usr/local/opt/ruby/bin:$PATH"
export PATH="$PATH:/usr/local/lib/ruby/gems/2.7.0/bin"
export PATH="/usr/local/opt/[email protected]/bin:$PATH"
export LDFLAGS="-L/usr/local/opt/[email protected]/lib"
export CPPFLAGS="-I/usr/local/opt/[email protected]/include"
export PKG_CONFIG_PATH="/usr/local/opt/[email protected]/lib/pkgconfig"

NOTE: If you are running macOS on an Apple Silicon based Mac, rather than an Intel Mac, substitute /opt/homebrew/ for /usr/local in the lines dealing with [email protected] in the above block.

and then open a new Terminal window to make sure you're using the right version of Python and Ruby.

Install Dependencies

Go ahead and brew install the other dependencies,

$ brew install python@3
$ brew install ninja
$ brew install gumbo-parser
$ pip3 install pyyaml

Install Scripting Dependencies

After you've installed the toolchain (on either Linux or macOS), you'll need to install the required Ruby gems and Python modules. Make sure you're in the top-level documentation/ directory (i.e. the one containing Gemfile.lock and requirements.txt) and then run,

$ bundle install

(which may take several minutes), followed by,

$ pip3 install --user -r requirements.txt

Building the Documentation Site

After you've installed both the toolchain and scripting dependencies, you can build the documentation with,

$ make

This will automatically use Ninja build to convert the source files in documentation/asciidoc/ to a suitable intermediate structure in build/jekyll/, and then use Jekyll AsciiDoc to convert the files in build/jekyll/ to the final output HTML files in documentation/html/.

You can also start a local server to view the built site by running,

$ make serve_html

As the local server launches, the local URL will be printed in the terminal -- open this URL in a browser to see the locally-built site.

You can revert your repository to a pristine state by running,

$ make clean

which will delete the build/ and documentation/html/ directories.

Building with Doxygen

If you want to build the Pico C SDK Doxygen documentation alongside the main documentation site you can do so with,

$ make build_doxygen_doc
$ make

and clean up afterwards by using,

$ make clean_everything

which will revert the repository to a pristine state.

Licence

The Raspberry Pi documentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA). While the toolchain source code โ€” which is everything outside of the top-level documentation/ subdirectory โ€” is Copyright ยฉ 2021 Raspberry Pi Ltd and licensed under the BSD 3-Clause licence.

More Repositories

1

linux

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/
C
10,950
star
2

firmware

This repository contains pre-compiled binaries of the current Raspberry Pi kernel and modules, userspace libraries, and bootloader/GPU firmware.
5,133
star
3

pico-sdk

C
3,536
star
4

pico-examples

C
2,698
star
5

noobs

NOOBS (New Out Of Box Software) - An easy Operating System install manager for the Raspberry Pi
Makefile
2,208
star
6

userland

Source code for ARM side libraries for interfacing to Raspberry Pi GPU.
C
2,036
star
7

tools

C
1,876
star
8

rpi-imager

The home of Raspberry Pi Imager, a user-friendly tool for creating bootable media for Raspberry Pi devices.
C
1,604
star
9

rpi-eeprom

Installation scripts and binaries for the Raspberry Pi 4 and Raspberry Pi 5 bootloader EEPROMs
Shell
1,253
star
10

pico-micropython-examples

Examples to accompany the "Raspberry Pi Pico Python SDK" book.
Python
948
star
11

usbboot

Raspberry Pi USB booting code, moved from tools repository
C
897
star
12

picamera2

New libcamera based python library
Python
807
star
13

debugprobe

C
730
star
14

hats

C
658
star
15

pico-tflmicro

Pico TensorFlow Lite Port
C++
619
star
16

picotool

C++
549
star
17

Raspberry-Pi-OS-64bit

Repository for containing issues on the 64 bit operating system (as distinct from the 32 bit one)
466
star
18

pico-extras

C
459
star
19

pico-playground

C
434
star
20

quake3

C
390
star
21

rpicam-apps

C++
376
star
22

maynard

Desktop environment for Wayland
C
336
star
23

piserver

Raspberry Pi Server wizard to serve Raspbian to network booting Pis
C++
306
star
24

pico-project-generator

Tool to automatically generate a Pico C SDK Project
Python
294
star
25

pico-bootrom-rp2040

C
271
star
26

raspiraw

Example app directly receiving raw data from CSI2 sensors
C
257
star
27

pico-setup-windows

PowerShell
252
star
28

libcamera

C++
208
star
29

utils

A collection of scripts and simple applications
C
146
star
30

openocd

C
141
star
31

windows-drivers

Windows IOT drivers
C
120
star
32

pico-bootrom-rp2350

C
120
star
33

cmprovision

Provisioning system for CM4 products
PHP
92
star
34

pico-setup

Shell
92
star
35

scratch

Scratch releases
79
star
36

usbbootgui

GUI for booting a Raspberry Pi device like Pi Zero or compute module as a device
M4
76
star
37

rp2350_hacking_challenge

CMake
70
star
38

tinyusb

C
67
star
39

rpi-sense

Sense HAT firmware and driver
Assembly
66
star
40

gpioexpander

Buildroot based ethernet gadget which gives a host access to PIGPIO to control GPIO pins
Makefile
63
star
41

usb-pid

Raspberry Pi Pico PID allocations
63
star
42

pico-vscode

The official VS Code extension for Raspberry Pi Pico development. It includes several features to simplify project creation and deployment.
TypeScript
62
star
43

target_fs

Shell
39
star
44

weston

The Weston Wayland Compositor
C
37
star
45

scriptexecutor

Simple buildroot based system for executing a remote script for manufacture programming
Shell
36
star
46

pico-host-sdl

C
27
star
47

pico-feedback

24
star
48

raspberrypi.github.io

Raspberry Pi GitHub organisations
HTML
20
star
49

pytrack

Python
17
star
50

Pi-Codec

Tools for the IQaudIO Pi-Codec / CodecZero sound cards
16
star
51

skygate

Python
15
star
52

style-guide

14
star
53

bookworm-feedback

13
star
54

CMSIS-RP2xxx-DFP

C
13
star
55

armulet

C++
8
star
56

pylibcamera

Meson
8
star
57

libpisp

C++
7
star
58

pico-sdk-tools

Shell
5
star
59

rpi-sb-provisioner

A minimal-input automatic secure boot provisioning system for Raspberry Pi devices.
Shell
5
star
60

pykms

Meson
2
star
61

FreeRTOS-Kernel

C
1
star
62

sweet-b

C
1
star