MakerLab
Raspberry PiRaspberry Pi 1 Model B

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.

Raspberry Pi 1 Model B

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 / SoCBroadcom BCM2835
ArchitectureARMv6-compatible
Clock speed700 MHz
Flash / StorageMicroSD card slot (OS and storage)
RAM / SRAM256 MB DDR2 SDRAM
Operating voltage3.3V (I/O), 5V (USB, power input)
Digital I/O pins17 GPIO pins (configurable)
Analog / ADCโ€”
PWMSoftware PWM available on GPIO pins
Connectivity10/100 Ethernet port
USB2 x USB 2.0 Type-A ports
Power input5V DC via Micro USB or 5V header pins
Dimensions85.6 mm x 53.98 mm

Pinout & pin functions

PinFunction
Pin 13.3V Power
Pin 25V Power
Pin 3I2C SDA (GPIO 0)
Pin 4Ground
Pin 5I2C SCL (GPIO 1)
Pin 6Ground
Pin 7GPIO 4
Pin 8UART TX (GPIO 14)
Pin 9Ground
Pin 10UART RX (GPIO 15)
Pin 11GPIO 17
Pin 12GPIO 18
Pin 13GPIO 21
Pin 14Ground
Pin 15GPIO 22
Pin 16GPIO 23
Pin 173.3V Power
Pin 18GPIO 24
Pin 19SPI MOSI (GPIO 10)
Pin 20Ground
Pin 21SPI MISO (GPIO 9)
Pin 22GPIO 25
Pin 23SPI SCK (GPIO 11)
Pin 24SPI CE0 (GPIO 8)
Pin 25Ground
Pin 26SPI CE1 (GPIO 7)
Pin 27GPIO 0
Pin 28GPIO 1
Pin 29GPIO 2
Pin 30Ground
Pin 31GPIO 3
Pin 32GPIO 12
Pin 33GPIO 13
Pin 34Ground
Pin 35GPIO 19
Pin 36GPIO 16
Pin 37GPIO 26
Pin 38GPIO 20
Pin 39Ground
Pin 40GPIO 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'.

Project ideas

Home Weather StationLog temperature, humidity, and pressure using I2C sensors (e.g., BME280). The Pi 1 Model B can process this data, store it on an SD card, and potentially serve it over the network via a simple web server, teaching sensor interfacing and basic web technologies.
Networked LED ControllerControl a string of LEDs connected to GPIO pins over the network. Write a Python script on the Pi to listen for network commands (e.g., via sockets or a simple web interface) and toggle the LEDs accordingly, demonstrating network programming and GPIO control.
Simple NAS (Network Attached Storage)Connect a USB hard drive to one of the USB ports and configure Samba to share the drive over your local network. This project uses the Pi's Ethernet port and USB capabilities to teach basic file sharing and Linux system administration.
Automated Plant Watering SystemUse a moisture sensor connected to a GPIO pin and a small relay module to control a water pump. A Python script can periodically check the sensor and activate the pump when the soil is dry, teaching sensor reading, conditional logic, and actuator control.
Retro Gaming ConsoleInstall RetroPie or a similar emulation platform to play classic video games. This showcases the Pi's multimedia capabilities and its potential as a low-cost entertainment device, requiring SD card setup and basic configuration.
Basic Robot ControllerControl DC motors via an H-bridge motor driver connected to GPIO pins. The Pi 1 Model B can run a Python script to send commands to the motors for movement, teaching motor control, PWM for speed adjustment (software PWM), and basic robotics principles.

Buying tips & gotchas

When purchasing a Raspberry Pi 1 Model B, be aware that it's an older model and performance will be limited. Look for reputable sellers, as many older boards can be found second-hand. Be cautious of 'Raspberry Pi' branded clones that may not have the same compatibility or quality. Essential accessories include a good quality 5V power supply (at least 1A, preferably 2A), a MicroSD card (8GB or larger, Class 10 recommended) for the operating system, and a case to protect the board. A USB keyboard and mouse, along with an HDMI monitor, are needed for initial setup unless you plan to run it headless via SSH.