Stufin
Home Quick Cart Profile

Raspberry Pi 3B+

Buy Now

Power consumption

approximately 5-7W (idle), 15W (max)

Power input

5V DC (2.5A recommended)

onboard power management IC for efficient power regulation

Operating Systems

Raspbian (official OS)

Windows 10 IoT

Various Linux distributions (e.g., Ubuntu, openSUSE, Fedora)

Other third-party operating systems

Additional Features

Built-in PoE (Power over Ethernet) support

Improved thermal design for better heat dissipation

Enhanced wireless performance and range

Support for GPIO voltage levels up to 3.3V

Dimensions and Weight

Dimensions

85 mm x 56 mm x 17 mm

Weight

approximately 45 grams

Warranty and Support

The Raspberry Pi 3B+ is backed by a one-year warranty

Comprehensive support and resources available through the official Raspberry Pi website, including documentation, tutorials, and community forums.

Pin Configuration

  • Raspberry Pi 3B+ Pinout Guide
  • The Raspberry Pi 3B+ is a popular single-board computer widely used in Internet of Things (IoT) projects. It features a 40-pin GPIO header, which provides access to various interfaces and peripherals. In this guide, we'll explore each pin in detail, explaining their functions and how to connect them.
  • GPIO Header
  • The 40-pin GPIO header is divided into two rows of 20 pins each. The pins are numbered from 1 to 40, with the even-numbered pins on the bottom row and the odd-numbered pins on the top row.
  • Pins 1-2: Power
  • Pin 1: 3.3V Power (Output)
  • + Provides a stable 3.3V power supply for external components.
  • + Can be used to power low-current devices, such as sensors or LEDs.
  • Pin 2: 5V Power (Output)
  • + Provides a stable 5V power supply for external components.
  • + Can be used to power devices that require a 5V supply, such as motors or displays.
  • Pins 3-4: I2C Interface
  • Pin 3: I2C SDA (Data)
  • + Part of the I2C (Inter-Integrated Circuit) interface, used for communication with I2C devices.
  • + Bi-directional data line for I2C protocol.
  • Pin 4: 5V Power (Output)
  • + Duplicate of Pin 2, providing an additional 5V power supply.
  • Pins 5-6: I2C Interface (continued)
  • Pin 5: I2C SCK (Clock)
  • + Part of the I2C interface, used for clock signal transmission.
  • + Clock signal for I2C protocol.
  • Pin 6: Ground
  • + Provides a ground connection for circuitry and components.
  • Pins 7-8: UART Interface
  • Pin 7: UART TX (Transmit)
  • + Part of the UART (Universal Asynchronous Receiver-Transmitter) interface, used for serial communication.
  • + Transmit data line for UART protocol.
  • Pin 8: UART RX (Receive)
  • + Part of the UART interface, used for serial communication.
  • + Receive data line for UART protocol.
  • Pins 9-10: Ground
  • Pin 9: Ground
  • + Provides an additional ground connection for circuitry and components.
  • Pin 10: Ground
  • + Duplicate of Pin 9, providing another ground connection.
  • Pins 11-12: SPI Interface
  • Pin 11: SPI MOSI (Master Out Slave In)
  • + Part of the SPI (Serial Peripheral Interface) interface, used for communication with SPI devices.
  • + Master output, slave input data line for SPI protocol.
  • Pin 12: SPI MISO (Master In Slave Out)
  • + Part of the SPI interface, used for communication with SPI devices.
  • + Master input, slave output data line for SPI protocol.
  • Pins 13-14: SPI Interface (continued)
  • Pin 13: SPI SCK (Clock)
  • + Part of the SPI interface, used for clock signal transmission.
  • + Clock signal for SPI protocol.
  • Pin 14: SPI CE0 (Chip Select 0)
  • + Part of the SPI interface, used for chip select signal transmission.
  • + Chip select signal for SPI device 0.
  • Pins 15-16: SPI Interface (continued)
  • Pin 15: SPI CE1 (Chip Select 1)
  • + Part of the SPI interface, used for chip select signal transmission.
  • + Chip select signal for SPI device 1.
  • Pin 16: 3.3V Power (Output)
  • + Duplicate of Pin 1, providing an additional 3.3V power supply.
  • Pins 17-18: GPIO
  • Pin 17: GPIO 17
  • + A general-purpose input/output (GPIO) pin, can be used for digital input or output.
  • + Can be configured as an input or output using software.
  • Pin 18: GPIO 18
  • + A general-purpose input/output (GPIO) pin, can be used for digital input or output.
  • + Can be configured as an input or output using software.
  • Pins 19-20: GPIO
  • Pin 19: GPIO 19
  • + A general-purpose input/output (GPIO) pin, can be used for digital input or output.
  • + Can be configured as an input or output using software.
  • Pin 20: Ground
  • + Provides an additional ground connection for circuitry and components.
  • Pins 21-22: PWM Interface
  • Pin 21: PWM0 (Pulse Width Modulation 0)
  • + Part of the PWM (Pulse Width Modulation) interface, used for generating PWM signals.
  • + Can be used for motor control, LED dimming, or other applications.
  • Pin 22: PWM1 (Pulse Width Modulation 1)
  • + Part of the PWM interface, used for generating PWM signals.
  • + Can be used for motor control, LED dimming, or other applications.
  • Pins 23-24: GPIO
  • Pin 23: GPIO 23
  • + A general-purpose input/output (GPIO) pin, can be used for digital input or output.
  • + Can be configured as an input or output using software.
  • Pin 24: GPIO 24
  • + A general-purpose input/output (GPIO) pin, can be used for digital input or output.
  • + Can be configured as an input or output using software.
  • Pins 25-26: GPIO
  • Pin 25: GPIO 25
  • + A general-purpose input/output (GPIO) pin, can be used for digital input or output.
  • + Can be configured as an input or output using software.
  • Pin 26: GPIO 26
  • + A general-purpose input/output (GPIO) pin, can be used for digital input or output.
  • + Can be configured as an input or output using software.
  • Pins 27-28: I2S Interface
  • Pin 27: I2S BCLK (Bit Clock)
  • + Part of the I2S (Inter-IC Sound) interface, used for audio transmission.
  • + Bit clock signal for I2S protocol.
  • Pin 28: I2S LRCK (Left/Right Clock)
  • + Part of the I2S interface, used for audio transmission.
  • + Left/right clock signal for I2S protocol.
  • Pins 29-30: I2S Interface (continued)
  • Pin 29: I2S DO (Data Out)
  • + Part of the I2S interface, used for audio transmission.
  • + Data output signal for I2S protocol.
  • Pin 30: I2S DI (Data In)
  • + Part of the I2S interface, used for audio transmission.
  • + Data input signal for I2S protocol.
  • Pins 31-32: GPIO
  • Pin 31: GPIO 31
  • + A general-purpose input/output (GPIO) pin, can be used for digital input or output.
  • + Can be configured as an input or output using software.
  • Pin 32: GPIO 32
  • + A general-purpose input/output (GPIO) pin, can be used for digital input or output.
  • + Can be configured as an input or output using software.
  • Pins 33-34: GPIO
  • Pin 33: GPIO 33
  • + A general-purpose input/output (GPIO) pin, can be used for digital input or output.
  • + Can be configured as an input or output using software.
  • Pin 34: Ground
  • + Provides an additional ground connection for circuitry and components.
  • Pins 35-36: GPIO
  • Pin 35: GPIO 35
  • + A general-purpose input/output (GPIO) pin, can be used for digital input or output.
  • + Can be configured as an input or output using software.
  • Pin 36: GPIO 36
  • + A general-purpose input/output (GPIO) pin, can be used for digital input or output.
  • + Can be configured as an input or output using software.
  • Pins 37-38: GPIO
  • Pin 37: GPIO 37
  • + A general-purpose input/output (GPIO) pin, can be used for digital input or output.
  • + Can be configured as an input or output using software.
  • Pin 38: GPIO 38
  • + A general-purpose input/output (GPIO) pin, can be used for digital input or output.
  • + Can be configured as an input or output using software.
  • Pins 39-40: GPIO
  • Pin 39: GPIO 39
  • + A general-purpose input/output (GPIO) pin, can be used for digital input or output.
  • + Can be configured as an input or output using software.
  • Pin 40: GPIO 40
  • + A general-purpose input/output (GPIO) pin, can be used for digital input or output.
  • + Can be configured as an input or output using software.
  • When connecting pins, ensure you use the correct pinout diagram and follow proper wiring practices to avoid damage to your Raspberry Pi or connected components.
  • Remember to always refer to the official Raspberry Pi documentation and safety guidelines when working with your Raspberry Pi 3B+.

Code Examples

Raspberry Pi 3B+ Documentation
Overview
The Raspberry Pi 3B+ is a single-board computer (SBC) designed for IoT, robotics, and other projects. It is a popular and affordable platform for prototyping and developing IoT applications. The 3B+ model features a quad-core Cortex-A53 CPU, 1GB RAM, dual-band 802.11ac wireless LAN, Bluetooth 4.2, and Gigabit Ethernet.
Hardware Specifications
CPU: Quad-core Cortex-A53 CPU
 RAM: 1GB
 Storage: microSD card slot
 Wi-Fi: Dual-band 802.11ac wireless LAN
 Bluetooth: Bluetooth 4.2
 Ethernet: Gigabit Ethernet
 USB: 4x USB 2.0 ports
 HDMI: 1x HDMI 1.4 port
 Audio: 3.5mm audio jack
 GPIO: 40-pin GPIO header
Operating Systems
The Raspberry Pi 3B+ can run various operating systems, including:
Raspbian (official OS)
 Ubuntu
 Windows 10 IoT Enterprise
 Linux distributions (e.g., Fedora, openSUSE)
Programming Languages
The Raspberry Pi 3B+ supports various programming languages, including:
Python
 Java
 C++
 Node.js
 Ruby
Code Examples
### Example 1: Blinking LED using Python and GPIO
This example demonstrates how to use the Raspberry Pi 3B+ to control an LED connected to GPIO pin 17.
```python
import RPi.GPIO as GPIO
import time
# Set up GPIO mode
GPIO.setmode(GPIO.BCM)
# Set up GPIO pin 17 as an output
GPIO.setup(17, GPIO.OUT)
while True:
    # Turn on the LED
    GPIO.output(17, GPIO.HIGH)
    time.sleep(1)
    # Turn off the LED
    GPIO.output(17, GPIO.LOW)
    time.sleep(1)
```
### Example 2: Reading Temperature and Humidity using a DHT11 Sensor and Python
This example demonstrates how to use the Raspberry Pi 3B+ to read temperature and humidity values from a DHT11 sensor connected to GPIO pins 4 and 17.
```python
import RPi.GPIO as GPIO
import dht11
# Set up GPIO mode
GPIO.setmode(GPIO.BCM)
# Initialize DHT11 sensor
dht11_sensor = dht11.DHT11(pin=4)
while True:
    # Read temperature and humidity values
    result = dht11_sensor.read()
    if result.is_valid():
        print("Temperature: {}C  Humidity: {}%".format(result.temperature, result.humidity))
    time.sleep(2)
```
### Example 3: Creating a Simple Web Server using Node.js and JavaScript
This example demonstrates how to use the Raspberry Pi 3B+ to create a simple web server using Node.js and JavaScript.
```javascript
const http = require('http');
const url = require('url');
const fs = require('fs');
http.createServer((req, res) => {
  const pathname = url.parse(req.url).pathname;
  if (pathname === '/') {
    fs.readFile('index.html', (err, data) => {
      if (err) {
        console.error(err);
        res.writeHead(500, {'Content-Type': 'text/plain'});
        res.end('Error loading index.html');
      } else {
        res.writeHead(200, {'Content-Type': 'text/html'});
        res.end(data);
      }
    });
  } else {
    res.writeHead(404, {'Content-Type': 'text/plain'});
    res.end('Not Found');
  }
}).listen(3000, () => {
  console.log('Server running on port 3000');
});
```
Note: This documentation provides a brief overview of the Raspberry Pi 3B+ and its capabilities. For more in-depth information and tutorials, please refer to the official Raspberry Pi documentation and resources.