Raspberry Pi 1 Model B: The Original Pioneer for Makers
Explore the foundational single-board computer that ignited the maker movement, featuring the Broadcom BCM2835 SoC and a versatile set of GPIO pins.

The Raspberry Pi 1 Model B, released in 2012, is the original iteration of the now-famous single-board computer designed to promote computer science education in schools. Developed by the Raspberry Pi Foundation, it quickly transcended its educational origins to become a cornerstone for hobbyists, makers, and embedded engineers worldwide. Its compact size, low cost, and accessible GPIO (General Purpose Input/Output) header made it an ideal platform for experimenting with electronics and creating custom projects.
At the heart of the Raspberry Pi 1 Model B is the Broadcom BCM2835 System on a Chip (SoC). This integrated circuit combines a CPU, GPU, DSP, and RAM controller, providing a surprisingly capable computing environment for its time. The CPU is an ARM1176JZF-S, a 32-bit processor running at a modest clock speed. While not a powerhouse by today's standards, it was sufficient for running a lightweight Linux operating system, basic programming tasks, and controlling external hardware via its GPIO pins.
Positioned as an entry-level computing device, the Model B offered a significant step up from microcontrollers like Arduino by providing a full operating system and networking capabilities. It came equipped with Ethernet and USB ports, allowing for internet connectivity and the use of standard peripherals. This blend of a desktop-like environment with direct hardware control made it uniquely suited for projects that required more complex logic, data processing, or network interaction, while still being affordable enough for widespread adoption.
The Raspberry Pi 1 Model B is best suited for makers and students who want to learn about Linux-based embedded systems, basic networking, and the fundamentals of interfacing with hardware. It's an excellent choice for projects involving sensor data logging, simple robotics, home automation interfaces, or learning to program in languages like Python, which is well-supported on the Raspberry Pi OS. While newer models offer significantly more performance, the Model B remains a valuable tool for understanding the foundational principles of single-board computing and embedded Linux.
Watch
Related video, embedded from YouTube.
Specifications
| Microcontroller / SoC | Broadcom BCM2835 |
| Architecture | ARMv6-compatible |
| Clock speed | 700 MHz |
| Flash / Storage | MicroSD card slot (OS and storage) |
| RAM / SRAM | 256 MB DDR2 SDRAM |
| Operating voltage | 3.3V (I/O), 5V (USB, power input) |
| Digital I/O pins | 17 GPIO pins (configurable) |
| Analog / ADC | โ |
| PWM | Software PWM available on GPIO pins |
| Connectivity | 10/100 Ethernet port |
| USB | 2 x USB 2.0 Type-A ports |
| Power input | 5V DC via Micro USB or 5V header pins |
| Dimensions | 85.6 mm x 53.98 mm |
Pinout & pin functions
| Pin | Function |
|---|---|
| Pin 1 | 3.3V Power |
| Pin 2 | 5V Power |
| Pin 3 | I2C SDA (GPIO 0) |
| Pin 4 | Ground |
| Pin 5 | I2C SCL (GPIO 1) |
| Pin 6 | Ground |
| Pin 7 | GPIO 4 |
| Pin 8 | UART TX (GPIO 14) |
| Pin 9 | Ground |
| Pin 10 | UART RX (GPIO 15) |
| Pin 11 | GPIO 17 |
| Pin 12 | GPIO 18 |
| Pin 13 | GPIO 21 |
| Pin 14 | Ground |
| Pin 15 | GPIO 22 |
| Pin 16 | GPIO 23 |
| Pin 17 | 3.3V Power |
| Pin 18 | GPIO 24 |
| Pin 19 | SPI MOSI (GPIO 10) |
| Pin 20 | Ground |
| Pin 21 | SPI MISO (GPIO 9) |
| Pin 22 | GPIO 25 |
| Pin 23 | SPI SCK (GPIO 11) |
| Pin 24 | SPI CE0 (GPIO 8) |
| Pin 25 | Ground |
| Pin 26 | SPI CE1 (GPIO 7) |
| Pin 27 | GPIO 0 |
| Pin 28 | GPIO 1 |
| Pin 29 | GPIO 2 |
| Pin 30 | Ground |
| Pin 31 | GPIO 3 |
| Pin 32 | GPIO 12 |
| Pin 33 | GPIO 13 |
| Pin 34 | Ground |
| Pin 35 | GPIO 19 |
| Pin 36 | GPIO 16 |
| Pin 37 | GPIO 26 |
| Pin 38 | GPIO 20 |
| Pin 39 | Ground |
| Pin 40 | GPIO 17 |
Wiring & circuit basics
Powering the Raspberry Pi 1 Model B requires a stable 5V DC supply capable of delivering at least 1A, preferably 2A for reliable operation, especially when using peripherals. This can be provided via the Micro USB port or the 5V header pins. It's crucial to use a high-quality power supply; inadequate power can lead to system instability, SD card corruption, and unexpected behavior. The board has onboard voltage regulators to step down the 5V input to the 3.3V required by the SoC and most peripherals. Always connect power last after ensuring all other connections are secure.
The GPIO pins on the Raspberry Pi 1 Model B operate at 3.3V logic levels. Connecting a 5V device directly to a GPIO pin can permanently damage the Raspberry Pi. If you need to interface with 5V components, such as many common Arduino-compatible sensors or actuators, you must use a logic level shifter. Conversely, most 3.3V devices are safe to connect directly to the Raspberry Pi's GPIO pins, but always check the device's specifications.
A basic example circuit is lighting an LED. Connect the longer leg (anode) of an LED to a current-limiting resistor (typically 220-330 ohms for a standard LED). Connect the other end of the resistor to a GPIO pin, for instance, GPIO 17 (Pin 11). Connect the shorter leg (cathode) of the LED to a Ground pin (e.g., Pin 6). When the GPIO pin is set to HIGH (3.3V), current flows through the resistor and LED, illuminating it. When set to LOW (0V), the LED turns off.
Programming & getting started
The primary method for programming the Raspberry Pi 1 Model B is by running Raspberry Pi OS (formerly Raspbian), a Debian-based Linux distribution. You can write and execute Python scripts directly on the board using the built-in Python interpreter or IDEs like Thonny. For more complex applications or system-level programming, C/C++ with tools like GCC are common. Flashing Raspberry Pi OS onto a MicroSD card is the first step; this is typically done using imaging software like Raspberry Pi Imager or Balena Etcher on a separate computer. Once the OS is installed and the card is inserted into the Pi, it boots into a familiar desktop or command-line environment, ready for programming.
While not designed for the Arduino IDE in the same way as an Arduino board, you can use PlatformIO within Visual Studio Code to develop C/C++ applications for the Raspberry Pi, targeting the ARM architecture. For simpler hardware control without a full OS, projects like 'Pibrella' or 'gpiozero' in Python provide high-level abstractions for GPIO manipulation. Uploading Python scripts is as simple as saving the file on the Pi and running it from the terminal using 'python your_script.py'.